:root{--bg-main:#edf2f7;--bg-main-grad-start:#eef4f7;--bg-main-grad-end:#f8fafc;--bg-surface:#fff;--bg-surface-alt:#f6f8fb;--bg-nav:#0b1b2d;--text-primary:#0f172a;--text-secondary:#4b5f76;--text-on-nav:#f1f5f9;--border-color:#d5deea;--accent-color:#0b63ce;--accent-color-strong:#0a4ea6;--success-bg:#ecfdf5;--success-border:#10b981;--success-text:#065f46;--warning-bg:#fffbeb;--warning-border:#f59e0b;--warning-text:#92400e;--error-bg:#fef2f2;--error-border:#ef4444;--error-text:#991b1b;--shadow-color:rgba(15,23,42,.08)}@media (prefers-color-scheme:dark){:root{--bg-main:#111821;--bg-main-grad-start:#101721;--bg-main-grad-end:#151f2b;--bg-surface:#192330;--bg-surface-alt:#212d3b;--bg-nav:#0b121b;--text-primary:#e6edf5;--text-secondary:#9db0c5;--text-on-nav:#dbe7f3;--border-color:#2c3b4c;--accent-color:#5ba8ff;--accent-color-strong:#3b8de9;--success-bg:#14322a;--success-border:#27c18f;--success-text:#9defca;--warning-bg:#3a2c16;--warning-border:#f2b84b;--warning-text:#ffe7b8;--error-bg:#402027;--error-border:#ff6a82;--error-text:#ffd3db;--shadow-color:rgba(0,0,0,.35)}}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;font-family:var(--font-brand),"Segoe UI",Tahoma,sans-serif;background:linear-gradient(180deg,var(--bg-main-grad-start) 0,var(--bg-main-grad-end) 100%);color:var(--text-primary);transition:background-color .18s ease,color .18s ease}a{color:var(--accent-color)}.container{max-width:1100px;margin:0 auto;padding:20px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;padding:16px;box-shadow:0 2px 10px var(--shadow-color);margin-bottom:16px;color:var(--text-primary)}.row{display:flex;gap:10px;flex-wrap:wrap}button,input,select,textarea{padding:8px;border-radius:8px;border:1px solid var(--border-color);font-size:14px;font-family:inherit}input,select,textarea{background:var(--bg-surface);color:var(--text-primary)}button{background:var(--accent-color);color:#fff;border:1px solid var(--accent-color);cursor:pointer}button:hover{background:var(--accent-color-strong);border-color:var(--accent-color-strong)}button.secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}button.secondary:hover{background:var(--bg-surface-alt)}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--border-color);padding:8px;text-align:left;font-size:13px;color:var(--text-primary)}thead th{background:var(--bg-surface-alt)}tbody tr:nth-child(2n){background:color-mix(in srgb,var(--bg-surface-alt) 45%,transparent)}.nav{display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--bg-nav);overflow-x:auto;border-bottom:1px solid var(--border-color)}.nav,.nav a{color:var(--text-on-nav)}.nav a{text-decoration:none;white-space:nowrap;padding:6px 10px;border-radius:8px;border:1px solid transparent;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.nav a:focus-visible,.nav a:hover{background:hsla(0,0%,100%,.16);background:color-mix(in srgb,var(--bg-surface) 30%,transparent);border-color:hsla(0,0%,100%,.28);color:#fff;text-decoration:underline;text-underline-offset:3px;outline:none}.brand-link{display:inline-flex;align-items:center;gap:10px;padding:4px 8px;margin-right:2px;border-radius:10px;background:color-mix(in srgb,var(--bg-surface) 14%,transparent);border:1px solid color-mix(in srgb,var(--border-color) 65%,transparent)}.brand-logo{height:34px;width:auto;max-width:180px;object-fit:contain}.brand-wordmark{font-weight:800;letter-spacing:.12em;font-size:14px}.small{font-size:12px;color:var(--text-secondary)}.login-wrap{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:520px}.login-brand{display:grid;justify-items:center;grid-gap:8px;gap:8px;margin-bottom:12px}.login-brand img{width:220px;max-width:70vw;height:auto}.login-brand h2{margin:0;letter-spacing:.08em}.report-brand{display:flex;align-items:center;gap:14px;margin-bottom:10px}.report-brand img{width:180px;max-width:42vw;height:auto;background:color-mix(in srgb,var(--bg-surface) 96%,transparent);border-radius:8px;padding:4px;border:1px solid var(--border-color)}.metric-card{margin:0;min-width:170px;flex:1 1}.notes-field{min-width:280px}.status-banner{border:1px solid var(--border-color)}.banner-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.banner-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.banner-error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.row-overdue{background:color-mix(in srgb,var(--error-bg) 72%,transparent)!important}.row-attention{background:color-mix(in srgb,var(--warning-bg) 72%,transparent)!important}.overdue-card{border-color:var(--error-border)}.oversight-banner{background:color-mix(in srgb,var(--accent-color) 16%,var(--bg-surface));border-color:var(--accent-color)}.explain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:10px;gap:10px;margin-top:10px}.explain-card{margin:0}.explain-card h4{margin:0 0 10px}.explain-card td:first-child{color:var(--text-secondary);width:70%}.explain-card td:last-child{font-weight:600}@media (max-width:768px){.nav{gap:10px;padding:8px 10px}.brand-logo{height:28px;max-width:130px}.brand-wordmark{font-size:12px}}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_bcdba7{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_bcdba7{--font-brand:"Public Sans","Public Sans Fallback"}