/* SIGAP PPPA — ROYAL INSTITUTIONAL DESIGN SYSTEM
   Presentation layer only. No application workflow, PHP logic, database or image asset is changed. */
:root{
 --ri-navy:#17283D;--ri-navy-deep:#101E30;--ri-slate:#293D52;--ri-champagne:#B49A70;
 --ri-champagne-light:#E6D8BD;--ri-ivory:#F4F1E9;--ri-white:#FFFFFF;
 --ri-ink:#233247;--ri-muted:#687587;--ri-line:#DCE1E7;--ri-paper:#F6F7F8;
 --ri-danger:#923E46;--ri-shadow:0 14px 36px rgba(23,40,61,.09);
 --navy:var(--ri-navy)!important;--green:var(--ri-slate)!important;--mint:var(--ri-ivory)!important;
 --gold:var(--ri-champagne)!important;--ink:var(--ri-ink)!important;--muted:var(--ri-muted)!important;
 --line:var(--ri-line)!important;--paper:var(--ri-paper)!important;--white:#fff!important;
 --teal:var(--ri-navy)!important;--teal2:var(--ri-slate)!important;--orange:var(--ri-champagne)!important;
 --deep:var(--ri-navy)!important;--red:var(--ri-danger)!important;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{color:var(--ri-ink)!important;background:var(--ri-paper)!important;font-family:Inter,"DM Sans",Manrope,"Segoe UI",Arial,sans-serif!important;line-height:1.62}
h1,h2,h3,h4,h5{color:var(--ri-navy)!important;letter-spacing:-.025em}
p{color:inherit}
a{transition:color .18s ease,background-color .18s ease,border-color .18s ease}
:focus-visible{outline:3px solid rgba(180,154,112,.55)!important;outline-offset:2px}
/* Public portal */
.utility,.topline,.topbar{background:var(--ri-navy-deep)!important;color:#F4F1E9!important;border-bottom:1px solid rgba(180,154,112,.55)!important}
.utility a,.topline a,.topbar a,.utility span,.topline span{color:#F4F1E9!important}
.site-header,body>header:not(.adminnav),body>header:not(.adminnav) .head,body>header:not(.adminnav) .header-inner{background:#fff!important}
body>header:not(.adminnav),.site-header{border-bottom:1px solid var(--ri-line)!important;box-shadow:0 5px 22px rgba(23,40,61,.045)!important}
.brand strong,.brand .gov,.brand small,.brandmark{color:var(--ri-navy)!important}
.nav a,.nav-group>button,.main-nav a{color:var(--ri-slate)!important}
.nav a:hover,.nav-group>button:hover,.main-nav a:hover{color:var(--ri-champagne)!important}
.nav .active,.main-nav .active,.nav-group .dropdown a:hover{background:var(--ri-ivory)!important;color:var(--ri-navy)!important}
.nav-group .dropdown{border:1px solid var(--ri-line)!important;box-shadow:0 18px 40px rgba(16,30,48,.14)!important}
.login,.nav-login{background:var(--ri-champagne)!important;color:var(--ri-navy-deep)!important;border:1px solid #9E8358!important;box-shadow:none!important}
.menu-toggle,.search{background:var(--ri-ivory)!important;color:var(--ri-navy)!important;border:1px solid var(--ri-line)!important}
/* Hero: retain the existing image/background URL; adjust typography and controls only. */
.hero,.page-hero{color:#fff!important;border-bottom:3px solid var(--ri-champagne)!important}
.hero h1,.page-hero h1,.hero p,.page-hero p{color:#fff!important}
.hero .eyebrow,.page-crumb,.eyebrow{color:var(--ri-champagne-light)!important}
.hero .eyebrow:before{background:var(--ri-champagne)!important}
.hero h1 span{color:var(--ri-champagne-light)!important}
.actions .btn-main,.btn-main,.form-card .btn,.page-button{background:var(--ri-champagne)!important;color:var(--ri-navy-deep)!important;border:1px solid #E6D8BD!important;box-shadow:0 7px 18px rgba(16,30,48,.12)!important}
.actions .btn-ghost{background:rgba(16,30,48,.42)!important;color:#fff!important;border:1px solid rgba(255,255,255,.75)!important}
.quick,.news-card,.service,.form-card,.page-panel,.public-news-card,.public-gallery-card,.agenda{background:#fff!important;border:1px solid var(--ri-line)!important;box-shadow:var(--ri-shadow)!important;border-radius:16px!important}
.qicon,.section-icon{background:var(--ri-navy)!important;color:var(--ri-champagne-light)!important}
.quick-card{border-color:var(--ri-line)!important}
.quick p,.service p,.news-body p,.agenda-item span,.page-panel p,.page-panel li{color:var(--ri-muted)!important}
.round-arrow,.seeall,.page-link strong,.public-news-copy summary{color:#8C7046!important}
.section-title h2,.news-body h3,.service h3,.agenda-item strong{color:var(--ri-navy)!important}
.news-img{background:var(--ri-ivory)!important}
.news-date{background:#fff!important;color:var(--ri-navy)!important;border:1px solid var(--ri-champagne-light)!important}
.tag{background:var(--ri-ivory)!important;color:#755D38!important;border:1px solid var(--ri-champagne-light)!important}
.agenda{background:#fff!important}
.datebox{background:var(--ri-ivory)!important;border:1px solid var(--ri-champagne-light)!important;color:var(--ri-navy)!important}
.service,.form-card,.page-link{border-color:var(--ri-line)!important}
.page-hero{background-color:var(--ri-navy)!important}
.page-panel h2,.page-panel h3,.page-cards strong,.public-gallery-card figcaption strong{color:var(--ri-navy)!important}
.page-link,.page-cards article{background:#fff!important;border:1px solid var(--ri-line)!important}
footer{background:var(--ri-navy-deep)!important;color:#F4F1E9!important;border-top:3px solid var(--ri-champagne)!important}
footer small{color:#D9DDE3!important}
/* Forms and shared controls */
input,select,textarea,.field input,.field select,.field textarea,.manager-field input,.manager-field select,.manager-field textarea,.ka-field input,.ka-field select,.ka-field textarea,.ag-field input,.ag-field textarea{background:#fff!important;color:var(--ri-ink)!important;border:1px solid #C9D1DB!important;border-radius:9px!important;box-shadow:none!important}
input:focus,select:focus,textarea:focus{border-color:var(--ri-champagne)!important;box-shadow:0 0 0 3px rgba(180,154,112,.17)!important;outline:none!important}
label,.field label,.manager-field label,.ka-field label,.ag-field label{color:var(--ri-slate)!important}
.notice,.alert,.ka-alert,.users-alert{background:var(--ri-ivory)!important;color:#665331!important;border:1px solid var(--ri-champagne-light)!important;border-radius:10px!important}
.notice.warn,.alert.err,.ka-alert.err,.users-alert.error{background:#F8EEEE!important;color:#813B43!important;border-color:#E5C7CA!important}
/* Admin shell and dashboard */
body.adminbody{background:#F3F5F7!important;color:var(--ri-ink)!important}
.adminnav,header.adminnav{background:var(--ri-navy-deep)!important;color:#fff!important;border-bottom:2px solid var(--ri-champagne)!important;box-shadow:0 7px 24px rgba(16,30,48,.14)!important}
.adminnav a,.adminnav strong,.adminnav span{color:#F4F1E9!important}
.admin-actions a{border:1px solid rgba(230,216,189,.45)!important;border-radius:8px!important;padding:8px 12px!important}
.sigap-sidebar,.admin-sidebar{background:var(--ri-navy-deep)!important;border-right:1px solid var(--ri-champagne)!important;color:#F4F1E9!important}
.sigap-side-label{color:var(--ri-champagne-light)!important}
.sigap-side-nav a,.admin-sidebar a{color:#E7EAF0!important;border-radius:9px!important}
.sigap-side-nav a:hover,.sigap-side-nav a:focus,.sigap-side-nav a.active,.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(180,154,112,.17)!important;border-color:rgba(180,154,112,.48)!important;color:#F1DDB8!important}
.sigap-side-nav a .nav-mark{background:rgba(180,154,112,.18)!important;color:var(--ri-champagne-light)!important}
.adminmain,.admin-content,.dashboard-content{background:transparent!important;color:var(--ri-ink)!important}
.adminmain h1,.adminmain h2,.adminmain h3,.users-head h1,.ag-wrap h1,.kla-admin h1{color:var(--ri-navy)!important}
.adminmain .section-head p,.adminmain .muted,.adminmain small,.users-note,.ka-muted{color:var(--ri-muted)!important}
.admincard,.admin-panel,.panel,.card,.stat,.users-card,.users-head,.ag-card,.ka-card,.editor,.manager-item,.loginbox,.survey-card,.adminmain .stat{background:#fff!important;border:1px solid var(--ri-line)!important;border-radius:15px!important;box-shadow:var(--ri-shadow)!important}
.adminmain .stat{background:linear-gradient(145deg,#fff,#F8F7F3)!important}
.adminmain .stat strong,.adminmain .stat .value,.ka-stat strong{color:var(--ri-navy)!important}
.adminmain .stat:first-child{border-top:3px solid var(--ri-champagne)!important}
.ka-head{background:var(--ri-navy)!important;color:#fff!important;border:1px solid var(--ri-champagne)!important;border-radius:15px!important}
.ka-head h1,.ka-head p,.ka-head a{color:#fff!important}
.ka-head div{color:var(--ri-champagne-light)!important}
.ka-stat{background:var(--ri-ivory)!important;border:1px solid var(--ri-line)!important;border-radius:11px!important}
/* Tables */
.tablewrap,.ka-tablewrap{border:1px solid var(--ri-line)!important;border-radius:12px!important;overflow:auto!important;background:#fff!important}
table{border-collapse:collapse!important}
table thead th,.table th,.users-table th,.ka-table th,.ag-table th{background:var(--ri-navy)!important;color:#F4F1E9!important;border-color:#34465B!important;font-weight:700!important}
table tbody td,.table td,.users-table td,.ka-table td,.ag-table td{border-color:#E4E7EB!important;color:var(--ri-ink)!important}
table tbody tr:nth-child(even) td{background:#FAFAF8!important}
table tbody tr:hover td{background:#F4F1E9!important}
.pill,.badge,.status-active,.status-success,.badge-success{background:#F2EBDD!important;color:#725A35!important;border:1px solid #E3D4B8!important;border-radius:999px!important}
.status-off,.status-pending,.status-new{background:#E9EDF2!important;color:#44566B!important;border:1px solid #D2D9E1!important}
/* Buttons: navy primary, champagne secondary, restrained danger */
button,.smallbtn,.btn,.btn-primary,.page-button,.ag-btn,.ka-btn:not(.alt):not(.danger),.manager-tabs a.active,.form-card .btn,.editnav a.active,.tabs a.active,.tab.active{background:var(--ri-navy)!important;color:#fff!important;border:1px solid var(--ri-champagne)!important;border-radius:9px!important;box-shadow:0 5px 14px rgba(23,40,61,.10)!important}
button:hover,.smallbtn:hover,.btn:hover,.btn-primary:hover,.page-button:hover,.ag-btn:hover,.ka-btn:hover{background:var(--ri-slate)!important;color:#fff!important;filter:none!important}
button.danger,.danger,.btn-danger,.btn-small.btn-danger{background:var(--ri-danger)!important;color:#fff!important;border:1px solid #C58B90!important}
button.secondary,.btn-secondary,.alt,.ka-btn.alt,.manager-tabs a,.editnav a{background:var(--ri-ivory)!important;color:var(--ri-navy)!important;border:1px solid var(--ri-champagne-light)!important}
.btn-small{background:var(--ri-slate)!important;color:#fff!important;border:1px solid var(--ri-champagne)!important}
/* Login and survey */
.loginwrap,.survey-wrap{background:var(--ri-ivory)!important}
.loginbox,.survey-card{border-top:4px solid var(--ri-champagne)!important}
.loginbox .brand strong,.loginbox h1,.survey-card h1{color:var(--ri-navy)!important}
.loginbox .brandmark,.card-icon{background:var(--ri-navy)!important;color:var(--ri-champagne-light)!important}
.eye-toggle,.password-toggle{background:var(--ri-ivory)!important;color:var(--ri-navy)!important;border:1px solid var(--ri-line)!important}
/* Keep existing photographs untouched; improve image presentation without replacing sources. */
.headshot-photo,.public-news-card>img,.public-gallery-card>img,.manager-item img{border:1px solid var(--ri-line)!important}
@media(max-width:800px){
 .quick{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .quick-card{border-right:0!important;padding:10px!important}
 .news-grid,.service-grid,.forms,.public-news-grid,.public-gallery-grid,.page-links,.page-cards{grid-template-columns:1fr!important}
 .agenda-list{grid-template-columns:1fr!important}
 .adminnav .container{gap:10px!important;flex-wrap:wrap!important}
 .admin-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
 .ka-grid,.ka-formgrid,.ag-grid,.manager-grid,.users-grid{grid-template-columns:1fr!important}
 .ka-full,.ag-field.full{grid-column:auto!important}
 .loginbox,.survey-card{width:min(100% - 28px,520px)!important;margin:20px auto!important}
}
@media(max-width:520px){
 .quick{grid-template-columns:1fr!important}
 .quick-card{border-bottom:1px solid var(--ri-line)!important}
 .quick-card:last-child{border-bottom:0!important}
 .brand strong{letter-spacing:-.5px!important}
 .admin-actions a{font-size:12px!important;padding:7px 9px!important}
}
/* Additional homepage accents and legacy inline component classes */
.sigap-ticker{background:linear-gradient(100deg,#101E30 0%,#293D52 52%,#17283D 100%)!important;color:#F4F1E9!important;border-color:rgba(180,154,112,.45)!important;box-shadow:0 10px 28px rgba(16,30,48,.12)!important}
.sigap-ticker:before{background:var(--ri-champagne)!important;color:var(--ri-navy-deep)!important}
.qicon.green,.qicon.blue,.qicon.yellow,.qicon.purple{background:var(--ri-navy)!important;color:var(--ri-champagne-light)!important}
.round-arrow{color:var(--ri-champagne)!important}
.news-img{background:var(--ri-ivory)!important}
.agenda{background:#fff!important}
.datebox{border-color:var(--ri-champagne-light)!important;color:var(--ri-navy)!important}
.ka-btn.alt,.ag-btn:not(.danger),.manager-tabs a.active,.editnav a.active{background:var(--ri-navy)!important;color:#fff!important}
.chart-bar,.progress-bar,.meter-fill{background:linear-gradient(90deg,#293D52,#B49A70)!important}
.chart-track{background:#E9E6DF!important}
.linkbox{background:var(--ri-ivory)!important;border:1px solid var(--ri-line)!important;color:var(--ri-slate)!important}
@media print{body{background:#fff!important;color:#111!important} .adminnav,.admin-actions,.actions{display:none!important}}


/* NAVIGATION CONTRAST FIX — 2026-11-01
   Corrects dark text on navy dropdown-toggle buttons seen after deployment. */
.site-header .nav .nav-group > button,
body > header:not(.adminnav) .nav .nav-group > button,
.nav .nav-group > button {
  background: #17283D !important;
  color: #F4F1E9 !important;
  -webkit-text-fill-color: #F4F1E9 !important;
  border: 1px solid #B49A70 !important;
  text-shadow: none !important;
}
.site-header .nav .nav-group > button:hover,
body > header:not(.adminnav) .nav .nav-group > button:hover,
.nav .nav-group > button:hover,
.nav .nav-group > button[aria-expanded="true"] {
  background: #293D52 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.site-header .nav > a,
body > header:not(.adminnav) .nav > a,
.nav > a {
  color: #17283D !important;
  -webkit-text-fill-color: #17283D !important;
  background: transparent !important;
}
.site-header .nav > a:hover,
body > header:not(.adminnav) .nav > a:hover,
.nav > a:hover {
  color: #8C7046 !important;
  -webkit-text-fill-color: #8C7046 !important;
  background: #F4F1E9 !important;
}
.nav .dropdown a {
  color: #233247 !important;
  -webkit-text-fill-color: #233247 !important;
  background: #FFFFFF !important;
}
.nav .dropdown a:hover {
  color: #17283D !important;
  -webkit-text-fill-color: #17283D !important;
  background: #F4F1E9 !important;
}
