:root{--surface:#ffffff;--page:#f9f9f7;--surface-sunken:#f4f4f2;--ink-primary:#0b0b0b;--ink-secondary:#52514e;--ink-muted:#898781;--border:rgba(11,11,11,0.12);--gridline:#e1e0d9;--brand:#2a78d6;--brand-dark:#184f95;--brand-tint:#eaf2fc;--status-good:#0ca30c;--status-good-tint:#e7f6e7;--status-warning:#d98a00;--status-warning-tint:#fdf1dc;--status-serious:#d15a2f;--status-serious-tint:#fbe9e1;--status-critical:#d03b3b;--status-critical-tint:#fbe6e6;--status-info:#2a78d6;--status-info-tint:#eaf2fc;--status-neutral:#6b6a65;--status-neutral-tint:#f0efec}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--page);color:var(--ink-primary);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:700;letter-spacing:-.01em;margin:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.page-title{font-size:1.5rem;color:var(--ink-primary)}.page-subtitle{color:var(--ink-secondary);font-size:.9375rem;margin-top:.25rem}.surface-panel{box-shadow:0 1px 2px rgba(11,11,11,.04)}.stat-card,.surface-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px}.stat-card{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.stat-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.125rem}.stat-card-value{font-size:1.75rem;font-weight:700;color:var(--ink-primary);font-variant-numeric:tabular-nums}.stat-card-label{color:var(--ink-secondary);font-size:.875rem}.status-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:999px;font-size:.8125rem;font-weight:600;white-space:nowrap}.status-tag .pi{font-size:.6875rem}.status-good{color:var(--status-good);background:var(--status-good-tint)}.status-warning{color:var(--status-warning);background:var(--status-warning-tint)}.status-serious{color:var(--status-serious);background:var(--status-serious-tint)}.status-critical{color:var(--status-critical);background:var(--status-critical-tint)}.status-info{color:var(--status-info);background:var(--status-info-tint)}.status-neutral{color:var(--status-neutral);background:var(--status-neutral-tint)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:var(--ink-muted);text-align:center}.empty-state .pi{font-size:2rem;opacity:.5}.p-component{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.p-button{border-radius:10px!important;font-weight:600!important;font-size:.875rem!important;padding:.625rem 1.125rem!important;gap:.5rem;box-shadow:none!important;transition:background-color .15s,border-color .15s,box-shadow .15s!important}.p-button:not(.p-button-outlined):not(.p-button-text){background:var(--brand)!important;border:1px solid var(--brand)!important;color:#ffffff!important}.p-button:not(.p-button-outlined):not(.p-button-text):not(:disabled):hover{background:var(--brand-dark)!important;border-color:var(--brand-dark)!important}.p-button.p-button-outlined{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--ink-primary)!important}.p-button.p-button-outlined:not(:disabled):hover{background:var(--surface-sunken)!important;border-color:var(--ink-muted)!important}.p-button.p-button-secondary{background:var(--surface-sunken)!important;border:1px solid var(--border)!important;color:var(--ink-primary)!important}.p-button.p-button-text{background:transparent!important;border:none!important;color:var(--ink-secondary)!important;padding:.5rem .75rem!important}.p-button.p-button-text:not(:disabled):hover{background:var(--surface-sunken)!important}.p-button.p-button-rounded{border-radius:999px!important;width:2.75rem;height:2.75rem;padding:0!important}.p-button:disabled{opacity:.5!important}.p-button .p-button-icon{font-size:.875rem}.p-calendar .p-inputtext,.p-dropdown,.p-inputnumber-input,.p-inputtext,.p-inputtextarea,.p-password input{border-radius:10px!important;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--ink-primary)!important;padding:.625rem .75rem!important;font-size:.9375rem!important;transition:border-color .15s,box-shadow .15s!important;width:100%}.table-search-input.p-inputtext{padding-left:2.25rem!important}.p-dropdown:not(.p-disabled):hover,.p-inputtext:enabled:hover{border-color:var(--ink-muted)!important}.p-calendar .p-inputtext:enabled:focus,.p-dropdown:not(.p-disabled).p-focus,.p-inputnumber-input:enabled:focus,.p-inputtext:enabled:focus,.p-inputtextarea:enabled:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px var(--brand-tint)!important;outline:none!important}.p-inputtext::placeholder,.p-inputtextarea::placeholder{color:var(--ink-muted)!important;opacity:1!important}.p-datepicker,.p-dropdown-panel,.p-overlay{border-radius:12px!important;border:1px solid var(--border)!important;box-shadow:0 8px 24px rgba(11,11,11,.12)!important}.p-dropdown-items .p-dropdown-item.p-highlight{background:var(--brand-tint)!important;color:var(--brand)!important}.p-dialog{border-radius:16px!important;box-shadow:0 20px 48px rgba(11,11,11,.18)!important;border:1px solid var(--border);overflow:hidden}.p-dialog .p-dialog-header{padding:1.25rem 1.5rem!important;border-bottom:1px solid var(--border)}.p-dialog .p-dialog-title{font-weight:700!important;font-size:1.125rem!important;color:var(--ink-primary)!important}.p-dialog .p-dialog-header-icon{width:2rem!important;height:2rem!important;border-radius:8px!important;color:var(--ink-muted)!important}.p-dialog .p-dialog-header-icon:hover{background:var(--surface-sunken)!important;color:var(--ink-primary)!important}.p-dialog .p-dialog-content{padding:1.5rem!important}.p-dialog .p-dialog-footer{padding:1rem 1.5rem!important;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem}.p-dialog-mask{background:rgba(11,11,11,.45)!important;backdrop-filter:blur(2px)}.p-card{border-radius:14px!important;box-shadow:0 1px 2px rgba(11,11,11,.04)!important;border:1px solid var(--border)}.p-datatable .p-datatable-thead>tr>th{background:var(--surface-sunken);color:var(--ink-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;border-color:var(--gridline);padding:.75rem 1rem}.p-datatable .p-datatable-tbody>tr{background:var(--surface)}.p-datatable .p-datatable-tbody>tr>td{border-color:var(--gridline);padding:.875rem 1rem;color:var(--ink-primary);font-size:.9375rem}.p-datatable .p-datatable-tbody>tr:hover{background:var(--surface-sunken)!important}.p-paginator{background:transparent!important;border:none!important;padding:.75rem 1rem!important}.p-paginator .p-paginator-page.p-highlight{background:var(--brand)!important;color:#ffffff!important;border-radius:8px!important}.p-tabview-nav{border-color:var(--border)!important;gap:.5rem}.p-tabview-nav li .p-tabview-nav-link{border:none!important;border-bottom:2px solid transparent!important;box-shadow:none!important;background:transparent!important;color:var(--ink-secondary)!important;font-weight:600!important;padding:.875rem .25rem!important;margin-right:1.25rem!important}.p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{color:var(--ink-primary)!important;border-bottom-color:var(--border)!important}.p-tabview-nav li.p-highlight .p-tabview-nav-link{color:var(--brand)!important;border-bottom-color:var(--brand)!important}.p-tabview-panels{padding:1.25rem 0 0!important;background:transparent!important}.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{background:var(--brand)!important}.p-fileupload-basic .p-button{width:auto}body,html{width:100%;overflow-x:hidden}.admin-topbar-mobile{display:none}.admin-sidebar{position:sticky;top:0;height:100vh;transform:none}.admin-sidebar-overlay{display:none}.admin-main{max-width:calc(100vw - 260px)}.admin-main-padding{padding:1.25rem}@media (max-width:1023px){.admin-topbar-mobile{display:flex}.admin-sidebar{position:fixed;left:0;top:0;z-index:40;transform:translateX(-100%);transition:transform .2s ease}.admin-sidebar.open{transform:translateX(0)}.admin-sidebar-overlay.open{display:block;position:fixed;inset:0;background:rgba(11,11,11,.4);z-index:30}.admin-main{max-width:100vw}.admin-main-padding{padding:1rem}}.citizen-content{width:100%;margin-inline:auto}.citizen-header-brand,.citizen-header-nav{display:none}.citizen-bottomnav{display:flex}@media (min-width:768px){.citizen-content{max-width:720px}.citizen-header{height:64px!important}.citizen-header-brand,.citizen-header-nav{display:flex}.citizen-bottomnav,.citizen-header-title{display:none}.citizen-main{padding-bottom:0!important}}@media (min-width:1024px){.citizen-content{max-width:880px}}.auth-split{min-height:100vh;display:flex;flex-direction:row}.auth-split-brand{flex:1 1 45%;flex-direction:column;text-align:center;background:linear-gradient(160deg,#184f95,#2a78d6 55%,#5598e7)}.auth-split-brand,.auth-split-form{display:flex;align-items:center;justify-content:center;padding:2rem}.auth-split-form{flex:1 1 55%;background:var(--page)}@media (max-width:767px){.auth-split{flex-direction:column}.auth-split-brand{flex:0 0 auto;padding:2.5rem 1.5rem}.auth-split-form{flex:1 1 auto;padding:1.5rem}}.auth-mode-switch{display:flex;gap:.25rem;padding:.25rem;background:var(--surface-sunken);border-radius:12px}.auth-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem .75rem;border:none;border-radius:9px;background:transparent;color:var(--ink-secondary);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}.auth-mode-tab .pi{font-size:.8125rem}.auth-mode-tab.active{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px rgba(11,11,11,.12)}