:root{--bg:#f3f4f1;--surface:#fff;--text:#1b1d1a;--muted:#5d6259;--line:#d8dbd3;--accent:#1f5f4a;--accent-hover:#184c3b;--accent-text:#fff;--focus:#2f7d63;--error:#a1281c;--error-bg:#fbeae7;--note-bg:#eef4f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.page{max-width:34rem;margin:0 auto;padding:24px 16px 48px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px 20px}.head{margin-bottom:24px}.head h1{margin:0 0 8px;font-size:1.5rem;line-height:1.25}.eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:.8125rem;font-weight:600}.lede{color:var(--muted);margin:0}.team-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.team-link{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:12px;grid-template-columns:1fr auto;gap:2px 12px;padding:16px 20px;text-decoration:none;display:grid}.team-link:hover{border-color:var(--accent)}.team-name{font-size:1.125rem;font-weight:600}.team-meta{color:var(--muted);grid-row:2;font-size:.875rem}.team-path{color:var(--accent);grid-area:1/2/3;align-self:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem}.meta-grid{gap:16px;margin-bottom:24px;display:grid}@media (width>=480px){.meta-grid{grid-template-columns:1fr 1fr}}.meta{align-content:start;gap:6px;display:grid}.meta label{font-weight:600}.meta small{color:var(--muted);font-size:.8125rem}input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:1.0625rem}input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:#0000}.numbers{border:0;margin:0 0 24px;padding:0}.numbers legend{margin-bottom:8px;padding:0;font-weight:600}.field{border-top:1px solid var(--line);grid-template-columns:1fr 7.5rem;align-items:center;gap:12px;padding:12px 0;display:grid}.field label{gap:2px;display:grid}.field .label{font-weight:500}.field .hint{color:var(--muted);font-size:.8125rem}.field input{text-align:right;font-variant-numeric:tabular-nums}.error{background:var(--error-bg);color:var(--error);border-radius:8px;margin:0 0 16px;padding:12px 14px}.note{background:var(--note-bg);border-radius:8px;margin:0 0 16px;padding:12px 14px}.btn{background:var(--accent);width:100%;min-height:52px;color:var(--accent-text);font:inherit;cursor:pointer;border:0;border-radius:8px;font-weight:600}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn:disabled{opacity:.6;cursor:progress}.summary{margin:0 0 24px}.summary div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.summary dt{color:var(--muted)}.summary dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.tracker-link{color:var(--accent);margin-top:24px;font-weight:600;text-decoration:none;display:inline-block}.tracker-link:hover{text-decoration:underline}.page-wide{--met-bg:#e3f1e8;--met-text:#1d5a3a;--miss-bg:#fbe5e1;--miss-text:#9e2a1d;--missing-bg:#ededea;--sel:#1f5f4a;--sticky-bg:#fff;padding:24px 16px 48px}@media (width>=900px){.page-wide{padding:32px 32px 64px}}.tracker{max-width:1600px;margin:0 auto}.tracker-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.tracker-head h1{margin:0 0 6px;font-size:1.75rem;line-height:1.2}.refresh{color:var(--muted);align-items:center;gap:12px;display:flex}.btn-quiet{border:1px solid var(--line);background:var(--surface);width:auto;min-height:40px;color:var(--text);padding:0 16px}.btn-quiet:hover:not(:disabled){background:var(--bg)}.section-title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 12px;font-size:1.125rem;display:flex}.section-hint{color:var(--muted);font-size:.8125rem;font-weight:400}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--muted)}.neg{color:var(--miss-text);font-weight:600}.pos{color:var(--met-text)}.cards{gap:16px;margin-bottom:36px;display:grid}@media (width>=1100px){.cards{grid-template-columns:1.25fr 1fr 1fr;align-items:start}}.party-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:18px 18px 8px}.party-card header{margin-bottom:12px}.headline{margin:2px 0;font-size:1.25rem;font-weight:700}.headline-bad{color:var(--miss-text)}.headline-good{color:var(--met-text)}.headline-none{color:var(--muted)}.card-source{color:var(--muted);margin:0;font-size:.8125rem}.card-table{border-collapse:collapse;width:100%;font-size:.875rem}.card-table th,.card-table td{border-top:1px solid var(--line);padding:7px 6px}.card-table thead th{color:var(--muted);text-align:right;border-top:0;font-size:.75rem;font-weight:600}.card-table thead th:first-child,.card-table tbody th{text-align:left;padding-left:0}.card-table tbody th{font-weight:500}.card-table td.cell-met,.card-table td.cell-missed,.card-table td.cell-missing{border-radius:0}.cell-met{background:var(--met-bg);color:var(--met-text)}.cell-missed{background:var(--miss-bg);color:var(--miss-text);font-weight:600}.cell-missing{background:repeating-linear-gradient(-45deg, var(--missing-bg), var(--missing-bg) 4px, #f7f7f4 4px, #f7f7f4 8px);color:var(--muted)}.grid-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;padding:0;font-size:.8125rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.swatch{border:1px solid var(--line);border-radius:3px;width:14px;height:14px;display:inline-block}.from-form-swatch{background:var(--surface);position:relative}.from-form-swatch:after,.grid td.from-form:after{background:var(--sel);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:2px}.grid-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;max-height:calc(100vh - 120px);overflow:auto}.grid{border-collapse:separate;border-spacing:0;font-size:.75rem}.grid th,.grid td{background-clip:padding-box;border-bottom:1px solid #eceee8;padding:5px 7px;position:relative}.grid td{min-width:58px}.grid thead th{z-index:2;background:var(--sticky-bg);color:var(--muted);font-weight:600;position:sticky}.grid thead tr:first-child th{height:30px;top:0}.grid thead tr:nth-child(2) th{border-bottom:1px solid var(--line);top:30px}.grid th.month{border-left:1px solid var(--line);text-align:left;padding:0}.grid th.month span{color:var(--text);padding:6px 8px;display:inline-block;position:sticky;left:300px}.grid th.day{padding:0}.grid th.day button{width:100%;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;padding:4px 2px;line-height:1.2;display:grid}.grid th.day button small{font-weight:400}.grid th.day button:hover{color:var(--text)}.grid th.day.sel{background:var(--sel);color:#fff}.grid th.day.sel button:hover{color:#fff}.grid .stick-a,.grid .stick-b{z-index:1;background:var(--sticky-bg);text-align:left;position:sticky}.grid .stick-a{width:190px;min-width:190px;max-width:190px;left:0}.grid .stick-b{border-right:1px solid var(--line);width:92px;min-width:92px;left:190px}.grid thead .corner{z-index:3;border-right:1px solid var(--line);vertical-align:bottom;width:282px;min-width:282px;left:0}.grid .opening{border-right:1px solid var(--line);background:#f7f7f4;min-width:76px}.grid thead .opening{z-index:2;text-align:right;vertical-align:bottom}.grid thead .opening small{font-weight:400;display:block}.grid .wk{border-left:1px solid var(--line)}.grid td.sel{box-shadow:inset 2px 0 0 var(--sel), inset -2px 0 0 var(--sel)}.grid th.metric{border-bottom:1px solid var(--line);color:var(--text);vertical-align:top;white-space:normal;font-weight:600}.grid th.kind{color:var(--muted);white-space:nowrap;font-weight:500}.grid .gap-row th.kind,.grid .gap-row td{border-bottom:1px solid var(--line)}.grid .plan-row td{color:var(--muted)}.grid td.z{color:#b9bcb3}.grid .party-row th,.grid .party-row td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f3f4f1}.grid .party-row th{border-right:1px solid var(--line);color:var(--text);padding-top:10px;padding-bottom:10px;font-size:.875rem;font-weight:700}.grid .party-row th small{color:var(--muted);margin-left:8px;font-weight:400}.grid .party-row td{text-align:center}.mark{border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.6875rem;font-weight:700;display:inline-grid}.mark-missed{background:var(--miss-text);color:#fff}.mark-met{color:var(--met-text)}.mark-missing{background:var(--missing-bg);color:var(--muted)}@media (width<=640px){.grid .stick-a{width:130px;min-width:130px;max-width:130px}.grid .stick-b{width:76px;min-width:76px;left:130px}.grid thead .corner{width:206px;min-width:206px}.grid th.month span{left:216px}}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.refresh small{line-height:1.4}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:0 0 20px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tab:hover{color:var(--text)}.tab-on{border-color:var(--line);border-bottom-color:var(--bg);background:var(--bg);color:var(--text)}.btn-small{width:auto;min-height:40px;padding:0 18px}.cell-btn{width:100%;color:inherit;font:inherit;text-align:right;cursor:pointer;background:0 0;border:0;padding:0}.cell-btn:hover{text-decoration:underline}.grid td.editable{cursor:pointer}.grid td.editable:hover{outline:1px solid var(--accent);outline-offset:-1px}.grid td[tabindex="0"]:focus{outline:2px solid var(--focus);outline-offset:-2px}.grid th.day.today:not(.sel) button{color:var(--accent)}.grid td.from-office:before,.card-table td.from-office:before,.from-office-swatch:before{content:"";border-top:7px solid #5b6ee1;border-right:7px solid #0000;position:absolute;top:0;left:0}.grid td.has-conflict:before,.card-table td.has-conflict:before,.conflict-swatch:before{content:"";border-top:9px solid #d98a00;border-right:9px solid #0000;position:absolute;top:0;left:0}.card-table td{position:relative}.from-office-swatch,.conflict-swatch{background:var(--surface);position:relative}.conflict-text{color:#9a6200;font-weight:600}.cell-dialog{border:1px solid var(--line);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);border-radius:12px;padding:24px}.cell-dialog::backdrop{background:#14181459}.cell-dialog h2{margin:0 0 6px;font-size:1.25rem}.dialog-fields{gap:12px;margin:18px 0 12px;display:grid}.dialog-fields label{gap:4px;font-weight:600;display:grid}.dialog-actions{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.history-title{margin:0 0 8px;font-size:.9375rem}.history{gap:6px;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.history-when{min-width:9.5rem;color:var(--muted);font-variant-numeric:tabular-nums;display:inline-block}.log-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow-x:auto}.log{border-collapse:collapse;width:100%;font-size:.8125rem}.log th,.log td{text-align:left;vertical-align:top;border-bottom:1px solid #eceee8;padding:8px 10px}.log th{color:var(--muted);white-space:nowrap;font-weight:600}.log-values{flex-wrap:wrap;gap:2px 14px;display:flex}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ua{max-width:14rem;color:var(--muted)}.topbar{justify-content:flex-end;margin-bottom:12px;display:flex}.lang-switch{border:1px solid var(--line);background:var(--surface);border-radius:8px;display:inline-flex;overflow:hidden}.lang-switch button{min-width:44px;min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:.875rem;font-weight:600}.lang-switch button+button{border-left:1px solid var(--line)}.lang-switch .lang-on{background:var(--accent);color:var(--accent-text)}.lang-switch button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
