:root{
    --bg:#f3f6f8;--card:#fff;--ink:#14232e;--mut:#5b6c78;--line:#d9e2e8;--acc:#0b6e75;--acc-t:#fff;--maj:#b3261e;--maj-bg:#fde8e6;--mod:#8a5a00;--mod-bg:#fff1d6;--min:#2f6b3a;--min-bg:#e3f4e6;--ok:#0b6e75;--ok-bg:#dff1f2;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e171d;--card:#16232b;--ink:#e8f0f4;--mut:#9bb0bc;--line:#2a3b46;--acc:#4fc3cb;--acc-t:#06262a;--maj:#ff9a92;--maj-bg:#3b1a18;--mod:#ffd27a;--mod-bg:#3a2d10;--min:#8fd69b;--min-bg:#18301d;--ok:#4fc3cb;--ok-bg:#12302f}}
:root[data-theme="dark"]{--bg:#0e171d;--card:#16232b;--ink:#e8f0f4;--mut:#9bb0bc;--line:#2a3b46;--acc:#4fc3cb;--acc-t:#06262a;--maj:#ff9a92;--maj-bg:#3b1a18;--mod:#ffd27a;--mod-bg:#3a2d10;--min:#8fd69b;--min-bg:#18301d;--ok:#4fc3cb;--ok-bg:#12302f}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Figtree,system-ui,sans-serif}
main{max-width:760px;margin:0 auto;padding:20px 16px 48px}
h1,h2{font-family:"Bricolage Grotesque",Figtree,sans-serif;margin:0}
h1{font-size:2rem;font-weight:800}
h2{font-size:1.25rem;margin-bottom:10px}
.sub{color:var(--mut);margin:2px 0 14px}
.warn{background:var(--mod-bg);color:var(--mod);border-radius:10px;padding:10px 14px;font-size:.9rem;margin-bottom:18px}
section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
form .full{grid-column:1/-1}
label{display:flex;flex-direction:column;font-size:.85rem;color:var(--mut);gap:4px}
input,select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
button{font:inherit;font-weight:700;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:8px 14px}
button.p{background:var(--acc);color:var(--acc-t);border-color:var(--acc)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.row:first-of-type{border-top:0}
.t{font-weight:700;font-variant-numeric:tabular-nums}
.mut{color:var(--mut);font-size:.9rem}
.pill{display:inline-block;border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:700}
.taken{background:var(--min-bg);color:var(--min)}.skipped{background:var(--mod-bg);color:var(--mod)}.late{background:var(--maj-bg);color:var(--maj)}
.ix{border-left:6px solid;border-radius:8px;padding:10px 14px;margin:10px 0}
.ix.major{border-color:var(--maj);background:var(--maj-bg)}.ix.moderate{border-color:var(--mod);background:var(--mod-bg)}.ix.minor{border-color:var(--min);background:var(--min-bg)}
.ix b{display:block}.ix span.s{font-size:.8rem;font-weight:700}
.ix.major .s{color:var(--maj)}.ix.moderate .s{color:var(--mod)}.ix.minor .s{color:var(--min)}
.none{background:var(--ok-bg);color:var(--ok);border-radius:8px;padding:10px 14px}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:560px){form{grid-template-columns:1fr}}
@media print{.noprint{display:none}}

/* mobile + polish */
button,input,select{min-height:44px}
button{transition:background .15s,transform .05s}
button:active{transform:scale(.98)}
section{box-shadow:0 1px 3px rgba(0,0,0,.05)}
input,select{width:100%}
@media(max-width:560px){main{padding:14px 12px 40px}h1{font-size:1.6rem}.row{align-items:flex-start}.row>div:last-child{width:100%;display:flex;gap:8px}.row>div:last-child button{flex:1}.bar button{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
