:root{color-scheme:only light;--bg:#f3f6fb;--panel:#fff;--ink:#162235;--muted:#607087;--line:#d8e0eb;--brand:#1459d9;--brand-dark:#0b3d9b;--nav:#10213b;--ok:#18794e;--warn:#9a6700;--danger:#b42318;--radius:14px;font-family:Inter,Segoe UI,Arial,sans-serif}
*{box-sizing:border-box}html,body{color-scheme:only light}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}a{color:var(--brand)}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:20}.skip-link:focus{left:8px}.staff-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#fff;padding:22px 16px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#2d74ef;font-weight:800}.brand small{display:block;color:#b9c6da}.sidebar nav{display:grid;gap:4px}.sidebar nav a,.nav-future{display:flex;justify-content:space-between;gap:8px;color:#e7edf7;text-decoration:none;padding:9px 11px;border-radius:9px}.sidebar nav a:hover,.sidebar nav a:focus{background:#203b63;outline:2px solid #8db7ff}.nav-future{color:#8fa0b9}.nav-future small{font-size:10px;border:1px solid #667996;border-radius:10px;padding:1px 6px}.workspace{min-width:0;background:var(--bg);color:var(--ink)}.topbar{min-height:68px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px 28px}.company-switcher,.user-chip,.toolbar,.form-actions,.status-line{display:flex;align-items:center;gap:10px}.company-switcher label{font-weight:700}.user-chip{gap:14px}main{padding:30px;max-width:1500px;margin:0 auto;color:var(--ink)}.page-heading{margin-bottom:22px}.eyebrow{margin:0;color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}h1{font-size:30px;margin:4px 0}h2{font-size:19px;margin-top:0}.lead{color:var(--muted);margin:4px 0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:18px}.summary-card,.panel,.table-card{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(24,42,70,.05)}.summary-card{padding:20px}.summary-card span{display:block;color:var(--muted)}.summary-card strong{display:block;color:var(--ink);font-size:30px;margin-top:6px}.panel{padding:22px;margin-bottom:18px}.panel h2,.facts dd,tbody td{color:var(--ink)}.toolbar{justify-content:flex-end;margin-bottom:14px}.button{display:inline-block;border:0;border-radius:9px;background:var(--brand);color:#fff;text-decoration:none;padding:9px 14px;font-weight:700;cursor:pointer}.button:hover,.button:focus{background:var(--brand-dark);outline:2px solid #8db7ff}.button-secondary{background:#e8eef8;color:var(--ink)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px;color:var(--ink)}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f8faff}tbody tr:last-child td{border-bottom:0}.clickable-row:hover{background:#f5f8fe}.empty-state{text-align:center;color:var(--muted);padding:28px}.pagination{display:flex;justify-content:space-between;gap:16px;padding:16px}.detail-grid{display:grid;gap:2px;min-width:0}.detail-grid>.panel{min-width:0}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.facts div{border-left:3px solid #d9e6ff;padding-left:12px}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:3px 0 0;font-weight:700}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs a{background:#fff;color:var(--brand);border:1px solid var(--line);border-radius:20px;padding:7px 12px;text-decoration:none}.status-badge{border-radius:20px;background:#e9eef6;padding:5px 10px;font-weight:700}.status-active{background:#d9f6e8;color:var(--ok)}.status-draft{background:#fff2cc;color:var(--warn)}.form-card{max-width:720px}.field{display:grid;gap:6px;margin-bottom:16px}.field label{font-weight:700}.field input,.field select,.field textarea,.company-switcher select{border:1px solid #aebbd0;border-radius:8px;padding:9px;background:#fff;color:var(--ink)}.errorlist,.form-errors{color:var(--danger)}.danger-action{margin-top:18px;border:1px solid #f2c5c0;border-radius:10px;padding:12px}.danger-action summary{font-weight:700;color:var(--danger);cursor:pointer}.notice{background:#eef4ff;color:var(--ink);border-left:3px solid var(--brand);padding:10px 12px}.message{padding:11px 14px;border-radius:9px;margin-bottom:10px;background:#e8eef8;color:var(--ink)}.message.success{background:#d9f6e8;color:var(--ok)}.message.error{background:#fee4e2;color:var(--danger)}
@media(max-width:900px){.staff-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;gap:12px}.company-switcher{align-items:flex-start;flex-direction:column}main{padding:18px}}
@media(max-width:560px){.sidebar{width:100%;min-width:0;padding:14px}.brand{margin-bottom:12px}.sidebar nav{display:flex;width:100%;max-width:100%;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:5px}.sidebar nav a,.sidebar .nav-future{flex:0 0 auto;white-space:nowrap;padding:7px 10px}.topbar{width:100%;min-width:0;flex-direction:column}.company-switcher,.company-switcher select{width:100%;min-width:0;max-width:100%}.user-chip{width:100%;justify-content:space-between}h1{font-size:25px}.facts{grid-template-columns:1fr}.toolbar{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#edf3ff,#f8fbff)}.login-card{width:min(430px,100%);margin:0;padding:30px}.login-brand{color:var(--ink);margin-bottom:28px}.login-brand small{display:block;color:var(--muted)}.login-submit{width:100%}.login-note{margin-top:20px;font-size:13px}
.table-heading{padding:18px 20px;margin:0;border-bottom:1px solid var(--line)}
.status-manual_review{background:#fff2cc;color:var(--warn)}.status-accepted{background:#d9f6e8;color:var(--ok)}.status-rejected{background:#fee4e2;color:var(--danger)}.status-duplicate,.status-cancelled{background:#e9eef6;color:var(--muted)}
.resident-body{min-height:100vh;padding-bottom:76px;background:#eef4ff}.resident-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px max(18px,calc((100vw - 1080px)/2));background:#fff;border-bottom:1px solid var(--line)}.resident-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.resident-brand .brand-mark{color:#fff}.resident-brand small{display:block;color:var(--muted)}.resident-user{display:flex;align-items:center;gap:10px}.resident-main{width:min(1080px,100%);margin:0 auto;padding:24px 18px}.resident-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:20px}.resident-account-card,.resident-summary-card,.resident-meter-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(24,42,70,.05)}.resident-account-card{text-decoration:none}.resident-account-card:hover,.resident-account-card:focus{border-color:#8db7ff;outline:2px solid #c8dcff}.resident-account-card span,.resident-account-card strong,.resident-account-card small,.resident-meter-card span,.resident-meter-card strong,.resident-meter-card small,.resident-summary-card span,.resident-summary-card strong,.resident-summary-card small{display:block}.resident-account-card span,.resident-meter-card span,.resident-summary-card span,.resident-account-card small,.resident-meter-card small,.resident-summary-card small{color:var(--muted)}.resident-account-card strong,.resident-meter-card strong,.resident-summary-card strong{font-size:18px}.resident-summary-card{margin-bottom:20px;background:linear-gradient(135deg,#0f4fc2,#3378ed);color:#fff;border:0}.resident-summary-card span,.resident-summary-card small{color:#dce8ff}.resident-meter-card{align-items:flex-end}.resident-table{margin-top:20px}.resident-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:center;gap:8px;padding:9px 12px;background:#fff;border-top:1px solid var(--line)}.resident-bottom-nav a{padding:8px 14px;border-radius:20px;text-decoration:none;font-weight:700}.resident-bottom-nav a:hover,.resident-bottom-nav a:focus{background:#e8f0ff;outline:2px solid #8db7ff}
@media(max-width:560px){.resident-header{padding:10px 14px}.resident-header .resident-user span{display:none}.resident-main{padding:18px 14px}.resident-main form input,.resident-main form select,.resident-main form textarea{width:100%;min-width:0;max-width:100%}.resident-card-grid{grid-template-columns:1fr}.resident-account-card,.resident-meter-card{align-items:flex-start;flex-direction:column}.resident-meter-card .button{width:100%;text-align:center}.resident-summary-card{align-items:flex-start;flex-direction:column}.resident-table{margin-left:-14px;margin-right:-14px;border-radius:0;border-left:0;border-right:0}.resident-table table{min-width:620px}.resident-bottom-nav{justify-content:flex-start;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.resident-bottom-nav a{flex:0 0 auto;white-space:nowrap}}
.inline-form{display:inline-block;margin-left:8px}.inline-form .button{padding:6px 10px}.table-heading{padding:18px 18px 0}.code-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.facts dd,.panel p,.panel code,.panel pre,.timeline-reason{min-width:0;overflow-wrap:anywhere;word-break:break-word}.panel pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}.panel details{min-width:0;max-width:100%}.timeline{margin:0;padding-left:24px}.timeline li{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(150px,.55fr) minmax(0,1fr);gap:8px 16px;padding:9px 0;border-bottom:1px solid var(--line)}.timeline li:last-child{border-bottom:0}.timeline-time{color:var(--muted);font-variant-numeric:tabular-nums}.timeline-reason{color:var(--ink)}
@media(max-width:560px){.timeline li{grid-template-columns:minmax(0,1fr);gap:2px}.timeline{padding-left:22px}}
