:root{--bg:#f6f7f9;--panel:#fff;--text:#14181f;--muted:#5a6472;--line:#d5dae1;--accent:#1f5fbf;--accent-text:#fff;--ok:#1b7a3a;--ok-bg:#e6f4ea;--warn:#8a5a00;--warn-bg:#fff4d6;--err:#a4161a;--err-bg:#fdeaea;--info:#0b5a8a;--info-bg:#e5f1fa;--radius:12px;--tap:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#11151b;--panel:#1a2029;--text:#eef1f5;--muted:#9aa5b4;--line:#2e3744;--accent:#5b9bf0;--accent-text:#08121f;--ok:#6fd18a;--ok-bg:#12301c;--warn:#f0c35b;--warn-bg:#3a2d0a;--err:#ff8a8d;--err-bg:#3d1618;--info:#7cc2f0;--info-bg:#10293b}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:17px;line-height:1.45}#root{min-height:100vh}.app{max-width:760px;margin:0 auto;padding:0 16px 120px}.topbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin-bottom:12px;padding:12px 0 8px;position:sticky;top:0}.topbar h1{margin:0 0 8px;font-size:1.15rem}.nav{gap:8px;display:flex}.nav button{flex:1 1 0;min-width:0;padding:10px 4px;font-size:.9rem}.nav button[aria-current=page]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}h2{margin:0 0 6px;font-size:1.25rem}h3{margin:14px 0 6px;font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.9rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 14px;padding:16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.stack>*+*{margin-top:10px}button,.btn{min-height:var(--tap);font:inherit;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;padding:10px 16px;font-weight:600}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--err);border-color:var(--err)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn-block{width:100%}input[type=text],input[type=number],select,textarea{width:100%;min-height:var(--tap);font:inherit;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px 12px}label.field{font-weight:600;display:block}label.field>span{margin-bottom:4px;display:block}.badge{background:var(--info-bg);color:var(--info);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:600;display:inline-block}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.err{background:var(--err-bg);color:var(--err)}.notice{border-radius:var(--radius);border:1px solid #0000;margin:0 0 12px;padding:12px 14px}.notice ul{margin:6px 0 0;padding-left:20px}.notice-error{background:var(--err-bg);color:var(--err);border-color:var(--err)}.notice-warning{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.notice-info{background:var(--info-bg);color:var(--info);border-color:var(--info)}.notice-success{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.notice .row{margin-top:8px}.setlist{margin:0;padding:0;list-style:none}.setrow{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:14px;min-height:64px;padding:8px 4px;display:flex}.setlist li:last-child .setrow{border-bottom:0}.setrow input[type=checkbox]{width:34px;height:34px;accent-color:var(--accent);flex:none}.setrow .what{flex:1}.setrow .big{font-size:1.25rem;font-weight:700}.setrow.done .big{opacity:.7;text-decoration:line-through}.setrow.static{cursor:default}.pct{color:var(--muted);font-size:.85rem}.pct.over{color:var(--info);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:var(--panel);align-items:center;gap:8px;min-width:56px;min-height:56px;padding:6px 12px;display:inline-flex}.chip input{width:26px;height:26px;accent-color:var(--accent)}.chip.done{background:var(--ok-bg);border-color:var(--ok)}.footerbar{background:var(--panel);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:6;position:fixed;bottom:0;left:0;right:0}.footerbar .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;max-width:760px;margin:0 auto;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px;font-size:.95rem}.overlay{z-index:20;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:640px){.overlay{align-items:center}}.dialog{background:var(--panel);color:var(--text);width:100%;max-width:520px;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:92vh;overflow:auto}@media (min-width:640px){.dialog{border-radius:16px}}.dialog h2{margin-top:0}.dialog .actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dialog .actions button{flex:1;min-width:140px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.calgrid{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;display:grid}.calhead{text-align:center;color:var(--muted);font-size:.8rem;font-weight:600}.calday{border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-height:62px;padding:4px 2px;font-weight:500;display:flex}.calday .num{font-size:.95rem}.calday.other{opacity:.45}.calday.today{border-color:var(--accent);border-width:2px}.calday.sel{background:var(--info-bg)}.chiprow{flex-direction:column;gap:1px;width:100%;display:flex}.calchip{text-align:center;border-radius:4px;padding:0 2px;font-size:.68rem;font-weight:700;line-height:1.2}.calchip.lb{background:var(--info-bg);color:var(--info)}.calchip.ls{background:var(--ok-bg);color:var(--ok)}.calchip.st-MISSED,.calchip.st-FAILED{background:var(--err-bg);color:var(--err)}.calchip.st-CANCELLED{opacity:.7;text-decoration:line-through}button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.calday[aria-pressed=true]{background:var(--info-bg);color:var(--text);border-color:var(--accent)}@media (max-width:380px){.calday{min-height:56px}.calchip{font-size:.62rem}}
