
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f7fb;color:#12223a}a{color:#075fd8}header{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid #e5eaf1}.brand{font-size:20px;letter-spacing:.5px}.brand b{color:#075fd8}.wrap{max-width:1120px;margin:28px auto;padding:0 18px}.auth{max-width:470px;margin:8vh auto}.card{background:#fff;border:1px solid #e3e9f1;border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(17,34,58,.05)}h1{font-size:clamp(30px,5vw,48px);margin:.35em 0}h2{font-size:24px}.muted{color:#66758a}.alert{background:#fff0f0;padding:12px;border-radius:10px;margin:12px 0}label{display:block;font-weight:650;margin:13px 0 6px}input,select,textarea{width:100%;padding:13px;border:1px solid #cfd8e6;border-radius:10px;font:inherit}textarea{min-height:110px}.primary,.coachbtn{display:inline-block;border:0;border-radius:12px;padding:13px 18px;background:#075fd8;color:#fff;font-weight:750;text-decoration:none;cursor:pointer;margin-top:14px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.pill{font-size:12px;font-weight:800;letter-spacing:.08em;color:#075fd8}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.cards strong{display:block;font-size:20px;margin-top:8px}.coach{margin-bottom:20px}.quick{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.quick button{border:1px solid #cfd8e6;background:#fff;border-radius:999px;padding:9px 12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}
@media(max-width:700px){header{padding:14px 16px}.wrap{margin:18px auto}.hero{align-items:flex-start;flex-direction:column}.coachbtn{width:100%;text-align:center;font-size:18px}.cards{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:18px}.auth{margin:20px 14px}h1{font-size:32px}.quick button{flex:1 1 45%}}
.userline{font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 20px}.actions a,.ghost{border:1px solid #d7e0ec;background:#fff;border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:700;color:#18304f}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:#10243e;color:#fff;border-radius:18px;padding:20px;min-height:128px}.metric small{color:#a9bad0;display:block}.metric strong{font-size:25px;display:block;margin:10px 0 5px}.metric strong.compact{font-size:18px;line-height:1.25}.metric span{color:#c9d5e4;font-size:13px}.dashgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:18px}.span2{grid-column:1/-1}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.ghost{opacity:.65}.emptyviz{min-height:180px;border-radius:14px;background:#f5f8fc;display:flex;align-items:center;gap:22px;padding:24px}.ring{width:86px;height:86px;min-width:86px;border:10px solid #d9e6f7;border-top-color:#075fd8;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#075fd8}.readiness{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid #edf0f4;padding-top:14px}.readiness span{text-align:right}.textlink{display:inline-block;margin-top:18px;text-decoration:none;font-weight:700}.ai{background:linear-gradient(145deg,#fff,#eef5ff)}.insight{margin-top:16px;padding:13px;border-left:4px solid #075fd8;background:#fff;border-radius:8px;font-weight:700}.status{display:inline-block;background:#eef2f7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.chartplaceholder{height:190px;background:#f7f9fc;border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;color:#66758a}.bars{height:100px;display:flex;align-items:flex-end;gap:8px}.bars i{display:block;flex:1;background:#d9e6f7;border-radius:6px 6px 0 0}.bars i:nth-child(1){height:25%}.bars i:nth-child(2){height:38%}.bars i:nth-child(3){height:35%}.bars i:nth-child(4){height:55%}.bars i:nth-child(5){height:48%}.bars i:nth-child(6){height:70%}.bars i:nth-child(7){height:65%}.daily{margin-bottom:18px}
@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr}.dashgrid{grid-template-columns:1fr}.span2{grid-column:auto}}
@media(max-width:520px){.kpis{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:1fr 1fr}.actions a:first-child{grid-column:1/-1;text-align:center}.actions a{text-align:center}.sectionhead{align-items:flex-start;flex-direction:column}.emptyviz{align-items:flex-start;flex-direction:column}.metric{min-height:auto}.userline{max-width:48%;text-align:right}.dashgrid .card{overflow:hidden}}
.coachchat{min-height:120px;max-height:380px;overflow:auto;background:#f6f8fc;border:1px solid #e2e8f1;border-radius:14px;padding:14px;margin:14px 0;display:flex;flex-direction:column;gap:10px}.bubble{max-width:86%;padding:11px 13px;border-radius:14px;white-space:pre-wrap;line-height:1.45}.bubble.assistant{background:#fff;border:1px solid #dfe7f2;align-self:flex-start}.bubble.user{background:#075fd8;color:#fff;align-self:flex-end}.bubble.error{background:#fff0f0;color:#9b1c1c;align-self:flex-start}.authpage{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#fff}.authvisual{position:relative;min-height:100vh;background-image:linear-gradient(180deg,rgba(4,17,31,.12),rgba(4,17,31,.78)),url('assets/login-runner.webp');background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:clamp(32px,6vw,80px)}.visualcopy{max-width:680px;color:#fff}.visualcopy h1{font-size:clamp(38px,5vw,68px);line-height:1.02;margin:.3em 0}.visualcopy p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:600px}.brand.light,.brand.light b{color:#fff}.authpanel{display:grid;place-items:center;padding:32px}.authpanel .auth{width:min(100%,470px);margin:0;box-shadow:none}.fullbtn{width:100%}
@media(max-width:850px){.authpage{grid-template-columns:1fr}.authvisual{min-height:36vh;padding:26px 20px}.visualcopy h1{font-size:34px}.visualcopy p{font-size:15px;margin-bottom:0}.authpanel{padding:20px 14px 32px}.authpanel .auth{margin:0;width:100%}}
