:root{--color-bg:#fff;--color-bg2:#f3f3f0;--color-bg3:#e8e8e3;--color-card:#fff;--color-line:#e6e6e1;--color-line2:#cfcfc9;--color-ink:#111110;--color-ink2:#5a5a54;--color-ink3:#9a9a93;--color-red:#e8432a;--color-redBg:#fcebe7;--color-green:#17804a;--color-greenBg:#e5f3ea;--color-amber:#9a6200;--color-amberBg:#fbf0da;--color-overlay:#00000073;--color-onPhoto:#fff;--color-photoBg:#000;--color-accent:#c8e27d;--color-onAccent:#111110;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-screen:20px;--space-rowMin:52px;--radius-chip:999px;--radius-control:15px;--radius-card:18px;--radius-sheet:28px;--radius-thumb:12px;--radius-avatar:999px;--type-display:800 34px/1.05 -apple-system, system-ui, sans-serif;--type-display-tracking:-.04em;--type-title:800 26px/1.1 -apple-system, system-ui, sans-serif;--type-title-tracking:-.035em;--type-heading:700 20px/1.2 -apple-system, system-ui, sans-serif;--type-heading-tracking:-.025em;--type-price:800 28px/1 -apple-system, system-ui, sans-serif;--type-price-tracking:-.04em;--type-body:400 16px/1.5 -apple-system, system-ui, sans-serif;--type-body-tracking:0em;--type-bodyStrong:600 16px/1.5 -apple-system, system-ui, sans-serif;--type-bodyStrong-tracking:0em;--type-label:600 14px/1.3 -apple-system, system-ui, sans-serif;--type-label-tracking:0em;--type-meta:500 12.5px/1.35 -apple-system, system-ui, sans-serif;--type-meta-tracking:0em;--motion-tap:.12s;--motion-fade:.15s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0c0c0d;--color-bg2:#1a1a1c;--color-bg3:#262629;--color-card:#2a2a2d;--color-line:#28282b;--color-line2:#3d3d41;--color-ink:#f3f3ef;--color-ink2:#a6a69f;--color-ink3:#6d6d67;--color-red:#ff5a40;--color-redBg:#2c1511;--color-green:#3dd68c;--color-greenBg:#0f2a1c;--color-amber:#f5b84b;--color-amberBg:#2a2110;--color-overlay:#0009;--color-onPhoto:#fff;--color-photoBg:#000;--color-onAccent:#0c0c0d}}:root[data-theme=dark]{--color-bg:#0c0c0d;--color-bg2:#1a1a1c;--color-bg3:#262629;--color-card:#2a2a2d;--color-line:#28282b;--color-line2:#3d3d41;--color-ink:#f3f3ef;--color-ink2:#a6a69f;--color-ink3:#6d6d67;--color-red:#ff5a40;--color-redBg:#2c1511;--color-green:#3dd68c;--color-greenBg:#0f2a1c;--color-amber:#f5b84b;--color-amberBg:#2a2110;--color-overlay:#0009;--color-onPhoto:#fff;--color-photoBg:#000;--color-onAccent:#0c0c0d}@media (prefers-reduced-motion:reduce){:root{--motion-tap:0s}}*{box-sizing:border-box}body{font:var(--type-body);background:var(--color-bg2);color:var(--color-ink);margin:0}h1{font:var(--type-title);letter-spacing:var(--type-title-tracking);margin:0 0 var(--space-lg)}h2{font:var(--type-heading);letter-spacing:var(--type-heading-tracking);margin:var(--space-xl) 0 var(--space-md)}a{color:var(--color-ink)}.pad{padding:var(--space-xl)}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.nav{background:var(--color-bg);border-right:1px solid var(--color-line);padding:var(--space-lg);gap:var(--space-xs);flex-direction:column;display:flex}.nav a{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);font:var(--type-label);text-decoration:none}.nav a[data-status=active]{background:var(--color-accent);color:var(--color-onAccent)}.nav .who{font:var(--type-meta);color:var(--color-ink2);margin-top:auto}main{padding:var(--space-xl);max-width:1200px}.card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:var(--space-lg);margin-bottom:var(--space-lg)}.login{gap:var(--space-md);flex-direction:column;max-width:380px;margin:10vh auto;display:flex}.grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.stat{font:var(--type-price);letter-spacing:var(--type-price-tracking)}.meta{font:var(--type-meta);color:var(--color-ink2)}label{gap:var(--space-xs);font:var(--type-label);flex-direction:column;display:flex}input,select,textarea{font:var(--type-body);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-line2);border-radius:var(--radius-control);background:var(--color-bg);color:var(--color-ink);min-height:44px}button{font:var(--type-label);min-height:44px;padding:0 var(--space-lg);border-radius:var(--radius-control);border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-bg);cursor:pointer}button.secondary{background:var(--color-bg);color:var(--color-ink)}button.danger{background:var(--color-red);border-color:var(--color-red);color:var(--color-onPhoto)}button.link{color:var(--color-ink2);background:0 0;border:none;text-decoration:underline}button:disabled{opacity:.5;cursor:default}.row{gap:var(--space-sm);flex-wrap:wrap;align-items:end;display:flex}table{border-collapse:collapse;background:var(--color-card);width:100%}th,td{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-line);font:var(--type-label);vertical-align:top}th{color:var(--color-ink2);font:var(--type-meta)}.error{color:var(--color-red)}.ok{color:var(--color-green)}.pill{padding:2px var(--space-sm);border-radius:var(--radius-chip);background:var(--color-bg3);font:var(--type-meta);display:inline-block}.pill.p1{background:var(--color-redBg);color:var(--color-red)}.bubble{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--color-bg2);margin-bottom:var(--space-xs)}.pill.met{background:var(--color-greenBg);color:var(--color-green)}.pill.missed{background:var(--color-redBg);color:var(--color-red)}.bar{height:var(--space-sm);margin-top:var(--space-xs);border-radius:var(--radius-chip);background:var(--color-bg3);min-width:60px;overflow:hidden}.bar>span{background:var(--color-accent);height:100%;display:block}.cols{width:100%;height:140px;margin:var(--space-md) 0 var(--space-xs);background:var(--color-bg2);border-radius:var(--radius-control);display:block}.cols rect{fill:var(--color-accent)}.preview{max-width:380px;padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-bg3)}.counter{font:var(--type-meta);color:var(--color-ink2);align-self:flex-end}.counter.over{color:var(--color-red)}fieldset{border:1px solid var(--color-line);border-radius:var(--radius-control);padding:var(--space-sm) var(--space-md)}fieldset label{flex-direction:row;align-items:center;min-height:44px}fieldset input[type=checkbox],fieldset input[type=radio]{min-height:0}
