:root{--color-bg:#0c1220;--color-surface:#172033;--color-surface-alt:#1d2a40;--color-border:#243347;--color-fg:#e2e8f0;--color-muted:#94a3b8;--color-navbar:#080f1a;--color-navbar-border:#1e2d45;--color-navbar-text:#94a3b8;--color-navbar-hover:#e2e8f0;--color-navbar-active:#60a5fa;--color-primary:#60a5fa;--color-accent:#f59e0b;--navbar-height:52px}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-fg);padding-top:var(--navbar-height);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#topnav{background:var(--color-navbar);border-bottom:1px solid var(--color-navbar-border);height:var(--navbar-height)}#topnav .navbar-brand{color:var(--color-navbar-hover);letter-spacing:.02em;font-size:1rem;font-weight:700}#topnav .navbar-brand:hover{color:#fff}#topnav .nav-link{color:var(--color-navbar-text);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:.4rem .75rem;font-size:.875rem;font-weight:450;transition:background .15s,color .15s;display:flex}#topnav .nav-link:hover{color:var(--color-navbar-hover);background:#ffffff12}#topnav .nav-link.active{color:var(--color-navbar-active);background:#60a5fa1f}#topnav .dropdown-menu{background:var(--color-surface);border:1px solid var(--color-navbar-border);min-width:180px}#topnav .dropdown-item{color:var(--color-navbar-text);align-items:center;gap:8px;padding:.45rem 1rem;font-size:.875rem;display:flex}#topnav .dropdown-item:hover{color:var(--color-navbar-hover);background:#ffffff12}#topnav .dropdown-item.active,#topnav .dropdown-item:active{color:var(--color-navbar-active);background:#60a5fa26}#topnav .dropdown-divider,#topnav .navbar-toggler{border-color:var(--color-navbar-border)}#topnav .navbar-toggler-icon{filter:invert()opacity(.7)}#content{padding:28px 32px}@media (width<=767px){#content{padding:20px 16px}}.bg-white{background-color:var(--color-surface)!important}.text-dark{color:var(--color-fg)!important}.text-muted{color:var(--color-muted)!important}.card{background-color:var(--color-surface);border-color:var(--color-border);border-radius:10px;box-shadow:0 2px 8px #0006}.card-header{background-color:var(--color-surface);border-bottom-color:var(--color-border);color:var(--color-fg);font-size:.875rem;font-weight:600}.card-body{color:var(--color-fg)}.table{color:var(--color-fg);border-color:var(--color-border)}.table>:not(caption)>*>*{border-bottom-color:var(--color-border);color:var(--color-fg);background-color:#0000}.table-bordered>:not(caption)>*{border-color:var(--color-border)}.table-hover>tbody>tr:hover>*{color:var(--color-fg);background-color:#ffffff0a}.table>tfoot.table-light>tr>td,.table-light,.table-light>td,.table-light>th{background-color:var(--color-surface-alt)!important;color:var(--color-fg)!important;border-color:var(--color-border)!important}.form-control{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-fg)}.form-control:focus{background-color:var(--color-surface);border-color:var(--color-primary);color:var(--color-fg);box-shadow:0 0 0 .2rem #60a5fa33}.form-control::placeholder{color:var(--color-muted)}.form-control:disabled,.form-control[readonly]{background-color:var(--color-surface-alt);color:var(--color-muted)}.form-select{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-fg)}.form-select:focus{background-color:var(--color-surface);border-color:var(--color-primary);color:var(--color-fg);box-shadow:0 0 0 .2rem #60a5fa33}.form-label{color:var(--color-fg)}.btn-link{color:var(--color-primary);text-decoration:none}.btn-link:hover{color:#93c5fd}.btn-outline-secondary{color:var(--color-muted);border-color:var(--color-border)}.btn-outline-secondary:hover{background-color:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-fg)}.alert-danger{color:#f87171;background-color:#dc354526;border-color:#dc354566}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px 20px;box-shadow:0 2px 8px #0006}.stat-tile .stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.75rem;font-weight:600}.stat-tile .stat-value{color:var(--color-fg);font-size:2rem;font-weight:700;line-height:1.1}.budget-wrap{overflow-x:auto}.budget-table{min-width:max-content;font-size:.875rem}.budget-table th,.budget-table td{white-space:nowrap;padding:.5rem 1rem}.budget-table th{font-weight:600}.budget-table td.num{text-align:right;font-variant-numeric:tabular-nums}.budget-table td.label{font-weight:600}.budget-table tr.health-row td.num{font-size:.95rem;font-weight:700}.health-pos{color:#fff!important;background-color:#198754!important}.health-neg{color:#fff!important;background-color:#dc3545!important}.health-zero{color:var(--color-muted)}.col-current{background-color:#60a5fa14!important}.budget-table tr.main-detail-row td{color:var(--color-muted);background-color:var(--color-surface-alt);border-top:none;font-size:.82rem}.budget-table tr.main-detail-row td.label{padding-left:2rem;font-weight:400}.tag-bubble{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-muted);background-color:#94a3b826;border-radius:999px;padding:.25em .75em;font-size:.8rem;transition:background-color .15s,transform .1s;display:inline-block}.tag-bubble:hover{filter:brightness(1.2)}.tag-bubble.active{color:#fff;background-color:#198754}.tag-pill{cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-muted);border-radius:999px;padding:.25rem .75rem;font-size:.8rem;text-decoration:none;display:inline-block}.tag-pill.active{color:#fff;background:#198754;border-color:#198754}.master-tag-bubble{color:#fff;white-space:nowrap;background-color:#5b9fd4;border-radius:999px;padding:.2em .65em;font-size:.75rem;display:inline-block}.master-tag-bubble.invalid{background-color:#dc3545}.report-table th,.report-table td{text-align:right;padding:.4rem .75rem}.report-table th:first-child,.report-table td:first-child{text-align:left}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;width:480px;max-width:100%;padding:.75rem}
