/* Shared color layer for SERBUNIB. Layout, chart series, routes and behavior remain owned by their modules. */
:root{--sbu-nav:#123f67;--sbu-nav-deep:#0c3052;--sbu-primary:#1468ad;--sbu-primary-hover:#10578f;--sbu-bg:#f1f6fb;--sbu-paper:#ffffff;--sbu-soft:#eaf3fc;--sbu-ink:#173752;--sbu-muted:#526c82;--sbu-line:#d5e2ed;--sbu-focus:#a9d5ff;--sbu-success:#167147;--sbu-warning:#805500;--sbu-danger:#b63240}
html body.sb-theme-unified{--bs-primary:#1468ad;--bs-primary-rgb:20,104,173;--bs-link-color:#1468ad;--bs-link-hover-color:#10578f;background:var(--sbu-bg)!important;background-image:none!important;color:var(--sbu-ink)}
html body.sb-theme-unified .sb-dashboard{--sb-ink:var(--sbu-ink);--sb-muted:var(--sbu-muted);--sb-paper:var(--sbu-paper);--sb-line:var(--sbu-line);--sb-blue:var(--sbu-primary)}
html body.sb-theme-unified #serbunibHome{--home-ink:var(--sbu-ink);--home-muted:var(--sbu-muted);--home-line:var(--sbu-line);--home-paper:var(--sbu-paper)}
html body.sb-theme-unified .sb-panel,html body.sb-theme-unified .card{background-color:var(--sbu-paper);color:var(--sbu-ink);border-color:var(--sbu-line)}
html body.sb-theme-unified .sb-hero{background:linear-gradient(120deg,var(--sbu-nav-deep),var(--sbu-nav));color:#fff}
html body.sb-theme-unified .sb-hero h1{color:#fff}html body.sb-theme-unified .sb-hero p,html body.sb-theme-unified .sb-hero .sb-eyebrow{color:#e0effd}
html body.sb-theme-unified .sb-note,html body.sb-theme-unified .text-muted{color:var(--sbu-muted)!important}
html body.sb-theme-unified .sb-button:not(.sb-button-light):not(.sb-button-quiet){background:var(--sbu-primary);border-color:var(--sbu-primary);color:#fff}
html body.sb-theme-unified .sb-button:not(.sb-button-light):not(.sb-button-quiet):hover{background:var(--sbu-primary-hover);border-color:var(--sbu-primary-hover)}
html body.sb-theme-unified .sb-button-quiet{background:var(--sbu-soft);color:var(--sbu-primary-hover);border-color:var(--sbu-line)}
html body.sb-theme-unified .btn-primary{--bs-btn-bg:var(--sbu-primary);--bs-btn-border-color:var(--sbu-primary);--bs-btn-hover-bg:var(--sbu-primary-hover);--bs-btn-hover-border-color:var(--sbu-primary-hover);--bs-btn-active-bg:var(--sbu-primary-hover);--bs-btn-active-border-color:var(--sbu-primary-hover);--bs-btn-color:#fff;background-color:var(--sbu-primary);border-color:var(--sbu-primary);color:#fff}
html body.sb-theme-unified .btn-outline-primary{--bs-btn-color:var(--sbu-primary);--bs-btn-border-color:var(--sbu-primary);--bs-btn-hover-bg:var(--sbu-primary);--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:var(--sbu-primary);--bs-btn-active-bg:var(--sbu-primary);--bs-btn-active-border-color:var(--sbu-primary)}
html body.sb-theme-unified .text-primary{color:var(--sbu-primary)!important}
html body.sb-theme-unified .form-control,html body.sb-theme-unified .form-select,html body.sb-theme-unified .sb-dashboard input:not([type=checkbox]):not([type=radio]),html body.sb-theme-unified .sb-dashboard select{background-color:var(--sbu-paper);color:var(--sbu-ink);border-color:var(--sbu-line)}
html body.sb-theme-unified :focus-visible{outline:3px solid var(--sbu-focus);outline-offset:3px}
html body.sb-theme-unified .table{--bs-table-color:var(--sbu-ink);--bs-table-bg:var(--sbu-paper);--bs-table-border-color:var(--sbu-line);--bs-table-striped-bg:#f6f9fd;--bs-table-hover-bg:#edf5fc}
html body.sb-theme-unified .table thead th{background-color:var(--sbu-soft);color:var(--sbu-nav)}
html body.sb-theme-unified .pagination{--bs-pagination-color:var(--sbu-primary);--bs-pagination-active-bg:var(--sbu-primary);--bs-pagination-active-border-color:var(--sbu-primary);--bs-pagination-border-color:var(--sbu-line)}
/* Frontend navbar and backend sidebar share the exact same navy. */
html body.sb-theme-unified.sb-context-public > nav.navbar,html body.sb-theme-unified.sb-context-public > nav.position-fixed,html body.sb-theme-unified.sb-context-backend .sidebar,html body.sb-theme-unified.sb-context-backend .sidebar-header,html body.sb-theme-unified.sb-context-backend .navbar-top{background:var(--sbu-nav)!important;color:#fff!important;border-color:#ffffff24;box-shadow:0 4px 18px #102f4c1a}
html body.sb-theme-unified.sb-context-public > nav .navbar-brand,html body.sb-theme-unified.sb-context-public > nav > a,html body.sb-theme-unified.sb-context-public > nav .text-dynamic{color:#fff!important}
html body.sb-theme-unified.sb-context-public > nav .btn-dynamic,html body.sb-theme-unified.sb-context-public > nav .btn-primary{background:#ffffff14!important;color:#fff!important;border:1px solid #ffffff70!important}
html body.sb-theme-unified.sb-context-backend .sidebar .username,html body.sb-theme-unified.sb-context-backend .sidebar .role,html body.sb-theme-unified.sb-context-backend .sidebar>a,html body.sb-theme-unified.sb-context-backend .sidebar .app-name{color:#fff!important}
html body.sb-theme-unified.sb-context-backend .sidebar>a:hover{background:#ffffff16;color:#fff}
html body.sb-theme-unified.sb-context-backend .sidebar .btn-outline-primary{background:#ffffff0a;color:#fff!important;border-color:#ffffff70!important}
html body.sb-theme-unified.sb-context-backend .sidebar .dropdown-menu,html body.sb-theme-unified.sb-context-public nav .dropdown-menu{background:var(--sbu-paper)!important;color:var(--sbu-ink);border:1px solid var(--sbu-line);box-shadow:0 8px 24px #16375229}
html body.sb-theme-unified.sb-context-backend .sidebar .dropdown-menu a,html body.sb-theme-unified.sb-context-public nav .dropdown-menu a{color:var(--sbu-ink)!important}
html body.sb-theme-unified.sb-context-backend .sidebar .dropdown-menu a:hover,html body.sb-theme-unified.sb-context-public nav .dropdown-menu a:hover{background:var(--sbu-soft)!important;color:var(--sbu-primary-hover)!important}
html body.sb-theme-unified.sb-context-public .offcanvas{background:var(--sbu-paper);color:var(--sbu-ink)}
html body.sb-theme-unified.sb-context-public #serbunibHome .card{background:var(--sbu-paper)!important;border-color:var(--sbu-line)!important}
html body.sb-theme-unified.sb-context-public #serbunibHome .stat-card{background:var(--sbu-paper)!important;border-top-color:var(--sbu-primary)!important}
html body.sb-theme-unified.sb-context-public #serbunibHome .stat-card[data-stat="total_investasi"]{border-top-color:var(--sbu-success)!important}
html body.sb-theme-unified.sb-context-public #serbunibHome #homeSearchCard{background:var(--sbu-nav)!important;border-color:#35658c!important;color:#fff!important}
html body.sb-theme-unified.sb-context-public #serbunibHome #homeSearchCard .form-label,html body.sb-theme-unified.sb-context-public #serbunibHome #homeSearchCard label{color:#fff!important}
html body.sb-theme-unified.sb-context-public #serbunibHome #homeSearchCard select{background:#fff!important;color:var(--sbu-ink)!important}
html body.sb-theme-unified.sb-context-public #serbunibHome #homeSearchCard button{background:#fff!important;color:var(--sbu-nav)!important;border-color:#fff!important}
html body.sb-theme-unified.sb-context-public footer{background:var(--sbu-nav)!important;color:#e0effd!important}
html body.sb-theme-unified.sb-context-public footer a,html body.sb-theme-unified.sb-context-public footer .text-muted{color:#e0effd!important}
html body.sb-theme-unified.sb-context-backend .main-content>footer{background:transparent;color:var(--sbu-muted)!important}
html body.sb-theme-unified #floatingSocial .social-icon{background:#fff;color:var(--sbu-nav);border:1px solid var(--sbu-line)}
/* Auth uses the same palette while retaining its existing two-panel composition. */
html body.sb-theme-unified.sb-context-auth .auth-layout .intro{background:linear-gradient(135deg,var(--sbu-nav-deep),var(--sbu-nav))!important;color:#fff!important}
html body.sb-theme-unified.sb-context-auth .auth-layout .panel{background:var(--sbu-bg)!important}
html body.sb-theme-unified.sb-context-auth .auth-layout .intro p{color:#e0effd!important}
html body.sb-theme-unified.sb-context-auth .auth-layout button.submit{background:var(--sbu-primary)!important;color:#fff!important;border-color:var(--sbu-primary)!important}
html body.sb-theme-unified.sb-context-auth .auth-layout button.submit:hover{background:var(--sbu-primary-hover)!important}
html body.sb-theme-unified.sb-context-auth .auth-layout button.secondary{background:var(--sbu-soft);color:var(--sbu-primary-hover);border-color:var(--sbu-line)}
