:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:#0b0b0b1a;--wash:#0b0b0b0a;--series-1:#2a78d6;--track:#cde2fb;--series-1-hover:#256abf;--good:#0ca30c;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--delta-up-good:#006300;--radius:10px;--radius-sm:6px;--gap:16px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--shadow:0 1px 2px #0b0b0b0d}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--wash:#ffffff0f;--series-1:#3987e5;--track:#184f95;--series-1-hover:#5598e7;--delta-up-good:#0ca30c;--shadow:0 1px 2px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--wash:#ffffff0f;--series-1:#3987e5;--track:#184f95;--series-1-hover:#5598e7;--delta-up-good:#0ca30c;--shadow:0 1px 2px #0006}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,p,figure{margin:0}h1{letter-spacing:-.01em;font-size:1.5rem;font-weight:650}h2{font-size:1.0625rem;font-weight:620}h3{font-size:.9375rem;font-weight:600}a{color:var(--series-1)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--series-1);outline-offset:2px;border-radius:var(--radius-sm)}.page{max-width:1120px;margin:0 auto;padding:24px 20px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-head p{color:var(--text-secondary);margin-top:2px;font-size:.875rem}.stack{gap:var(--gap);flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-x{max-width:100%;overflow-x:auto}@media (width<=640px){.page{padding:16px 14px 48px}}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.card-head h2{margin:0}.card-sub{color:var(--text-secondary);margin-top:2px;font-size:.8125rem}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--wash)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--series-1);border-color:var(--series-1);color:#fff}.btn-primary:hover:not(:disabled){background:var(--series-1-hover);border-color:var(--series-1-hover)}.btn-danger{color:var(--critical);border-color:var(--critical);background:0 0}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--critical) 10%, transparent)}.btn-ghost{background:0 0;border-color:#0000;padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--wash)}.btn-sm{padding:5px 10px;font-size:.8125rem}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);display:inline-flex;overflow:hidden}.segmented button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:7px 14px;font-size:.8125rem;font-weight:550}.segmented button+button{border-left:1px solid var(--border)}.segmented button[aria-pressed=true]{background:var(--series-1);color:#fff}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--text-secondary);font-size:.8125rem;font-weight:550}.input,select.input,textarea.input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);width:100%;color:var(--text-primary);padding:8px 10px;font-size:.9375rem}textarea.input{resize:vertical;min-height:64px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.field-hint{color:var(--text-muted);font-size:.75rem}.stat-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-label{color:var(--text-secondary);font-size:.8125rem}.stat-value{letter-spacing:-.02em;margin-top:4px;font-size:1.75rem;font-weight:650;line-height:1.2}.stat-delta{color:var(--text-muted);align-items:center;gap:4px;margin-top:6px;font-size:.8125rem;display:inline-flex}.stat-delta .delta-figure{font-weight:600}.stat-delta.up .delta-figure{color:var(--delta-up-good)}.stat-delta.down .delta-figure{color:var(--critical)}.chart-wrap{width:100%}.chart-wrap svg{max-width:100%;display:block}.chart-tooltip{z-index:5;pointer-events:none;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:168px;padding:10px 12px;font-size:.8125rem;position:absolute;box-shadow:0 4px 14px #00000024}.chart-tooltip dl{grid-template-columns:1fr auto;gap:3px 12px;margin:6px 0 0;display:grid}.chart-tooltip dt{color:var(--text-secondary)}.chart-tooltip dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.chart-tooltip .tip-day{font-weight:620}.chart-band{fill:#0000;cursor:pointer}.chart-band:focus-visible{fill:var(--wash);outline:none}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--wash)}.row-actions{justify-content:flex-end;gap:4px;display:flex}@media (width<=700px){.table.responsive thead{display:none}.table.responsive tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:10px 12px;display:block}.table.responsive tbody td{text-align:right;border:0;justify-content:space-between;gap:16px;padding:4px 0;display:flex}.table.responsive tbody td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:left;font-size:.75rem;font-weight:600}.table.responsive .row-actions{justify-content:flex-end}}.meter{margin-top:10px}.meter-track{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.meter-fill{background:var(--series-1);border-radius:999px;height:100%;transition:width .3s}.meter-fill.atRisk{background:var(--warning)}.meter-fill.missed{background:var(--critical)}.meter-fill.achieved{background:var(--good)}.meter-caption{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;margin-top:7px;font-size:.8125rem;display:flex}.meter-caption strong{color:var(--text-primary);font-weight:620}.pill{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.pill.onTrack{color:var(--series-1)}.pill.atRisk{color:var(--warning)}.pill.missed{color:var(--critical)}.pill.achieved{color:var(--good)}.goal-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.goal-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.goal-meta{color:var(--text-muted);margin-top:2px;font-size:.75rem}.appbar{background:var(--surface-1);border-bottom:1px solid var(--border);z-index:10;position:sticky;top:0}.appbar-inner{flex-wrap:wrap;align-items:center;gap:20px;max-width:1120px;min-height:56px;margin:0 auto;padding:0 20px;display:flex}.brand{letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:7px;font-size:1.0625rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-dot{background:var(--series-1);border-radius:50%;width:9px;height:9px}.nav{gap:2px;display:flex}.nav a{border-radius:var(--radius-sm);color:var(--text-secondary);padding:7px 12px;font-size:.875rem;font-weight:550;text-decoration:none}.nav a:hover,.nav a.active{background:var(--wash);color:var(--text-primary)}.user-chip{color:var(--text-secondary);font-size:.8125rem}.auth-shell{place-items:center;min-height:100%;padding:32px 18px;display:grid}.auth-card{width:100%;max-width:380px}.auth-card h1{font-size:1.375rem}.auth-card .card-sub{margin-bottom:18px}.auth-card .field+.field{margin-top:14px}.auth-card .btn-primary{justify-content:center;width:100%;margin-top:18px}.auth-alt{color:var(--text-secondary);text-align:center;margin-top:16px;font-size:.875rem}.banner{border-radius:var(--radius-sm);border:1px solid var(--critical);color:var(--critical);background:color-mix(in srgb, var(--critical) 8%, transparent);align-items:flex-start;gap:8px;padding:10px 12px;font-size:.875rem;display:flex}.empty{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty h3{color:var(--text-primary);margin-bottom:6px}.empty p{margin-bottom:16px;font-size:.875rem}.spinner{border:2px solid var(--track);border-top-color:var(--series-1);border-radius:50%;width:22px;height:22px;margin:0 auto;animation:.7s linear infinite spin}.spinner-block{padding:40px 0}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}.meter-fill{transition:none}}.is-refreshing{opacity:.6;transition:opacity .12s}.modal-backdrop{z-index:50;background:#00000073;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--surface-1);border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:520px;max-height:90vh;padding:20px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filter-bar .field{min-width:150px}.pagination{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:.8125rem;display:flex}
