:root{--bg: #0b0e14;--surface: #151a23;--surface-2: #1e2530;--line: #2a323f;--text: #eef2f7;--muted: #9aa7b8;--accent: #4cc9b0;--accent-ink: #04120f;--warn: #f0a35e;--danger: #e06c6c;--radius: 16px;--tap: 60px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:430px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;background:var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.screen{flex:1;padding:20px 18px 28px;display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;gap:12px;min-height:32px}.topbar h1{font-size:20px;margin:0;font-weight:650}.topbar .spacer{flex:1}.eyebrow{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}h2{font-size:22px;margin:0;font-weight:650}p.lead{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h3{margin:0 0 4px;font-size:16px}.card .sub{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-height:var(--tap);cursor:pointer;text-align:left;transition:transform .05s ease,background .15s ease,border-color .15s ease}button:active{transform:scale(.98)}button.block{width:100%}button.center{text-align:center}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}button.ghost{background:transparent}button.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface-2))}button.big{min-height:76px;font-size:18px;font-weight:650}button.danger{color:var(--danger)}button:disabled{opacity:.4;cursor:default}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips button{min-height:48px;padding:10px 14px}.field{display:flex;flex-direction:column;gap:8px}.field>label{font-weight:600}input.numinput{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-height:var(--tap);width:100%}input.numinput::placeholder{color:var(--muted)}input.numinput:focus{outline:none;border-color:var(--accent)}.rowbtn{display:flex;align-items:center;gap:12px}.rowbtn .check{width:24px;height:24px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;flex:none;font-size:14px}.rowbtn.on .check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.spacer-v{flex:1}.footer-actions{display:flex;flex-direction:column;gap:10px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.pill.ok{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.pill.warn{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.pill.muted{background:var(--surface-2);color:var(--muted)}.stat{display:flex;align-items:baseline;gap:8px}.stat .n{font-size:30px;font-weight:700}.stat .u{color:var(--muted);font-size:14px}.list{display:flex;flex-direction:column;gap:8px}.logline{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--line)}.logline b{color:var(--text);font-weight:600}.note{font-size:13px;color:var(--muted)}.hr{height:1px;background:var(--line);border:0;margin:4px 0}a.link{color:var(--accent);cursor:pointer}.print-only{display:none}@media print{.print-hide{display:none!important}.print-only{display:block}html,body,#root,.app{background:#fff!important;color:#000!important;max-width:100%!important}.app{padding:0}.screen{padding:0;gap:8px}.card{background:#fff!important;border:1px solid #bbb!important;break-inside:avoid}h2,h3,.stat .n,.logline b,b{color:#000!important}.sub,.note,.lead,.logline span,.stat .u,.eyebrow{color:#333!important}.logline{border-bottom:1px solid #ddd}.pill{border:1px solid #999;color:#000!important;background:#eee!important}.hr{background:#ccc}}
