:root{--navy:#071d34;--blue:#0878a8;--light:#edf7fc;--line:#cfe0ea;--text:#17354a;--muted:#5a7080;--good:#16734a;--warn:#a85b00}*{box-sizing:border-box}body{margin:0;background:#f4f8fb;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.dash-hero{background:linear-gradient(135deg,#061a33,#0a527d);color:#fff;padding:42px 20px}.dash-hero>div{max-width:1100px;margin:auto}.dash-hero a{color:#b9edff}.dash-hero h1{font-size:clamp(2rem,6vw,3.8rem);margin:.35rem 0}.dash-hero p{max-width:780px;line-height:1.6;color:rgba(255,255,255,.84)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.76rem;color:#4f839d}.dash-hero .eyebrow{color:#9fe7ff}.dashboard-shell{max-width:1120px;margin:auto;padding:28px 18px 60px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 12px 30px rgba(8,44,68,.08)}.summary-card h2{margin:.25rem 0;font-size:clamp(1.5rem,4vw,2.3rem)}.summary-card p{color:var(--muted)}.ring{width:132px;height:132px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--blue) var(--pct,0%),#dceaf1 0);position:relative;flex:0 0 auto}.ring:before{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}.ring>*{position:relative}.ring strong{font-size:1.7rem}.ring span{font-size:.78rem;color:var(--muted)}.master-progress{height:12px;background:#dceaf1;border-radius:99px;overflow:hidden;margin:14px 0 22px}.master-progress span{display:block;height:100%;width:0;background:var(--blue);transition:width .3s ease}.controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:36px}.controls div{display:grid;gap:6px}.controls label{font-weight:800}.controls select,.controls button{min-height:44px;border-radius:11px;padding:0 14px;font:inherit}.controls select{border:1px solid #acc8d8;background:#fff}.controls button{font-weight:850;cursor:pointer}.primary-button{background:var(--blue);color:#fff;border:1px solid var(--blue)}.secondary-button{background:#fff;color:var(--text);border:1px solid #acc8d8}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:34px 0 16px}.section-heading h2{margin:.2rem 0}.section-heading>p{max-width:530px;color:var(--muted)}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.path-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;min-height:230px;box-shadow:0 8px 22px rgba(8,44,68,.06)}.path-card.is-complete{border-color:#72b795;background:#f6fffa}.path-card.is-locked{opacity:.72}.card-top{display:flex;justify-content:space-between;gap:10px}.status-pill{font-size:.74rem;border-radius:99px;padding:5px 9px;background:#e8f0f4;color:#496271;font-weight:900;white-space:nowrap}.is-complete .status-pill{background:#dff5e8;color:var(--good)}.path-card h3{margin:12px 0 6px}.path-card p{color:var(--muted);line-height:1.5}.mini-progress{height:8px;border-radius:99px;background:#e3edf2;overflow:hidden;margin:8px 0 14px}.mini-progress span{height:100%;display:block;background:var(--blue)}.path-card a{margin-top:auto;display:inline-flex;justify-content:center;padding:10px 12px;border-radius:11px;text-decoration:none;background:var(--navy);color:#fff;font-weight:850}.manual-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.82rem;color:var(--muted)}.manual-row input{width:18px;height:18px}.next-step{margin-top:38px;border-radius:22px;background:var(--navy);color:#fff;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.next-step p{color:rgba(255,255,255,.78)}.next-step .eyebrow{color:#9fe7ff}.next-step a{background:#fff;color:#075d87;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:900;white-space:nowrap}.storage-note{text-align:center;color:var(--muted);font-size:.85rem;margin-top:24px}@media(max-width:850px){.path-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.summary-card,.section-heading,.next-step{align-items:stretch;flex-direction:column}.ring{align-self:center}.path-grid{grid-template-columns:1fr}.controls>*{width:100%}.controls select,.controls button{width:100%}.next-step a{text-align:center}}
