:root{color-scheme:dark;--navy:#0d1828;--deep:#091321;--panel:#142236;--red:#cf2727;--light:#f4f7fc;--muted:#b3c0d0;--line:#304054}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--light);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:4px}p{color:var(--muted);line-height:1.65;margin:0}h1,h2,h3{margin:0;line-height:1.06}h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.05em}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.site-header{border-top:4px solid var(--red);background:var(--deep);border-bottom:1px solid var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:13px;font-size:.87rem;font-weight:800;letter-spacing:.06em;line-height:1.25}.brand img{width:50px;height:50px;flex:none}.brand small{display:block;color:var(--muted);font-size:.62rem;margin-top:4px;letter-spacing:.2em}.nav{display:flex;gap:26px;margin-left:auto;font-size:.88rem;color:var(--muted)}.nav a:hover{color:white}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#b82025;color:white;padding:12px 17px;font-size:.84rem;font-weight:750;min-height:44px;border:1px solid #df4646;white-space:nowrap}.button:hover{background:#9f1a1f}.header-inner>.button{margin-left:auto}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.hero{position:relative;isolation:isolate;min-height:470px;display:grid;align-items:center;background:#101e30;overflow:hidden;border-bottom:1px solid var(--line)}.hero:before,.hero:after{content:"";position:absolute;inset:0;z-index:-1}.hero:before{background:url("/assets/engine-62-crew.webp") 38% 48%/cover;opacity:.92}.hero:after{background:linear-gradient(90deg,#091321 0%,#0c192e 28%,rgba(16,34,61,.82) 50%,rgba(20,42,72,.33) 73%,rgba(20,42,72,.18) 100%),linear-gradient(0deg,#0d1828 0%,transparent 45%)}.hero-inner{padding:58px 0 64px}.kicker{display:flex;align-items:center;gap:12px;color:#d5dfea;text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.19em}.kicker:before{content:"";width:25px;height:3px;background:#ef3538}.hero h1{font-size:clamp(2.8rem,6.6vw,6rem);letter-spacing:-.065em;font-weight:900;text-transform:uppercase;margin:19px 0 17px;line-height:.95}.hero p{max-width:43ch;color:#e2e8f1}.hero .button{margin-top:24px}.section{padding:53px 0 60px}.section h2{margin-top:12px}.section-lede{margin-top:10px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.division{display:flex;flex-direction:column;gap:14px;min-height:212px;background:var(--panel);padding:19px;border:1px solid var(--line);border-top:3px solid var(--red);transition:background .18s,border-color .18s}.division:hover{background:#1c2e45;border-color:#e34547}.division .symbol{color:#ff696b}.division h3{font-size:1.14rem;line-height:1.2}.division p{font-size:.86rem}.division .more{margin-top:auto;font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;color:#ebeff5}.leadership{background:#111e30;border-block:1px solid var(--line)}.chief{display:grid;grid-template-columns:minmax(230px,370px) 1fr;align-items:center;gap:clamp(28px,7vw,92px)}.portrait{display:grid;place-content:center;justify-items:center;gap:12px;min-height:260px;border:1px solid #455268;background:repeating-linear-gradient(135deg,#17273b,#17273b 12px,#182a40 12px,#182a40 13px);color:#a9b9ca;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:750}.portrait .icon{width:42px;height:42px}.chief p{max-width:56ch;margin-top:16px}.placeholder{display:block;margin-top:17px;font-size:.74rem;color:#a8b9cb}.footer{padding:25px 0;background:var(--deep)}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:.79rem}.footer a:hover{text-decoration:underline}.subpage{min-height:calc(100vh - 153px);display:grid;align-items:center;padding:55px 0}.subcard{max-width:670px;border:1px solid var(--line);border-top:4px solid var(--red);background:var(--panel);padding:clamp(23px,5vw,52px)}.subcard h1{font-size:clamp(2rem,5vw,3.5rem);margin:14px 0;letter-spacing:-.045em}.subcard p+p{margin-top:9px}.subcard .button{margin-top:24px}.skip{position:absolute;left:8px;top:-100px;background:white;color:black;padding:12px;z-index:5}.skip:focus{top:8px}@media(max-width:900px){.nav{display:none}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:72px;gap:10px}.brand{font-size:.67rem;letter-spacing:.03em;gap:8px}.brand img{width:38px;height:38px}.brand small{font-size:.52rem}.header-inner .button{font-size:.71rem;padding:8px;gap:5px}.header-inner .icon{width:15px;height:15px}.hero{min-height:405px}.hero h1{font-size:clamp(2.25rem,9.9vw,3.7rem)}.hero:before{background-position:40% center}.hero:after{background:linear-gradient(90deg,rgba(9,19,33,.98) 10%,rgba(15,33,58,.70) 73%,rgba(15,33,58,.52) 100%),linear-gradient(0deg,#0d1828,transparent 56%)}.section{padding:40px 0}.grid,.chief{grid-template-columns:1fr}.division{min-height:165px}.portrait{min-height:215px}.footer .wrap{align-items:flex-start}}

.portal{background:#0d1828}
.portal-card{width:min(100%,440px);margin:auto;background:#08090b;border:1px solid #304054;border-top:4px solid var(--red);padding:clamp(24px,6vw,38px)}
.portal-card h1{font-size:2rem;letter-spacing:-.04em;margin:12px 0}
.portal-card form{display:grid;gap:15px;margin-top:22px}
.portal-card label{display:grid;gap:6px;font-size:.9rem;font-weight:650}
.portal-card input{width:100%;background:#141a24;color:var(--light);font:inherit;border:1px solid #576375;padding:11px 12px}
.portal-card input:focus-visible,.portal-card button:focus-visible{outline:2px solid white;outline-offset:3px}
.portal-card button{font-family:inherit;cursor:pointer}
.portal-card .error{color:#ff9a9a;margin-top:10px}

.portal-account{margin-left:auto;display:flex;align-items:center;gap:20px;text-align:right;font-size:.86rem}.portal-account small{display:block;color:var(--muted);font-size:.7rem}.portal-account span{color:var(--muted)}.portal-account .button,.event-form .button,.remove-event .button{cursor:pointer;font-family:inherit}
.dashboard{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;min-height:75vh;padding-block:32px 54px}.dashboard-sidebar{display:grid;gap:12px;align-self:start;min-width:0}.sidebar-box{border:1px solid var(--line);background:var(--deep);padding:19px 12px}.dashboard-sidebar .sidebar-clock a{display:block;border:1px solid var(--line);background:var(--panel);color:var(--light);font-weight:750}.dashboard-sidebar .sidebar-clock a:hover,.dashboard-sidebar .sidebar-clock a[aria-current]{border-color:var(--red)}.dashboard-sidebar .kicker{margin:0 6px 15px;letter-spacing:.11em}.dashboard-sidebar nav{display:grid;gap:4px}.dashboard-sidebar a{padding:12px 10px;color:var(--muted);border-left:3px solid transparent;font-size:.87rem}.dashboard-sidebar a:hover,.dashboard-sidebar a[aria-current]{background:var(--panel);color:white;border-color:var(--red)}.dashboard-content h1{font-size:clamp(2rem,5vw,3.65rem);letter-spacing:-.045em;margin:10px 0 20px}.dashboard-panel{background:var(--panel);border:1px solid var(--line);padding:clamp(13px,2.5vw,24px);margin-bottom:18px}.dashboard-panel h2{font-size:clamp(1.2rem,3vw,1.65rem);letter-spacing:-.025em}.calendar-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:16px}.calendar-toolbar nav{display:flex;gap:5px}.calendar-toolbar a{min-width:34px;text-align:center;padding:8px;border:1px solid var(--line);font-size:.85rem}.calendar-toolbar a:hover{background:var(--deep)}.calendar-scroll{overflow:auto}.month-grid{width:100%;min-width:445px;border-collapse:collapse;table-layout:fixed}.month-grid th{font-size:.75rem;color:var(--muted);padding:7px 3px}.month-grid td{height:70px;padding:6px;vertical-align:top;border:1px solid var(--line);background:#101d2e;font-size:.78rem}.month-grid td.empty-day{background:#0e1827}.month-grid td.today time{background:#b82025;color:white;border-radius:50%;padding:3px 6px}.month-grid td a{display:block;margin-top:5px;background:#382633;border-left:2px solid #ef5759;padding:3px;overflow-wrap:anywhere}.month-grid td a:hover{text-decoration:underline}.month-events{margin-top:20px}.month-events h3{font-size:1rem;margin-bottom:10px}.month-events ul{padding:0;margin:0;list-style:none}.month-events li{display:flex;gap:13px;border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.month-events li:target{outline:2px solid var(--red)}.month-events time{flex:none;color:var(--muted);min-width:50px}.month-events p{white-space:pre-wrap}.calendar-admin h2{margin:9px 0 14px}.calendar-admin details{border-top:1px solid var(--line);padding:11px 0}.calendar-admin summary{cursor:pointer;font-weight:650}.event-form{display:grid;gap:10px;max-width:560px;margin:12px 0}.event-form label{display:grid;gap:5px;font-size:.85rem}.event-form input,.event-form textarea{width:100%;min-width:0;padding:8px;background:var(--deep);border:1px solid #576375;color:var(--light);font:inherit}.event-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-form .button,.remove-event .button{justify-self:start}.remove-event p{margin:8px 0}.portal-notice{padding:10px;border-left:3px solid var(--red);margin-bottom:12px}
@media(max-width:800px){.dashboard{grid-template-columns:1fr}.dashboard-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.portal-account{gap:8px}.portal-account .button{padding:8px}.portal-account span{display:block}}
@media(max-width:460px){.portal-account{font-size:.68rem}.portal-account small{font-size:.6rem}.portal-account .button{font-size:.7rem}.month-grid{min-width:380px}}

.clock-panel{min-height:325px;display:grid;justify-items:center;align-content:center;gap:14px;text-align:center;padding-block:40px}.clock-panel h2{font-size:clamp(1.75rem,4vw,2.5rem)}.clock-button{min-height:60px;min-width:min(240px,100%);font:inherit;font-weight:800;cursor:pointer;margin-top:8px}.shift-timer{font-size:clamp(1.75rem,5vw,3rem);font-weight:800;color:var(--light);font-variant-numeric:tabular-nums}.timesheet-panel h3{margin:21px 0 7px}.shift-table{width:100%;min-width:430px;border-collapse:collapse;margin-top:10px;font-size:.88rem}.shift-table td,.shift-table th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.shift-table th{color:var(--muted)}

.admin-sign-in{display:inline-block;background:#39232e;color:#ffb3b3;border:1px solid #ab5260;border-radius:3px;padding:4px 8px}

.account-links{display:grid;gap:12px;margin-top:20px;font-size:.87rem}.account-links a{text-decoration:underline;text-underline-offset:3px}.account-links summary{cursor:pointer}.portal-card .portal-notice{margin-top:12px}.shift-table button{cursor:pointer}

.roster-rank{display:flex;align-items:center;gap:8px}.roster-rank select{background:var(--deep);color:var(--light);border:1px solid #576375;padding:8px;font:inherit}.roster-rank .button{padding:8px 12px}

.chief-portrait{display:block;width:100%;height:auto;max-width:370px;border:1px solid #455268}

.site-header .nav{gap:clamp(12px,2vw,26px);align-items:center}
.site-header .nav a{white-space:nowrap}
@media(max-width:1050px){.site-header .header-inner{flex-wrap:wrap;row-gap:0;padding-top:10px}.site-header .nav{display:flex;flex:0 0 100%;order:2;flex-wrap:wrap;margin-left:0;padding:10px 0;gap:8px 20px}.site-header .nav a{padding:4px 0}}
@media(max-width:600px){.site-header .nav{font-size:.78rem;gap:4px 13px}}

.public-page-title{font-size:clamp(2rem,5vw,3.75rem);letter-spacing:-.05em;margin:12px 0}
.site-header .nav a[aria-current="page"]{color:var(--light);text-decoration:underline;text-underline-offset:5px}
@media(max-width:1180px) and (min-width:1051px){.site-header .header-inner{gap:20px}.site-header .nav{gap:14px}}

.timesheet-search{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:16px 0}.timesheet-search label{display:grid;gap:5px;flex:1 1 220px;max-width:360px;font-size:.85rem;font-weight:650}.timesheet-search input{width:100%;min-height:44px;background:var(--deep);color:var(--light);border:1px solid #576375;padding:8px 10px;font:inherit}.timesheet-search button{cursor:pointer}.timesheet-search a{padding:10px;text-decoration:underline}.low-hours-flag{width:17px;height:17px;color:#ff676b;margin-left:4px}.low-hours-flag path{fill:currentColor}

.hero p.hero-tagline{font-size:clamp(1.125rem,2vw,1.375rem);max-width:56ch;line-height:1.45;text-wrap:balance}

.division{container-type:inline-size;min-width:0;padding-inline:13px}
.division h3{font-size:.8125rem;font-size:clamp(.75rem,5cqi,1rem);letter-spacing:-.025em;text-wrap:balance}
@media (min-width:901px) and (max-width:1220px){.grid{grid-template-columns:repeat(2,1fr)}}

@media (min-width:601px) and (max-width:660px){.grid{grid-template-columns:1fr}}

.department-overview{max-width:76ch}

.overview-layout{display:grid;grid-template-columns:minmax(0,76ch) minmax(190px,300px);align-items:center;gap:clamp(28px,6vw,90px)}
.overview-patch{display:grid;place-items:center;width:100%;max-width:300px;margin:0;padding:clamp(6px,1vw,12px);border-radius:12px;border:1px solid #ac9155;background:radial-gradient(circle,#243952 0%,#101e31 68%,#0a1424 100%);box-shadow:inset 0 0 0 5px #101e31,inset 0 0 0 6px #ab8d504f,0 14px 36px #050a1280}
.overview-patch img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 8px #050a1280)}
@media(max-width:760px){.overview-layout{grid-template-columns:1fr}.overview-patch{width:min(100%,230px);justify-self:center}}

.stations{background:#172a42;border-block:1px solid var(--line)}
.station-row{display:grid;grid-template-columns:minmax(200px,330px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,64px);padding-block:26px}
.station-row+.station-row{border-top:1px solid var(--line)}
.station-row:last-child{padding-bottom:0}
.station-photo{display:grid;place-content:center;justify-items:center;gap:10px;aspect-ratio:16/9;border:1px solid #465973;background:linear-gradient(145deg,#203651,#111e30);padding:12px;color:var(--muted);text-align:center;font-size:.8rem}
.station-photo .icon{width:32px;height:32px}
.station-details h3{font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.2}
.station-details p{max-width:60ch;margin-top:12px}
.station-details strong{color:var(--light)}
@media(max-width:680px){.station-row{grid-template-columns:1fr;gap:18px}}

.station-image{display:block;width:100%;height:auto;border:1px solid #465973}

@media(min-width:761px){
  .hero:before{left:min(27vw,560px);mask-image:linear-gradient(90deg,transparent,#000 32%)}
}

.site-header .header-inner{column-gap:clamp(10px,1.65vw,22px)}

.station-apparatus-title{margin:18px 0 8px}
.station-apparatus{display:flex;flex-wrap:wrap;gap:10px 30px;color:var(--muted);font-size:.9rem}
.station-apparatus h5{margin:0 0 4px;font-size:.9rem;color:var(--light)}
.station-apparatus ul{margin:0;padding-left:1.2em;line-height:1.65}

.org-chart,.org-branches{list-style:none;margin:0;padding:0}
.org-chart{margin-top:32px;container-type:inline-size;--org-card-width:160px;--org-card-height:232px}
.org-card{width:var(--org-card-width);height:var(--org-card-height);margin-inline:auto;padding:18px 14px;text-align:center;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--red)}
.org-card h2{margin:12px 0 4px;font-size:1.14rem;letter-spacing:-.02em}
.org-card .org-rank{font-size:.8rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--light)}
.org-card .org-duty{margin-top:8px;font-size:.86rem;line-height:1.35}
.org-duty-single-line{display:block;margin-inline:-9px;white-space:nowrap;font-size:.75rem}
.org-portrait{display:grid;place-items:center;width:62px;aspect-ratio:1;margin-inline:auto;background:var(--deep);border:1px solid var(--line);border-radius:50%;color:var(--muted)}
.org-portrait svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.org-branches{--org-line:#64758c;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:40px}
.org-branches::before{content:"";position:absolute;top:0;left:50%;height:20px;border-left:1px solid var(--org-line)}
.org-branches>li{position:relative;min-width:0;padding-inline:7px}
.org-branches>li::before{content:"";position:absolute;top:-20px;left:50%;height:20px;border-left:1px solid var(--org-line)}
.org-branches>li::after{content:"";position:absolute;top:-20px;width:50%;border-top:1px solid var(--org-line)}
.org-branches>li:first-child::after{left:50%}
.org-branches>li:last-child::after{right:50%}
@media(max-width:850px){
  .org-card{margin-inline:0}
  .org-branches{display:block;margin-left:12px;padding:18px 0 0 22px;border-left:1px solid var(--org-line)}
  .org-branches>li{padding:0}
  .org-branches>li+li{margin-top:18px}
  .org-branches::before,.org-branches>li::after{display:none}
  .org-branches>li::before{top:28px;left:-22px;width:22px;height:0;border-left:0;border-top:1px solid var(--org-line)}
}

.org-operations{--org-line:#64758c}
.org-battalion{--org-battalion-gap:10px}
.org-battalion-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:var(--org-battalion-gap)}
.org-battalion-lines{display:block;width:100%;height:40px;fill:none;stroke:var(--org-line)}
.org-battalion-lines path{vector-effect:non-scaling-stroke}
@media(min-width:1051px){
  .org-deputies{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
  .org-deputies>li:first-child::after{width:16.6667%}
  .org-deputies>li:last-child::after{width:150%}
  .org-assistant-chiefs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .org-assistant-chiefs>li:first-child{grid-column:2}
  .org-assistant-chiefs>li:last-child{grid-column:4}
  .org-assistant-chiefs>li:first-child::after{width:50%}
  .org-assistant-chiefs>li:last-child::after{width:150%}
}
@media(max-width:1050px){
  .org-battalion-lines{display:none}
  .org-battalion-row{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:18px}
}
@media(max-width:520px){.org-battalion-row{grid-template-columns:1fr}}

.org-admin-branch{position:relative;list-style:none;margin:0;padding:40px 0 0}
.org-admin-branch::before{content:"";position:absolute;top:0;left:50%;height:40px;border-left:1px solid var(--org-line)}
@media(min-width:1051px){
  .org-chart{--org-card-width:13cqw}
  .org-admin-branch{padding-top:calc(var(--org-card-height) + 80px)}
  .org-admin-branch::before{height:calc(var(--org-card-height) + 80px)}
}
@media(max-width:850px){
  .org-admin-branch{padding-top:24px;margin-left:34px}
  .org-admin-branch::before{left:15px;height:24px}
}

@media(min-width:1051px){
  .org-battalion{position:relative}
  .org-battalion::before,.org-battalion::after{content:"";position:absolute;top:calc(var(--org-card-height) / -2);pointer-events:none}
  /* Connect the inner card edges in columns two and four to the center of column three. */
  .org-battalion::before{left:calc(37.5% + var(--org-card-width) / 2 - 1px);right:calc(12.5% + var(--org-card-width) / 2 - 1px);border-top:1px solid var(--org-line)}
  .org-battalion::after{left:calc(62.5% + var(--org-battalion-gap) / 8);height:calc(var(--org-card-height) / 2 + 40px);border-left:1px solid var(--org-line)}
}

.org-captains{--org-line:#64758c;position:relative;list-style:none;margin:0;padding:32px 0 0}
.org-captains::before{content:"";position:absolute;top:0;left:50%;height:32px;border-left:1px solid var(--org-line)}
.org-captains-pair{display:grid;grid-template-columns:repeat(2,var(--org-card-width));gap:8px;width:max-content;left:50%;transform:translateX(-50%)}
.org-captains-pair::before{height:16px}
.org-captains-pair>li{position:relative}
.org-captains-pair>li::before{content:"";position:absolute;top:-16px;left:50%;height:16px;border-left:1px solid var(--org-line)}
.org-captains-pair>li::after{content:"";position:absolute;top:-16px;width:calc(50% + 4px);border-top:1px solid var(--org-line)}
.org-captains-pair>li:first-child::after{left:50%}
.org-captains-pair>li:last-child::after{right:50%}
@media(max-width:850px){
  .org-captains{width:var(--org-card-width)}
  .org-captains-pair{width:max-content;left:0;transform:none}
}
@media(max-width:520px){
  .org-captains-pair{width:var(--org-card-width);grid-template-columns:1fr;gap:14px}
  .org-captains-pair::before{height:32px}
  .org-captains-pair>li::before,.org-captains-pair>li::after{display:none}
  .org-captains-pair>li+li::before{display:block;top:-14px;height:14px}
}

.org-portrait-photo{display:block;height:62px;object-fit:cover;object-position:center 24%}

.org-portrait-credit{margin-top:28px;padding:8px 12px;border:1px solid var(--line);background:var(--panel);text-align:center;font-size:.75rem}

.bureau-directory{display:grid;gap:12px;margin-top:26px}
.bureau-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--red)}
.bureau-card summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:16px clamp(14px,3vw,24px)}
.bureau-card summary::-webkit-details-marker{display:none}
.bureau-card summary:hover{background:#1c2e45}
.bureau-title,.bureau-subtitle{display:block}
.bureau-title{font-size:clamp(1.05rem,2.4vw,1.4rem);font-weight:800}
.bureau-subtitle{margin-top:4px;color:var(--muted);font-size:.9rem}
.bureau-toggle{flex:none;width:9px;height:9px;border:solid #ff696b;border-width:0 2px 2px 0;transform:rotate(45deg);margin:0 5px 5px}
.bureau-card[open] .bureau-toggle{transform:rotate(225deg);margin-bottom:0}
.bureau-details{display:grid;grid-template-columns:minmax(145px,200px) minmax(0,1fr);gap:clamp(18px,4vw,44px);padding:20px clamp(14px,3vw,24px) 24px;border-top:1px solid var(--line)}
.bureau-portrait{display:block;width:128px;height:128px;object-fit:cover;object-position:center 24%;border:1px solid #465973;background:var(--deep);border-radius:6px}
.bureau-portrait-placeholder{display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted);font-size:.7rem;text-align:center;padding:6px}
.bureau-portrait-placeholder .icon{width:30px;height:30px}
.bureau-profile{display:grid;gap:5px;margin:12px 0 0;font-size:.85rem}
.bureau-profile .bureau-profile-name{font-weight:750;color:var(--light)}
.bureau-copy h2{font-size:1rem;letter-spacing:0;margin:0 0 5px}
.bureau-copy h2:not(:first-child){margin-top:17px}
.bureau-copy p,.bureau-copy li{max-width:68ch;color:var(--muted);line-height:1.65}
.bureau-copy ul{padding-left:1.2em;margin:0}
@media(max-width:540px){.bureau-details{grid-template-columns:1fr}}

.account-delete{margin-top:8px}
.account-delete summary{cursor:pointer;color:#ff9da0;font-weight:750;width:fit-content}
.account-delete p{margin:6px 0}
.account-danger{background:transparent;color:#ffb3b3;border-color:#ab5260}
.account-danger:hover{background:#39232e}

.training-action{margin-top:14px}.training-panel h3{margin:20px 0 8px}.training-form-box{margin:12px 0;border:1px solid var(--line);padding:10px 12px}.training-form-box summary{cursor:pointer;font-weight:750}.training-form-box select{padding:8px;background:var(--deep);color:var(--light);border:1px solid #576375;font:inherit}.trainee-list{list-style:none;margin:0;padding:0}.trainee-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.trainee-list a,.training-panel>a{text-decoration:underline;text-underline-offset:3px}.training-progress{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.85rem}.training-eval{display:inline-flex;align-items:center;gap:3px;font-weight:750}.training-eval .icon{width:16px;height:16px}.training-eval.medical{color:#8cc6ff}.training-eval.fire,.training-under{color:#ff979a}.training-met{color:#8ae4aa}.trainee-profile{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:15px 0}.trainee-profile img{object-fit:cover;border:1px solid var(--line);border-radius:6px}.trainee-profile .training-progress{margin-top:6px}.training-record{border-top:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}.training-record h4{margin:0 0 4px}.training-record p{white-space:pre-wrap}.training-record small{color:var(--muted)}

.trainee-profile .academy-passed{color:#8ae4aa;font-weight:750}

.interview-tool h2{margin:12px 0 16px}
.interview-tool h3{margin:4px 0 12px}
.interview-tool fieldset{max-width:720px;margin:0 0 18px;padding:12px;border:1px solid var(--line)}
.interview-tool legend{padding:0 5px}
.interview-tool input:is([type=radio],[type=checkbox]){accent-color:var(--red)}
.interview-options,.interview-actions,.interview-scale{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.interview-scale{justify-content:space-between;color:var(--muted)}
.interview-scale output{color:var(--light);font-weight:750}
.interview-tool input[type=range]{padding:0;accent-color:var(--red)}
.interview-tool input[readonly]{color:var(--muted)}
.interview-tool .button[hidden]{display:none}
.interview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.interview-heading h2{margin:0}
.interview-points{margin:0 0 0 auto;text-align:right}
.interview-points strong{color:var(--light)}
.interview-points span{display:block;font-size:.85rem}
.interview-critical{display:grid;gap:5px;margin:12px 0;padding:10px;border-left:3px solid var(--red)}
.interview-tool [data-step=scenarios] fieldset>p{margin:0 0 8px}
.interview-tool [data-step=scenarios] summary{cursor:pointer}

.contact-layout{display:grid;grid-template-columns:minmax(180px,270px) minmax(0,1fr);align-items:center;gap:clamp(26px,6vw,76px)}
.contact-seal{padding:clamp(16px,3vw,32px)}
.contact-seal img{max-width:219px}
.contact-bar{margin-top:14px;border:1px solid var(--line);background:var(--deep)}
.contact-bar h2{margin:0;padding:12px 16px;border-left:3px solid var(--red);background:var(--panel);font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.25;letter-spacing:0}
.contact-bar-body{min-height:48px;padding:10px 16px;border-top:1px solid var(--line)}
.contact-birdy{display:flex;align-items:center;gap:8px;color:var(--light);font-weight:700}
.contact-birdy svg{color:#55baff;flex:none}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr}}

.department-resource-list{display:grid;gap:8px;list-style:none;margin:14px 0 0;padding:0}
.department-resource-list a{display:block;padding:12px 14px;border:1px solid var(--line);background:var(--deep);text-decoration:underline;text-underline-offset:3px}
.department-resource-list a:hover{border-color:var(--red)}
.department-resource-title{display:flex;align-items:center;gap:8px}
.department-resource-title .icon{width:18px;height:18px;flex:none}
.department-resource-title.ems .icon{color:#8cc6ff}
.department-resource-title.fire .icon{color:#ff979a}
.portal-advisory{margin:0 0 16px;padding:10px 14px;border-left:3px solid #e68087;background:#432630;color:#ffe4e6;font-size:.85rem;font-weight:600}

.department-resource-title.metro .icon{color:#b3c0d0}

.pcr-report{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.pcr-report h3{margin-bottom:5px}
.pcr-preview{display:block;width:fit-content;max-width:100%;margin:12px 0}
.pcr-preview img{display:block;max-width:100%;max-height:480px;object-fit:contain}
.pcr-actions,.pcr-actions form{display:flex;flex-wrap:wrap;gap:8px}

.incident-form{max-width:740px}
.incident-form fieldset{margin:0;min-width:0;border:1px solid var(--line)}
.incident-radio{display:flex;gap:18px}
.incident-radio label{display:flex;align-items:center}
.incident-radio input{width:auto}
.incident-signature-preview{padding:8px 12px;background:var(--deep);border-bottom:1px solid var(--line)}
.incident-signature-preview span{display:block;color:var(--muted);font-size:.8rem}
.incident-signature{display:block;min-height:1.5em;font:italic 1.65rem/1.45 "Segoe Script","Bradley Hand","Comic Sans MS",cursive;overflow-wrap:anywhere}
.incident-details dt{margin-top:10px;font-weight:750}
.incident-details dd{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:520px){.incident-form .event-fields{grid-template-columns:1fr}}

.account-management>p{margin-top:10px}
.account-list{display:grid;gap:14px;margin-top:12px}
.account-entry{border:1px solid var(--line);background:var(--deep);padding:16px}
.account-entry-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.account-entry-header h3{font-size:1.05rem;line-height:1.3}
.account-entry-header p,.account-result-count{font-size:.82rem}
.account-entry-header .account-delete{margin:0;max-width:260px}
.account-entry-header .account-delete summary{font-size:.8rem;color:#ffafb5}
.account-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.account-permission{display:flex;flex-direction:column;align-items:flex-start;gap:9px;border-top:1px solid var(--line);padding-top:12px;min-width:0}
.account-permission h3{font-size:.8rem;line-height:1.3;color:var(--muted)}
.account-permission .roster-rank{flex-wrap:wrap}
.account-permission select{min-width:0;max-width:100%;font-size:.85rem}
.permission-status{font-size:.75rem;color:var(--muted)}
.permission-status.is-enabled{color:#8ae4aa}
.permission-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:5px 10px;border:1px solid #526174;border-radius:6px;background:var(--panel);color:var(--light);font:inherit;font-size:.8rem;cursor:pointer}
.permission-toggle:hover{border-color:#a2b3c8}
.permission-toggle:focus-visible{outline:3px solid white;outline-offset:3px}
.permission-toggle-track{position:relative;width:30px;height:18px;border-radius:12px;background:#526174}
.permission-toggle-track:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:white}
.permission-toggle[aria-checked=true] .permission-toggle-track{background:#287d61}
.permission-toggle[aria-checked=true] .permission-toggle-track:after{left:15px}
@media(max-width:700px){.account-permission-grid{grid-template-columns:1fr}.account-entry-header{flex-wrap:wrap}}

.roster-small-button{min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--light);font:inherit;font-size:.82rem;cursor:pointer}
.roster-small-button:hover{border-color:var(--red)}
.roster-actions{text-align:right}
.roster-popover{width:min(420px,calc(100% - 32px));max-height:calc(100% - 32px);padding:20px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:8px;background:var(--deep);color:var(--light);box-shadow:0 14px 40px #0009;text-align:left}
.roster-popover::backdrop{background:#0007}
.roster-popover h3{margin-bottom:12px}
.roster-popover p{margin-bottom:12px}
.roster-popover fieldset{margin:0 0 14px;border:1px solid var(--line)}
.roster-cert-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}
.roster-cert-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0 0 14px}
.roster-cert-tags li{padding:4px 9px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.shift-clock-out-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.shift-clock-out-notice p{color:inherit}

.bureau-page-hero.hero{min-height:clamp(300px,34vw,430px)}
.bureau-page-hero.hero:before{inset:0 0 0 28%;background:var(--bureau-hero-image,linear-gradient(128deg,#233951 10%,#304863 55%,#1b2e47));background-size:cover;background-position:center;mask-image:linear-gradient(90deg,transparent,#000 42%)}
.bureau-page-hero .hero-inner{padding-block:44px 54px}
.bureau-page-hero h1{max-width:19ch;font-size:clamp(2.15rem,6vw,4.8rem);line-height:1.03;text-wrap:balance}
.bureau-page-back{font-size:.88rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.bureau-hero-placeholder{position:absolute;right:max(24px,calc((100% - 1200px)/2));bottom:18px;color:var(--muted);font-size:.72rem;letter-spacing:.04em}
.bureau-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,370px);gap:20px;align-items:start}
.bureau-page-panel{padding:clamp(18px,3vw,30px);background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--red)}
.bureau-page-panel h2,.bureau-medical h2{font-size:clamp(1.55rem,3vw,2.2rem);margin:0 0 14px}
.bureau-page-overview{min-height:200px}
.bureau-page-overview p{max-width:68ch}
.bureau-page-lead{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px;align-items:center}
.bureau-page-panel .bureau-page-lead + .bureau-page-lead{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.bureau-page-lead h3{font-size:1rem;line-height:1.25}
.bureau-page-lead p{font-size:.86rem;line-height:1.45}
.bureau-page-lead .bureau-page-rank{margin-top:4px;color:var(--light);font-weight:650}
.bureau-page-portrait{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 25%;border:1px solid var(--line);border-radius:5px;background:var(--deep);display:grid;place-content:center;text-align:center;font-size:.68rem;padding:0}
.bureau-page-portrait.bureau-portrait-placeholder{padding:5px}
.bureau-medical{background:var(--deep);border-top:1px solid var(--line)}
.bureau-medical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.bureau-medical-grid .bureau-page-lead{grid-template-columns:clamp(76px,12vw,120px) minmax(0,1fr);padding:16px;background:var(--panel);border:1px solid var(--line)}
.bureau-page-bio{margin-top:8px}
@media(max-width:720px){.bureau-page-layout,.bureau-medical-grid{grid-template-columns:1fr}.bureau-page-hero .hero-inner{padding-bottom:62px}}
