/* Sunyani Work Platform v113 — Global Blue & White visual system.
   Visual layer only: no routes, calculations, permissions or data logic are changed. */
:root{
  --swp-blue-950:#062B5C;
  --swp-blue-900:#0A3D7A;
  --swp-blue-800:#0F5FA8;
  --swp-blue-700:#1976D2;
  --swp-blue-600:#2A82D7;
  --swp-blue-100:#EAF3FF;
  --swp-blue-50:#F6FAFF;
  --swp-line:#D8E6F5;
  --swp-ink:#12304F;
  --swp-muted:#60748A;
  --swp-white:#FFFFFF;
}
html,body{background:var(--swp-blue-50)!important;color:var(--swp-ink)!important}
body{font-family:'Segoe UI',Arial,sans-serif!important}
a{color:var(--swp-blue-800)!important}
a:hover{color:var(--swp-blue-950)!important}
/* Shared shell, headers and navigation */
.top,.topbar,header.top{background:var(--swp-white)!important;color:var(--swp-ink)!important;border-bottom:1px solid var(--swp-line)!important;box-shadow:0 2px 12px rgba(10,61,122,.06)!important}
.top a,.topbar a,header.top a,.nav-links a,.nav-dropdown-toggle{color:var(--swp-blue-900)!important}
.brand b,.topbar .brand b,.copy h2,h1,h2,h3{color:var(--swp-blue-950)!important}
.brand small,.topbar .brand small,.muted{color:var(--swp-muted)!important}
.nav-links a:hover,.nav-links a.active,.nav-dropdown-toggle:hover,.nav-dropdown-toggle.active{background:var(--swp-blue-100)!important;color:var(--swp-blue-900)!important}
.nav-dropdown-menu{background:var(--swp-white)!important;border-color:var(--swp-line)!important;box-shadow:0 10px 24px rgba(10,61,122,.12)!important}
.nav-dropdown-menu a{color:var(--swp-blue-900)!important}
.nav-dropdown-menu a:hover{background:var(--swp-blue-100)!important;color:var(--swp-blue-950)!important}
/* Sidebars */
.sidebar{background:linear-gradient(180deg,var(--swp-blue-950),var(--swp-blue-900))!important;color:#fff!important}
.sidebar a,.side-group summary{color:#EAF3FF!important}
.sidebar a:hover,.side-group summary:hover{background:rgba(255,255,255,.10)!important;color:#fff!important}
.sidebar a.active{background:#fff!important;color:var(--swp-blue-900)!important}
.side-section,.year-box label{color:#C7DDF7!important}
.year-box{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important}
.sidebar-toggle{background:var(--swp-blue-800)!important;color:#fff!important}
/* Cards and surfaces */
.card,.module,.section,.sec,.panel,.tablebox,.station-metric,.module-card,.summary div,.dd-panel,.metric-card,.box,.wrap .card{background:var(--swp-white)!important;border-color:var(--swp-line)!important;box-shadow:0 5px 18px rgba(10,61,122,.05)!important}
.hero,.head,.station-header{background:linear-gradient(135deg,var(--swp-blue-950),var(--swp-blue-800))!important;color:#fff!important}
.hero h1,.station-header h1,.head h1{color:#fff!important}
.hero p,.station-header p,.station-header a{color:#EAF3FF!important}
/* Inputs and controls */
input,select,textarea{background:#fff!important;color:var(--swp-ink)!important;border-color:#C7D8EA!important}
input:focus,select:focus,textarea:focus{outline-color:var(--swp-blue-600)!important;border-color:var(--swp-blue-600)!important}
button,.btn,.primary,.export-btn,.btn-primary{background:var(--swp-blue-800)!important;color:#fff!important;border-color:var(--swp-blue-800)!important}
button:hover,.btn:hover,.primary:hover,.export-btn:hover,.btn-primary:hover{background:var(--swp-blue-950)!important;color:#fff!important}
.buttons a,.station-tab{background:#fff!important;border-color:var(--swp-line)!important;color:var(--swp-blue-900)!important}
.station-tab:hover,.buttons a:hover{background:var(--swp-blue-50)!important;border-color:var(--swp-blue-600)!important;color:var(--swp-blue-950)!important}
.station-tab.primary{background:var(--swp-blue-800)!important;color:#fff!important;border-color:var(--swp-blue-800)!important}
/* Tables */
table{background:#fff!important}
th{background:var(--swp-blue-100)!important;color:var(--swp-blue-900)!important;border-color:var(--swp-line)!important}
td{border-color:#E3EDF7!important}
tr:hover td{background:var(--swp-blue-50)!important}
.title,.report-title,.table-title{background:var(--swp-blue-950)!important;color:#fff!important}
/* Module launcher cards */
.module{border-top-color:var(--swp-blue-800)!important}
.module:hover{border-color:#AFC9E8!important}
.module:after{background:rgba(25,118,210,.06)!important}
.icon,.module .icon{background:var(--swp-blue-100)!important}
.enter,.eyebrow{color:var(--swp-blue-800)!important}
/* Status, badges and utility surfaces: use blue family */
.info,.success,.warning,.tag,.tag-blue,.tag-warn,.badge,.role-badge,.position-badge{background:var(--swp-blue-100)!important;color:var(--swp-blue-900)!important;border-color:#C9DCF3!important}
.alert-banner,.alert-info,.notice{background:var(--swp-blue-50)!important;color:var(--swp-blue-900)!important;border-color:#C9DCF3!important}
/* Preserve red only where a negative/error value must remain immediately recognisable. */
.error,.tag-danger,.alert-danger-b,.neg,.danger,.below,.x-below{border-color:#F2C8C8!important}
/* Progress and chart accents */
progress::-webkit-progress-value{background:var(--swp-blue-800)!important}
progress::-moz-progress-bar{background:var(--swp-blue-800)!important}
.progress,.progress-bar,.bar-fill{background:var(--swp-blue-800)!important}
/* Footer */
footer{background:transparent!important;color:var(--swp-muted)!important;border-top-color:var(--swp-line)!important}
/* Inline color remnants commonly used in templates */
[style*="#0d897d"],[style*="#16a394"],[style*="#467F72"],[style*="#d4af37"],[style*="#c78a18"],[style*="#7b5aa6"]{color:var(--swp-blue-800)!important}
/* Print surfaces stay clean and white. */
@media print{html,body,.card,.section,.tablebox{background:#fff!important;color:#12304F!important}}
