:root { --surface-sidebar:#0b1220; --surface-canvas:#f5f7fb; --surface-card:#fff; --surface-soft:#f8fafc; --text-primary:#172033; --text-secondary:#667085; --text-tertiary:#98a2b3; --text-on-dark:#f8fafc; --border-subtle:#e6eaf0; --border-strong:#d8dee9; --brand:#0f766e; --brand-strong:#0b5d57; --success:#209d71; --danger:#d94b5a; --shadow-card:0 1px 2px rgba(16,24,40,.03),0 8px 24px rgba(16,24,40,.045); }
html,body { background:var(--surface-canvas); color:var(--text-primary); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; }
* { box-sizing:border-box; } a { color:var(--brand); } h1,h2,h3,h4,h5 { color:var(--text-primary); font-weight:700; letter-spacing:-.025em; } h3 { font-size:1.5rem; margin-bottom:22px; } h4 { font-size:1.02rem; margin:28px 0 14px; } p { color:var(--text-secondary); }
.rz-card { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:14px; box-shadow:var(--shadow-card); padding:20px; }
.rz-button { border-radius:8px !important; box-shadow:none !important; font-size:.84rem !important; font-weight:650 !important; letter-spacing:.005em; min-height:36px; padding:0 14px !important; }
.rz-button.rz-primary { background:var(--brand) !important; border-color:var(--brand) !important; }.rz-button.rz-primary:hover { background:var(--brand-strong) !important; border-color:var(--brand-strong) !important; }.rz-button.rz-secondary { border-color:var(--border-strong) !important; color:var(--text-primary) !important; }
.rz-inputtext,.rz-dropdown,.rz-numeric-input,.rz-textarea { border-color:var(--border-strong) !important; border-radius:8px !important; box-shadow:none !important; min-height:38px; }.rz-inputtext:focus,.rz-dropdown:focus-within,.rz-numeric-input:focus-within,.rz-textarea:focus { border-color:var(--brand) !important; box-shadow:0 0 0 3px rgba(15,118,110,.11) !important; }
.rz-label { color:var(--text-secondary); font-size:.75rem; font-weight:700; letter-spacing:.025em; margin-bottom:6px; }
.rz-data-grid { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:12px; overflow:hidden; }.rz-grid-table thead th { background:var(--surface-soft) !important; border-color:var(--border-subtle) !important; color:var(--text-secondary) !important; font-size:.7rem; font-weight:750 !important; letter-spacing:.055em; text-transform:uppercase; }.rz-grid-table td { border-color:var(--border-subtle) !important; color:var(--text-primary); font-size:.84rem; vertical-align:middle; }.rz-grid-table tr:hover td { background:#f8fbfb !important; }.rz-paginator { border-color:var(--border-subtle) !important; padding:10px !important; }
.rz-alert { border-radius:10px; font-size:.85rem; }.rz-dialog { border-radius:16px; overflow:hidden; }.rz-checkbox-box.rz-state-active { background:var(--brand) !important; border-color:var(--brand) !important; }
.page-heading { align-items:flex-start; display:flex; justify-content:space-between; margin-bottom:24px; }.page-heading h3 { margin:0; }.page-heading p { font-size:.87rem; margin:5px 0 0; }.section-card { margin-bottom:18px; }
.metric-card { border:0; color:#fff; min-height:142px; overflow:hidden; position:relative; }.metric-card::after { background:rgba(255,255,255,.08); border-radius:50%; content:""; height:130px; position:absolute; right:-42px; top:-55px; width:130px; }.metric-card .metric-label { font-size:.76rem; font-weight:650; letter-spacing:.04em; opacity:.78; text-transform:uppercase; }.metric-card .metric-value { font-size:2rem; font-weight:750; letter-spacing:-.05em; margin:8px 0 10px; }.metric-card .metric-detail { font-size:.78rem; opacity:.86; }.metric-card.teal { background:linear-gradient(135deg,#0f766e,#13a69b) !important; }.metric-card.blue { background:linear-gradient(135deg,#155e9a,#3195d5) !important; }.metric-card.violet { background:linear-gradient(135deg,#5b3ba8,#8367cd) !important; }.metric-card.slate { background:linear-gradient(135deg,#24324a,#3f5578) !important; }
#blazor-error-ui { background:#fff3f4; border-top:1px solid #f4c7cc; bottom:0; box-shadow:0 -4px 18px rgba(16,24,40,.08); color:#9b1c29; display:none; left:0; padding:.8rem 1.25rem; position:fixed; width:100%; z-index:1000; } #blazor-error-ui .dismiss { cursor:pointer; position:absolute; right:.75rem; top:.5rem; }.validation-message,.invalid { color:var(--danger); }.invalid { outline:1px solid var(--danger); }
.logout-button { border:1px solid var(--border-strong); border-radius:7px; background:transparent; color:inherit; font:inherit; font-size:.78rem; padding:.35rem .6rem; cursor:pointer; }.topbar-status form { display:inline-flex; }.account-role { border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#d8e8fb; font-size:.78rem; font-weight:700; letter-spacing:.025em; padding:.25rem .55rem; }.auth-denied { margin:3rem auto; max-width:460px; padding:2rem; border:1px solid var(--border-subtle); border-radius:14px; background:#fff; text-align:center; }.auth-denied h3 { margin:0; }.auth-denied .rz-button { display:inline-flex; align-items:center; text-decoration:none; margin-top:.5rem; }
@media (max-width:640px) { h3 { font-size:1.3rem; } .rz-card { padding:16px; } }
