@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700;800&display=swap');
:root{font-family:'Source Sans 3',Arial,sans-serif;color:#202a38;background:#eef1f5;color-scheme:light;--navy:#17253b;--blue:#234d80;--gold:#d9ad37;--border:#cdd4de;--muted:#566477}*{box-sizing:border-box}body{margin:0;background:#eef1f5}a{color:#205084;text-decoration:none}a:hover{text-decoration:underline}.site-wrap{max-width:1480px;margin:auto;padding:22px 28px}.official-header{background:var(--blue);border-top:6px solid var(--gold);color:white}.official-header .site-wrap{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px}.header-logo{width:73px;height:83px;object-fit:contain;flex:none}.official-wordmark{flex:1}.department-name{font-size:clamp(19px,2.4vw,29px);letter-spacing:.035em;font-weight:800;line-height:1.13}.department-caption{font-size:12px;font-weight:700;letter-spacing:.16em;color:#dce7f3;margin-top:5px}.site-tag{font-size:11px;text-transform:uppercase;letter-spacing:.1em;border:1px solid #8eafcf;padding:6px 11px}.gov-nav{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}.gov-nav .site-wrap{padding-top:0;padding-bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.gov-nav a{display:inline-block;color:white;padding:13px 15px;font-size:13px;font-weight:700}.gov-nav a:hover,.gov-nav a.active{background:#34516f;text-decoration:none}.gov-nav a.logout-link{margin-left:auto}.page-head{background:white;border:1px solid var(--border);border-top:0;border-bottom:3px solid var(--blue);padding:18px 22px;margin-bottom:24px;display:flex;justify-content:space-between;gap:18px;align-items:center}.eyebrow{color:#526b8c;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 4px}.page-head h1{font-size:26px;margin:0;color:#172d48}.page-head small{color:var(--muted)}main.site-wrap{padding-top:24px;padding-bottom:70px}.panel{background:white;border:1px solid var(--border);margin:0 0 20px;padding:0;box-shadow:0 1px 2px #17253b12}.panel-heading{background:var(--navy);color:white;font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;padding:10px 14px;margin:0}.panel-body{padding:18px}.panel-body p{margin-top:0}.grid-dashboard{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{border:1px solid var(--border);padding:16px;background:#f8fafc}.stat b{display:block;font-size:30px;color:var(--blue);line-height:1.1}.stat span{display:block;margin-top:5px;font-size:12px;font-weight:700;text-transform:uppercase;color:#526075}.muted{color:var(--muted)}.button,button{background:var(--blue);color:white;padding:10px 15px;border:1px solid #173d66;border-radius:2px;font:700 13px inherit;cursor:pointer;display:inline-block}.button:hover,button:hover{background:#163757;color:white;text-decoration:none}.search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}input,select{border:1px solid #aebdce;background:white;color:#182a3e;padding:11px;min-width:0;font:inherit;border-radius:2px}.search input{flex:1;min-width:230px}input:focus,select:focus{outline:2px solid #7b9dc4;outline-offset:1px}.overflow{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#dce3ec;text-transform:uppercase;font-size:11px;letter-spacing:.02em;white-space:nowrap}th,td{padding:11px 10px;border:1px solid #d5dbe2}tbody tr:nth-child(even){background:#f2f4f7}tbody tr:hover{background:#e6eef8}.division-row td{background:#234d80!important;color:white;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.03em}.status{padding:3px 8px;border-radius:2px;font-size:11px;font-weight:800;text-transform:uppercase;background:#dbe8f5;color:#183a5b}.status.inactive,.status.separated{background:#efd9d9;color:#862b2b}.status.loa{background:#fff0cd;color:#805c11}.badge-note{background:#fff4d9;border-left:4px solid var(--gold);padding:12px;font-size:13px}.empty{color:var(--muted);padding:18px;text-align:center}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fields label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:6px}.login{background:white;border:1px solid var(--border);max-width:550px;margin:7vh auto;text-align:center;padding:32px}.login img{height:130px;max-width:100%;object-fit:contain}.login h1{color:#1a3e68}.small-text{font-size:12px}.stat-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric-box{border:1px solid var(--border);padding:18px;text-align:center;background:#fff;min-height:110px}.metric-value{font-size:27px;color:#234d80;font-weight:800}.metric-label{font-size:12px;font-weight:700}.metric-unavailable{color:#8692a0;font-size:25px}.footer{text-align:center;border-top:1px solid var(--border);font-size:11px;color:#667588;padding:20px}.success{color:#187037}.error{color:#aa2930}.pill{padding:4px 10px;background:#dfe7f1;border-radius:2px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats .panel{padding:18px}.stats strong{display:block;font-size:28px} @media(max-width:900px){.grid-dashboard{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.site-tag{display:none}}@media(max-width:650px){.site-wrap{padding-left:12px;padding-right:12px}.official-header .site-wrap{gap:10px}.header-logo{width:52px;height:65px}.department-name{font-size:17px}.department-caption{font-size:9px}.gov-nav a{padding:10px 8px}.grid-dashboard,.stat-summary,.fields{grid-template-columns:1fr}.page-head{display:block}.stat-grid{grid-template-columns:repeat(2,1fr)}}

/* Government roster v2 */
.roster-panel{margin-top:12px}.roster-table{width:100%;min-width:1720px;table-layout:auto;border-collapse:collapse}.roster-table th,.roster-table td{font-size:11px;padding:7px 8px;border:1px solid #9ea8b5;white-space:nowrap}.roster-table .grouphead th{background:#1c283d;color:#fff;text-align:center;text-transform:none;font-size:12px;padding:9px 4px;border-color:#111925}.roster-table .columnhead th{background:#e4e5e7;color:#101b2c;font-weight:800;text-align:center;letter-spacing:0;text-transform:none;vertical-align:bottom}.roster-table .division-row td{text-align:center;background:#2b5791!important;color:#fff}.roster-table .division-executives td{background:#d96b6b!important}.roster-table .division-patrol-operations td,.roster-table .division-patrol-operations-bureau td{background:#3e7ee2!important}.roster-table .division-special-operations td,.roster-table .division-special-operations-bureau td{background:#dd922f!important}.roster-table .division-admin-support td,.roster-table .division-administrative-services td,.roster-table .division-administrative-services-bureau td{background:#ecc11d!important;color:#162034}.roster-table .number-cell,.roster-table .check-cell{text-align:center}.roster-table .small-cell{max-width:140px;overflow:hidden;text-overflow:ellipsis}.cert-yes{display:inline-block;background:#49a158;border:1px solid #24793c;color:#fff;font-size:13px;line-height:16px;width:18px;height:18px;text-align:center}.cert-no{color:#9ea8b5}.form-subheading{grid-column:1/-1;color:#1e3454;background:#e4e9f0;padding:8px;font-weight:800}.form-actions{grid-column:1/-1}.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important}.check-label input{width:17px;height:17px}.panel-body ul{columns:2;margin:0;padding-left:19px}.panel-body li{margin-bottom:8px}@media(max-width:650px){.panel-body ul{columns:1}}

/* Government portal v3 */
.roster-controls{background:#fff;border:1px solid var(--border);padding:12px 15px;margin:10px 0}.roster-controls .search{margin:0;align-items:end}.roster-controls label{font-weight:700;font-size:12px;display:flex;flex-direction:column;gap:4px}.roster-controls select{min-width:210px}.roster-table .division-executive td{background:#ce626a!important;color:#fff}.roster-table .division-watch td{background:#27598f!important;color:#fff}.roster-table .division-supervisors td{background:#ba882d!important;color:#151f2c}.roster-table .division-officers td{background:#456b82!important;color:#fff}.roster-table .division-platoon td{background:#4775a7!important}.roster-table .division-squad td{background:#6587b1!important}.roster-table .division-division td{background:#dba04a!important;color:#192031}.roster-table .division-unit td,.roster-table .division-section td{background:#8b699c!important}.roster-table .division-bureau td{background:#2b5791!important}select[multiple]{min-height:175px;width:100%}select[multiple] option{padding:4px}

/* V4 personnel profiles and organization chart */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.profile-field{padding:12px;background:#f4f6fa;border:1px solid #c9d0d9;display:flex;flex-direction:column;gap:5px}.profile-field small{color:#46566c}.profile-field strong{color:#172842}.org-tree{overflow:auto;padding:12px}.org-tree ul{list-style:none;margin:0;padding:0 0 0 26px;border-left:2px solid #d4dce7}.org-tree>ul{border-left:0}.org-tree li{padding:8px 0 8px 15px;position:relative}.org-tree li:before{content:"";position:absolute;left:-26px;top:30px;width:26px;border-top:2px solid #d4dce7}.org-tree>ul>li:before{display:none}.org-node{background:#f5f7fb;border:1px solid #bac6d8;border-left:5px solid #234e83;display:inline-flex;flex-direction:column;padding:10px 18px;min-width:210px;gap:4px}.org-node small{text-transform:uppercase;letter-spacing:.05em;color:#64748b}.org-node strong{color:#18345d}.fields input[type=date],.fields select{width:100%;min-width:0}

/* V5 website administration */
.admin-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;margin:16px 0 24px}.admin-module{display:block;border:1px solid #c6d0dd;background:#f9fbfd;border-left:5px solid #b88c2e;padding:17px;min-height:124px}.admin-module:hover{border-color:#234d80;background:#eef4fb;text-decoration:none}.admin-module strong{display:block;text-transform:uppercase;letter-spacing:.025em;color:#193858}.admin-module p{font-size:13px;color:#4a5970;margin:10px 0 0}.admin-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px}.admin-overview>div{background:#f2f5f9;border:1px solid #cdd6df;padding:14px}.admin-overview b{font-size:27px;display:block;color:#224e80}.admin-overview span{font-size:12px;text-transform:uppercase;font-weight:700}.admin-form{max-width:850px;display:grid;gap:16px}.admin-form label{display:grid;gap:7px;font-weight:700}.admin-form textarea{min-height:105px;border:1px solid #aebdce;padding:12px;font:inherit;resize:vertical}.admin-form input[type=checkbox]{width:20px;height:20px}.admin-form .check-label{display:flex;align-items:center;flex-direction:row;gap:9px}.admin-form button{justify-self:start}.admin-warning{background:#fff4dd;border-left:4px solid #d6a62d;padding:13px;margin-bottom:18px;font-size:13px}.admin-actions a{display:inline-block;margin-right:12px}.admin-tiny{font-size:12px;color:#586777}