/* LSPD MDT 3.62 — civic command workspace, deliberately distinct from FIB dark UI */
:root{
  --lspd-ink:#183448;--lspd-navy:#17384f;--lspd-navy-2:#244b62;--lspd-blue:#315d72;
  --lspd-blue-soft:#e9eee9;--lspd-gold:#b58a45;--lspd-paper:#eee4d0;--lspd-surface:#fffaf0;
  --lspd-line:#d8c8a7;--lspd-muted:#6f756f;--lspd-text:#1d3545;
  --fib-bg:#eee4d0;--fib-panel:#fffaf0;--fib-panel-2:#f5ecd9;--fib-line:#d8c8a7;
  --fib-line-strong:#c7b58f;--fib-text:#1d3545;--fib-muted:#6f756f;--fib-blue:#315d72;
  --fib-blue-soft:#e9eee9;--fib-shadow:0 8px 24px rgba(53,42,23,.09);
}
html,body{background:var(--lspd-paper)!important;color:var(--lspd-text)!important;font-family:Inter,Arial,sans-serif!important}
body{background-image:linear-gradient(135deg,rgba(16,36,58,.025) 25%,transparent 25%),linear-gradient(315deg,rgba(16,36,58,.025) 25%,transparent 25%)!important;background-size:22px 22px!important}
/* fixed full navigation replaces the FIB icon rail/hover drawer */
.sidebar{width:252px!important;background:linear-gradient(180deg,#10243a 0%,#142d47 100%)!important;border-right:0!important;box-shadow:5px 0 22px rgba(14,31,48,.12)!important;transition:none!important}
.sidebar:hover{width:252px!important}
.sidebar-header{height:106px!important;padding:14px 20px!important;border-bottom:1px solid rgba(255,255,255,.13)!important;gap:12px}
.brand-icon{width:58px!important;height:58px!important;border-radius:50%!important;background:#fff!important;padding:4px!important;border:2px solid #c5a66b!important}
.brand-text{margin-left:0!important;opacity:1!important;min-width:0}
.brand-title{color:#fff!important;font-size:15px!important;letter-spacing:.045em!important;font-weight:800!important}
.brand-subtitle{color:#c3d0dc!important;font-size:10px!important;letter-spacing:.09em!important;text-transform:uppercase}
.sidebar-nav{padding:20px 13px!important}
.nav-section{margin-bottom:22px!important}
.nav-section-title{opacity:1!important;color:#91a8bd!important;font-size:9px!important;letter-spacing:.14em!important;padding:0 13px!important}
.nav-item{height:43px!important;border-radius:7px!important;padding:0 13px!important;margin:3px 0!important;color:#d2dce5!important;border-left:3px solid transparent!important;background:transparent!important}
.nav-item:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.nav-item.active{background:rgba(255,255,255,.14)!important;color:#fff!important;border-left-color:#c5a66b!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important}
.nav-icon{color:#c6d4e1!important}.nav-label{opacity:1!important;margin-left:12px!important;font-size:12px!important;font-weight:550!important}
.sidebar-user{border-top:1px solid rgba(255,255,255,.13)!important;padding:13px!important}
.user-card{height:54px!important;padding:0 9px!important}.user-card:hover{background:rgba(255,255,255,.08)!important}
.user-avatar{background:#d9e4ed!important;color:#17314b!important;border:2px solid rgba(197,166,107,.7)!important}
.user-info{opacity:1!important}.user-name{color:#fff!important}.user-rank{color:#b5c5d3!important}
.logout-button{color:#c2d0dc!important;padding-left:12px!important}.logout-button:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.main{padding-left:252px!important;transition:none!important}
.content{background:var(--lspd-paper)!important}
.topbar{height:76px!important;padding:0 30px!important;background:#fff!important;border-bottom:1px solid #dce2e8!important;box-shadow:0 2px 9px rgba(15,35,55,.04)!important;backdrop-filter:none!important}
.page-title{font-size:18px!important;color:#172b40!important;font-weight:750!important;letter-spacing:-.02em}
.page-title:before{content:"LSPD  /  ";font-size:10px;color:#9a7940;letter-spacing:.13em;font-weight:800;vertical-align:2px;margin-right:7px}
.fib-own-status-strip{gap:8px!important}
.fib-status-chip{background:#f2f5f8!important;border:1px solid #dce3e9!important;border-radius:5px!important;color:#20364b!important;box-shadow:none!important}
.fib-status-chip-label{color:#758696!important}.fib-status-chip strong{color:#20364b!important}
.fib-status-chip-call{background:#f7f2e8!important;border-color:#e4d5b8!important}.fib-status-chip-call .fib-status-chip-label{color:#97733a!important}
.fib-status-chip.is-idle{background:#eef1f4!important;border-color:#dce2e8!important}
.page-status{color:#667989!important}.status-dot{box-shadow:0 0 0 3px rgba(41,133,91,.12)!important}
.fib-duty-start-button,.fib-duty-apply{background:#173b5d!important;border:1px solid #173b5d!important;border-radius:5px!important;color:#fff!important}
.fib-duty-picker{background:#fff!important;border:1px solid #d9e1e8!important;box-shadow:0 16px 45px rgba(18,38,58,.18)!important;border-radius:8px!important;color:#20364b!important}
.fib-duty-picker-head,.fib-duty-picker-footer{border-color:#e1e6eb!important}
.fib-duty-picker-label{color:#6d7f8f!important}
/* login becomes a formal station sign-in rather than a dark FIB login */
#loginScreen{background:radial-gradient(ellipse at 50% 0%,rgba(46,91,130,.26),transparent 48%),linear-gradient(135deg,#10243a,#1b3a57)!important}
.login-wrapper{max-width:460px!important}
.login-card{background:#fff!important;border:1px solid rgba(255,255,255,.5)!important;border-top:4px solid #b18a45!important;border-radius:9px!important;padding:38px!important;box-shadow:0 26px 75px rgba(0,0,0,.28)!important;color:#1c2b39!important}
.login-logo{width:94px!important;height:94px!important;background:#f4f6f8!important;border:1px solid #dce2e8!important;border-radius:50%!important;padding:7px!important}
.login-title{color:#142b42!important;letter-spacing:.015em!important}.login-subtitle{color:#6d7d8b!important}
.input-group label{color:#526475!important}.input-group input{background:#f8fafb!important;border:1px solid #cfd8e0!important;color:#172b40!important;border-radius:5px!important}
.input-group input:focus{border-color:#28649a!important;box-shadow:0 0 0 3px rgba(40,100,154,.12)!important}
.login-button{background:#173b5d!important;border-radius:5px!important}.login-button:hover{background:#24557f!important}
.login-secondary-button{background:#f2f5f7!important;border:1px solid #d7e0e7!important;color:#43586b!important}
.login-info,.login-back-button{color:#7b8995!important}
/* shared page canvas and components */
.dashboard,.vehicle-catalog-page,.ifines-page{background:transparent!important;color:var(--lspd-text)!important}
.dashboard{padding:25px 30px 70px!important;gap:17px!important}
.dashboard-welcome,.dashboard-stat,.dashboard-card{background:#fff!important;border:1px solid #dce2e8!important;border-radius:8px!important;box-shadow:0 4px 14px rgba(22,42,62,.045)!important;color:#1c2b39!important}
.dashboard-welcome{background:linear-gradient(105deg,#fff 0%,#f7f9fb 65%,#edf2f6 100%)!important;padding:27px 30px!important;border-left:4px solid #b18a45!important}
.dashboard-welcome::before,.dashboard-stat::before{display:none!important}
.dashboard-eyebrow{color:#98763e!important;letter-spacing:.13em!important}
.dashboard-title{color:#172d43!important;font-size:27px!important}
.dashboard-subtitle{color:#687988!important}
.dashboard-clock{color:#244e72!important}
.dashboard-stat{padding:19px!important;border-top:3px solid #244e72!important}
.dashboard-stat-label,.dashboard-stat-subtitle{color:#70808e!important}
.dashboard-stat-value{color:#17324d!important}
.dashboard-stat-icon{background:#edf3f8!important;border:1px solid #d7e2eb!important;color:#285d87!important;border-radius:7px!important}
.dashboard-card-header{background:#f7f9fa!important;border-bottom:1px solid #e2e7eb!important}
.dashboard-card-title{color:#20364b!important}.dashboard-card-header-icon{color:#9b7a42!important}
.dashboard-card-body{color:#35495b!important}
.dashboard-quick-action{background:#f7f9fb!important;border:1px solid #dce3e9!important;color:#29445d!important;border-radius:6px!important}
.dashboard-quick-action:hover{background:#edf3f8!important;border-color:#9fb6ca!important}
/* consistent tables, inputs, dialogs and cards across dynamically loaded pages */
input,select,textarea{background:#fff!important;border-color:#cfd8e0!important;color:#203243!important;border-radius:5px!important}
input::placeholder,textarea::placeholder{color:#98a4ae!important}
button{border-radius:5px}
button.primary,.primary-button,.btn-primary{background:#173b5d!important;border-color:#173b5d!important;color:#fff!important}
button.secondary,.secondary-button,.btn-secondary{background:#f0f3f6!important;border-color:#d5dee6!important;color:#344b60!important}
button.danger,.btn-danger{background:#a63b3b!important;color:#fff!important}
table{border-color:#dce3e9!important}th{background:#edf1f4!important;color:#45596b!important;border-color:#dce3e9!important}td{color:#314456!important;border-color:#e5e9ed!important}
[class*="-card"],[class*="-panel"],[class*="-box"]{scrollbar-color:#b7c3cd transparent}
.fib-global-modal-header{background:#17324d!important;color:#fff!important}
.fib-global-modal-header *{color:inherit}
.fib-global-modal-content,.modal-content{background:#fff!important;color:#203243!important}
/* shared accent tokens used by page modules */
:root{--fib-bg:#eee4d0;--fib-panel:#fffaf0;--fib-panel-2:#f5ecd9;--fib-line:#d8c8a7;--fib-line-strong:#c7b58f;--fib-text:#1d3545;--fib-muted:#6f756f;--fib-blue:#315d72;--fib-blue-soft:#e8f0f7;--fib-shadow:0 8px 24px rgba(19,38,57,.08)}
/* responsive: collapse to a compact rail only on narrow screens */
@media(max-width:900px){.sidebar{width:68px!important}.sidebar:hover{width:68px!important}.sidebar-header{padding:12px 9px!important;justify-content:center}.brand-icon{width:46px!important;height:46px!important}.brand-text,.nav-label,.nav-section-title,.user-info{opacity:0!important;display:none!important}.sidebar-nav{padding:12px 8px!important}.nav-item{justify-content:center!important;padding:0!important}.nav-icon{width:auto!important}.main{padding-left:68px!important}.topbar{padding:0 14px!important}.dashboard{padding:16px 14px 60px!important}}
@media(max-width:650px){.topbar{height:auto!important;min-height:66px!important;flex-wrap:wrap!important;gap:8px!important;padding:10px 12px!important}.page-title{font-size:15px!important}.fib-own-status-strip{max-width:100%!important;flex-wrap:wrap!important;justify-content:flex-start!important}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-main-grid{grid-template-columns:1fr!important}}
#pageContainer{background:var(--lspd-paper)!important}
.page-loading{color:#617384!important}
/* page-module surfaces that previously used near-black fixed colors */
.records-page,.agents-page,.patrols-page,.classification-page,.wanted-page,.warrants-page,.announcements-page,.calendar-page,.lawyers-page,.vacations-page,.logs-page,.gangs-page,.bonuses-page,.system-page,.fines-page{background:transparent!important;color:#24384b!important}
[class$="-toolbar"],[class*="-toolbar "],[class$="-header"],[class*="-header " ]{scrollbar-color:#bdc8d2 transparent}
[class*="-table"] th,[class*="-list"] th{background:#edf1f4!important;color:#45596b!important}
[class*="-table"] td{color:#314456!important}
[class*="-empty"],[class*="-muted"]{color:#71808d!important}
[class*="-filter"], [class*="-search"]{color:#314456!important}
/* the public form shares the same LSPD identity and paper/navy palette */
body:has(.classification-request-page){background:#f3f5f7!important}

/* =========================================================
   LSPD 3.63 — original 1878 seal / civic heritage identity
   The supplied seal is the source of all visual accents.
   ========================================================= */
:root{
 --lspd-ink:#183448;--lspd-navy:#17384f;--lspd-navy-2:#244b62;
 --lspd-blue:#315d72;--lspd-blue-soft:#e9eee9;--lspd-gold:#b58a45;
 --lspd-paper:#eee4d0;--lspd-surface:#fffaf0;--lspd-line:#d8c8a7;
 --lspd-muted:#6f756f;--lspd-text:#1d3545;
 --fib-bg:#eee4d0;--fib-panel:#fffaf0;--fib-panel-2:#f5ecd9;
 --fib-line:#d8c8a7;--fib-line-strong:#c7b58f;--fib-text:#1d3545;
 --fib-muted:#6f756f;--fib-blue:#315d72;--fib-blue-soft:#e9eee9;
 --fib-shadow:0 8px 24px rgba(53,42,23,.09)
}
html,body{background:var(--lspd-paper)!important;color:var(--lspd-text)!important}
body{background-image:repeating-linear-gradient(0deg,rgba(94,69,34,.014) 0,rgba(94,69,34,.014) 1px,transparent 1px,transparent 5px),linear-gradient(135deg,rgba(181,138,69,.045),transparent 55%)!important;background-size:auto!important}
.sidebar{background:linear-gradient(180deg,#17384f 0%,#102a3d 100%)!important;border-right:3px solid #b58a45!important}
.sidebar-header{border-bottom:1px solid rgba(224,196,139,.35)!important}
.brand-icon{background:#f8f0dc!important;border:2px solid #c59a52!important;padding:2px!important;box-shadow:0 3px 12px rgba(0,0,0,.22)!important}
.brand-icon img,.login-logo{object-fit:contain!important}
.nav-item.active{border-left-color:#e0bd78!important;background:rgba(224,189,120,.16)!important}
.nav-icon{color:#dfc28c!important}
.topbar{background:#fffaf0!important;border-bottom:1px solid #d4c19a!important}
.page-title{color:#17384f!important}
.page-title:before{color:#a77b39!important}
.content,#pageContainer,.dashboard{background:transparent!important}
.dashboard-welcome,.dashboard-stat,.dashboard-card{background:#fffaf0!important;border-color:#d7c6a2!important}
.dashboard-welcome{background:linear-gradient(110deg,#fffdf7,#f2e7cf)!important;border-left:4px solid #b58a45!important}
.dashboard-eyebrow,.dashboard-card-header-icon{color:#a27a3d!important}
.dashboard-title,.dashboard-stat-value,.dashboard-card-title{color:#17384f!important}
.dashboard-stat{border-top-color:#315d72!important}
.dashboard-stat-icon{background:#e9eee9!important;border-color:#d2d8cb!important;color:#315d72!important}
.fib-status-chip-call{background:#f6edda!important;border-color:#d7c29a!important}
.fib-status-chip-call .fib-status-chip-label{color:#94703b!important}
.fib-duty-start-button,.fib-duty-apply,button.primary,.primary-button,.btn-primary{background:#17384f!important;border-color:#b58a45!important;color:#fff!important}
.fib-duty-picker,.fib-global-modal-content,.modal-content{background:#fffaf0!important;border-color:#d6c39b!important;color:#20394b!important}
.fib-global-modal-header{background:#17384f!important;border-bottom:2px solid #b58a45!important}
input,select,textarea{background:#fffdf8!important;border-color:#cdbb96!important;color:#20394b!important}
input:focus,select:focus,textarea:focus{border-color:#b58a45!important;box-shadow:0 0 0 3px rgba(181,138,69,.14)!important}
button.secondary,.secondary-button,.btn-secondary{background:#f5ecd9!important;border-color:#cdbb96!important;color:#29465a!important}
button.danger,.btn-danger{background:#a63b32!important;border-color:#a63b32!important;color:#fff!important}
table{border-color:#d8c8a7!important}
th{background:#f0e6d2!important;color:#405768!important;border-color:#d8c8a7!important}
td{color:#314858!important;border-color:#e4d8c0!important}
.records-page,.agents-page,.patrols-page,.classification-page,.wanted-page,.warrants-page,.announcements-page,.calendar-page,.lawyers-page,.vacations-page,.logs-page,.gangs-page,.bonuses-page,.system-page,.fines-page{color:#243d4e!important}
.page-loading{color:#536b78!important}
@media(max-width:900px){.sidebar{border-right-width:2px!important}}

/* =========================================================
   LSPD 3.64 — contrast and readability correction
   The earlier global skin left legacy dark page modules untouched.
   These overrides deliberately restore clear, opaque surfaces.
   ========================================================= */

/* Personnel list and personnel-file modal */
.agents-page{color:#20384b!important}
.agents-page-title{color:#17384f!important}
.agents-page-subtitle,.agents-page-count{color:#647786!important}
.agents-search input{background:#fffdf8!important;color:#20384b!important;border:1px solid #cdbb96!important;box-shadow:inset 0 1px 2px rgba(50,38,18,.04)!important}
.agents-search input::placeholder{color:#89939a!important}
.agents-search-icon{color:#8b754f!important}
.agents-list{background:#fffaf0!important;border:1px solid #cdbb96!important;box-shadow:0 5px 18px rgba(53,42,23,.07)!important}
.agents-list-header{background:#e9ddc4!important;border-bottom:1px solid #cdbb96!important}
.agents-list-header-cell{color:#536879!important}
.agents-list-row{border-bottom:1px solid #e5d9c2!important}
.agents-list-row:hover{background:#f3ead9!important}
.agents-agent-name{color:#18384e!important}
.agents-agent-rank,.agents-service-number,.agents-organization-main{color:#526879!important}
.agents-agent-username,.agents-organization-meta span{color:#78858d!important}
.agents-avatar{border-color:#cdbb96!important;background:#f2e8d4!important}
.agents-avatar-placeholder{color:#536879!important}
.agents-file-button{background:#f3ead9!important;border:1px solid #cdbb96!important;color:#29485e!important}
.agents-file-button:hover{background:#e9ddc4!important;color:#17384f!important;border-color:#b58a45!important}
.agents-state{color:#647786!important}
.agents-loading-spinner{border-color:#d9c9aa!important;border-top-color:#315d72!important}

.agents-system-modal-overlay{background:rgba(13,29,42,.68)!important;backdrop-filter:blur(5px)!important}
.agents-system-modal{background:#fffaf0!important;border:1px solid #bda477!important;box-shadow:0 24px 70px rgba(9,22,34,.38)!important;color:#20384b!important}
.agents-system-modal-header{background:#17384f!important;border-bottom:2px solid #b58a45!important}
.agents-system-modal-title{color:#fffaf0!important}
.agents-system-modal-description{color:#d2dce1!important}
.agents-system-modal-close{background:rgba(255,255,255,.12)!important;color:#fffaf0!important}
.agents-system-modal-close:hover{background:rgba(255,255,255,.22)!important;color:#fff!important}
.agents-system-modal-body{background:#fffaf0!important;color:#20384b!important;scrollbar-color:#bda477 transparent!important}
.agents-system-modal-actions{background:#f1e6d1!important;border-top:1px solid #d8c8a7!important}
.agents-personnel-tabs{border-bottom:1px solid #d8c8a7!important}
.agents-personnel-tab{color:#687b87!important}
.agents-personnel-tab:hover{color:#17384f!important}
.agents-personnel-tab.active{color:#17384f!important}
.agents-personnel-tab.active::after{background:#b58a45!important;height:3px!important}
.agents-form{color:#20384b!important}
.agents-form-label,.agents-section-title{color:#536b7b!important}
.agents-form-input,.agents-form-select,.agents-form-textarea{background:#fffdf8!important;border:1px solid #cdbb96!important;color:#20384b!important}
.agents-form-input::placeholder,.agents-form-textarea::placeholder{color:#89939a!important}
.agents-form-input:focus,.agents-form-select:focus,.agents-form-textarea:focus{background:#fff!important;border-color:#b58a45!important;box-shadow:0 0 0 3px rgba(181,138,69,.13)!important}
.agents-rank-select-button{background:#fffdf8!important;border:1px solid #cdbb96!important;color:#20384b!important}
.agents-rank-select-button:hover{background:#f5ecd9!important;border-color:#b58a45!important}
.agents-rank-select-chevron{color:#71818b!important}
.agents-rank-select-menu{background:#fffaf0!important;border:1px solid #cdbb96!important;box-shadow:0 14px 32px rgba(35,43,47,.2)!important}
.agents-rank-option{color:#314b5d!important}
.agents-rank-option:hover,.agents-rank-option.selected{background:#eee2ca!important;color:#17384f!important}
.agents-rank-empty{color:#71818b!important}
.agents-section-card,.agents-entry-item{background:#f7efdf!important;border:1px solid #dfcfad!important;color:#294457!important}
.agents-entry-title{color:#17384f!important}
.agents-entry-meta span,.agents-entry-content{color:#607483!important}
.agents-entry-delete{background:#fffaf0!important;border:1px solid #d8c8a7!important;color:#8b6251!important}
.agents-entry-delete:hover{background:#f1e3d2!important;color:#8f302b!important}
.agents-empty-list{color:#71818b!important}
.agents-status{background:#e9e1d2!important;color:#536879!important}
.agents-status.success{background:#e1efdf!important;color:#28613b!important}
.agents-status.warning{background:#f5ecd4!important;color:#806025!important}
.agents-status.danger{background:#f5e1dc!important;color:#8e302b!important}
.agents-personnel-loading-strip{background:#f3ead9!important;border:1px solid #dfcfad!important;color:#607483!important}
.agents-system-button,.agents-small-button{background:#f3ead9!important;border:1px solid #cdbb96!important;color:#29485e!important}
.agents-system-button:hover,.agents-small-button:hover{background:#e9ddc4!important;color:#17384f!important}
.agents-small-button.primary{background:#17384f!important;border-color:#b58a45!important;color:#fffaf0!important}
.agents-small-button.primary:hover{background:#244b62!important}
.agents-system-modal [style*="rgba(255,255,255"]{color:#607483!important}

/* Dispatch / patrol board: opaque cards and readable labels */
.patrols-page{color:#20384b!important}
.patrols-title{color:#17384f!important}
.patrols-eyebrow{color:#98733c!important}
.patrols-subtitle{color:#617786!important}
.patrol-header-button{background:#17384f!important;border:1px solid #b58a45!important;color:#fffaf0!important}
.patrol-header-button:hover{background:#244b62!important}
.patrol-header-button.secondary{background:#f5ecd9!important;border:1px solid #cdbb96!important;color:#29485e!important}
.patrol-header-button.secondary:hover{background:#e9ddc4!important}
.patrol-own-status{background:linear-gradient(115deg,#fffaf0,#f0e4cd)!important;border:1px solid #cdbb96!important;box-shadow:0 5px 16px rgba(53,42,23,.07)!important}
.patrol-own-status-heading{color:#98733c!important}
.patrol-own-status-name{color:#17384f!important}
.patrol-own-status-caption,.patrol-own-status-label{color:#687b87!important}
.patrol-own-status-cell{border-left-color:#d8c8a7!important}
.patrol-own-status-value{color:#29485e!important}
.patrol-own-status-value.is-idle{color:#71818b!important}
.patrol-toolbar,.patrol-display-config{background:#fffaf0!important;border:1px solid #d8c8a7!important;box-shadow:0 4px 14px rgba(53,42,23,.045)!important}
.patrol-toolbar *,.patrol-display-config *{--patrol-text-override:#29485e}
.patrol-toolbar-section{color:#29485e!important}
.patrol-toolbar label,.patrol-toolbar .patrol-filter-label,.patrol-display-config label{color:#536b7b!important}
.patrol-toolbar input,.patrol-toolbar select,.patrol-display-config input:not([type="color"]){background:#fffdf8!important;color:#20384b!important;border-color:#cdbb96!important}
.patrol-ten-code-top{color:#536b7b!important}
.patrol-ten-code-top select{background:#fffdf8!important;color:#20384b!important;border:1px solid #cdbb96!important}
.patrol-display-config-head{color:#17384f!important}
.patrol-display-config-head button{color:#536b7b!important}
.patrol-display-config-grid input[data-patrol-hex]{background:#fffdf8!important;color:#20384b!important;border-color:#cdbb96!important}
.patrol-card{background:#fffaf0!important;border:1px solid #d8c8a7!important;box-shadow:0 3px 10px rgba(53,42,23,.055)!important;color:#29485e!important}
.patrol-card:hover{background:#f5ecd9!important;border-color:#bda477!important}
.patrol-card *{text-shadow:none!important}
.patrol-card [style*="color:"]{color:inherit}
.patrol-activity-status{background:#eee4d0!important;color:#29485e!important;border:1px solid #d8c8a7!important}
.patrol-join-button{background:#e9eee9!important;color:#315d72!important;border:1px solid #c7d3c5!important}
.patrol-join-button:hover{background:#dce8dd!important}
.patrol-modal-empty{background:#f5ecd9!important;color:#607483!important;border-color:#d8c8a7!important}
.patrols-page [style*="rgba(255,255,255"]{color:#536b7b!important}
.patrols-page [style*="background: #11161d"],.patrols-page [style*="background:#11161d"],.patrols-page [style*="background: #0d1117"],.patrols-page [style*="background:#0d1117"]{background:#fffaf0!important;color:#29485e!important}

/* Global contrast safety net for the old dark module styles */
.agents-system-modal p,.agents-system-modal span,.agents-system-modal label,.agents-system-modal div{ text-shadow:none!important }
.agents-system-modal input,.agents-system-modal select,.agents-system-modal textarea{color:#20384b!important;background:#fffdf8!important}


/* =========================================================
   LSPD 3.65 — official navy / white / gold identity
   Uses the supplied Los Santos Police Department seal.
   Readability and opaque work surfaces take priority.
   ========================================================= */
:root{
 --lspd-ink:#17283d!important;
 --lspd-navy:#102745!important;
 --lspd-navy-2:#18395e!important;
 --lspd-blue:#28527b!important;
 --lspd-blue-soft:#eaf0f6!important;
 --lspd-gold:#e2bd35!important;
 --lspd-paper:#edf1f5!important;
 --lspd-surface:#ffffff!important;
 --lspd-line:#d5dde6!important;
 --lspd-muted:#66778a!important;
 --lspd-text:#1c2d42!important;
 --fib-bg:#edf1f5!important;
 --fib-panel:#ffffff!important;
 --fib-panel-2:#f5f7fa!important;
 --fib-line:#d5dde6!important;
 --fib-line-strong:#bdc9d6!important;
 --fib-text:#1c2d42!important;
 --fib-muted:#66778a!important;
 --fib-blue:#28527b!important;
 --fib-blue-soft:#eaf0f6!important;
 --fib-shadow:0 5px 18px rgba(16,39,69,.075)!important;
}
html,body,#pageContainer,.content{background:#edf1f5!important;color:#1c2d42!important}
body{background-image:none!important}
.sidebar{background:linear-gradient(180deg,#0e2340 0%,#142f50 100%)!important;border-right:1px solid #263f5c!important;box-shadow:4px 0 18px rgba(10,27,49,.12)!important}
.sidebar-header{border-bottom:1px solid rgba(226,189,53,.32)!important}
.brand-icon{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;object-fit:contain!important;box-shadow:none!important}
.brand-title{color:#fff!important}.brand-subtitle{color:#c3cfdd!important}
.nav-section-title{color:#aab9ca!important}
.nav-item{color:#dce5ef!important}
.nav-item:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.nav-item.active{background:rgba(226,189,53,.14)!important;border-left-color:#e2bd35!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(226,189,53,.12)!important}
.nav-icon{color:#d8c16a!important}
.user-avatar{background:#eaf0f6!important;color:#173454!important;border-color:#e2bd35!important}
.topbar{background:#fff!important;border-bottom:1px solid #d8e0e8!important;box-shadow:0 2px 8px rgba(16,39,69,.04)!important}
.page-title{color:#172b45!important}
.page-title:before{color:#a88719!important}
.main,.content{background:#edf1f5!important}
.login-wrapper{color:#1c2d42!important}
#loginScreen{background:radial-gradient(ellipse at 50% 0%,rgba(226,189,53,.13),transparent 42%),linear-gradient(135deg,#0d2340,#193b60)!important}
.login-card{background:#fff!important;border:1px solid #d9e1e9!important;border-top:4px solid #e2bd35!important;color:#1c2d42!important;box-shadow:0 24px 70px rgba(0,0,0,.3)!important}
.login-logo{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;object-fit:contain!important}
.login-title{color:#142c49!important}.login-subtitle{color:#65768a!important}
.login-button,.fib-duty-start-button,.fib-duty-apply,.patrol-header-button{background:#17395f!important;border:1px solid #17395f!important;color:#fff!important}
.login-button:hover,.fib-duty-start-button:hover,.fib-duty-apply:hover,.patrol-header-button:hover{background:#24517f!important}
.dashboard,.vehicle-catalog-page,.ifines-page,.records-page,.agents-page,.patrols-page,.classification-page,.wanted-page,.warrants-page,.announcements-page,.calendar-page,.lawyers-page,.vacations-page,.logs-page,.gangs-page,.bonuses-page,.system-page,.fines-page{background:transparent!important;color:#1c2d42!important}
.dashboard-welcome,.dashboard-stat,.dashboard-card,.dashboard-card-body,
[class*="-panel"],[class*="-section-card"],[class*="-toolbar"],[class*="-display-config"],
.fib-duty-picker,.fib-global-modal-content,.modal-content{
 background:#fff!important;color:#1c2d42!important;border:1px solid #d8e0e8!important;box-shadow:0 4px 16px rgba(16,39,69,.055)!important
}
.dashboard-welcome{border-left:4px solid #e2bd35!important;background:linear-gradient(100deg,#fff,#f5f8fb)!important}
.dashboard-eyebrow,.dashboard-card-header-icon,.patrols-eyebrow{color:#a18418!important}
.dashboard-title,.dashboard-stat-value,.dashboard-card-title,.patrols-title{color:#172f4e!important}
.dashboard-subtitle,.dashboard-stat-label,.dashboard-stat-subtitle,.patrols-subtitle{color:#65768a!important}
.dashboard-card-header{background:#f3f6f9!important;border-bottom:1px solid #dce3ea!important}
.dashboard-quick-action{background:#f4f7fa!important;border:1px solid #d9e1e9!important;color:#234361!important}
.dashboard-quick-action:hover{background:#eaf0f6!important;border-color:#c5a52c!important}
input,select,textarea,.agents-form-input,.agents-form-select,.agents-form-textarea{
 background:#fff!important;border:1px solid #cbd5df!important;color:#1c2d42!important
}
input::placeholder,textarea::placeholder{color:#8794a2!important}
input:focus,select:focus,textarea:focus{border-color:#b99a28!important;box-shadow:0 0 0 3px rgba(226,189,53,.16)!important}
button.primary,.primary-button,.btn-primary,.agents-small-button.primary{background:#17395f!important;border-color:#17395f!important;color:#fff!important}
button.secondary,.secondary-button,.btn-secondary,.agents-system-button,.agents-small-button{background:#f1f4f7!important;border-color:#d2dbe4!important;color:#28435f!important}
button.danger,.btn-danger{background:#a63b42!important;color:#fff!important}
table{background:#fff!important;border-color:#d8e0e8!important}
th{background:#eaf0f5!important;color:#304a65!important;border-color:#d8e0e8!important}
td{background:#fff!important;color:#304255!important;border-color:#e4e9ee!important}
tr:hover td{background:#f7f9fb!important}
.fib-global-modal-header,.agents-system-modal-header{background:#102b4b!important;border-bottom:2px solid #e2bd35!important;color:#fff!important}
.fib-global-modal-header *,.agents-system-modal-header *{color:inherit!important}
.fib-global-modal-content,.modal-content,.agents-system-modal,.agents-system-modal-body{background:#fff!important;color:#1c2d42!important}
.agents-system-modal-actions{background:#f2f5f8!important;border-top:1px solid #d8e0e8!important}
.agents-system-modal-title{color:#fff!important}
.agents-system-modal-description{color:#d4deea!important}
.agents-personnel-tabs{background:#f5f7fa!important;border-bottom:1px solid #d8e0e8!important}
.agents-personnel-tab{color:#64758a!important}
.agents-personnel-tab.active{color:#17395f!important}
.agents-personnel-tab.active:after{background:#e2bd35!important}
.agents-section-card,.agents-entry-item{background:#f7f9fb!important;border:1px solid #dce3ea!important;color:#304255!important}
.agents-entry-title,.agents-agent-name{color:#17395f!important}
.agents-entry-meta span,.agents-entry-content,.agents-agent-rank,.agents-service-number,.agents-organization-main{color:#53677d!important}
.agents-list-row{border-bottom:1px solid #e2e8ee!important}
.agents-list-row:hover{background:#f2f6fa!important}
.agents-avatar{background:#eaf0f6!important;border-color:#d1dce7!important}
.agents-avatar-placeholder{color:#365573!important}
.agents-file-button{background:#eef3f8!important;border:1px solid #d2dce6!important;color:#254766!important}
.agents-form-label,.agents-section-title{color:#415a73!important}
.agents-rank-select-button,.agents-rank-select-menu{background:#fff!important;border-color:#cbd5df!important;color:#1c2d42!important}
.agents-rank-option{color:#30475f!important}
.agents-rank-option:hover,.agents-rank-option.selected{background:#eaf0f6!important;color:#17395f!important}
.agents-status{background:#edf1f5!important;color:#40566d!important}
.agents-status.success{background:#e4f2e8!important;color:#24623b!important}
.agents-status.warning{background:#fff4d5!important;color:#775d10!important}
.agents-status.danger{background:#fae7e7!important;color:#92363b!important}
.patrol-own-status{background:#fff!important;border:1px solid #d8e0e8!important;box-shadow:0 4px 15px rgba(16,39,69,.055)!important}
.patrol-own-status-heading{color:#9a7b14!important}
.patrol-own-status-name,.patrol-own-status-value{color:#17395f!important}
.patrol-own-status-caption,.patrol-own-status-label{color:#68798b!important}
.patrol-toolbar,.patrol-display-config{background:#fff!important;border:1px solid #d8e0e8!important}
.patrol-toolbar label,.patrol-toolbar .patrol-filter-label,.patrol-display-config label,.patrol-toolbar-section{color:#405a74!important}
.patrol-card{background:#fff!important;border:1px solid #d8e0e8!important;box-shadow:0 3px 12px rgba(16,39,69,.05)!important;color:#243b54!important}
.patrol-card:hover{background:#f7f9fb!important;border-color:#c5a52c!important}
.patrol-card *{text-shadow:none!important}
.patrol-activity-status{background:#edf2f6!important;color:#28435f!important;border:1px solid #d8e0e8!important}
.patrol-modal-empty{background:#f4f7fa!important;color:#61748a!important;border-color:#d8e0e8!important}
.patrol-join-button{background:#e8f1eb!important;color:#236341!important;border:1px solid #c9dfd0!important}
.patrols-page [style*="rgba(255,255,255"]{color:#52667c!important}
.fib-status-chip{background:#f3f6f9!important;border:1px solid #d8e0e8!important;color:#203b58!important}
.fib-status-chip-label{color:#6b7d90!important}
.fib-status-chip strong{color:#203b58!important}
.fib-status-chip-call{background:#fff8df!important;border-color:#eadb9c!important}
.fib-duty-picker{background:#fff!important;color:#203b58!important}
.fib-duty-picker-head,.fib-duty-picker-footer{border-color:#dce3ea!important}
.fib-duty-picker-label{color:#62758a!important}
body:has(.classification-request-page){background:#edf1f5!important}
.classification-request-page,.classification-request-page *{color:inherit}
.classification-request-page{background:#edf1f5!important;color:#1c2d42!important}
.classification-request-page .card,.classification-request-page form{background:#fff!important;border:1px solid #d8e0e8!important;box-shadow:0 8px 26px rgba(16,39,69,.07)!important}
.classification-request-page .brand img{background:transparent!important;border:0!important;border-radius:0!important}

/* ============================================================
   LSPD 3.66 — unified blue / gold panel system
   Final layer normalizes legacy page modules without changing
   their behavior or data flow.
   ============================================================ */
:root{
  --lspd-navy:#0d2342;--lspd-navy-2:#17395f;--lspd-blue:#245889;
  --lspd-blue-soft:#eaf1f8;--lspd-gold:#e5c229;--lspd-paper:#eef2f7;
  --lspd-surface:#fff;--lspd-line:#d5deea;--lspd-muted:#64758a;
  --lspd-text:#1b2d43;--fib-bg:#eef2f7;--fib-panel:#fff;
  --fib-panel-2:#f5f8fb;--fib-line:#d5deea;--fib-line-strong:#b9c8d9;
  --fib-text:#1b2d43;--fib-muted:#64758a;--fib-blue:#245889;
  --fib-blue-soft:#eaf1f8;--fib-shadow:0 5px 18px rgba(13,35,66,.07);
}
html,body,#pageContainer,.main,.content,.dashboard,.agents-page,.patrols-page,
.records-page,.classification-page,.wanted-page,.warrants-page,.announcements-page,
.calendar-page,.lawyers-page,.vacations-page,.logs-page,.gangs-page,.bonuses-page,
.system-page,.fines-page,.ifines-page,.vehicle-catalog-page{
 background-color:#eef2f7!important;color:#1b2d43!important;
}
/* Solid shared surfaces replace transparent and legacy dark panels. */
.dashboard-welcome,.dashboard-stat,.dashboard-card,.agents-toolbar,.agents-list,
.agents-system-modal,.agents-system-modal-body,.agents-section-card,.agents-entry-item,
.agents-personnel-tabs,.agents-training-form,.agents-note-form,.patrol-own-status,
.patrol-toolbar,.patrol-display-config,.patrol-card,.records-detail-content,
.records-detail-panel,.records-card,.records-toolbar,.classification-card,
.classification-toolbar,.wanted-card,.warrants-card,.announcement-card,.calendar-card,
.lawyer-card,.vacation-card,.logs-card,.gang-card,.bonus-card,.system-card,
.ifines-card,.ifines-lawbook-table,.vehicle-card,.vehicle-catalog-card,
[class*="detail-panel"],[class*="detail-card"],[class*="content-panel"],
[class*="content-card"],[class*="section-panel"],[class*="section-card"],
[class*="settings-panel"],[class*="management-panel"]{
 background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important;
 box-shadow:0 4px 16px rgba(13,35,66,.055)!important;
}
/* Header bars: official navy with a restrained yellow accent. */
.agents-list-header,.dashboard-card-header,.patrol-toolbar-header,
.records-detail-header,.classification-card-header,.ifines-card-header,
[class*="panel-header"],[class*="section-header"]{
 background:#f2f6fa!important;color:#17395f!important;border-color:#d5deea!important;
}
.agents-system-modal-header,.fib-global-modal-header{
 background:#102b4b!important;color:#fff!important;border-bottom:2px solid #e5c229!important;
}
.agents-system-modal-header *,.fib-global-modal-header *{color:inherit!important}
/* Personnel list and personnel file. */
.agents-page,.agents-page *{text-shadow:none!important}
.agents-page-header,.agents-toolbar,.agents-list{background:#fff!important}
.agents-page-title,.agents-agent-name,.agents-entry-title,.agents-section-title,
.agents-form-label,.agents-list-header-cell{color:#17395f!important}
.agents-page-subtitle,.agents-agent-rank,.agents-agent-username,.agents-service-number,
.agents-organization-meta,.agents-entry-meta,.agents-entry-content,.agents-empty-list,
.agents-form-help,.agents-section-description{color:#5e7187!important}
.agents-list-header{background:#eaf0f6!important}
.agents-list-row{background:#fff!important;border-color:#e0e7ef!important}
.agents-list-row:hover{background:#f4f7fb!important}
.agents-personnel-tabs{background:#f1f5f9!important}
.agents-personnel-tab{background:transparent!important;color:#526981!important}
.agents-personnel-tab.active{background:#fff!important;color:#17395f!important}
.agents-section-card,.agents-entry-item{background:#f8fafc!important}
.agents-form-input,.agents-form-select,.agents-form-textarea,
.agents-rank-select-button,.agents-rank-select-menu{
 background:#fff!important;color:#1b2d43!important;border:1px solid #cbd7e4!important;
}
.agents-rank-option{color:#304b68!important}
.agents-rank-option:hover,.agents-rank-option.selected{background:#eaf1f8!important;color:#17395f!important}
/* Dispatch / patrol list. */
.patrols-page,.patrols-page *{text-shadow:none!important}
.patrols-title,.patrol-own-status-name,.patrol-own-status-value,.patrol-card-title,
.patrol-member-name,.patrol-location,.patrol-vehicle,.patrol-empty-title{color:#17395f!important}
.patrols-eyebrow,.patrol-own-status-heading{color:#987a12!important}
.patrols-subtitle,.patrol-own-status-caption,.patrol-own-status-label,
.patrol-toolbar label,.patrol-toolbar-section,.patrol-empty-text{color:#60748a!important}
.patrol-own-status,.patrol-toolbar,.patrol-display-config,.patrol-card,.patrol-empty{
 background:#fff!important;border:1px solid #d5deea!important;
}
.patrol-card{border-radius:9px!important;box-shadow:0 3px 12px rgba(13,35,66,.06)!important}
.patrol-card:hover{background:#f5f8fc!important;border-color:#c6a928!important}
.patrol-display-config-head,.patrol-display-config-grid label,.patrol-ten-code-top{color:#405a75!important}
.patrol-ten-code-top select,.patrol-display-config-grid input[data-patrol-hex]{
 background:#fff!important;color:#1b2d43!important;border:1px solid #cbd7e4!important;
}
.patrol-display-config-grid input[type=color]{background:#fff!important;border:1px solid #cbd7e4!important}
.patrol-member{background:#f0f4f8!important;border:1px solid #dce4ed!important}
.patrol-member-rank,.patrol-member-callsign{color:#63778d!important}
.patrol-activity-status{background:#eaf1f8!important;color:#244b70!important;border:1px solid #d2dfeb!important}
.patrol-join-button{background:#eaf1f8!important;color:#1c5687!important;border:1px solid #c9d9e8!important}
.patrol-action-button{background:#f1f5f9!important;color:#294966!important;border:1px solid #d5deea!important}
/* Classification request cards and review areas. */
.classification-card{background:#fff!important;border:1px solid #d7e0e9!important;border-radius:10px!important}
.classification-card-header,.classification-card-body,.classification-card-footer{color:#1b2d43!important}
.classification-card-title,.classification-detail-value{color:#17395f!important}
.classification-card-eyebrow,.classification-detail-label,.classification-meta{color:#65788d!important}
.classification-reason,.classification-review{background:#f4f7fa!important;color:#304a65!important;border-color:#dce4ec!important}
.classification-badge.organization{background:#eaf1f8!important;color:#214f78!important}
.classification-action{background:#f0f4f8!important;color:#284967!important;border-color:#d5deea!important}
.classification-action.primary{background:#17395f!important;color:#fff!important;border-color:#17395f!important}
/* Record and warrant details. */
.records-page,.records-page *,.warrants-page,.warrants-page *,
.wanted-page,.wanted-page *{text-shadow:none!important}
.records-detail-content,.records-detail-panel{background:#fff!important;color:#1b2d43!important}
.records-detail-content h1,.records-detail-content h2,.records-detail-content h3,
.records-detail-content strong{color:#17395f!important}
.records-detail-content p,.records-detail-content label,.records-detail-content span{color:#40566e!important}
/* Internal fine catalog — remove the remaining dark FIB-style subtheme. */
.ifines-page{background:transparent!important;color:#1b2d43!important}
.ifines-top{background:#102b4b!important;border-bottom:2px solid #e5c229!important;box-shadow:0 5px 18px rgba(13,35,66,.10)!important}
.ifines-eyebrow{color:#e5c229!important}.ifines-title{color:#fff!important}.ifines-subtitle{color:#d0dbe7!important}
.ifines-tabs{border-color:#d5deea!important}.ifines-tab{color:#5b7088!important}
.ifines-tab.active{color:#17395f!important;background:#eaf1f8!important;border-bottom-color:#e5c229!important}
.ifines-page input,.ifines-page select,.ifines-page textarea{background:#fff!important;border:1px solid #cbd7e4!important;color:#1b2d43!important}
.ifines-page button{background:#17395f!important;border:1px solid #17395f!important;color:#fff!important}
.ifines-page button.secondary{background:#f0f4f8!important;border-color:#d5deea!important;color:#294966!important}
.ifines-card,.ifines-lawbook-table{background:#fff!important;border:1px solid #d5deea!important;box-shadow:0 4px 16px rgba(13,35,66,.055)!important}
.ifines-table th{background:#eaf0f6!important;color:#304b68!important;border-color:#d5deea!important}
.ifines-table td{background:#fff!important;color:#30465e!important;border-color:#e1e7ee!important}
.ifines-category-row td{background:#edf3f8!important;color:#17395f!important;border-color:#d5deea!important}
.ifines-paragraph,.ifines-offense{color:#1b2d43!important}.ifines-table-value{color:#245889!important}
/* Normalize known hard-coded dark dispatch panels while preserving status chips. */
.patrols-page [style*="background: #11161d"],.patrols-page [style*="background:#11161d"],
.patrols-page [style*="background: #0d1117"],.patrols-page [style*="background:#0d1117"],
.patrols-page [style*="background: #151b23"],.patrols-page [style*="background:#151b23"],
.patrols-page [style*="background: #17212e"],.patrols-page [style*="background:#17212e"],
.patrols-page [style*="background: #202b3b"],.patrols-page [style*="background:#202b3b"]{
 background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important;
}
.fib-duty-picker,.fib-duty-picker *{color:#1b2d43!important}
.fib-duty-picker{background:#fff!important;border:1px solid #d5deea!important}
.fib-duty-picker-head,.fib-duty-picker-footer{background:#f3f6fa!important;border-color:#d5deea!important}
.fib-duty-picker-label{color:#5d7188!important}
.fib-status-chip{background:#edf3f8!important;color:#17395f!important;border-color:#d5deea!important}
.fib-status-chip-label{color:#62768c!important}
.fib-status-chip-call{background:#fff8db!important;border-color:#e8d47a!important}
.fib-status-chip-call .fib-status-chip-label{color:#80670d!important}
@media(max-width:760px){.agents-page,.patrols-page,.records-page,.classification-page,.ifines-page{padding-left:14px!important;padding-right:14px!important}}
/* Higher-specificity page-scoped rules win over styles embedded in lazy-loaded pages. */
.agents-page .agents-toolbar,.agents-page .agents-list,.agents-page .agents-section-card,
.agents-page .agents-entry-item,.agents-page .agents-personnel-tabs,
.agents-page .agents-training-form,.agents-page .agents-note-form,
.agents-page .agents-system-modal,.agents-page .agents-system-modal-body{
 background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important;
}
.agents-page .agents-section-card,.agents-page .agents-entry-item{background:#f8fafc!important}
.agents-page .agents-list-header{background:#eaf0f6!important}
.agents-page .agents-list-row{background:#fff!important;color:#30465e!important}
.agents-page .agents-list-row:hover{background:#f4f7fb!important}
.agents-page .agents-personnel-tabs{background:#f1f5f9!important}
.agents-page .agents-personnel-tab{color:#526981!important}
.agents-page .agents-personnel-tab.active{background:#fff!important;color:#17395f!important}
.agents-page .agents-entry-title,.agents-page .agents-agent-name,
.agents-page .agents-section-title,.agents-page .agents-form-label{color:#17395f!important}
.agents-page .agents-entry-meta,.agents-page .agents-entry-content,
.agents-page .agents-agent-rank,.agents-page .agents-service-number{color:#5e7187!important}
.agents-page .agents-form-input,.agents-page .agents-form-select,
.agents-page .agents-form-textarea,.agents-page .agents-rank-select-button,
.agents-page .agents-rank-select-menu{background:#fff!important;color:#1b2d43!important;border-color:#cbd7e4!important}
.patrols-page .patrol-own-status,.patrols-page .patrol-toolbar,
.patrols-page .patrol-display-config,.patrols-page .patrol-card,
.patrols-page .patrol-empty{background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important}
.patrols-page .patrol-card:hover{background:#f5f8fc!important;border-color:#c6a928!important}
.patrols-page .patrol-display-config-grid label,.patrols-page .patrol-ten-code-top,
.patrols-page .patrol-toolbar label,.patrols-page .patrol-toolbar-section{color:#405a75!important}
.patrols-page .patrol-display-config-grid input[data-patrol-hex],
.patrols-page .patrol-ten-code-top select{background:#fff!important;color:#1b2d43!important;border-color:#cbd7e4!important}
.patrols-page .patrol-own-status-name,.patrols-page .patrol-own-status-value,
.patrols-page .patrol-member-name,.patrols-page .patrol-location,
.patrols-page .patrol-vehicle{color:#17395f!important}
.ifines-page .ifines-top{background:#102b4b!important}
.ifines-page .ifines-card,.ifines-page .ifines-lawbook-table{background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important}
.ifines-page .ifines-table th{background:#eaf0f6!important;color:#304b68!important}
.ifines-page .ifines-table td{background:#fff!important;color:#30465e!important}
.classification-page .classification-card{background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important}
.classification-page .classification-card-title,.classification-page .classification-detail-value{color:#17395f!important}
.records-page .records-detail-content,.records-page .records-detail-panel{background:#fff!important;color:#1b2d43!important}

/* =====================================================================
   LSPD 3.67 — COMPLETE PAGE / PANEL NORMALIZATION
   Last cascade layer. Audited against every public/pages/*.html module.
   Identity: seal navy + seal gold; neutral white / cool-grey work surfaces.
   ===================================================================== */
:root{
 --lspd-navy:#10284b!important; --lspd-navy-2:#173b68!important;
 --lspd-blue:#24568a!important; --lspd-blue-soft:#eaf1f8!important;
 --lspd-gold:#e3c52b!important; --lspd-paper:#eef2f7!important;
 --lspd-surface:#fff!important; --lspd-line:#d5deea!important;
 --lspd-muted:#64758a!important; --lspd-text:#1b2d43!important;
 --fib-bg:#eef2f7!important; --fib-panel:#fff!important;
 --fib-panel-2:#f5f8fb!important; --fib-line:#d5deea!important;
 --fib-line-strong:#b9c8d9!important; --fib-text:#1b2d43!important;
 --fib-muted:#64758a!important; --fib-blue:#24568a!important;
 --fib-blue-soft:#eaf1f8!important;
 --fib-shadow:0 5px 18px rgba(16,40,75,.075)!important;
 color-scheme:light;
}
html,body,#pageContainer,.main,.content{background:#eef2f7!important;color:#1b2d43!important}
#pageContainer{min-height:calc(100vh - 76px)!important}
/* Each page root receives the same predictable canvas and text baseline. */
:is(.dashboard,.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page){
 color:#1b2d43!important;background:transparent!important;
}
:is(.dashboard,.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page) :is(h1,h2,h3,h4,h5,h6,.title,.heading){color:#173b68!important}
/* Common panel/card families across all modules. */
:is(.dashboard,.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is([class*="-card"],[class*="-panel"],[class*="-section"],[class*="-detail-card"],
[class*="-stat"],[class*="-item"],[class*="-box"],[class*="-list"],[class*="-table-wrap"]):not([class*="-badge"]):not([class*="-status"]):not([class*="-icon"]){
 background-color:#fff!important;color:#1b2d43!important;
 border-color:#d5deea!important;box-shadow:0 4px 15px rgba(16,40,75,.055)!important;
}
/* Toolbar, filter bars and section headers must never inherit dark legacy fills. */
:is(.agents-toolbar,.patrol-toolbar,.classifications-toolbar,.wanted-toolbar,
.warrants-toolbar,.vc-toolbar,.system-toolbar,.mdt-module .toolbar,
.records-toolbar,.ifines-toolbar,.dashboard-card-header,
.agents-list-header,.classifications-panel-header,.wanted-section-header,
.warrants-analysis-header,.system-section-header){
 background:#eaf0f6!important;color:#294663!important;
 border-color:#d5deea!important;
}
/* Headers with explicit LSPD brand are navy with gold separator. */
:is(.agents-system-modal-header,.fib-global-modal-header,.ifines-top){
 background:#10284b!important;color:#fff!important;border-color:#e3c52b!important;
}
:is(.agents-system-modal-header,.fib-global-modal-header,.ifines-top) *{color:inherit!important}
/* Every page's text roles use a single contrast hierarchy. */
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(p,span,label,small,td,th,li,.description,.subtitle,.meta,.muted,.empty,.help-text){
 text-shadow:none!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(.subtitle,.sub,.meta,.muted,.description,.help,.hint,.empty,.empty-text,
[class*="-subtitle"],[class*="-meta"],[class*="-muted"],[class*="-description"],
[class*="-help"],[class*="-hint"],[class*="-empty"]){color:#65788e!important}
/* Buttons: primary navy, secondary cool grey, danger reserved for destructive action. */
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(button,.button,[class*="-button"],[class*="-btn"]):not(.danger):not(.delete):not(.remove):not(.reject):not(.terminate):not(.is-danger){
 border-color:#cbd7e4;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(button.primary,.primary-button,.btn-primary,.wanted-btn.primary,
.classifications-button.primary,.vc-button.primary,.system-button.primary,
.patrol-header-button,.agents-small-button.primary){
 background:#173b68!important;color:#fff!important;border:1px solid #173b68!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(button.secondary,.secondary-button,.btn-secondary,.system-action-button,
.patrol-action-button,.patrol-join-button,.agents-system-button,.agents-small-button,
.classification-action:not(.primary),.vc-filter,.wanted-filter){
 background:#f0f4f8!important;color:#294663!important;border:1px solid #d5deea!important;
}
/* Inputs and native/custom select controls across every view. */
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea,
[class*="-search"],.classifications-select,.wanted-search,.warrants-search,.vc-field){
 background:#fff!important;color:#1b2d43!important;border:1px solid #cbd7e4!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(input,select,textarea,button):focus-visible{
 outline:2px solid rgba(227,197,43,.65)!important;outline-offset:2px!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
input::placeholder, :is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page) textarea::placeholder{color:#8998a8!important}
/* Tables: consistent header band, white rows, readable hover. */
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page) table{
 width:100%;border-collapse:separate;border-spacing:0;background:#fff!important;
 color:#1b2d43!important;border-color:#d5deea!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page) table th{
 background:#eaf0f6!important;color:#294663!important;border-color:#d5deea!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page) table td{
 background:#fff!important;color:#344b63!important;border-color:#e2e8ef!important;
}
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page) table tbody tr:hover td{background:#f4f7fb!important}
/* Personnel page — full file, all tabs, records, training and sanctions. */
.agents-list,.agents-system-modal,.agents-system-modal-body,.agents-section-card,
.agents-entry-item,.agents-note-list,.agents-training-list,.agents-form,
.agents-personnel-tabs{background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important}
.agents-list-header{background:#eaf0f6!important}
.agents-list-header-cell,.agents-section-title,.agents-form-label{color:#294663!important}
.agents-list-row{background:#fff!important;border-color:#e2e8ef!important}
.agents-list-row:hover{background:#f4f7fb!important}
.agents-agent-name,.agents-entry-title{color:#173b68!important}
.agents-agent-rank,.agents-agent-username,.agents-service-number,.agents-entry-meta,.agents-entry-content{color:#65788e!important}
.agents-section-card,.agents-entry-item{background:#f8fafc!important}
.agents-personnel-tab{color:#526981!important;background:transparent!important}
.agents-personnel-tab.active{background:#fff!important;color:#173b68!important;border-color:#e3c52b!important}
.agents-system-modal-overlay{background:rgba(9,25,45,.68)!important}
.agents-system-modal{background:#fff!important;border:1px solid #cbd7e4!important}
.agents-system-modal-header{background:#10284b!important;border-bottom:3px solid #e3c52b!important}
.agents-system-modal-body{background:#fff!important}
.agents-system-modal-actions{background:#f0f4f8!important;border-color:#d5deea!important}
.agents-form-input,.agents-form-select,.agents-form-textarea,.agents-rank-select-button{background:#fff!important;color:#1b2d43!important;border-color:#cbd7e4!important}
.agents-rank-select-menu{background:#fff!important;color:#1b2d43!important;border-color:#cbd7e4!important}
.agents-rank-option{color:#294663!important}
.agents-rank-option:hover,.agents-rank-option.selected{background:#eaf1f8!important;color:#173b68!important}
/* Dispatch — status colors remain meaningful; all surrounding panels are neutral. */
.patrol-own-status,.patrol-toolbar,.patrol-display-config,.patrol-card,.patrol-empty,
.fib-duty-picker{background:#fff!important;color:#1b2d43!important;border:1px solid #d5deea!important}
.patrol-card{box-shadow:0 4px 14px rgba(16,40,75,.06)!important}
.patrol-card-title,.patrol-member-name,.patrol-location,.patrol-vehicle,
.patrol-own-status-name,.patrol-own-status-value{color:#173b68!important}
.patrol-toolbar-section,.patrol-own-status-label,.patrol-own-status-caption,
.patrol-member-rank,.patrol-member-callsign{color:#65788e!important}
.patrol-member{background:#f0f4f8!important;color:#294663!important;border-color:#dce4ed!important}
.patrol-activity-status{background:#eaf1f8!important;color:#244f7b!important;border-color:#cbdbea!important}
.patrol-join-button,.patrol-action-button{background:#f0f4f8!important;color:#294663!important;border-color:#d5deea!important}
.fib-duty-picker-head,.fib-duty-picker-footer{background:#f0f4f8!important;color:#294663!important;border-color:#d5deea!important}
.fib-duty-picker-label{color:#65788e!important}
/* Classification dashboard and individual requests. */
.classifications-overview,.classifications-stat,.classifications-tabs-wrap,
.classifications-toolbar,.classifications-panel,.classification-card,
.classification-card-header,.classification-card-body,.classification-card-footer,
.classification-reason,.classification-review,.classification-confirm-box{
 background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important;
}
.classifications-stat-label,.classifications-panel-subtitle,.classifications-panel-meta,
.classification-detail-label,.classification-meta{color:#65788e!important}
.classifications-stat-value,.classifications-panel-title,.classification-card-title,
.classification-detail-value{color:#173b68!important}
.classifications-tab{color:#526981!important}
.classifications-tab.active{color:#173b68!important;background:#fff!important;border-bottom:3px solid #e3c52b!important}
.classification-reason,.classification-review{background:#f4f7fa!important}
.classification-action.primary,.classifications-button.primary{background:#173b68!important;color:#fff!important}
/* Wanted / warrants / records / vehicle catalog. */
.wanted-toolbar,.wanted-section,.wanted-table-wrap,.wanted-detail-card,
.warrants-analysis,.warrants-analysis-card,.warrant-card-details,
.records-detail-content,.records-detail-panel,.vc-card,.vc-admin,
.vc-form-grid,.vc-image,.vc-card-body{background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important}
.wanted-section-header,.warrants-analysis-header,.vc-card-top{background:#eaf0f6!important;color:#294663!important}
.wanted-title,.warrants-title,.vc-title,.vc-name,.records-detail-content h1,
.records-detail-content h2,.records-detail-content h3{color:#173b68!important}
.wanted-stat,.warrants-stat-card{background:#fff!important;border-color:#d5deea!important}
.wanted-stat-value,.warrants-stat-value{color:#173b68!important}
.wanted-table th,.system-table th{background:#eaf0f6!important;color:#294663!important}
.wanted-table td,.system-table td{background:#fff!important;color:#344b63!important}
.wanted-search,.warrants-search,.vc-search,.vc-field{background:#fff!important;color:#1b2d43!important}
.vc-filter{background:#f0f4f8!important;color:#294663!important}
.vc-filter.active{background:#173b68!important;color:#fff!important;border-color:#173b68!important}
.vc-tag{background:#eaf1f8!important;color:#244f7b!important}
/* Generic modules: announcements, calendar, vacations, lawyers, bonuses, logs, gangs. */
.mdt-module{background:transparent!important;color:#1b2d43!important}
.mdt-module .toolbar,.mdt-module .form,.mdt-module .items,.mdt-module .item,
.mdt-module .itemhead,.mdt-module .message,.mdt-module .empty{
 background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important;
}
.mdt-module .itemhead{background:#eaf0f6!important;color:#294663!important}
.mdt-module h2,.mdt-module h3,.mdt-module .item h3{color:#173b68!important}
.mdt-module .sub,.mdt-module .meta,.mdt-module .desc{color:#65788e!important}
.mdt-module input,.mdt-module textarea,.mdt-module select{background:#fff!important;color:#1b2d43!important;border-color:#cbd7e4!important}
.mdt-module button{background:#173b68!important;color:#fff!important;border-color:#173b68!important}
.mdt-module button.secondary{background:#f0f4f8!important;color:#294663!important;border-color:#d5deea!important}
.mdt-module button.danger{background:#a63b3b!important;color:#fff!important;border-color:#a63b3b!important}
/* System settings, fines and internal fine catalog. */
.system-section,.system-toolbar,.system-table-wrapper,.system-table,
.ifines-card,.ifines-lawbook-table,.ifines-category,.ifines-entry,
.fines-card,.fines-table-wrapper{background:#fff!important;color:#1b2d43!important;border-color:#d5deea!important}
.system-section.active{background:#fff!important}
.system-toolbar-title,.system-table td,.system-table-muted{color:#344b63!important}
.system-button,.system-action-button{background:#f0f4f8!important;color:#294663!important;border-color:#d5deea!important}
.system-button.primary{background:#173b68!important;color:#fff!important}
.system-button.danger{background:#a63b3b!important;color:#fff!important}
.ifines-top{background:#10284b!important;border-bottom:3px solid #e3c52b!important}
.ifines-title{color:#fff!important}.ifines-eyebrow{color:#e3c52b!important}.ifines-subtitle{color:#d6e0ec!important}
.ifines-tabs{border-color:#d5deea!important}.ifines-tab{color:#526981!important}
.ifines-tab.active{background:#eaf1f8!important;color:#173b68!important;border-bottom-color:#e3c52b!important}
.ifines-card,.ifines-lawbook-table{background:#fff!important;color:#1b2d43!important}
.ifines-table th{background:#eaf0f6!important;color:#294663!important}
.ifines-table td{background:#fff!important;color:#344b63!important}
.ifines-category-row td{background:#edf3f8!important;color:#173b68!important}
/* Shared dialogs, overlays, popovers and dropdown menus. */
:is(.modal-content,.fib-global-modal-content,.fib-duty-picker,
.agents-rank-select-menu,.dropdown-menu,[role="listbox"],.popover-content){
 background:#fff!important;color:#1b2d43!important;border:1px solid #cbd7e4!important;
 box-shadow:0 18px 48px rgba(16,40,75,.18)!important;
}
:is(.modal-content,.fib-global-modal-content,.fib-duty-picker,
.agents-rank-select-menu,.dropdown-menu,[role="listbox"],.popover-content) :is(label,p,span,div){color:inherit}
:is(.modal-header,.fib-global-modal-header){background:#10284b!important;color:#fff!important;border-bottom:3px solid #e3c52b!important}
:is(.modal-header,.fib-global-modal-header) *{color:#fff!important}
/* Avoid accidental white text on white panels from legacy inherited declarations. */
:is(.agents-page,.patrols-page,.classifications-page,.classification-page,
.wanted-page,.warrants-page,.records-page,.vehicle-catalog-page,.ifines-page,
.mdt-module,.system-page,.fines-page,.logs-page,.gangs-page,.bonuses-page,
.calendar-page,.announcements-page,.lawyers-page,.vacations-page)
:is(.text-white,.text-light,.light-text){color:#294663!important}
@media(max-width:900px){.sidebar{background:#10284b!important}.main{padding-left:68px!important}}
