:root{--color-grape-900:#33243e;--color-grape-700:#5f3a7a;--color-grape-500:#8060a6;--color-lavender-300:#d4c2e3;--color-lavender-200:#ddd0ea;--color-lavender-100:#f2ecf7;--color-mist-50:#faf9fb;--color-sage-600:#4f766a;--color-amber-700:#8a641e;--color-amber-300:#f5c451;--color-danger-700:#8e3340;--color-ink-900:#25212a;--text-primary:var(--color-ink-900);--text-heading:var(--color-grape-900);--text-muted:#5c5566;--surface-base:var(--color-mist-50);--surface-raised:#ffffff;--surface-soft:var(--color-lavender-100);--surface-emphasis:var(--color-lavender-200);--surface-emphasis-strong:var(--color-lavender-300);--action-primary:var(--color-grape-700);--action-primary-hover:var(--color-grape-900);--border-subtle:#e3dcea;--confirm:var(--color-sage-600);--attention:var(--color-amber-700);--danger:var(--color-danger-700);--past-day-frame:var(--color-amber-300);--flag-critical-surface:var(--color-ink-900);--flag-critical-ink:var(--color-amber-300);--flag-severe-surface:var(--color-danger-700);--flag-severe-ink:#ffffff;--flag-review-surface:var(--color-amber-700);--flag-review-ink:#ffffff;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-xxl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--control-side-width:140px;--control-filter-width:452px;--font-size-caption:13px;--font-size-control:14px;--font-size-body:16px;--font-size-body-large:18px;--font-size-title:22px;--font-size-heading:28px;--elevation-card:0 1px 3px rgba(51,36,62,0.08),0 1px 2px rgba(51,36,62,0.04)}*{box-sizing:border-box}html{font-size:100%}body{margin:0;background:var(--surface-base);color:var(--text-primary);font-family:Segoe UI,Assistant,Rubik,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:var(--font-size-body);line-height:1.55}h1,h2,h3{color:var(--text-heading);margin:0 0 var(--spacing-md);line-height:1.3}h1{font-size:var(--font-size-heading)}h2{font-size:var(--font-size-title)}h3{font-size:var(--font-size-body)}a{color:var(--action-primary)}:focus-visible{outline:3px solid var(--color-grape-500);outline-offset:2px}button{font:inherit;cursor:pointer;min-height:44px;padding:0 var(--spacing-lg);border-radius:var(--radius-sm);border:1px solid transparent}button:disabled{opacity:.55;cursor:not-allowed}dialog::-webkit-backdrop{background:rgba(37,33,42,.45)}dialog::backdrop{background:rgba(37,33,42,.45)}input,select,textarea{font:inherit;min-height:44px;padding:0 var(--spacing-md);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);width:100%}textarea{min-height:96px;padding:var(--spacing-md);line-height:1.5}table{width:100%;border-collapse:collapse}td,th{text-align:start;padding:var(--spacing-md);border-bottom:1px solid var(--border-subtle);vertical-align:top}th{font-weight:600;color:var(--text-muted);font-size:var(--font-size-control);text-transform:none}.table-dense td,.table-dense th{padding:var(--spacing-xs) var(--spacing-sm)}.table-trends td,.table-trends th{padding:var(--spacing-xs) 3px;border-bottom:none;text-align:center;vertical-align:middle}.table-trends th[scope=row],.table-trends thead th:first-child{text-align:start;-webkit-padding-start:0;padding-inline-start:0;color:var(--text-primary);font-size:var(--font-size-caption);white-space:nowrap}.table-trends thead th{padding-top:var(--spacing-sm);font-size:var(--font-size-caption)}.table-trends thead th:not(:first-child)>div{justify-content:center}.table-trends tbody tr.trends-total td,.table-trends tbody tr.trends-total th{border-top:1px solid var(--border-subtle);padding-top:var(--spacing-sm)}.table-trends tbody tr.trends-total th[scope=row]{font-weight:700;color:var(--text-heading)}.table-dense tbody tr:nth-child(2n){background:rgba(51,36,62,.04)}.table-dense tbody tr:hover{background:rgba(51,36,62,.07)}.table-dense td.row-identity{vertical-align:middle}.table-dense td:first-child,.table-dense th:first-child{-webkit-padding-start:0;padding-inline-start:0}.table-dense td:last-child,.table-dense th:last-child{-webkit-padding-end:0;padding-inline-end:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}