:root{--bg:#f5f7fb;--card:#fff;--ink:#111827;--muted:#667085;--line:#e5e7eb;--accent:#111827;--good:#166534;--goodbg:#dcfce7;--warn:#92400e;--warnbg:#fef3c7;--danger:#991b1b;--dangerbg:#fee2e2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px max(18px,calc((100vw - 1080px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-weight:800;color:var(--ink);text-decoration:none}.topbar nav{display:flex;gap:6px;overflow:auto}.topbar nav a{padding:7px 10px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:14px;white-space:nowrap}.topbar nav a.active{color:var(--ink);background:#eef0f4}.container{max-width:1080px;margin:auto;padding:28px 18px 60px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.hero h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.04em;margin:2px 0 6px}.hero p{margin:0;color:var(--muted);max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:11px;color:#6b7280}.date-nav{display:flex;gap:6px}.date-nav a,.button{border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);padding:8px 11px;border-radius:9px;font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.025)}.card h2{margin:4px 0 14px;font-size:20px;letter-spacing:-.02em}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wide{grid-column:1/-1}.core-card{margin-bottom:14px}.card-head{display:flex;justify-content:space-between;align-items:center}.ring{--p:0;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#111827 calc(var(--p)*1%),#e5e7eb 0);position:relative}.ring:after{content:"";position:absolute;inset:7px;background:white;border-radius:50%}.ring span{position:relative;z-index:1;font-weight:800;font-size:13px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#f3f4f6;color:#6b7280;padding:7px 10px;border-radius:999px;font-size:13px}.chip.ok{background:var(--goodbg);color:var(--good)}label{display:block;font-weight:700;font-size:13px;color:#344054;margin:10px 0}input,textarea{display:block;width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;font:inherit;color:var(--ink);background:#fff}input:focus,textarea:focus{outline:2px solid #c7d2fe;border-color:#818cf8}.checkrow{display:flex;flex-wrap:wrap;gap:12px}.checkrow label{display:flex;align-items:center;gap:7px;font-weight:600}.checkrow input{width:auto;margin:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint,.muted,.tiny{color:var(--muted)}.hint{font-size:12px}.tiny{font-size:12px}.primary{border:0;background:var(--accent);color:white;border-radius:11px;padding:10px 14px;font-weight:800;cursor:pointer}.big{width:100%;padding:13px;margin-top:8px}.success,.alert{padding:10px 12px;border-radius:10px;margin-bottom:14px}.success{background:var(--goodbg);color:var(--good)}.alert{background:var(--dangerbg);color:var(--danger)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:22px}.danger-soft{background:#fffafa}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-strip a{text-decoration:none;color:var(--ink);text-align:center;border:1px solid var(--line);border-radius:12px;padding:9px 4px}.week-strip span,.week-strip small{display:block;color:var(--muted);font-size:11px}.level{display:block;margin:6px auto;padding:4px;border-radius:8px;background:#f3f4f6}.l3{background:var(--goodbg);color:var(--good)}.l2{background:#e0e7ff}.l1{background:var(--warnbg);color:var(--warn)}.review{margin-top:14px}.score-list{display:grid;gap:9px}.score-row{display:grid;grid-template-columns:230px 1fr 54px;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px}.score-row span,.score-row small{display:block;color:var(--muted);font-size:12px}.score-row strong{font-size:18px}.bar{height:10px;background:#eef0f4;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#111827;border-radius:999px}.good{color:var(--good)}.neutral{color:var(--warn)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.suffix{display:flex;align-items:center;gap:6px;font-weight:500}.suffix input{margin-top:0}.timeline{display:grid;gap:12px}.timeline>div{border-left:3px solid #d1d5db;padding-left:12px}.timeline span{display:block;color:var(--muted);font-size:12px}.timeline p{margin:4px 0 0}.auth-wrap{min-height:85vh;display:grid;place-items:center;padding:18px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.auth-card h1{margin-top:0}footer{text-align:center;color:#98a2b3;font-size:12px;padding:20px 10px 34px}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 14px}.container{padding:20px 14px 50px}.hero{align-items:flex-start;flex-direction:column}.grid-form{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.week-strip{gap:4px}.score-row{grid-template-columns:1fr 48px}.score-row .bar{grid-column:1/-1;grid-row:2}.settings-grid{grid-template-columns:1fr}.two{grid-template-columns:1fr 1fr}}
/* Dashboard */
.dashboard{max-width:1180px}.hero-kpi{min-width:140px;text-align:right}.hero-kpi span{display:block;color:var(--muted);font-size:12px}.hero-kpi strong{font-size:32px;letter-spacing:-.04em}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.top-summary .phase-card{grid-column:span 1}.phase-card p{min-height:42px}.bar.large{height:12px;margin-top:18px}.bar-caption,.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:7px}.kpi-quad{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;margin-top:12px}.kpi-quad span{display:block;color:var(--muted);font-size:11px}.kpi-quad strong{display:block;font-size:20px;letter-spacing:-.03em}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.section-head h2{margin-bottom:0}.pace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.pace-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fcfcfd}.pace-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pace-head>span{font-weight:700;font-size:13px}.pace-card>strong{display:block;font-size:20px;margin-top:12px}.pace-card>small{display:block;color:var(--muted);margin:2px 0 10px}.status-dot{font-size:10px;padding:4px 7px;border-radius:999px;white-space:nowrap}.status-dot.good{background:var(--goodbg);color:var(--good)}.status-dot.warn{background:var(--warnbg);color:var(--warn)}.status-dot.bad{background:var(--dangerbg);color:var(--danger)}.status-dot.neutral{background:#eef0f4;color:var(--muted)}.bar i.good{background:#166534}.bar i.warn{background:#d97706}.bar i.bad{background:#b91c1c}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card{min-height:250px}.sparkline{width:100%;height:145px;color:#111827;margin-top:8px;overflow:visible}.empty-chart{height:145px;display:grid;place-items:center;color:var(--muted);font-size:13px}.insight-grid{grid-template-columns:1.4fr 1fr}.signals{display:grid;gap:9px;margin-top:12px}.signal{border-left:4px solid #d1d5db;padding:9px 11px;background:#fafafa;border-radius:0 10px 10px 0}.signal p{margin:3px 0 0;color:var(--muted);font-size:13px}.signal.good{border-left-color:#16a34a;background:#f0fdf4}.signal.warn{border-left-color:#d97706;background:#fffbeb}.signal.bad{border-left-color:#dc2626;background:#fef2f2}.mini-balance{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.mini-balance span{padding:12px;border:1px solid var(--line);border-radius:12px;text-align:center;font-weight:700;font-size:12px;background:#fcfcfd}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.primary-link{background:var(--accent);color:white;border-color:var(--accent)}
@media(max-width:920px){.dashboard-grid,.pace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-summary .phase-card{grid-column:span 2}.insight-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-grid,.charts-grid,.pace-grid{grid-template-columns:1fr}.top-summary .phase-card{grid-column:span 1}.hero-kpi{text-align:left}.kpi-quad{grid-template-columns:1fr 1fr}.sparkline{height:120px}.section-head{align-items:flex-start}.pace-head{align-items:flex-start}}

/* v1.0 strategy OS */
select{display:block;width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;font:inherit;color:var(--ink);background:#fff}select:focus{outline:2px solid #c7d2fe;border-color:#818cf8}.brand-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#111827;color:#fff;margin-right:3px}.logo-large{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#111827;color:#fff;font-size:26px;margin-bottom:18px}.narrow{max-width:760px}.hero-kpi small{display:block;color:var(--muted);font-size:11px;margin-top:-2px}.today-top{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.capacity-card{grid-column:span 1}.capacity-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.capacity-line h2{margin-bottom:6px}.capacity-line p{margin:0;color:var(--muted);max-width:560px}.capacity-score{display:flex;align-items:baseline;gap:2px;min-width:92px;justify-content:flex-end}.capacity-score strong{font-size:46px;line-height:1;letter-spacing:-.06em}.capacity-score span{font-size:12px;color:var(--muted)}.capacity-score.small strong{font-size:38px}.compact-capacity{margin-bottom:14px}.good-edge{border-left:5px solid #16a34a}.neutral-edge{border-left:5px solid #64748b}.bad-edge{border-left:5px solid #dc2626}.reason-list{margin-top:10px}.reason{font-size:13px;margin:7px 0}.reason.good{color:var(--good)}.reason.warn{color:var(--warn)}.reason.bad{color:var(--danger)}details summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700;margin-top:12px}.bottleneck-card h2{margin-bottom:6px}.bottleneck-card p{color:var(--muted);margin-top:0}.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-add{display:flex;gap:6px;flex-wrap:wrap;margin-top:-3px;margin-bottom:6px}.quick-add button{border:1px solid var(--line);background:#f9fafb;border-radius:999px;padding:5px 9px;font:inherit;font-size:12px;color:#475467;cursor:pointer}.quick-add button:hover{background:#eef0f4}.outcome-mini{display:grid;gap:8px;margin-top:12px}.outcome-mini>div{display:grid;grid-template-columns:82px 1fr auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.outcome-mini>div:last-child{border-bottom:0}.outcome-mini span,.outcome-mini small{color:var(--muted);font-size:11px}.outcome-mini b{font-size:13px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.month-lower{grid-template-columns:1.3fr 1fr;margin-top:16px}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-head{text-align:center;color:var(--muted);font-size:10px;padding-bottom:4px}.cal-cell{min-height:54px;border:1px solid var(--line);border-radius:9px;padding:7px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}.cal-cell b{font-size:12px}.cal-cell span{font-size:10px;color:var(--muted)}.cal-cell.blank{border:0;background:transparent}.cal-cell.core-3{background:#ecfdf3;border-color:#bbf7d0}.cal-cell.core-2{background:#eef2ff}.cal-cell.core-1{background:#fffbeb}.cal-cell.core-0{background:#fef2f2}.cal-cell.core-x{background:#fafafa;color:#98a2b3}.compare-table{overflow:auto;margin-top:10px}.compare-row{display:grid;grid-template-columns:56px repeat(5,minmax(70px,1fr));gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);min-width:530px}.compare-row.head{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.compare-row span{font-size:12px}.strategy-thesis{border-left:5px solid #111827;margin-bottom:14px}.timeline.rich{gap:0}.timeline.rich>div{border-left:0;padding-left:0}.timeline-item{display:grid;grid-template-columns:24px 1fr;gap:10px;position:relative;padding:0 0 26px 0}.timeline-item:before{content:"";position:absolute;left:6px;top:16px;bottom:-4px;width:2px;background:#e5e7eb}.timeline-item:last-child:before{display:none}.timeline-dot{width:14px;height:14px;border:3px solid #d1d5db;border-radius:50%;margin-top:3px;background:#fff;z-index:1}.timeline-item.active .timeline-dot{border-color:#111827;background:#111827}.timeline-item.done .timeline-dot{border-color:#16a34a;background:#16a34a}.timeline-item span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.timeline-item p{margin:5px 0 0;color:#475467}.outcomes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.outcome-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fcfcfd}.outcome-card.done{background:#f0fdf4;border-color:#bbf7d0}.outcome-top{display:flex;justify-content:space-between;gap:10px}.outcome-top span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.outcome-top b{font-size:11px;color:var(--muted)}.outcome-card h3{margin:8px 0 5px}.outcome-card p{color:#475467;font-size:13px;min-height:58px}.inline-form select{margin:0;padding:6px 8px;font-size:12px}.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.rule-grid>div{border:1px solid var(--line);border-radius:13px;padding:13px}.rule-grid p{color:var(--muted);font-size:13px;margin:5px 0 0}.queue-add{margin-bottom:14px}.queue-form{display:grid;grid-template-columns:1fr 180px;gap:12px}.queue-list{display:grid;gap:10px;margin-top:18px}.queue-item{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.queue-item h3{margin:6px 0}.queue-item p{margin:6px 0;color:#475467;font-size:13px}.queue-item small{color:var(--muted)}.queue-area{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.queue-actions{display:flex;gap:10px;align-items:center}.text-danger,.text-button{border:0;background:transparent;padding:5px;color:var(--danger);cursor:pointer;font:inherit;font-size:12px}.text-button{color:#475467}.done-queue{margin-top:18px}.done-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:28px}.outcome-settings{display:grid;gap:12px}.outcome-settings fieldset{border:1px solid var(--line);border-radius:14px;padding:14px}.outcome-settings legend{font-weight:800;padding:0 6px}.settings-bottom{grid-template-columns:1fr 1fr;margin-top:14px}.danger-zone{margin-top:14px;border-color:#fecaca}.danger-button{border-color:#fecaca!important;color:#991b1b!important;background:#fffafa!important}.confirm-row{display:flex;align-items:center;gap:8px;font-weight:600}.confirm-row input{width:auto;margin:0}.primary-link{background:#111827!important;color:#fff!important}.signal.neutral{border-left-color:#94a3b8;background:#f8fafc}.status-dot.neutral{background:#eef0f4;color:#475467}.status-dot.bad{background:var(--dangerbg);color:var(--danger)}
@media(max-width:920px){.focus-grid,.month-lower{grid-template-columns:1fr 1fr}.today-top{grid-template-columns:1fr}.capacity-card{grid-column:1/-1}.three{grid-template-columns:1fr}.outcomes-grid{grid-template-columns:1fr}.settings-bottom{grid-template-columns:1fr}}
@media(max-width:620px){.focus-grid,.month-lower{grid-template-columns:1fr}.capacity-line{align-items:flex-start}.capacity-score strong{font-size:38px}.queue-form{grid-template-columns:1fr}.queue-item{flex-direction:column}.queue-actions{width:100%;justify-content:flex-end}.rule-grid{grid-template-columns:1fr}.outcome-mini>div{grid-template-columns:68px 1fr}.outcome-mini small{grid-column:2}.month-calendar{gap:3px}.cal-cell{min-height:46px;padding:5px}.three{grid-template-columns:1fr}}
.setup-checks{display:grid;gap:6px;margin:14px 0}.setup-checks>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:12px}.bad-text{color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}

/* v1.0.2 iPhone / narrow-screen hardening */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,svg{max-width:100%;height:auto}
.container,.topbar,.card,.hero,.dashboard-grid,.grid-form,.today-top,.month-lower,.charts-grid,.pace-grid,.focus-grid,.settings-grid,.settings-bottom,.outcomes-grid,.queue-form,.score-row,.section-head,.capacity-line,.outcome-mini>div,.compare-row{min-width:0}
.card,.stat,.pace-card,.outcome-card,.auth-card,fieldset{max-width:100%;overflow-wrap:anywhere}
input,textarea,select,button,.button{max-width:100%;min-width:0}
.hero>div,.section-head>div,.capacity-line>div,.queue-item>div,.outcome-top>div{min-width:0}
.hero h1,.card h2,.queue-item h3,.outcome-card h3,.brand{overflow-wrap:anywhere}
.sparkline{display:block;max-width:100%;overflow:hidden}

@media(max-width:720px){
  .topbar{
    width:100%;
    align-items:stretch;
    flex-direction:column;
    gap:9px;
    padding-top:max(10px,env(safe-area-inset-top));
    padding-right:max(10px,env(safe-area-inset-right));
    padding-bottom:10px;
    padding-left:max(10px,env(safe-area-inset-left));
  }
  .brand{display:flex;align-items:center;justify-content:flex-start;min-height:28px;font-size:15px}
  .topbar nav{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    overflow:visible;
  }
  .topbar nav a{
    min-width:0;
    padding:8px 3px;
    border-radius:8px;
    font-size:11.5px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .container{
    width:100%;
    max-width:100%;
    padding-top:18px;
    padding-right:max(12px,env(safe-area-inset-right));
    padding-bottom:max(52px,env(safe-area-inset-bottom));
    padding-left:max(12px,env(safe-area-inset-left));
  }
  .hero{width:100%;gap:14px;margin-bottom:18px}
  .hero h1{font-size:clamp(28px,10vw,38px);line-height:1.04}
  .hero-kpi{min-width:0;width:100%;text-align:left}
  .date-nav{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:6px}
  .date-nav a{text-align:center;min-width:0}
  .card{padding:15px;border-radius:15px}
  .card-head,.section-head{flex-wrap:wrap}
  .ring{width:62px;height:62px;flex:0 0 62px}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat{padding:11px;min-width:0}
  .stat strong{font-size:19px;overflow-wrap:anywhere}
  .week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
  .week-strip a{min-width:0;padding:7px 1px;border-radius:9px}
  .week-strip span,.week-strip small{font-size:9.5px;overflow:hidden;text-overflow:ellipsis}
  .level{padding:3px 1px;font-size:10px}
  .score-row{width:100%;padding:12px;gap:8px}
  .suffix{flex-wrap:wrap}
  .quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .quick-actions .button{width:100%;text-align:center;padding:9px 7px;white-space:normal}
  .capacity-line{width:100%;flex-wrap:wrap}
  .capacity-score{min-width:0;justify-content:flex-start}
  .pace-head{flex-wrap:wrap}
  .status-dot{white-space:normal;text-align:center}
  .kpi-quad,.mini-balance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .outcome-top{flex-wrap:wrap}
  .queue-actions{flex-wrap:wrap}
  .done-row{flex-wrap:wrap}
  .setup-checks>div{align-items:flex-start;flex-wrap:wrap}
}

@media(max-width:620px){
  .compare-table{overflow:visible;width:100%}
  .compare-row.head{display:none}
  .compare-row{
    min-width:0;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:11px;
    margin:8px 0;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fcfcfd;
  }
  .compare-row:not(.head)>b{grid-column:1/-1;font-size:14px;margin-bottom:2px}
  .compare-row:not(.head)>span{min-width:0;font-size:12px;padding:7px 8px;border-radius:9px;background:#fff;border:1px solid #eef0f4;overflow-wrap:anywhere}
  .compare-row:not(.head)>span:before{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:2px}
  .compare-row:not(.head)>span:nth-child(2):before{content:"CISSP"}
  .compare-row:not(.head)>span:nth-child(3):before{content:"English"}
  .compare-row:not(.head)>span:nth-child(4):before{content:"Deep"}
  .compare-row:not(.head)>span:nth-child(5):before{content:"Overtime"}
  .compare-row:not(.head)>span:nth-child(6):before{content:"Sleep"}
  .month-calendar{width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
  .cal-head{font-size:9px}
  .cal-cell{min-width:0;min-height:43px;padding:4px 2px;border-radius:7px;text-align:center}
  .cal-cell b{font-size:10px}
  .cal-cell span{font-size:8.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(max-width:480px){
  .two{grid-template-columns:1fr}
  .checkrow{display:grid;grid-template-columns:1fr}
  .checkrow label{margin:2px 0}
  .capacity-line{flex-direction:column;gap:10px}
  .capacity-score{width:100%}
  .quick-actions{grid-template-columns:1fr}
  .outcome-mini>div{grid-template-columns:1fr}
  .outcome-mini span,.outcome-mini small{grid-column:1}
  .outcome-mini small{text-align:left}
  .mini-balance{grid-template-columns:1fr}
  .auth-wrap{padding:12px}
  .auth-card{padding:20px 16px;border-radius:16px}
}

@media(max-width:360px){
  .topbar nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .topbar nav a{font-size:11px;padding:7px 2px}
  .stat-grid,.kpi-quad{grid-template-columns:1fr}
  .compare-row{grid-template-columns:1fr}
  .compare-row:not(.head)>b{grid-column:1}
}


/* v1.0.3 responsive navigation: hierarchy instead of tiny labels */
.topbar .mobile-nav{display:none!important}
.topbar .desktop-nav{display:flex!important}
.mobile-menu{position:relative;min-width:0}
.mobile-menu summary{list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mobile-menu summary::-webkit-details-marker{display:none}

@media(max-width:720px){
  .topbar .desktop-nav{display:none!important}
  .topbar .mobile-nav{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%;
    max-width:100%;
    overflow:visible!important;
  }
  .topbar .mobile-nav>a,
  .topbar .mobile-menu>summary{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:42px;
    padding:9px 8px;
    border-radius:10px;
    color:var(--muted);
    text-decoration:none;
    font-size:14px;
    font-weight:650;
    line-height:1.2;
    text-align:center;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
  .topbar .mobile-nav>a.active,
  .topbar .mobile-menu>summary.active,
  .topbar .mobile-menu[open]>summary{
    color:var(--ink);
    background:#eef0f4;
  }
  .mobile-menu-panel{
    position:absolute;
    z-index:50;
    right:0;
    top:calc(100% + 7px);
    width:min(280px,calc(100vw - 20px));
    display:grid;
    gap:4px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 14px 35px rgba(17,24,39,.16);
  }
  .topbar .mobile-menu-panel a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 12px;
    border-radius:9px;
    color:var(--ink);
    text-decoration:none;
    font-size:14px;
    white-space:normal;
  }
  .topbar .mobile-menu-panel a.active{background:#eef0f4;font-weight:750}
  .topbar .mobile-menu-panel .logout-link{border-top:1px solid var(--line);border-radius:0 0 9px 9px;margin-top:3px;color:var(--danger)}
}

@media(max-width:360px){
  .topbar .mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v1.0.4 capacity score mobile fix */
.capacity-score{
  flex:0 0 auto;
  width:max-content;
  min-width:max-content;
  max-width:100%;
  flex-wrap:nowrap;
  white-space:nowrap;
  align-items:baseline;
  justify-content:flex-end;
}
.capacity-score strong,
.capacity-score span{
  display:inline-block;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}
@media(max-width:620px){
  .capacity-line{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    column-gap:14px;
    row-gap:10px;
  }
  .capacity-score{
    min-width:88px;
    justify-self:end;
  }
}
@media(max-width:390px){
  .capacity-line{
    grid-template-columns:1fr;
  }
  .capacity-score{
    width:max-content;
    min-width:max-content;
    justify-self:start;
  }
}
