*{box-sizing:border-box}body{margin:0;background:#121212;color:#f5f5f5;font-family:Inter,Segoe UI,Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #555;background:#242424;color:#fff;border-radius:8px;padding:10px 14px;font-weight:900}button:hover{background:#3a1010;border-color:#e03b4e}input,select,textarea{width:100%;background:#101010;color:#fff;border:1px solid #555;border-radius:8px;padding:10px;outline:none}textarea{min-height:82px;resize:vertical}h1,h2,h3,p{margin-top:0}.muted{color:#a8a8a8}.padtop{padding-top:12px}.danger{background:#8e1422!important;border-color:#ff5267!important}.smallbtn{padding:8px 10px}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#4a0f0f,#111 45%)}.auth-card{width:min(460px,94vw);background:#1d1d1d;border:1px solid #555;border-radius:18px;padding:28px;box-shadow:0 20px 70px #000}.auth-card.wide{width:min(900px,94vw)}.auth-card p{color:#aaa}.auth-card form,.panel form{display:grid;gap:10px}label{display:grid;gap:6px;color:#ccc;font-weight:700}.auth-card button,.panel button,.clean-panel button{background:#b11226;border-color:#e03b4e}.auth-card a{display:block;margin-top:14px;color:#ff5367}.alert{background:#411;color:#ffb3b3;border:1px solid #922;padding:10px;border-radius:8px;margin:10px 0}.dept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.dept-box{background:#151515;border:1px solid #444;border-radius:10px;padding:10px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}
.cad-titlebar{height:28px;background:linear-gradient(#666,#343434);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 10px;border-bottom:1px solid #222;font-weight:800}.cad-titlebar span{text-align:right}.menu-text{font-size:13px}.cad-ribbon{height:96px;background:linear-gradient(#333,#2b2b2b);display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #555}.ribbon-btn{height:72px;min-width:104px;background:#303030;border:1px solid #696969;border-radius:8px;display:grid;place-items:center;gap:3px;font-size:12px}.ribbon-btn span{font-size:23px;color:#ffb000}.cad-subnav{display:flex;gap:18px;align-items:center;height:34px;padding:0 14px;background:#4a4a4a;border-bottom:1px solid #252525}.cad-subnav button{padding:0;border:none;background:transparent!important;color:#fff;border-radius:0}.page{display:none;padding:10px}.page.active{display:block}#toast{position:fixed;top:64px;right:14px;z-index:30}.toast{background:#111;border:1px solid #b11226;padding:10px 14px;border-radius:10px;box-shadow:0 10px 30px #000}.panel{background:#1b1b1b;border:1px solid #555;border-radius:10px;padding:14px;box-shadow:0 6px 22px #0005;overflow:hidden}.clean-panel{background:linear-gradient(180deg,#1d1d1f,#151515);border-color:#353535;border-radius:18px}.grid{display:grid;gap:14px}.two{grid-template-columns:1fr 1fr}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.search{display:flex;gap:8px;margin-bottom:12px}.search input{max-width:560px}.card{border:1px solid #343434;background:#111;border-radius:14px;padding:12px;margin:9px 0}.card b{color:#ff5367}.row{display:flex;gap:8px;align-items:center;justify-content:space-between}.pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#301016;border:1px solid #8f1d2a;color:#ffe4e7;font-size:12px;font-weight:800}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.civ-shell{max-width:1380px;margin:0 auto}.civ-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:28px;border:1px solid #312126;border-radius:22px;background:radial-gradient(circle at 15% 0,#5b0f1d 0,#201316 38%,#141414 75%);box-shadow:0 20px 80px #0006}.civ-hero h1{font-size:34px;line-height:1.05;margin-bottom:8px}.eyebrow{color:#ff5367;text-transform:uppercase;font-weight:900;letter-spacing:.14em;font-size:12px}.stat-row{display:flex;gap:10px}.stat{min-width:110px;border:1px solid #47222a;background:#130d0e;border-radius:16px;padding:14px;text-align:center}.stat b{display:block;font-size:30px;color:#fff}.stat span{color:#aaa;font-size:12px;text-transform:uppercase;font-weight:900}.civ-tabs{display:flex;gap:10px;margin:14px 0;overflow:auto}.civ-tabs button{background:#181818;border-color:#333}.civ-tabs button.active{background:#b11226;border-color:#ff5267}.civ-page{display:none}.civ-page.active{display:block}.form-card{max-width:920px;margin:0 auto}.emergency-card{border-color:#63222c;box-shadow:0 0 0 1px #6d1422 inset}
.imperial-layout{display:grid;grid-template-columns:1.06fr 1fr;grid-template-rows:auto auto minmax(270px,1fr) minmax(270px,1fr);gap:10px;height:calc(100vh - 178px);min-height:760px}.imperial-panel{background:#1b1b1b;border:1px solid #626262;border-radius:7px;padding:8px;box-shadow:inset 0 0 0 1px #151515;overflow:hidden}.imperial-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.imperial-head h2{font-size:26px;margin:0;text-shadow:1px 1px #000}.signon-panel{grid-column:1/2}.controls-panel{grid-column:2/3}.calls-panel{grid-column:1/2}.units-panel{grid-column:2/3}.emergency-panel{grid-column:1/2}.groups-panel{grid-column:2/3}.signon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.signon-grid button{grid-column:auto}.quick{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.quick button{background:#2c2c2c;border-color:#696969;color:#eaff23}.inline-form{display:flex;gap:8px}.mini-search{max-width:260px;border-radius:999px;padding:8px 13px;background:#191919}.plus{width:36px;height:36px;border-radius:50%;padding:0;background:#1f5eb6!important;border-color:#5c94e8!important}.table-wrap{height:calc(100% - 42px);overflow:auto;border:1px solid #696969}.table-wrap.empty{height:calc(100% - 40px)}table{width:100%;border-collapse:collapse;font-weight:900;font-size:14px}th,td{border:1px solid #666;padding:5px 7px;text-align:left;white-space:nowrap}th{background:#181818;color:#fff;position:sticky;top:0;z-index:1}td{background:#1b1b1b}.calls-panel td:nth-child(1),.calls-panel td:nth-child(2){color:#ff7a00}.calls-panel tr.pending td{color:#18db64}.units-panel td{color:#f2ff28}.units-panel td.status{color:#7CFF4B}.empty-cell{color:#aaa!important;text-align:center;padding:20px!important}.status{color:#7CFF4B}.modal{border:1px solid #555;background:#171717;color:#fff;border-radius:16px;padding:18px;box-shadow:0 20px 80px #000}.modal::backdrop{background:#000a}.modal form{display:grid;gap:10px;min-width:min(520px,90vw)}.modal-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:1050px){.two,.form-grid,.imperial-layout,.signon-grid{grid-template-columns:1fr}.imperial-layout{height:auto;grid-template-rows:auto}.signon-panel,.controls-panel,.calls-panel,.units-panel,.emergency-panel,.groups-panel{grid-column:auto}.cad-ribbon{overflow:auto}.civ-hero{grid-template-columns:1fr}.stat-row{flex-wrap:wrap}.panel,.imperial-panel{overflow:auto}}

/* v4 polish: ONDT + popout tools */
.cad-subnav{box-shadow:0 10px 22px rgba(0,0,0,.35);border-bottom:1px solid #5a5a5a}.cad-subnav button{border:0;background:transparent;color:#f4f4f4;border-radius:7px;padding:8px 10px}.cad-subnav button:hover{background:#2c2c2c;color:#f6ff57}.onduty-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:4px 2px 12px;border-bottom:1px solid #3d3d3d;margin-bottom:12px}.onduty-top h2{margin:0;font-size:24px}.eyebrow.green{color:#33e070}.eyebrow.amber{color:#ffb52e}.status-light,.live-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #236b3a;background:linear-gradient(180deg,#143420,#0d2215);color:#7CFF4B;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:1000;box-shadow:0 0 18px rgba(42,255,107,.08)}.status-light span{width:9px;height:9px;border-radius:99px;background:#35f372;box-shadow:0 0 12px #35f372}.signon-grid.enhanced label,.call-popout label{display:grid;gap:6px;color:#ddd;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.signon-grid.enhanced input,.signon-grid.enhanced select,.call-popout input,.call-popout select,.call-popout textarea,.searchbar-pop input{border-color:#555;background:#111;color:#fff;box-shadow:inset 0 0 0 1px #000;border-radius:9px}.signon-grid.enhanced .wide{grid-column:span 2}.go-duty{border-color:#1c9b4b;background:linear-gradient(180deg,#1e8d47,#145d31);box-shadow:0 0 18px rgba(24,219,100,.16)}.go-duty:hover{background:linear-gradient(180deg,#27ad5a,#18743c)}.onduty-card{background:radial-gradient(circle at top right,rgba(24,219,100,.12),transparent 45%),#1b1b1b}.current-unit-card{border:1px solid #454545;background:linear-gradient(180deg,#151515,#101010);border-radius:12px;padding:12px;margin-bottom:10px;min-height:72px}.current-unit-card b{font-size:20px;color:#f6ff57}.current-unit-card p{margin:5px 0 0;color:#aeffbe}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.status-grid button{padding:10px 8px;border-color:#4d4d4d;background:linear-gradient(180deg,#282828,#171717);color:#f6ff57}.status-grid button small{color:#aaa;font-size:10px}.inline-form.polished{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0}.inline-form.polished input{background:#101010;border:1px solid #555;color:#fff;border-radius:9px;padding:10px}.fullwidth{width:100%}.modal.popout{width:min(720px,94vw);border:1px solid #6a6a6a;background:linear-gradient(180deg,#222,#131313);border-radius:18px;padding:0;overflow:hidden;box-shadow:0 26px 100px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.04)}.modal.popout::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}.modal.popout form{padding:18px;min-width:unset;width:100%}.modal-head{display:flex;align-items:center;justify-content:space-between;margin:-18px -18px 15px;padding:16px 18px;background:linear-gradient(180deg,#343434,#242424);border-bottom:1px solid #555}.modal-head h2{margin:0;font-size:24px}.xbtn{width:38px;height:38px;border-radius:999px;padding:0;font-size:24px;line-height:1;background:#171717;border-color:#555}.searchbar-pop{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.pop-results{max-height:54vh;overflow:auto;border:1px solid #454545;border-radius:12px;background:#121212;padding:12px}.pop-results .card{background:#191919;border-color:#494949}.call-popout textarea{min-height:120px}.modal-actions button{min-width:110px}.imperial-head .plus{background:linear-gradient(180deg,#1d6bd1,#16498c);border-color:#3d7bea;border-radius:999px;width:36px;height:36px;padding:0;font-size:22px}.imperial-head .mini-search{height:36px}
@media(max-width:700px){.signon-grid.enhanced .wide{grid-column:auto}.searchbar-pop,.inline-form.polished{grid-template-columns:1fr}.status-grid{grid-template-columns:1fr}.modal.popout form{padding:14px}.modal-head{margin:-14px -14px 12px}}

/* v5 scalable layout + person records */
body{min-width:0}.cad-ribbon,.cad-subnav{overflow-x:auto;scrollbar-width:thin}.ribbon-btn{flex:0 0 auto}.page{min-width:0}.imperial-layout{grid-template-columns:minmax(380px,1.05fr) minmax(420px,1fr);grid-auto-rows:minmax(180px,auto);transition:all .2s ease}.imperial-panel[style*="display: none"],.imperial-panel.is-hidden{display:none!important}.imperial-layout:has(.signon-panel[style*="display: none"]){grid-template-rows:auto minmax(310px,1fr) minmax(310px,1fr)}.calls-panel,.units-panel,.emergency-panel,.groups-panel{min-height:260px}.table-wrap{min-width:0}.table-wrap table{min-width:760px}.name-link{border:0!important;background:transparent!important;color:#7dd7ff!important;padding:0!important;text-decoration:underline;font-weight:1000}.name-link:hover{color:#fff!important}.person-popout{width:min(1220px,96vw)!important}.person-popout form{padding:0!important}.person-shell{padding:0}.person-head{margin:0!important}.person-id{display:flex;align-items:center;gap:14px}.person-id img{width:74px;height:74px;border-radius:14px;object-fit:cover;border:1px solid #666;background:#111}.person-grid{display:grid;grid-template-columns:1fr .9fr;gap:14px;padding:16px}.person-main,.person-records{min-width:0;border:1px solid #454545;background:#121212;border-radius:14px;padding:14px}.person-tabs-static{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.person-tabs-static span{padding:7px 10px;border:1px solid #555;border-radius:999px;background:#1f1f1f;color:#f6ff57;font-weight:900;font-size:12px}.person-edit{display:grid;gap:10px}.person-edit .wide{grid-column:1/-1}.info-stack{display:grid;gap:8px;margin-bottom:16px}.mini-card{display:grid;gap:3px;background:#191919;border:1px solid #424242;border-radius:10px;padding:10px}.mini-card b{color:#ff5367}.mini-card span{color:#fff}.mini-card em{color:#aaa;font-style:normal;font-size:12px}.record-form{display:grid!important;gap:8px;margin-bottom:12px}.one-two{grid-template-columns:repeat(2,minmax(0,1fr))}.records-list{display:grid;gap:8px;max-height:48vh;overflow:auto}.record{position:relative;border:1px solid #4a4a4a;background:#191919;border-radius:12px;padding:11px}.record b{color:#fff}.record p{margin:6px 0;color:#ddd}.record small{color:#aaa}.record.arrest{border-color:#a82938;background:linear-gradient(180deg,#251014,#171717)}.record.citation{border-color:#c28b24;background:linear-gradient(180deg,#251d10,#171717)}.record.prior{border-color:#666}.record .tiny{position:absolute;right:8px;bottom:8px;padding:4px 7px;font-size:11px}.page:not(.active){display:none!important}.grid,.two,.form-grid,.civ-hero,.person-grid,.imperial-layout{min-width:0}input,select,textarea{min-width:0}
@media(max-width:1250px){.imperial-layout{grid-template-columns:1fr;grid-template-rows:auto}.signon-panel,.controls-panel,.calls-panel,.units-panel,.emergency-panel,.groups-panel{grid-column:1!important}.imperial-layout{height:auto;min-height:0}.table-wrap{max-height:360px}.person-grid{grid-template-columns:1fr}.records-list{max-height:320px}}
@media(max-width:760px){.cad-titlebar{grid-template-columns:1fr;gap:3px;height:auto;padding:7px 10px}.cad-titlebar b,.cad-titlebar span{text-align:left}.cad-ribbon{height:auto;align-items:stretch}.ribbon-btn{min-width:88px;height:64px}.cad-subnav{height:auto;padding:8px}.civ-hero{padding:18px}.civ-hero h1{font-size:26px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr)}.stat{min-width:0;padding:10px}.stat b{font-size:22px}.form-grid,.one-two,.two{grid-template-columns:1fr!important}.modal.popout{width:98vw!important}.person-grid{padding:10px}.person-id img{width:58px;height:58px}.person-head{padding:12px!important}.person-head h2{font-size:20px}.table-wrap{overflow:auto}.table-wrap table{min-width:680px}.imperial-head{align-items:flex-start;flex-direction:column}.imperial-head .mini-search{max-width:none;width:100%}}

/* v6 record buttons + BOLO system */
.bolo-panel{border-color:#6b2d34!important;background:linear-gradient(180deg,#171011,#101010)!important}.bolo-panel h2:before{content:'⚠️ ';}.record-actions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.record-buttons{display:flex;gap:8px;flex-wrap:wrap}.record-buttons button{border:1px solid #4a4a4a;background:#222;color:#fff;border-radius:9px;padding:8px 10px;font-weight:900;cursor:pointer}.record-buttons button:hover{background:#303030;border-color:#ff5367}.record-buttons .danger{background:#3a1016;border-color:#7d2631;color:#ffccd2}.probation-banner{border:1px solid #444;background:#181818;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-weight:900}.probation-banner.active{border-color:#d89c31;background:linear-gradient(90deg,#2a1b09,#151515);color:#ffd27a}.record-popout,.bolo-popout{width:min(850px,95vw)!important}.record-popout form,.bolo-popout form{padding:0!important}.record.probation{border-color:#d89c31;background:linear-gradient(180deg,#2b1b08,#171717)}.record.warning{border-color:#d8c631;background:linear-gradient(180deg,#28250c,#171717)}.record.note{border-color:#4096c8}.table-wrap td .pill{white-space:nowrap}.bolo-popout textarea,.record-popout textarea{min-height:110px}.modal .wide{grid-column:1/-1}@media(max-width:720px){.record-actions-head{display:block}.record-buttons{margin-top:8px}.record-buttons button{width:100%}.one-two{grid-template-columns:1fr!important}.person-id img{width:58px;height:58px}.modal-head{gap:8px}.bolo-panel .table-wrap table{min-width:900px}}

/* v7 signal 99, plate search, cases/evidence */
.signal-btn,.signal99{background:linear-gradient(180deg,#ba1025,#610913)!important;border-color:#ff5367!important;box-shadow:0 0 18px rgba(255,32,68,.2)}
.signal-row td{background:#31070d!important;color:#ffccd4!important;animation:panicPulse 1.5s infinite;border-color:#a82938!important}
@keyframes panicPulse{0%,100%{box-shadow:inset 0 0 0 rgba(255,0,0,0)}50%{box-shadow:inset 0 0 18px rgba(255,0,0,.25)}}
.plate-popout{width:min(840px,95vw)!important}.plate-hit{border:1px solid #ff5367;background:linear-gradient(180deg,#30070f,#151515);border-radius:14px;padding:14px}.plate-hit h2{color:#ff6f80}.plate-clear{border:1px solid #2da963;background:linear-gradient(180deg,#0d2818,#151515);border-radius:14px;padding:14px}.plate-clear h2{color:#7CFF4B}.case-popout{width:min(1100px,96vw)!important;padding:18px!important}.case-grid{display:grid;grid-template-columns:1fr 360px;gap:14px}.case-narrative{border:1px solid #444;background:#111;border-radius:12px;padding:12px;min-height:90px}.evidence-form{display:grid;gap:10px;border:1px solid #444;background:#111;border-radius:14px;padding:12px!important}.evidence-list{display:grid;gap:10px;max-height:50vh;overflow:auto}.evidence-card{border:1px solid #484848;background:#171717;border-radius:12px;padding:10px}.evidence-card div{display:flex;justify-content:space-between;gap:8px;align-items:center}.evidence-card b{color:#ff5367}.evidence-card small{color:#aaa}.evidence-card img{width:100%;max-height:380px;object-fit:contain;border:1px solid #555;border-radius:10px;background:#000;margin-top:8px}.cases-panel table,.case-popout table{min-width:780px}#cases .panel{max-width:1500px;margin:0 auto}#cases .table-wrap{max-height:70vh}.ribbon-btn[data-tab="cases"] span{color:#75d6ff}@media(max-width:850px){.case-grid{grid-template-columns:1fr}.case-popout{padding:12px!important}.evidence-form{padding:10px!important}.searchbar-pop{grid-template-columns:1fr}}


/* v9 DOJ + synced panic + stable on-duty slot */
#signonBox.signed-on{border-color:#2da963;background:radial-gradient(circle at top right,rgba(45,169,99,.18),transparent 40%),linear-gradient(180deg,#171f19,#101010)}
.onduty-summary{border:1px solid #3b7f54;background:linear-gradient(180deg,#102116,#0d0d0d);border-radius:14px;padding:14px;margin-top:12px;display:grid;gap:8px}
.onduty-summary[hidden],#unitForm[hidden]{display:none!important}
.duty-badge{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #436b4f;background:#111;border-radius:12px;padding:10px 12px}.duty-badge span{color:#7CFF4B;font-weight:1000;letter-spacing:.12em}.duty-badge b{font-size:26px;color:#f6ff57}.doj-case-form{border-color:#4c7dff!important;background:linear-gradient(180deg,#11182c,#101010)!important}.doj-case-form h3:before{content:'⚖️ ';}.cases-panel table,#cases table{min-width:980px}.current-unit-card:not(.muted){border-color:#2da963}


.api-key-box{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;margin:18px 0}
.api-key-box input{font-family:Consolas,monospace;font-size:15px;letter-spacing:.5px;background:#07080b;border:1px solid #61202a;color:#fff;border-radius:10px;padding:13px}
.account-key-panel{max-width:850px;margin:20px auto}
@media(max-width:700px){.api-key-box{grid-template-columns:1fr}.api-key-box button{width:100%}}

/* v21 clock-in workflow */
.offclock-summary{border:1px solid #555;background:linear-gradient(180deg,#191919,#101010);border-radius:14px;padding:14px;margin-top:12px;display:grid;gap:8px}
.offclock-summary[hidden],.duty-controls[hidden]{display:none!important}
.duty-badge.off{border-color:#777;background:linear-gradient(180deg,#2b2b2b,#171717);color:#ddd}
.clock-toggle{font-size:18px;letter-spacing:.06em;margin-bottom:12px;padding:14px 12px}
.controls-panel .duty-controls{animation:dutyFade .16s ease-out}
.clockin-popout{width:min(760px,94vw)!important}
.clockin-popout .signon-grid.enhanced{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px!important}
.clockin-popout .modal-head{grid-column:1/-1;margin:-18px -18px 12px}
.clockin-popout .wide{grid-column:1/-1!important}
.clocked-out .status-light{border-color:#777;background:linear-gradient(180deg,#2a2a2a,#151515);color:#ddd}.clocked-out .status-light span{background:#aaa;box-shadow:none}
@keyframes dutyFade{from{opacity:.35;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:700px){.clockin-popout .signon-grid.enhanced{grid-template-columns:1fr}.clockin-popout .wide{grid-column:auto!important}}

/* v23 call notes popup */
.call-link,.call-title{background:transparent;border:0;color:#9ee6ff;text-decoration:underline;cursor:pointer;font-weight:800;padding:0}
.call-title{color:#fff;text-decoration:none;text-align:left}
.call-title:hover,.call-link:hover{color:#fff}
.call-details-popout{max-width:780px;width:min(780px,94vw)}
.call-details-body{display:grid;gap:14px}
.call-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.call-detail-field{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:12px;padding:10px;display:grid;gap:4px}
.call-detail-field span,.call-notes-box span{font-size:11px;color:#9aa4b2;text-transform:uppercase;letter-spacing:.08em}
.call-detail-field b{color:#fff;font-size:14px;overflow-wrap:anywhere}
.call-notes-box{border:1px solid rgba(255,193,7,.25);background:rgba(255,193,7,.08);border-radius:14px;padding:14px}
.call-notes-box p{white-space:pre-wrap;margin:8px 0 0;color:#fff;line-height:1.45}
.panic-warning{border:1px solid rgba(255,55,55,.45);background:rgba(255,55,55,.12);color:#ffb3b3;border-radius:12px;padding:12px;font-weight:900;text-align:center}



/* v24 true 1080p fit fix - code only, no collapsible ribbon */
html, body {
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  overflow: hidden;
}
body {
  position: fixed;
  inset: 0;
}
.cad-titlebar {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 8px !important;
}
.cad-ribbon {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 70px !important;
  min-height: 70px !important;
  padding: 6px 8px !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  flex-wrap: nowrap !important;
}
.cad-ribbon form { flex: 0 0 auto; margin: 0; }
.ribbon-btn {
  height: 56px !important;
  min-width: 92px !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  flex: 0 0 auto !important;
}
.ribbon-btn span {
  font-size: 19px !important;
}
.cad-subnav {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  gap: 14px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  flex-wrap: nowrap !important;
}
.cad-subnav button {
  padding: 5px 6px !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}
.page {
  width: 100vw !important;
  max-width: 100vw !important;
  height: calc(100vh - 124px) !important;
  padding: 6px 8px !important;
  overflow: hidden !important;
  margin: 0 !important;
}
#officer.page.active {
  display: block !important;
}
.imperial-layout {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, auto) minmax(0, 1fr) minmax(0, 1fr) !important;
  overflow: hidden !important;
}
.imperial-panel {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 7px !important;
  overflow: hidden !important;
}
.signon-panel, .controls-panel {
  max-height: 88px !important;
}
.calls-panel, .units-panel, .emergency-panel, .groups-panel {
  min-height: 0 !important;
}
.imperial-head {
  margin-bottom: 6px !important;
  min-height: 34px !important;
}
.imperial-head h2 {
  font-size: 21px !important;
}
.table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  height: calc(100% - 40px) !important;
  min-height: 0 !important;
  overflow: auto !important;
}
table {
  font-size: 12px !important;
}
th, td {
  padding: 4px 6px !important;
}
.table-wrap table {
  min-width: 720px !important;
}
.units-panel .table-wrap table,
.groups-panel .table-wrap table {
  min-width: 820px !important;
}
.mini-search {
  height: 32px !important;
  padding: 6px 12px !important;
}
.plus {
  width: 32px !important;
  height: 32px !important;
}
.onduty-top {
  padding: 2px 2px 8px !important;
  margin-bottom: 8px !important;
}
.onduty-top h2 {
  font-size: 20px !important;
}
.status-light, .live-pill {
  padding: 5px 9px !important;
}
.current-unit-card {
  min-height: 54px !important;
  padding: 8px !important;
  margin-bottom: 7px !important;
}
.status-grid {
  gap: 6px !important;
}
.status-grid button {
  padding: 7px 6px !important;
}
@media (max-height: 900px) {
  .cad-ribbon { height: 62px !important; min-height: 62px !important; }
  .ribbon-btn { height: 50px !important; min-width: 86px !important; }
  .ribbon-btn span { font-size: 17px !important; }
  .page { height: calc(100vh - 116px) !important; }
  .signon-panel, .controls-panel { max-height: 76px !important; }
  .imperial-head h2 { font-size: 19px !important; }
  table { font-size: 11px !important; }
}


/* v25 ONDT expandable drawer - compact by default, expands in-flow and pushes tables down */
.ondt-drawer-toggle {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 0 2px 0 !important;
}
.ondt-toggle-btn {
  width: 100% !important;
  height: 30px !important;
  padding: 5px 12px !important;
  border-radius: 8px !important;
  border: 1px solid #2da963 !important;
  background: linear-gradient(180deg,#132a1b,#0d0d0d) !important;
  color: #7CFF4B !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  letter-spacing: .06em !important;
  text-align: left !important;
}
.ondt-toggle-btn:hover { filter: brightness(1.16); }
.imperial-layout.ondt-collapsed {
  grid-template-rows: 32px minmax(0, 1fr) minmax(0, 1fr) !important;
}
.imperial-layout.ondt-collapsed .signon-panel,
.imperial-layout.ondt-collapsed .controls-panel {
  display: none !important;
}
.imperial-layout.ondt-collapsed .calls-panel,
.imperial-layout.ondt-collapsed .units-panel {
  grid-row: 2 !important;
}
.imperial-layout.ondt-collapsed .emergency-panel,
.imperial-layout.ondt-collapsed .groups-panel {
  grid-row: 3 !important;
}
.imperial-layout.ondt-expanded {
  grid-template-rows: 32px auto minmax(0, 1fr) minmax(0, 1fr) !important;
}
.imperial-layout.ondt-expanded .signon-panel,
.imperial-layout.ondt-expanded .controls-panel {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
}
.imperial-layout.ondt-expanded .calls-panel,
.imperial-layout.ondt-expanded .units-panel {
  grid-row: 3 !important;
}
.imperial-layout.ondt-expanded .emergency-panel,
.imperial-layout.ondt-expanded .groups-panel {
  grid-row: 4 !important;
}
.imperial-layout.ondt-expanded .signon-panel { grid-column: 1 / 2 !important; grid-row: 2 !important; }
.imperial-layout.ondt-expanded .controls-panel { grid-column: 2 / 3 !important; grid-row: 2 !important; }
.imperial-layout.ondt-expanded .onduty-top {
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
}
.imperial-layout.ondt-expanded .current-unit-card {
  min-height: 46px !important;
  margin-bottom: 6px !important;
}
.imperial-layout.ondt-expanded .clock-toggle {
  margin-bottom: 8px !important;
  padding: 9px 10px !important;
  font-size: 14px !important;
}
.imperial-layout.ondt-expanded .status-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.imperial-layout.ondt-expanded .status-grid button {
  padding: 6px 5px !important;
  line-height: 1.1 !important;
}
.imperial-layout.ondt-expanded #signal99Btn,
.imperial-layout.ondt-expanded #plateBtn {
  padding: 7px 8px !important;
  margin-top: 6px !important;
}
@media (max-width: 1250px) {
  .imperial-layout.ondt-expanded,
  .imperial-layout.ondt-collapsed {
    grid-template-rows: auto !important;
  }
  .imperial-layout.ondt-expanded .signon-panel,
  .imperial-layout.ondt-expanded .controls-panel,
  .imperial-layout.ondt-expanded .calls-panel,
  .imperial-layout.ondt-expanded .units-panel,
  .imperial-layout.ondt-expanded .emergency-panel,
  .imperial-layout.ondt-expanded .groups-panel,
  .imperial-layout.ondt-collapsed .calls-panel,
  .imperial-layout.ondt-collapsed .units-panel,
  .imperial-layout.ondt-collapsed .emergency-panel,
  .imperial-layout.ondt-collapsed .groups-panel {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* v25 civilian overview + modal create actions */
#civilian.page.active{
  display:block!important;
  height:calc(100vh - 124px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:48px!important;
}
.civ-scroll-shell{
  min-height:100%;
  padding-bottom:60px!important;
}
.compact-civ-hero{
  padding:18px!important;
  margin-bottom:12px!important;
}
.compact-civ-hero h1{
  font-size:28px!important;
}
.civ-overview-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(180px,320px) 1fr!important;
  gap:12px!important;
  align-items:center!important;
  margin:12px 0!important;
  overflow:visible!important;
}
.civilian-select{
  width:100%!important;
  height:42px!important;
}
.civilian-action-buttons{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
.civilian-action-buttons button{
  white-space:nowrap!important;
}
.civilian-main-grid{
  align-items:start!important;
  padding-bottom:48px!important;
}
.civilian-data-panel,
.civilian-active-card{
  overflow:visible!important;
}
.selected-civ{
  border-color:#ff5367!important;
  box-shadow:0 0 0 1px #ff536766 inset!important;
}
.active-civ-profile h3{
  font-size:24px!important;
  margin-bottom:6px!important;
}
.small-stats{
  margin-top:12px!important;
  flex-wrap:wrap!important;
}
.small-stats .stat{
  min-width:90px!important;
  padding:10px!important;
}
.civ-form-popout{
  width:min(820px,94vw)!important;
  max-height:88vh!important;
  overflow:auto!important;
}
.civ-form-popout form{
  display:grid!important;
  gap:12px!important;
}
@media (max-width:900px), (max-height:760px){
  #civilian.page.active{height:calc(100vh - 96px)!important;padding:6px!important;padding-bottom:64px!important;}
  .civ-overview-toolbar{grid-template-columns:1fr!important;align-items:stretch!important;}
  .civilian-action-buttons{justify-content:stretch!important;display:grid!important;grid-template-columns:1fr 1fr!important;}
  .civilian-main-grid,.two{grid-template-columns:1fr!important;}
  .compact-civ-hero{grid-template-columns:1fr!important;}
  .stat-row{flex-wrap:wrap!important;}
}

/* v26 citizenship workflow + requested green/pink theme */
:root{
  --sasrp-inactive:#17423D;
  --sasrp-main:#4F6952;
  --sasrp-hover:#D694B6;
  --sasrp-bg:#081210;
  --sasrp-panel:#10201d;
  --sasrp-panel-2:#142b27;
  --sasrp-border:#4F6952;
}
body{background:var(--sasrp-bg)!important;color:#f6fff9!important}
.auth{background:radial-gradient(circle at top,var(--sasrp-main),#081210 48%)!important}
.auth-card,.panel,.imperial-panel,.modal,.modal.popout,.clean-panel,.card,.current-unit-card,.case-narrative,.evidence-form,.evidence-card,.offclock-summary,.onduty-summary{background:linear-gradient(180deg,var(--sasrp-panel-2),var(--sasrp-panel))!important;border-color:var(--sasrp-border)!important}
.cad-titlebar{background:linear-gradient(180deg,var(--sasrp-main),var(--sasrp-inactive))!important;border-bottom-color:var(--sasrp-main)!important}
.cad-ribbon,.cad-subnav,.modal-head{background:linear-gradient(180deg,var(--sasrp-main),var(--sasrp-inactive))!important;border-color:var(--sasrp-main)!important}
.ribbon-btn,button{background:var(--sasrp-inactive)!important;border-color:var(--sasrp-main)!important;color:#fff!important}
button:hover,.ribbon-btn:hover,.cad-subnav button:hover,.clean-panel button:hover,.panel button:hover{background:var(--sasrp-hover)!important;border-color:var(--sasrp-hover)!important;color:#161616!important}
.go-duty,.auth-card button,.panel button.go-duty,.clean-panel button.go-duty{background:linear-gradient(180deg,var(--sasrp-main),var(--sasrp-inactive))!important;border-color:var(--sasrp-hover)!important}
.danger,.signal-btn,.signal99{background:linear-gradient(180deg,#6c2d49,var(--sasrp-inactive))!important;border-color:var(--sasrp-hover)!important;color:#fff!important}
input,select,textarea,.mini-search{background:#071411!important;border-color:var(--sasrp-main)!important;color:#fff!important}
input::placeholder,textarea::placeholder{color:#95aaa1!important}
.eyebrow,.card b,.auth-card a{color:var(--sasrp-hover)!important}.eyebrow.green{color:#b7e0cf!important}.eyebrow.amber{color:#ffd4e7!important}
.pill{background:var(--sasrp-inactive)!important;border-color:var(--sasrp-hover)!important;color:#ffe9f3!important}
.stat{background:var(--sasrp-inactive)!important;border-color:var(--sasrp-main)!important}.stat b{color:#fff!important}
.civ-hero{background:radial-gradient(circle at 15% 0,var(--sasrp-main) 0,var(--sasrp-inactive) 42%,#081210 78%)!important;border-color:var(--sasrp-main)!important}
th{background:var(--sasrp-inactive)!important}td{background:#0d1c19!important;border-color:var(--sasrp-main)!important}.table-wrap{border-color:var(--sasrp-main)!important}
.status,.units-panel td.status,.status-light,.live-pill,.duty-badge span{color:#c7f1dd!important}.status-light,.live-pill{background:linear-gradient(180deg,var(--sasrp-main),var(--sasrp-inactive))!important;border-color:#9bcbb5!important}
.civilian-select-row{display:grid!important;grid-template-columns:minmax(180px,320px) auto!important;gap:10px!important;align-items:center!important}
.request-delete-btn{height:42px!important;white-space:nowrap!important;border-color:var(--sasrp-hover)!important;color:#ffe9f3!important}
.request-delete-btn:disabled{opacity:.55!important;cursor:not-allowed!important;background:#173530!important;color:#c4d0cb!important;border-color:#37524a!important}
.citizenship-status{margin-top:12px;border:1px solid var(--sasrp-main);background:rgba(23,66,61,.55);border-radius:14px;padding:12px}.citizenship-status p{margin:8px 0 0}.citizenships-panel{max-width:1500px;margin:0 auto}.citizenships-panel table{min-width:1050px}
#citizenships.page.active{display:block!important;overflow:auto!important}.selected-civ{border-color:var(--sasrp-hover)!important;box-shadow:0 0 0 1px rgba(214,148,182,.6) inset!important}
@media(max-width:900px), (max-height:760px){.civilian-select-row{grid-template-columns:1fr!important}.request-delete-btn{width:100%!important}}


/* v29 supervisor tools + administrative section */
.top-menu{position:relative;display:flex!important;gap:18px;align-items:center;overflow:visible!important;}
.top-tools-btn{background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;padding:3px 8px;border-radius:8px;}
.top-tools-btn:hover{background:#D694B6;color:#111;}
.tools-dropdown{display:none;position:absolute;top:26px;left:86px;z-index:9999;width:280px;padding:14px;background:#17423D;border:1px solid rgba(214,148,182,.55);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.45);}
.tools-dropdown.open{display:block;}
.tools-dropdown p{margin:6px 0 10px;color:rgba(255,255,255,.72);font-size:12px;}
.tools-dropdown input{width:100%;box-sizing:border-box;margin-bottom:10px;background:#102d2a;color:white;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px;}
.tools-dropdown button[type=submit]{width:100%;background:#4F6952;color:white;border:0;border-radius:10px;padding:10px;font-weight:800;cursor:pointer;}
.tools-dropdown button[type=submit]:hover{background:#D694B6;color:#111;}
.supervisor-only{display:none;}
.admin-panel h3{margin-top:22px;}
.admin-reason{min-width:220px;margin-right:8px;background:rgba(255,255,255,.06);color:inherit;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:8px;}

/* v30 off-clock operational lock */
.offclock-ops-lock{grid-column:1/-1;text-align:center;padding:28px!important;border-style:dashed!important}
.offclock-ops-lock .duty-badge{margin:0 auto 12px;max-width:360px}
.operational-section.ops-hidden{display:none!important}
body.off-clock .calls-panel, body.off-clock .units-panel, body.off-clock .bolo-panel, body.off-clock .groups-panel{display:none!important}
body.off-clock #plusCall, body.off-clock #plusBolo{pointer-events:none;opacity:.35}

/* v31 system customization */
.file-btn{font-weight:800;border:1px solid rgba(214,148,182,.45);background:rgba(214,148,182,.12)!important;color:#ffd5e8!important}
.system-admin-box{margin-top:22px;padding:18px;border:1px solid rgba(214,148,182,.35);border-radius:14px;background:rgba(23,66,61,.35)}
.dept-admin-form{display:grid;gap:12px;margin:12px 0 18px}
.dept-admin-form textarea{min-height:76px;resize:vertical}
.dept-admin-form code{color:#ffd5e8;background:rgba(0,0,0,.28);padding:3px 6px;border-radius:6px}
#divisionSelect,#subdivisionSelect{min-height:42px}


/* v32 system admin scalability fixes */
html, body { min-height: 100%; }
.main, .cad-main, .page.active { min-height: 0; }
.page#administrative.active { display:block; overflow-y:auto; max-height: calc(100vh - 135px); padding-bottom: 40px; }
.admin-panel { max-height: none; overflow: visible; }
.system-control-panel { margin-top: 18px; border: 1px solid rgba(214,148,182,.25); background: rgba(23,66,61,.38); border-radius: 18px; padding: 16px; }
.sys-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; position:sticky; top:0; z-index:4; background: rgba(12,20,19,.92); padding:8px; border-radius:14px; }
.sys-tabs button { border:1px solid rgba(79,105,82,.55); background:#17423D; color:#eef7f3; padding:9px 12px; border-radius:12px; cursor:pointer; }
.sys-tabs button:hover, .sys-tabs button.active { background:#D694B6; color:#191a1a; }
.sys-tab { display:none; }
.sys-tab.active { display:block; }
.admin-scroll { max-height: 48vh; overflow:auto; border-radius:14px; }
.system-toolbar { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; align-items:center; }
.system-toolbar input, .system-toolbar select { min-width:240px; }
.system-edit-popout { width:min(900px,96vw); }
#systemRawJson { min-height: 420px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre; }
.system-admin-box code { white-space: normal; word-break: break-all; }
.danger-pill { background: rgba(220,80,80,.2); color:#ffb1b1; }
@media (max-width: 900px){ .page#administrative.active{max-height:calc(100vh - 90px);} .admin-scroll{max-height:55vh;} .system-toolbar input,.system-toolbar select{min-width:100%;} }


/* v33 department popout + admin scroll repair */
#administrative.page.active{
  height:auto!important;
  min-height:calc(100vh - 120px)!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:90px!important;
}
.system-control-panel{
  max-height:none!important;
  overflow:visible!important;
}
#sys-departments.sys-tab.active{
  display:block!important;
  min-height:0!important;
  overflow:visible!important;
}
.department-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border:1px solid rgba(214,148,182,.25)!important;
  background:rgba(23,66,61,.35)!important;
  border-radius:16px!important;
  padding:14px!important;
  margin:10px 0 14px!important;
}
.department-toolbar h3{margin:0 0 4px!important;font-size:22px!important;}
.department-toolbar p{margin:0!important;}
.departments-scroll{
  max-height:52vh!important;
  overflow:auto!important;
  border-radius:14px!important;
}
.departments-scroll table{min-width:1050px!important;}
.department-popout{
  width:min(920px,96vw)!important;
  max-height:92vh!important;
  overflow:auto!important;
}
.department-popout-form{
  display:grid!important;
  gap:14px!important;
  padding:0!important;
  min-width:0!important;
}
.dept-pop-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  padding:0 18px!important;
}
.department-popout .modal-head{
  margin:0 0 16px!important;
}
.department-popout .modal-actions{
  padding:0 18px 18px!important;
}
.dept-pop-grid .wide{grid-column:1/-1!important;}
.two-textareas textarea{min-height:190px!important;resize:vertical!important;}
#deptPasswordHelp{margin:-4px 0 0!important;}
@media(max-width:800px){
  .department-toolbar{display:grid!important;grid-template-columns:1fr!important;}
  .department-toolbar button{width:100%!important;}
  .dept-pop-grid{grid-template-columns:1fr!important;padding:0 12px!important;}
  .department-popout .modal-actions{padding:0 12px 12px!important;display:grid!important;grid-template-columns:1fr!important;}
}
/* GLOBAL SCROLL FIX */
html,
body {
  height: 100%;
  min-height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body {
  position: relative;
}

/* MAIN APP */
#app,
.app,
.main,
.cad-main {
  min-height: 100vh;
  overflow: visible !important;
}

/* EVERY PAGE */
.page {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important;
  min-height: calc(100vh - 120px) !important;
  padding-bottom: 80px !important;
}

/* ACTIVE PAGE */
.page.active {
  display: block !important;
  overflow-y: auto !important;
}

/* CIVILIAN */
#civilian.page.active {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important;
  max-height: none !important;
}

/* ADMIN */
#administrative.page.active {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: none !important;
}

/* DOJ */
#doj.page.active,
#citizenships.page.active {
  overflow-y: auto !important;
  max-height: none !important;
}

/* TABLE WRAPS */
.table-wrap {
  overflow: auto !important;
}

/* PANELS */
.panel,
.imperial-panel,
.clean-panel,
.system-admin-box,
.system-control-panel {
  overflow: visible !important;
}

/* MODALS */
.modal,
.modal.popout {
  overflow-y: auto !important;
  max-height: 90vh !important;
}

/* FIX FLEX/GRID CLIPPING */
.grid,
.two,
.person-grid,
.imperial-layout,
.civilian-main-grid {
  min-height: 0 !important;
}

/* MOBILE/TABLET */
@media (max-width: 1100px), (max-height: 850px) {
  body {
    overflow-y: auto !important;
  }

  .page {
    height: auto !important;
    min-height: auto !important;
    overflow-y: auto !important;
  }

  .imperial-layout {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .imperial-panel {
    min-height: 300px !important;
    overflow: visible !important;
  }
}