:root{--brand:#0f4c81;--surface:#f4f7fb}body{background:var(--surface);color:#172033}.navbar-brand{letter-spacing:.2px}.card{border-radius:.8rem}.kpi-card .display-6{font-size:2rem}.table thead th{background:#eef3f8;color:#415166;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.table td{vertical-align:middle}.compact td,.compact th{font-size:.86rem}.item-desc{max-width:340px;white-space:normal}.status-green{background:#198754}.status-amber{background:#f0ad4e;color:#212529}.status-red{background:#dc3545}.status-critical{background:#561b1f}.login-bg{background:linear-gradient(135deg,#0d2f4f,#0f6b8f)}code{white-space:normal;color:#9b2c2c}.form-control,.form-select{border-color:#ccd6e0}.card-header{border-bottom-color:#e4eaf0}
@media print{.navbar,.btn,form{display:none!important}body{background:#fff}.card{box-shadow:none!important}}

.status-no_forecast{background:#6c757d}

/* Search and sorting controls used on operational data tables. */
.table-tools-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e4eaf0}.table-search-wrap{display:flex;align-items:center;gap:.5rem;min-width:min(100%,420px);position:relative}.table-search-input{padding-left:2rem}.table-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#6c757d;z-index:2;font-size:1.05rem}.table-result-count{white-space:nowrap}.sortable-header{cursor:pointer;user-select:none;transition:background-color .15s ease}.sortable-header:hover,.sortable-header:focus{background:#dde8f3!important;outline:none}.sort-indicator{display:inline-block;margin-left:.35rem;color:#6f8091;font-size:.85rem}.sortable-header[aria-sort="ascending"] .sort-indicator,.sortable-header[aria-sort="descending"] .sort-indicator{color:var(--brand);font-weight:700}.table-no-match td{background:#fff!important}
@media(max-width:576px){.table-tools-bar{align-items:stretch;flex-direction:column}.table-search-wrap{min-width:100%}.table-result-count{padding-left:.1rem}}

/* Vanguard branding - transparent official logo */
.login-card{overflow:hidden}.login-logo-wrap{display:flex;justify-content:center;align-items:center}.login-logo{display:block;width:min(100%,420px);height:auto}.brand-logo-link{display:flex;align-items:center;gap:.65rem;padding-top:.25rem;padding-bottom:.25rem}.brand-logo-panel{display:flex;align-items:center;padding:0;background:transparent;border-radius:0;box-shadow:none}.brand-logo{display:block;width:190px;height:auto}.brand-app-name{font-size:.95rem;font-weight:600;color:#fff;white-space:nowrap}.dashboard-logo{display:block;width:280px;max-width:42vw;height:auto;background:transparent;border-radius:0;padding:0;box-shadow:none}
@media(max-width:991.98px){.brand-logo{width:155px}.brand-app-name{display:none}.dashboard-heading .dashboard-logo{width:220px;max-width:65vw}}
@media(max-width:575.98px){.login-logo{width:min(100%,330px)}.dashboard-heading>div:last-child{width:100%;justify-content:space-between}.dashboard-logo{width:190px;max-width:58vw}.brand-logo{width:145px}}

/* v1.3 access, valuation and payment modules */
.permission-grid-wrap{max-height:52vh;border:1px solid #e4eaf0;border-radius:.5rem}.permission-grid thead{position:sticky;top:0;z-index:2}.permission-grid td,.permission-grid th{padding:.6rem .8rem}.permission-grid .form-check-input{width:1.15rem;height:1.15rem}.input-group .form-control[name="currency"]{text-transform:uppercase}.dropdown-menu{box-shadow:0 .5rem 1.5rem rgba(23,32,51,.16);border:0}.badge.text-bg-primary,.badge.text-bg-danger,.badge.text-bg-success,.badge.text-bg-secondary{letter-spacing:.02em}.table td .input-group{flex-wrap:nowrap}
@media(max-width:1199.98px){.navbar .navbar-nav{max-height:65vh;overflow-y:auto}.navbar .dropdown-menu{box-shadow:none}}
