:root{--bg:#0c131d;--sidebar:#101923;--surface:#14202c;--surface2:#192736;--border:#273746;--text:#edf5f8;--muted:#91a2b2;--accent:#6ce7bd;--accent2:#b5ffe2;--warn:#ffbf79;--shadow:0 20px 55px #050c1433;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--accent)}button:disabled{opacity:.5;cursor:wait}.layout{display:flex;min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);width:251px;flex-shrink:0;padding:30px 18px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin:0 12px 47px}.brand strong{font-size:18px;letter-spacing:-.7px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:#7190a0}.brand-icon,.brand-sign{background:#183e38;border:1px solid #316755;color:var(--accent);width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:27px}.sidebar-label,.mini-label,.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.6px;font-weight:700}.sidebar-label{margin:0 13px 14px}.sidebar-nav{display:grid;gap:7px}.nav{display:flex;gap:13px;align-items:center;text-align:left;border:1px solid transparent;background:none;color:#9eb1be;width:100%;border-radius:11px;padding:12px 14px;font-size:13px;font-weight:600}.nav span{font-size:20px;width:22px;text-align:center}.nav.active{background:#1b342f;color:var(--accent);border-color:#2b5045}.nav:hover{background:#1b2c38;color:var(--text)}.nav b{margin-left:auto;font-size:10px}.sidebar-bottom{margin-top:auto;padding:22px 13px 0;border-top:1px solid var(--border)}.sidebar-bottom strong{font-size:13px;display:block;margin:8px 0 16px}.sidebar-bottom small{color:var(--muted);font-size:11px}.mini-progress{height:5px;border-radius:5px;background:#263b42;overflow:hidden;margin-bottom:8px}.mini-progress span{display:block;background:var(--accent);height:100%;width:0}.logout{margin-top:22px;padding:12px 0}.main{flex:1;min-width:0;padding:31px clamp(20px,4vw,62px) 80px;max-width:1570px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px;gap:15px}.topbar h1{font-size:30px;letter-spacing:-1.2px;margin:6px 0 0;font-weight:750}.date-tag{border:1px solid var(--border);background:#131f2a;border-radius:9px;padding:11px 15px;color:#b9c8d1;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.metric small{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:1.1px}.metric strong{display:block;font-size:34px;letter-spacing:-1px;margin:8px 0 3px}.metric span{font-size:11px;color:#91a5b3}.metric.warn strong{color:var(--warn)}.columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:16px}.content-stack,.side-stack{display:flex;flex-direction:column;gap:16px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:23px;box-shadow:var(--shadow)}.primary-panel{background:linear-gradient(135deg,#173c35,#142a2d 60%,#132432);border-color:#2d6052;min-height:191px}.eyebrow.accent{color:var(--accent)}.today-main h2{font-size:26px;line-height:1.16;letter-spacing:-.7px;margin:11px 0 12px}.today-main p{font-size:13px;color:#b3d2cb;line-height:1.7}.today-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{background:#1d4a40;border:1px solid #356d5c;border-radius:6px;padding:6px 10px;font-size:11px;color:#b6fbe0}.pill{border:1px solid #385569;background:#20313f;color:#b0cbd4;border-radius:30px;padding:6px 10px;font-size:11px;white-space:nowrap}.section-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.section-head h2{margin:8px 0 0;letter-spacing:-.6px;font-size:21px}.panel p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.machine-line{border:1px solid var(--border);border-radius:10px;padding:14px 15px;font-size:11px;color:var(--muted);letter-spacing:.7px;display:flex;gap:14px;align-items:center;justify-content:space-between;margin:20px 0}.machine-line strong{color:var(--text);font-size:13px;letter-spacing:0}.session-list{display:grid;gap:8px}.session-item{border:1px solid var(--border);background:#172431;border-radius:9px;padding:12px;display:flex;align-items:center;gap:10px}.session-item .tick{border:1px solid #426a61;color:var(--accent);display:grid;place-items:center;width:25px;height:25px;border-radius:7px;flex-shrink:0;font-size:13px}.session-item.done{opacity:.74}.session-item.skipped{opacity:.45}.session-body{flex:1;min-width:0}.session-body strong{font-size:12px}.session-body small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.action{color:#b8f7df;background:none;border:none;font-weight:700;font-size:11px}.action:hover{text-decoration:underline}.divider{height:1px;background:var(--border);margin:24px 0}.panel h3{font-size:14px;margin:0}.finish-box{display:grid;gap:9px;margin-top:16px}.finish-box select,.finish-box input,select,textarea,input{background:#0f1c29;border:1px solid #314656;color:var(--text);border-radius:9px;padding:10px 12px;min-width:0;outline:none}.finish-box input:focus,select:focus,textarea:focus,input:focus{border-color:#5fd4ad}.finish-box input{font-size:12px}.primary,.secondary{border-radius:9px;font-size:12px;font-weight:800;padding:11px 16px}.primary{background:var(--accent);border:1px solid #6ce7bd;color:#0c2c23}.primary:hover{background:#99f4d3}.secondary{background:#213e37;border:1px solid #3f7563;color:#b6fbe0}.secondary:hover{background:#2a5044}.full{width:100%}.coach-tip h2{font-size:17px;letter-spacing:-.3px}.coach-tip p{font-size:13px;color:#bdd2cd}.text-btn{background:none;border:0;color:var(--accent);font-weight:750;font-size:12px;padding:8px 0}.upcoming-row{padding:15px 0;border-bottom:1px solid #263544;display:flex;gap:13px;align-items:center}.upcoming-row:last-child{border:0}.upcoming-date{background:#22313c;padding:10px 5px;border-radius:8px;font-size:11px;min-width:64px;text-align:center;color:#bed1da}.upcoming-row strong{font-size:12px}.upcoming-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.side-stack p{font-size:13px}.page{display:none}.page.active{display:block}.page-intro{margin-bottom:25px}.page-intro h2{font-size:25px;letter-spacing:-.7px;margin:0 0 7px}.page-intro p{font-size:13px;color:var(--muted);margin:0}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.week-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:152px}.week-card.active{border-color:#429b7c;background:#18342f}.week-card.done{border-color:#305d50}.week-top{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.7px}.week-card h3{font-size:14px;margin:15px 0 6px;line-height:1.3}.week-card p{font-size:12px;color:#a6bbc6;margin:0 0 10px}.week-card .state{font-size:10px;color:var(--accent)}.chat-panel{max-width:920px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:17px;overflow:hidden;min-height:600px}.chat-top{padding:17px 19px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.chat-top strong{font-size:13px}.chat-top select{margin-left:auto;font-size:11px;max-width:300px}.online-dot{display:block;background:var(--accent);width:9px;height:9px;border-radius:99px;box-shadow:0 0 0 4px #184439}.chat-messages{flex:1;min-height:290px;max-height:530px;overflow-y:auto;padding:23px;display:flex;flex-direction:column;gap:16px}.chat-empty{margin:auto;text-align:center;color:var(--muted);max-width:390px;font-size:13px;line-height:1.8}.bubble{max-width:82%;padding:12px 15px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65;border-radius:12px;background:#20303e;align-self:flex-start}.bubble.user{background:#21493d;align-self:flex-end}.bubble small{display:block;color:#9fbbbf;font-size:9px;margin-bottom:5px}.suggested-prompts{display:flex;gap:7px;flex-wrap:wrap;padding:0 20px 14px}.prompt-chip{border:1px solid #354e5f;border-radius:30px;background:#1b303d;color:#b9cfda;padding:7px 11px;font-size:11px}.prompt-chip:hover{border-color:var(--accent)}.chat-form{border-top:1px solid var(--border);padding:14px;display:flex;gap:12px}.chat-form textarea{resize:vertical;flex:1;min-height:49px}.chat-disclaimer{padding:0 17px 16px;font-size:10px;color:var(--muted)}.notifications{max-width:900px;display:grid;gap:10px}.notification{background:var(--surface);border:1px solid var(--border);padding:18px;border-radius:12px;display:flex;gap:15px;justify-content:space-between;align-items:center}.notification.read{opacity:.65}.notification p{font-size:13px;line-height:1.5;margin:0 0 7px}.notification small{color:var(--muted)}.flash{padding:13px 17px;border:1px solid #d28d6b;border-radius:9px;color:#ffe1cb;background:#513328;margin-bottom:15px;font-size:12px}.flash.success{background:#18382d;color:#9ef7d4;border-color:#34745b}.modal{position:fixed;inset:0;background:#020a11bb;display:flex;align-items:center;justify-content:center;z-index:20;padding:18px}.modal[hidden]{display:none}.modal-card{width:min(96vw,500px);background:#152430;border:1px solid #3b5561;border-radius:16px;box-shadow:0 30px 70px #0007;padding:24px}.modal-card form{display:grid;gap:10px}.modal-card label{font-size:11px;color:#afc4d0;font-weight:650;margin-top:5px}.modal-card textarea{resize:vertical}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-grid>div{display:grid;gap:8px}.icon-btn{border:0;background:none;color:var(--muted);font-size:25px}.login-page{display:grid;place-items:center;background:radial-gradient(ellipse at 20% 10%,#153d35 0,transparent 45%),#0a131d;padding:25px}.login-card{border:1px solid #2f4d53;background:#14202b;box-shadow:0 25px 60px #0005;padding:42px;border-radius:18px;width:min(100%,430px)}.login-card .brand-sign{margin-bottom:26px}.login-card h1{font-size:35px;margin:8px 0}.login-card p{font-size:13px;color:var(--muted);line-height:1.6}.login-card form{display:grid;gap:13px;margin-top:30px}.login-card label{font-size:12px;color:#bfced6}.login-card small{display:block;color:#72909f;text-align:center;margin-top:24px;font-size:11px}.login-card .error{color:#ffb48c}@media(max-width:1100px){.columns{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:730px){.layout{display:block}.sidebar{width:100%;height:auto;position:static;padding:12px 12px 6px}.brand{margin:0 0 12px}.sidebar-label,.sidebar-bottom{display:none}.sidebar-nav{display:flex;gap:3px;overflow-x:auto}.nav{font-size:11px;padding:10px;white-space:nowrap}.nav span{font-size:15px;width:auto}.main{padding:25px 14px 55px}.metrics{gap:8px}.metric{padding:14px}.metric strong{font-size:27px}.topbar{align-items:flex-start}.topbar h1{font-size:23px}.date-tag{padding:9px;font-size:10px}.panel{padding:17px}.plan-grid{grid-template-columns:1fr}.chat-top{flex-wrap:wrap}.chat-top select{margin-left:0;width:100%;max-width:none}.bubble{max-width:96%}.session-item{flex-wrap:wrap}}

.review-row{border-top:1px solid var(--border);padding:13px 0;display:flex;flex-direction:column;gap:10px}
.review-row strong{display:block;font-size:12px}
.review-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.review-actions{display:flex;gap:10px;align-items:center}
.review-actions .secondary{padding:7px 12px;font-size:11px}
