:root{--ink:#10203a;--muted:#68758a;--line:#dfe5ed;--soft:#f5f7fa;--blue:#2f69cf;--navy:#102944;--aqua:#3cc7b3;--gold:#e8b64b;--red:#c84d5d;--white:#fff;--shadow:0 18px 50px #192d4b1a}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#f2f5f8;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:.6rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.02}h2{letter-spacing:-.02em;font-size:1.15rem}.portal-shell{grid-template-columns:245px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0b1d33;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:12px;margin-bottom:28px;padding:8px;display:flex}.brand-mark,.avatar,.mini-avatar,.profile-chip>span:first-child{color:#fff;background:linear-gradient(145deg,#3475db,#32c8b0);place-items:center;font-weight:800;display:grid}.brand-mark{border-radius:13px;width:44px;height:44px}.brand strong{display:block}.brand small{color:#9eb0c6;margin-top:2px;display:block}.sidebar nav{gap:5px;display:grid}.nav-item{color:#c9d4e1;text-align:left;background:0 0;border:0;border-radius:11px;padding:12px 13px}.nav-item span,.nav-item small{display:block}.nav-item span{font-weight:700}.nav-item small{color:#8398af;margin-top:3px;font-size:.72rem}.nav-item:hover,.nav-item.active{color:#fff;background:#173554}.nav-item.active small{color:#a8c6e7}.sidebar-foot{color:#9eb0c6;border-top:1px solid #ffffff1f;margin-top:auto;padding:18px 10px 4px;font-size:.74rem}.security-dot{background:#45d9b5;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.main-shell{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;justify-content:space-between;align-items:center;height:74px;padding:0 4vw;display:flex;position:sticky;top:0}.community-picker,.fixed-community{align-items:center;gap:10px;display:flex}.community-picker span,.fixed-community span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.7rem;font-weight:800}.community-picker select{color:var(--ink);background:0 0;border:0;padding:8px;font-weight:750}.top-actions{align-items:center;gap:15px;display:flex}.profile-chip{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:7px;display:flex}.profile-chip:hover{background:var(--soft)}.profile-chip>span:first-child,.profile-chip img{object-fit:cover;border-radius:10px;width:36px;height:36px}.profile-chip strong,.profile-chip small{display:block}.profile-chip small{color:var(--muted);font-size:.7rem}.text-button,.link-button{color:var(--blue);background:0 0;border:0;font-weight:750}.content{max-width:1450px;margin:0 auto;padding:42px 4vw 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px;display:flex}.page-heading p{color:var(--muted);max-width:760px;margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#3e67a7;margin-bottom:8px;font-size:.68rem;font-weight:850;display:block}.eyebrow.light{color:#75c2d7}.primary,.secondary,.outline-light,.row-actions button,.calendar-actions button,.member-row>button{border:1px solid #0000;border-radius:10px;padding:10px 16px;font-weight:800}.primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px #2f69cf33}.secondary{color:var(--ink);border-color:var(--line);background:#fff}.outline-light{color:#fff;background:0 0;border-color:#ffffff4d}.alert{border-radius:12px;justify-content:space-between;align-items:center;margin:-14px 0 22px;padding:13px 16px;font-weight:700;display:flex}.alert button{background:0 0;border:0;font-size:1.3rem}.alert.success{color:#176a54;background:#e7f8f1}.alert.error{color:#983343;background:#fdecef}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px;box-shadow:0 6px 22px #1e32500a}.dark-panel{color:#fff;background:linear-gradient(115deg,#0b2340,#123c50);border:0}.panel-title{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.panel-title h2{margin-bottom:0}.live-board{margin-bottom:18px;padding:26px}.live-badge,.offline-badge{letter-spacing:.12em;border-radius:20px;padding:7px 10px;font-size:.67rem;font-weight:900}.live-badge{color:#8af3d3;background:#40d2b126}.offline-badge{color:#b7c5d4;background:#ffffff14}.live-badge i,.offline-badge i{background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.muted-light{color:#b4c4d5;margin:0}.live-grid{gap:12px;display:grid}.live-person{border:1px solid #ffffff21;border-radius:13px;align-items:center;gap:12px;padding:14px;display:flex}.live-person div:nth-child(2){flex:1}.live-person strong,.live-person span{display:block}.live-person span{color:#b9cad8;margin-top:3px;font-size:.8rem}.avatar{border-radius:11px;flex:none;width:40px;height:40px}.aqua{background:linear-gradient(145deg,#2d81c8,#32c9b0)}.stat-grid{grid-template-columns:1.2fr repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:16px;padding:19px}button.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card span,.stat-card small,.stat-card strong{display:block}.stat-card span{color:var(--muted);font-size:.77rem;font-weight:750}.stat-card strong{margin:12px 0 4px;font-size:2rem}.stat-card small{color:var(--muted);font-size:.72rem}.stat-card.featured{color:#fff;background:linear-gradient(135deg,#152e50,#234c75)}.stat-card.featured span,.stat-card.featured small{color:#c3d1df}.progress{background:#ffffff29;border-radius:4px;height:5px;margin:9px 0}.progress i{background:#45d9b5;border-radius:4px;height:100%;display:block}.overview-grid,.two-column{grid-template-columns:minmax(0,1.45fr) minmax(340px,.85fr);gap:18px;display:grid}.shift-list{display:grid}.shift-row{border-top:1px solid var(--line);grid-template-columns:52px minmax(150px,1fr) minmax(115px,.7fr) auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.shift-row:first-child{border-top:0}.date-tile{background:var(--soft);border-radius:10px;place-items:center;width:45px;height:45px;line-height:1;display:grid}.date-tile strong{font-size:1.05rem}.date-tile span{text-transform:uppercase;color:var(--muted);font-size:.58rem;font-weight:800}.shift-main strong,.shift-main span{display:block}.shift-main span{color:var(--muted);margin-top:4px;font-size:.74rem}.officer-name{align-items:center;gap:7px;font-size:.78rem;display:flex}.mini-avatar{border-radius:8px;flex:none;width:27px;height:27px;font-size:.65rem}.pill{color:#556275;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#eef2f7;border-radius:999px;align-items:center;padding:5px 8px;font-size:.61rem;font-weight:850;display:inline-flex}.status-open,.locked{color:#8b6418;background:#fff2d7}.status-claimed{color:#4c5d9e;background:#e9edff}.status-live{color:#14735c;background:#dff8f0}.status-completed,.active-pill,.released{color:#287359;background:#e3f4ec}.status-canceled{color:#945160;background:#f6e7e9}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.row-actions button,.calendar-actions button,.member-row>button{color:var(--blue);border-color:var(--line);background:#fff;padding:6px 8px;font-size:.68rem}.row-actions .go-live{color:#fff;background:#1a836b}.row-actions .danger-link{color:var(--red)}.activity-list{gap:3px;display:grid}.activity-item{border-top:1px solid var(--line);gap:11px;padding:13px 0;display:flex}.activity-item p{color:var(--muted);margin:5px 0;font-size:.78rem}.activity-item small{color:#8a95a5}.check-icon{color:#168169;background:#dff8f0;border-radius:9px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.empty-state{text-align:center;color:var(--muted);background:var(--soft);border-radius:12px;padding:32px 15px}.empty-state p{margin:8px 0 0}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px;display:flex}.calendar-toolbar>div{gap:8px;display:flex}.calendar-toolbar button,.calendar-toolbar select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:8px 11px;font-weight:800}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays{background:var(--soft);border-bottom:1px solid var(--line)}.weekdays>div{text-transform:uppercase;color:var(--muted);text-align:center;padding:10px;font-size:.65rem;font-weight:850}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:152px;padding:8px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.blank{background:#fafbfc}.day-number{justify-content:space-between;gap:5px;margin-bottom:7px;display:flex}.day-number>span{color:#9b651a;text-align:right;font-size:.56rem;font-weight:800}.calendar-day.holiday{background:#fffaf0}.calendar-shift{background:#f1f4fb;border-left:3px solid #7184b5;border-radius:7px;margin-top:5px;padding:6px;font-size:.63rem;overflow:hidden}.calendar-shift strong,.calendar-shift span,.calendar-shift small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.calendar-shift span{margin:3px 0;font-weight:750}.calendar-shift small{color:var(--muted)}.calendar-live{background:#e5f8f2;border-color:#1a9d7d}.calendar-completed{background:#edf7f1;border-color:#519671}.calendar-open{background:#fff8e9;border-color:#dfa833}.calendar-actions{flex-wrap:wrap;gap:3px;margin-top:5px;display:flex}.calendar-actions button{padding:3px 5px;font-size:.55rem}.sticky-form{align-self:start;position:sticky;top:94px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label,.profile-form label,.release-panel label,.block-label{gap:6px;display:grid}.form-grid label span,.profile-form label>span,.release-panel label>span,.block-label>span{font-size:.75rem;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea,.profile-form input,.release-panel select,.block-label textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd5e1;border-radius:10px;padding:11px 12px}.full{grid-column:1/-1}.form-help{color:var(--muted);margin:0;font-size:.72rem}.timeline{display:grid}.timeline-row{border-top:1px solid var(--line);grid-template-columns:17px 1fr;gap:10px;padding:14px 0;display:grid}.timeline-row:first-child{border-top:0}.timeline-dot{background:var(--aqua);border:2px solid #fff;border-radius:50%;width:10px;height:10px;margin-top:4px;box-shadow:0 0 0 3px #d9f5ef}.timeline-heading{justify-content:space-between;gap:10px;display:flex}.timeline-heading time{color:var(--muted);font-size:.72rem}.timeline-row p{color:var(--muted);margin:5px 0;font-size:.82rem}.timeline-row small{color:#8994a4}.note-list{gap:12px;display:grid}.note-card{border:1px solid var(--line);border-radius:13px;padding:17px}.note-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.note-card h3{margin:13px 0 7px}.note-card p{color:var(--muted);font-size:.85rem}.note-card small{color:#8b96a5}.member-table{display:grid}.member-row{border-top:1px solid var(--line);grid-template-columns:42px 1fr auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.member-row:first-child{border-top:0}.member-row strong,.member-row small{display:block}.member-row small{color:var(--muted);margin-top:3px}.profile-form{gap:15px;display:grid}.profile-photo{align-items:center;gap:15px;margin-bottom:6px;display:flex}.profile-photo img,.profile-photo>span{object-fit:cover;border-radius:24px;width:88px;height:88px}.profile-photo>span{color:#fff;background:linear-gradient(145deg,#3475db,#32c8b0);place-items:center;font-size:1.8rem;font-weight:850;display:grid}.profile-form label small{color:var(--muted);font-size:.7rem}.inline-message{background:var(--soft);color:var(--muted);border-radius:9px;padding:10px}.release-panel>p,.permission-card p{color:var(--muted)}.release-panel{align-content:start;gap:13px;display:grid}.released-list{border-top:1px solid var(--line);margin-top:14px;padding-top:15px}.released-list>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.released-list small{color:var(--muted)}.permission-card{background:var(--soft);border-radius:13px;padding:18px}.modal-backdrop{z-index:50;background:#05111fa6;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:20px;width:min(760px,96vw);max-height:94vh;padding:28px;position:relative;overflow:auto;box-shadow:0 25px 80px #00000040}.wide-modal{width:min(1120px,97vw)}.compact-modal{width:min(600px,96vw)}.modal h2{margin-bottom:8px;font-size:1.8rem}.modal>p{color:var(--muted)}.modal-close{background:var(--soft);border:0;border-radius:9px;width:38px;height:38px;font-size:1.5rem;position:absolute;top:18px;right:20px}.shift-fields{margin:20px 0}.locked-message{color:#7c5c17;background:#fff4dd;border:1px solid #f0d695;border-radius:10px;margin-bottom:15px;padding:12px;font-weight:700}.selection-calendar{border:1px solid var(--line);border-radius:14px;margin-bottom:18px;overflow:hidden}.selection-grid>button,.selection-grid>div{border:0;border-right:1px solid var(--line);border-top:1px solid var(--line);text-align:left;min-height:82px;color:var(--ink);background:#fff;padding:8px}.selection-grid>button:nth-child(7n),.selection-grid>div:nth-child(7n){border-right:0}.selection-grid button strong,.selection-grid button small{display:block}.selection-grid button small{color:var(--muted);margin-top:5px;font-size:.58rem}.selection-grid button:hover:not(:disabled){background:#edf4ff}.selection-grid button.selected{box-shadow:inset 0 0 0 2px var(--blue);background:#dceaff}.selection-grid button.conflict{color:#a13d4b;background:#fff0f1}.selection-grid button.conflict small{color:#a13d4b}.selection-grid button.holiday:not(.conflict){background:#fffaf0}.block-label{margin-top:12px}.modal-summary{background:var(--soft);border-radius:12px;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:18px;padding:14px;display:flex}.modal-summary strong,.modal-summary small{display:block}.modal-summary small{color:var(--muted);max-width:650px;margin-top:5px}.modal-summary>div:last-child{flex:none;gap:8px;display:flex}.loading-screen{align-content:center;place-items:center;gap:16px;min-height:100vh;display:grid}.spinner{border:4px solid #dbe3ee;border-top-color:var(--blue);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1050px){.portal-shell{grid-template-columns:88px 1fr}.sidebar{padding:20px 12px}.brand span:last-child,.nav-item small,.sidebar-foot{display:none}.brand{padding:5px}.nav-item{text-align:center;padding:12px 4px;font-size:.76rem}.stat-grid{grid-template-columns:1fr 1fr}.overview-grid,.two-column{grid-template-columns:1fr}.sticky-form{position:static}.shift-row{grid-template-columns:48px 1fr auto}.officer-name{grid-column:2}.row-actions{grid-area:1/3/3}.calendar-day{min-height:120px}}@media (max-width:720px){.portal-shell{display:block}.sidebar{z-index:25;background:#0b1d33;height:auto;padding:7px;display:block;position:fixed;inset:auto 0 0}.brand,.sidebar-foot,.nav-item small{display:none}.sidebar nav{gap:2px;display:flex;overflow-x:auto}.nav-item{min-width:88px;padding:10px 8px}.main-shell{padding-bottom:68px}.topbar{height:68px;padding:0 14px}.community-picker span,.fixed-community span,.profile-chip>span:last-child,.text-button{display:none}.content{padding:26px 14px 50px}.page-heading{align-items:flex-start}.page-heading h1{font-size:2rem}.page-heading .primary{white-space:nowrap}.stat-grid{grid-template-columns:1fr 1fr}.shift-row{grid-template-columns:44px 1fr auto;gap:8px}.row-actions{grid-area:auto/1/auto/-1;justify-content:flex-start}.calendar-panel{overflow-x:auto}.calendar{min-width:820px}.calendar-day{min-height:135px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.member-row{grid-template-columns:40px 1fr auto}.member-row>button{grid-column:2/-1}.modal-backdrop{padding:0}.modal{border-radius:0;width:100vw;min-height:100vh;max-height:100vh;padding:24px 16px}.wide-modal{width:100vw}.selection-calendar{overflow-x:auto}.selection-calendar .calendar{min-width:700px}.modal-summary{flex-direction:column;align-items:stretch}.modal-summary>div:last-child{justify-content:flex-end}.top-actions{gap:5px}.profile-chip{padding:4px}}.login-page{background:linear-gradient(145deg,#071b31,#0d3950);place-items:center;min-height:100vh;padding:32px 18px;display:grid;position:relative;overflow:hidden}.login-backdrop{pointer-events:none;background:radial-gradient(circle at 12% 15%,#2f69cf47,#0000 34%),radial-gradient(circle at 86% 85%,#32c8b038,#0000 38%);position:absolute;inset:0}.login-card{background:#fffffffa;border:1px solid #ffffffa6;border-radius:28px;width:min(570px,100%);padding:44px;position:relative;box-shadow:0 30px 100px #00000047}.login-brand{align-items:center;gap:15px;margin-bottom:45px;display:flex}.login-brand>span{color:#fff;letter-spacing:.08em;background:linear-gradient(145deg,#3475db,#32c8b0);border-radius:16px;place-items:center;width:54px;height:54px;font-weight:900;display:grid}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:1.15rem}.login-brand small{color:var(--muted);margin-top:3px}.login-heading h1{margin-bottom:14px;font-size:clamp(2rem,6vw,3.15rem)}.login-heading>p:last-child{color:var(--muted);margin-bottom:28px;font-size:1.02rem;line-height:1.6}.login-form{gap:18px;display:grid}.login-form label{gap:8px;display:grid}.login-form label>span{font-size:.83rem;font-weight:800}.login-form input{width:100%;color:var(--ink);background:#f8fafc;border:1px solid #cbd5e1;border-radius:13px;outline:none;padding:15px}.login-form input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #2f69cf1f}.login-submit{border:0;width:100%;margin-top:2px;padding:15px}.login-message{color:#526174;background:#eef2f7;border-radius:11px;padding:12px 14px;font-size:.86rem;line-height:1.4}.login-links{justify-content:center;gap:20px;margin:21px 0 28px;display:flex}.login-links button{color:var(--blue);background:0 0;border:0;padding:0;font-weight:800}.login-footnote{border-top:1px solid var(--line);text-align:center;color:#8994a4;margin:0;padding-top:25px;font-size:.76rem;line-height:1.5}@media (max-width:600px){.login-page{padding:18px}.login-card{border-radius:22px;padding:28px 22px}.login-brand{margin-bottom:34px}.login-links{flex-wrap:wrap;gap:14px}}@media (max-width:720px){.topbar{scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:18px;overflow:auto hidden}.topbar::-webkit-scrollbar{display:none}.community-picker,.fixed-community,.top-actions{flex:none}.top-actions{min-width:max-content;margin-left:auto;padding-right:10px}.top-actions .text-button{white-space:nowrap;padding:10px 8px;display:inline-flex}.calendar-day .pill.locked{white-space:normal;overflow-wrap:anywhere;text-align:center;justify-content:center;max-width:100%;padding:5px 4px;font-size:.48rem;line-height:1.1;display:inline-flex}.profile-photo{flex-wrap:wrap}}.live-person .live-detail{color:#ffffffc7;margin-top:.25rem;font-size:.86rem;line-height:1.35;display:block}.end-live-choices{gap:.75rem;margin-top:1rem;display:grid}.end-live-choices button{text-align:left;justify-items:start;gap:.2rem;width:100%;display:grid}.end-live-choices button small{opacity:.8;white-space:normal;font-weight:500}.note-delete{margin-top:.75rem}.admin-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-workspace{grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);grid-template-areas:"approve members""schedule schedule""notes notes";align-items:start;gap:18px;display:grid}.admin-approve-panel{grid-area:approve}.admin-members-panel{grid-area:members}.admin-schedule-panel{grid-area:schedule}.admin-notes-panel{grid-area:notes}.admin-schedule-filters{border:1px solid var(--line);background:var(--soft);border-radius:13px;grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:end;gap:12px;margin:18px 0;padding:14px;display:grid}.admin-schedule-filters label{gap:6px;display:grid}.admin-schedule-filters label span{font-size:.72rem;font-weight:800}.admin-schedule-filters input,.admin-schedule-filters select{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd5e1;border-radius:9px;padding:9px 10px}.admin-records{max-height:640px;padding-right:4px;overflow:auto}.admin-record-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.admin-record-row>div{min-width:0}.admin-record-row small{white-space:normal}.admin-record-row>button{white-space:nowrap;justify-self:end}@media (max-width:1050px){.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-workspace{grid-template-columns:1fr;grid-template-areas:"approve""members""schedule""notes"}.admin-schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.admin-summary,.admin-schedule-filters{grid-template-columns:1fr}.admin-record-row{grid-template-columns:minmax(0,1fr) auto}}.directory-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.officer-card{gap:18px;min-height:100%;display:grid}.officer-card-head{align-items:center;gap:16px;display:flex}.officer-card-head p,.officer-bio{color:var(--muted);margin:0}.officer-card-photo{object-fit:cover;border-radius:24px;flex:none;width:92px;height:92px}.officer-card-initials{color:#fff;background:linear-gradient(145deg,#3475db,#32c8b0);place-items:center;font-size:1.55rem;font-weight:850;display:grid}.profile-status-line{color:#176a54;background:#eef7f5;border-radius:11px;padding:11px 13px;display:block}.profile-facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;display:grid}.profile-facts span{background:var(--soft);color:var(--muted);border-radius:11px;gap:3px;padding:11px;font-size:.78rem;display:grid}.profile-facts strong{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.profile-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:start;gap:18px;display:grid}.profile-preview-panel{position:sticky;top:94px}.profile-preview-card{justify-items:start;gap:12px;display:grid}.profile-preview-card h2,.profile-preview-card p{margin:0}.profile-actions,.member-admin-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-release-panel{margin-top:18px}.member-admin-actions{grid-column:1/-1;justify-content:flex-end;padding-top:6px}.member-admin-actions select,.member-admin-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;font-size:.7rem;font-weight:750}.inactivity-modal{text-align:center}.inactivity-modal .primary{margin-top:8px}@media (max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-preview-panel{position:static}.directory-grid{grid-template-columns:1fr}}.coverage-frame{color:var(--muted);margin-top:5px;font-weight:700;display:block}.claim-action{box-shadow:0 7px 16px #168a6333;color:#fff!important;background:#168a63!important;border-color:#168a63!important}.claim-action:hover{background:#107451!important;border-color:#107451!important}.secondary-action{background:#fff}.overview-notes-panel{margin-top:18px}.overview-note-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.overview-note-card{border:1px solid var(--line);background:linear-gradient(#fff,#f8fafc);border-radius:16px;min-width:0;padding:17px}.overview-note-meta{align-items:center;gap:10px;display:flex}.overview-note-meta>span:last-child{display:grid}.overview-note-meta small{color:var(--muted)}.overview-note-card h3{margin:14px 0 7px;font-size:1rem}.overview-note-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}@media (max-width:900px){.overview-note-grid{grid-template-columns:1fr}}.admin-tabs{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:8px;display:grid;box-shadow:0 12px 34px #19304e0f}.admin-tabs button{min-height:76px;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;gap:4px;padding:14px 16px;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;display:grid}.admin-tabs button:hover{background:var(--soft);transform:translateY(-1px)}.admin-tabs button.active{background:#fff;border-color:#1f65c538;box-shadow:0 10px 24px #19304e1a}.admin-tabs button strong{font-size:.95rem}.admin-tabs button span{color:var(--muted);font-size:.78rem;line-height:1.35}.tabbed-admin-workspace{grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);grid-template-areas:"approve members"}.admin-tab-hidden{display:none!important}.admin-tab-visible{animation:.18s ease-out admin-tab-in}@keyframes admin-tab-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.admin-notes-panel .member-row{border:1px solid var(--line);background:var(--soft);border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:10px;padding:16px}.admin-note-copy{min-width:0}.admin-note-copy p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:.9rem;line-height:1.5}.live-avatar-photo{object-fit:cover;border:2px solid #ffffff59}@media (max-width:820px){.admin-tabs{grid-template-columns:1fr}.admin-tabs button{min-height:auto}.tabbed-admin-workspace{grid-template-columns:1fr;grid-template-areas:"approve""members"}}.brand-mark img,.login-brand>span img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.overview-stat-grid{grid-template-columns:1.2fr repeat(2,1fr)}.email-log-filters{grid-template-columns:minmax(220px,1fr) 150px 170px auto;align-items:center;gap:10px;margin:18px 0;display:grid}.email-log-table{gap:8px;display:grid}.email-log-row{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.email-log-summary{text-align:left;background:#fff;border:0;grid-template-columns:minmax(0,1fr) auto 54px;align-items:center;gap:14px;width:100%;padding:13px 15px;display:grid}.email-log-summary strong,.email-log-summary small{display:block}.email-log-summary small{color:var(--muted);margin-top:3px}.email-status{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:850}.email-status-sent{color:#176b49;background:#dff5ea}.email-status-pending{color:#7d5c12;background:#fff1c9}.email-status-failed{color:#a13545;background:#ffe3e7}.email-log-view{color:var(--blue);font-size:.75rem;font-weight:800}.email-log-details{border-top:1px solid var(--line);background:var(--soft);padding:13px 15px}.email-log-details p{overflow-wrap:anywhere;margin:5px 0}.email-log-pagination{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.branding-grid{border:1px solid var(--line);background:var(--soft);border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.branding-preview{align-items:center;gap:14px;display:flex}.branding-preview strong,.branding-preview small{display:block}.branding-preview small{color:var(--muted);margin-top:4px}.large-brand-mark{border-radius:17px;flex:none;width:68px;height:68px}.branding-actions{flex-wrap:wrap;gap:9px;display:flex}.setting-row{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:16px;display:flex}.setting-row strong,.setting-row small{display:block}.setting-row small{color:var(--muted);margin-top:4px}.toggle-button{border-radius:999px;min-width:72px;font-weight:900}.toggle-button.on{color:#176b49;background:#dff5ea;border-color:#9bd4bb}.toggle-button.off{color:#67717e;background:#f2f4f7}@media (max-width:820px){.overview-stat-grid,.email-log-filters,.branding-grid{grid-template-columns:1fr}.email-log-summary{grid-template-columns:minmax(0,1fr) auto}.email-log-view{grid-column:1/-1}.setting-row{align-items:flex-start}}.profile-tabs{border:1px solid var(--line);background:var(--soft);border-radius:13px;gap:6px;margin:-6px 0 20px;padding:5px;display:inline-flex}.profile-tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:9px 18px;font-weight:850}.profile-tabs button.active{color:#fff;background:var(--blue);box-shadow:0 5px 14px #17416c33}.invoice-builder{max-width:1060px}.invoice-fields{margin:18px 0}.rate-selector{border:1px solid var(--line);background:var(--soft);border-radius:13px;align-items:center;gap:8px;margin:10px 0 18px;padding:13px;display:flex}.rate-selector>span{margin-right:auto;font-weight:850}.rate-selector button{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:82px;padding:9px 14px;font-weight:900}.rate-selector button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.invoice-preview-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.invoice-preview-summary>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px}.invoice-preview-summary span,.invoice-preview-summary strong{display:block}.invoice-preview-summary span{color:var(--muted);font-size:.75rem}.invoice-preview-summary strong{color:var(--blue);margin-top:5px;font-size:1.2rem}.invoice-shift-preview{border:1px solid var(--line);background:var(--soft);border-radius:12px;gap:7px;margin-bottom:16px;padding:12px;display:grid}.invoice-shift-preview>div:not(.empty-state){background:#fff;border-radius:8px;justify-content:space-between;gap:12px;padding:8px;display:flex}.presence-list{gap:8px;margin-top:16px;display:grid}.presence-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:13px 15px;display:grid}.presence-row strong,.presence-row small{display:block}.presence-row small{color:var(--muted);text-transform:capitalize;margin-top:3px}.presence-row time{color:var(--muted);font-size:.78rem}.presence-dot{background:#19a66f;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #def7ec}.note-history-filters{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin:16px 0;display:grid}.note-history-filters label span{margin-bottom:5px;font-size:.78rem;font-weight:750;display:block}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.pagination span{color:var(--muted);font-size:.8rem}.delete-record-button{color:#a93344;background:#fff7f8;border:1px solid #e6a6af;border-radius:9px;margin-top:10px;padding:7px 10px;font-size:.72rem;font-weight:850}.street-check-actions{align-items:center}.calendar-day .pill.locked{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:4px 5px;line-height:1.15}@media (max-width:720px){.calendar-panel{overflow-x:hidden}.calendar{width:100%;min-width:0}.weekdays>div{padding:6px 1px;font-size:.52rem}.calendar-day{min-height:88px;padding:3px}.day-number{margin-bottom:2px;font-size:.7rem}.day-number>span{display:none}.calendar-shift{border-left-width:2px;border-radius:4px;margin-top:2px;padding:3px;font-size:.5rem}.calendar-shift span,.calendar-shift small{display:none}.calendar-actions{gap:2px;margin-top:2px}.calendar-actions button{padding:2px 3px;font-size:.46rem}.calendar-day .pill.locked{padding:2px;font-size:.43rem}.invoice-preview-summary,.note-history-filters{grid-template-columns:1fr}.rate-selector{flex-wrap:wrap}.rate-selector>span{width:100%}.invoice-shift-preview>div:not(.empty-state){flex-direction:column;align-items:flex-start}}.four-hour-hold{background:#fff8e8;border:1px solid #e5b14d;border-left:5px solid #d78b16;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:18px 20px;display:flex;box-shadow:0 8px 24px #1a314914}.four-hour-hold h2{margin:3px 0 5px;font-size:1.1rem}.four-hour-hold p{color:#5e6470;margin:0}.completed-shift-list,.invoice-history-list{gap:12px;display:grid}.completed-shift-card,.invoice-history-list article{background:#fff;border:1px solid #dce5ee;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.completed-shift-card h3{margin:3px 0}.completed-shift-card p,.completed-shift-card small,.invoice-history-list small{color:#657487;margin:2px 0;display:block}.pending-completion{background:#fffaf0;border-color:#e5b14d}.completed-edit{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.completed-edit .button-row{grid-column:1/-1}.invoice-bulk-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.invoice-row-editor{gap:10px;margin:16px 0;display:grid}.invoice-edit-row{background:#fbfcfe;border:1px solid #dce5ee;border-radius:14px;grid-template-columns:minmax(160px,1.2fr) minmax(170px,1fr) minmax(170px,1fr) auto minmax(120px,auto);align-items:end;gap:12px;padding:14px;display:grid}.invoice-edit-row label span{color:#5f6f80;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.include-check{align-items:center;gap:9px;font-weight:800;display:flex!important}.include-check span{color:#17263a!important;margin:0!important;font-size:.92rem!important}.row-rate{gap:6px;display:flex}.row-rate button.active{color:#fff;background:#173f69;border-color:#173f69}.invoice-history-list article{grid-template-columns:minmax(0,1fr) auto auto}.invoice-history-list .button-row{justify-content:flex-end}@media (max-width:780px){.four-hour-hold{flex-direction:column;align-items:flex-start}.completed-shift-card,.invoice-history-list article,.completed-edit{grid-template-columns:1fr}.completed-edit .button-row{grid-column:auto}.invoice-edit-row{grid-template-columns:1fr}.invoice-history-list .button-row{justify-content:flex-start}.invoice-builder .form-grid,.invoice-preview-summary{grid-template-columns:1fr}}.admin-invoice-filter{gap:6px;max-width:340px;margin:16px 0;display:grid}.admin-invoice-filter span{color:var(--muted);font-size:.78rem;font-weight:800}@media (min-width:981px){.shift-row{grid-template-columns:58px minmax(210px,1.35fr) minmax(160px,.9fr) 110px minmax(190px,auto);gap:18px}.shift-row>.pill{justify-content:center;justify-self:start;min-width:96px}.shift-row .row-actions{justify-content:flex-end;align-items:center;min-width:190px}.shift-row .row-actions button{text-align:center;min-width:58px}}.activity-item{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:flex-start;padding:14px}.activity-item:first-child{border-top:1px solid var(--line)}.timeline-row>div:last-child{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.delete-record-button{color:var(--red);background:#fff7f8;border-color:#e4b8bd;margin-top:10px}@media (max-width:720px){.calendar-panel{overflow-x:hidden}.calendar{width:100%;min-width:0}.weekdays>div{padding:8px 1px;font-size:.55rem}.calendar-day{min-height:94px;padding:3px;overflow:hidden}.day-number{margin-bottom:3px;font-size:.72rem}.calendar-shift{border-left-width:2px;border-radius:4px;max-width:100%;margin-top:2px;padding:3px 2px;font-size:.48rem}.calendar-shift strong{font-size:.48rem}.calendar-actions{grid-template-columns:1fr;gap:2px;margin-top:2px;display:grid}.calendar-actions button,.claim-action{white-space:normal;border-radius:5px;width:100%;min-width:0;padding:3px 1px;font-size:.44rem;line-height:1.1}.calendar-day .pill.locked{white-space:normal;text-align:center;overflow-wrap:anywhere;width:100%;padding:3px 1px;font-size:.39rem;line-height:1.05;display:block}}.admin-email-log-panel,.admin-email-log-panel *{min-width:0}.admin-email-log-panel{overflow:hidden}.email-log-filters>*{width:100%;min-width:0}.email-log-summary>span:first-child{overflow-wrap:anywhere;min-width:0}.email-log-summary strong{overflow-wrap:anywhere;word-break:normal}.email-log-summary .email-status,.email-log-summary .email-log-view{white-space:nowrap;flex:none}@media (min-width:981px){.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr)}.shift-row{grid-template-columns:52px minmax(155px,1.15fr) minmax(125px,.72fr) 96px minmax(130px,auto);gap:12px}.shift-row>.pill{min-width:84px;max-width:96px}.shift-row .row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;max-width:190px;display:flex}.shift-row .row-actions button{min-width:0;padding-left:9px;padding-right:9px}}@media (max-width:1260px) and (min-width:981px){.overview-grid{grid-template-columns:1fr}.shift-row{grid-template-columns:52px minmax(175px,1fr) minmax(130px,.72fr) 96px minmax(150px,auto)}}@media (max-width:820px){.email-log-filters{grid-template-columns:1fr}.email-log-summary{grid-template-columns:minmax(0,1fr) auto;gap:8px}.email-log-summary .email-log-view{grid-column:1/-1}}.admin-branding-panel,.admin-email-log-panel{width:100%;max-width:none}.admin-branding-panel .branding-grid{grid-template-columns:minmax(0,1fr) minmax(220px,auto)}.admin-branding-panel .branding-preview,.admin-branding-panel .branding-preview>div{min-width:0}.admin-branding-panel .branding-preview small{max-width:560px;line-height:1.45}.admin-branding-panel .branding-actions{justify-content:flex-end;align-items:center}.admin-email-log-panel .email-log-filters{grid-template-columns:minmax(220px,1.5fr) minmax(130px,.7fr) minmax(150px,.8fr) auto}.admin-email-log-panel .email-log-row,.admin-email-log-panel .email-log-summary{max-width:100%}.admin-email-log-panel .email-log-summary{grid-template-columns:minmax(0,1fr) auto auto}.completed-edit{align-items:start}.completed-time-group{border:1px solid var(--line);background:var(--soft);border-radius:12px;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr);gap:10px;padding:12px;display:grid}.completed-time-group>strong{grid-column:1/-1}.completed-time-group label span{color:var(--muted);margin-bottom:5px;font-size:.76rem;font-weight:800;display:block}.completed-quick-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.invoice-bulk-actions{display:none!important}@media (min-width:981px){.shift-row{grid-template-columns:52px minmax(165px,1fr) minmax(135px,.82fr) 92px minmax(160px,auto)}.shift-row .row-actions{justify-self:end;width:auto;min-width:150px}.shift-row .row-actions:has(.claim-action){min-width:88px}}@media (max-width:980px){.admin-branding-panel .branding-grid,.admin-email-log-panel .email-log-filters{grid-template-columns:1fr}.admin-branding-panel .branding-actions{justify-content:flex-start}}@media (max-width:780px){.completed-time-group{grid-template-columns:1fr}.completed-time-group>strong{grid-column:auto}}.admin-branding-panel .branding-grid{grid-template-columns:1fr;align-items:stretch}.admin-branding-panel .branding-preview{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:16px;width:100%;display:grid}.admin-branding-panel .branding-preview>div,.admin-branding-panel .branding-preview strong,.admin-branding-panel .branding-preview small{overflow-wrap:anywhere;min-width:0}.admin-branding-panel .branding-actions{justify-content:flex-start;align-items:center;width:100%}.admin-branding-panel .branding-actions>*{flex:none}.duty-board-up-next{border-top:1px solid #ffffff29;gap:12px;margin-top:18px;padding-top:18px;display:grid}.duty-board-up-next-heading{justify-content:space-between;align-items:end;gap:14px;display:flex}.duty-board-up-next-heading small{color:#ffffffb3}.duty-board-up-next-list{gap:9px;display:grid}.duty-board-up-next-row{background:#ffffff12;border:1px solid #ffffff26;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.duty-board-up-next-officer{align-items:center;gap:10px;min-width:0;display:flex}.duty-board-up-next-officer>span:last-child,.duty-board-up-next-officer strong,.duty-board-up-next-officer small{min-width:0;display:block}.duty-board-up-next-officer small{color:#ffffffb8;margin-top:3px}.duty-board-go-live{color:#102d3f;background:#45d9b5;border-color:#45d9b5;flex:none;font-weight:900}.duty-board-scheduled-label{color:#ffffffd1;text-transform:uppercase;letter-spacing:.06em;background:#ffffff1f;border-radius:999px;flex:none;padding:6px 10px;font-size:.67rem;font-weight:850}@media (min-width:981px){.overview-grid{grid-template-columns:minmax(0,1.85fr) minmax(270px,.65fr)}.shift-row{grid-template-columns:52px minmax(165px,1fr) minmax(125px,.75fr) auto minmax(0,auto);gap:10px}.shift-row>.pill{justify-self:start}:is(.shift-row .row-actions,.shift-row .row-actions:has(.claim-action)){flex-wrap:nowrap;justify-content:flex-start;justify-self:start;width:auto;min-width:0;max-width:none}}@media (max-width:1260px) and (min-width:981px){.overview-grid{grid-template-columns:1fr}}@media (max-width:700px){.admin-branding-panel .branding-preview{grid-template-columns:1fr;justify-items:start}.admin-branding-panel .branding-actions>*{text-align:center;width:100%}.duty-board-up-next-heading,.duty-board-up-next-row{flex-direction:column;align-items:flex-start}.duty-board-go-live,.duty-board-scheduled-label{text-align:center;width:100%}}.pending-review-pill{color:#8a5a00;background:#fff4d6;border:1px solid #f0d38a}.pending-review-admin{cursor:pointer;margin-top:.55rem}.pending-review-banner{align-items:center}.completion-review-backdrop{z-index:1200}.completion-review-modal{width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}.completion-review-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 12px;display:grid}.completion-review-times label{min-width:0}.completion-review-times input{width:100%}.completion-review-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.required-review-note{color:#66758a;margin-top:12px;display:block}.presence-row.is-offline{opacity:.82}.presence-dot.offline-dot{box-shadow:none;background:#a7b0bd}.last-login-line{margin-top:3px;display:block}.adjusted-time-pill{color:#2b5ca8;background:#eef4ff;margin-top:8px;display:inline-flex}.completion-audit{max-width:620px;margin-top:10px}.completion-audit summary{cursor:pointer;color:#245ca6;font-weight:700}.audit-entry{border-bottom:1px solid #172d4a1a;gap:3px;padding:10px 0;display:grid}@media (max-width:700px){.completion-review-times{grid-template-columns:1fr}.completion-review-actions>button{width:100%}}.calendar-claim-button{color:#fff;cursor:pointer;background:#16a34a;border:1px solid #15803d;border-radius:999px;margin-top:.65rem;padding:.42rem .72rem;font-weight:800;box-shadow:0 5px 14px #16a34a33}.calendar-claim-button:disabled{cursor:wait;opacity:.7}.calendar-time-compact{display:none!important}.calendar-detail-dismiss,.calendar-detail-popover{display:none}@media (max-width:720px){.calendar-panel{overflow:hidden}.calendar{width:100%;min-width:0}.weekdays>div{letter-spacing:.01em;padding:7px 0;font-size:.5rem}.calendar-day{min-height:82px;padding:3px 2px;position:relative;overflow:hidden}.day-number{margin-bottom:2px;font-size:.68rem}.day-number strong[style]{width:1.55rem!important;height:1.55rem!important}.calendar-day .pill.locked{border-radius:4px;width:100%;margin:1px 0 0;padding:2px 1px;font-size:.38rem;line-height:1.05}.calendar-claim-button{white-space:normal;width:100%;max-width:100%;box-shadow:none;border-radius:5px;margin:5px 0 0;padding:4px 1px;font-size:.43rem;line-height:1.05;display:block}.calendar-shift{cursor:pointer;border-left-width:2px;border-radius:4px;width:100%;max-width:100%;margin-top:2px;padding:4px 2px;overflow:hidden}.calendar-shift-time{margin:0}.calendar-shift .calendar-time-full{display:none!important}.calendar-shift .calendar-time-compact{text-align:center;white-space:nowrap;text-overflow:clip;font-size:.47rem;line-height:1.05;overflow:hidden;display:block!important}.calendar-shift>span,.calendar-shift>small,.calendar-shift>.row-actions{display:none!important}.calendar-detail-dismiss{z-index:80;background:#0b1d3314;border:0;border-radius:0;width:100vw;height:100vh;padding:0;display:block;position:fixed;inset:0}.calendar-detail-popover{z-index:81;max-height:min(70vh,430px);color:var(--ink);background:#fff;border:1px solid #cad7e5;border-radius:13px;padding:12px;display:block;position:fixed;overflow-y:auto;box-shadow:0 18px 46px #0b1d333d}.calendar-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:9px;display:flex}.calendar-detail-heading small,.calendar-detail-heading strong{display:block}.calendar-detail-heading small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.62rem;font-weight:850}.calendar-detail-heading strong{font-size:.92rem}.calendar-detail-heading>button{border:1px solid var(--line);width:28px;height:28px;color:var(--ink);background:#f7f9fb;border-radius:999px;flex:none;padding:0;font-size:1rem;line-height:1}.calendar-detail-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.calendar-detail-grid>div{background:#f6f8fb;border-radius:9px;min-width:0;padding:8px}.calendar-detail-grid span,.calendar-detail-grid strong{display:block}.calendar-detail-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.035em;margin-bottom:3px;font-size:.6rem;font-weight:800}.calendar-detail-grid strong{overflow-wrap:anywhere;font-size:.74rem;line-height:1.25}.calendar-detail-note{background:#f7f9fb;border-radius:9px;margin-top:9px;padding:9px}.calendar-detail-note span{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.62rem;font-weight:850;display:block}.calendar-detail-note p{margin:0;font-size:.74rem;line-height:1.35}.calendar-detail-warning{color:#7a5615;background:#fff8e8;border:1px solid #e5b14d;border-radius:9px;margin-top:9px;padding:8px 9px;font-size:.7rem;font-weight:800}.calendar-detail-actions{margin-top:10px}.calendar-detail-popover .row-actions{grid-area:auto;justify-content:flex-start;gap:6px;display:flex!important}.calendar-detail-popover .row-actions button{white-space:nowrap;border-radius:8px;width:auto;min-width:0;padding:7px 9px;font-size:.69rem;line-height:1.1}}.status-closed{color:#b4232c;background:#fde8e8}.calendar-closed-wrap{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;display:flex}.calendar-reopen-button{color:#1d5fd1;background:#fff;border:1px solid #d7dee8;border-radius:999px;padding:.28rem .55rem;font-size:.62rem;font-weight:800}@media (max-width:720px){.calendar-closed-wrap{gap:3px;margin-top:4px;display:grid}.calendar-closed-wrap .status-closed{justify-content:center;width:100%;padding:3px 1px;font-size:.4rem}.calendar-reopen-button{border-radius:5px;width:100%;padding:3px 1px;font-size:.4rem}.calendar-shift.calendar-closed{background:#fff5f5;border-left-color:#b4232c}}.officer-hours-toolbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:18px;margin-bottom:18px;display:grid}.officer-hours-toolbar h2{margin:4px 0}.officer-hours-toolbar p{color:#657487;margin:0}.officer-hours-toolbar label{gap:6px;font-weight:700;display:grid}.officer-hours-toolbar select{min-width:170px}.officer-hours-total{background:#f7fafc;border:1px solid #dce5ee;border-radius:14px;gap:3px;min-width:170px;padding:12px 16px;display:grid}.officer-hours-total span,.officer-hours-card span,.personal-hours-summary span{text-transform:uppercase;letter-spacing:.08em;color:#6b7b8f;font-size:11px;font-weight:800}.officer-hours-total strong{color:#163f6b;font-size:24px}.officer-hours-total small,.officer-hours-card small,.personal-hours-summary small{color:#657487}.officer-hours-card{background:#f4f8fc;border:1px solid #dce7f1;border-radius:12px;gap:4px;margin:12px 0;padding:12px 14px;display:grid}.officer-hours-card strong{color:#163f6b;font-size:22px}.hours-trophy{white-space:nowrap;font-size:.8em}.personal-hours-summary{grid-template-columns:auto 1fr 1fr;align-items:stretch;gap:12px;margin:14px 0 18px;display:grid}.personal-hours-summary>label,.personal-hours-summary>div{background:#f7fafc;border:1px solid #dce5ee;border-radius:14px;align-content:center;gap:5px;padding:12px 14px;display:grid}.personal-hours-summary label span{color:#52647a;font-size:12px;font-weight:800}.personal-hours-summary strong{color:#163f6b;font-size:22px}@media (max-width:780px){.officer-hours-toolbar{grid-template-columns:1fr}.officer-hours-toolbar select{width:100%}.personal-hours-summary{grid-template-columns:1fr}}.calendar-toolbar-status{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.school-calendar-legend{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.school-legend-item{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.62rem;font-weight:850;line-height:1;display:inline-flex}.school-legend-item:before{content:"";border-radius:999px;flex:none;width:7px;height:7px}.school-legend-closed{color:#9f1f2b;background:#fff2f3;border-color:#f3c9ce}.school-legend-closed:before{background:#c93846}.school-legend-early{color:#8a5900;background:#fff8e8;border-color:#f1d79a}.school-legend-early:before{background:#d99516}.school-event-day-closed{background-image:linear-gradient(#c9384609,#c9384600 54%)}.school-event-day-early-dismissal{background-image:linear-gradient(#d995160a,#d9951600 54%)}.school-calendar-marker{letter-spacing:.01em;border-radius:7px;align-items:center;gap:5px;width:100%;min-width:0;margin:0 0 6px;padding:5px 7px;font-size:.58rem;font-weight:900;line-height:1.08;display:flex;overflow:hidden}.school-calendar-marker-icon{border-radius:999px;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:.55rem;font-weight:950;display:inline-grid}.school-calendar-marker-full,.school-calendar-marker-compact{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.school-calendar-marker-compact{display:none}.school-calendar-marker-closed{color:#9f1f2b;background:#fff0f2;border:1px solid #efc1c7}.school-calendar-marker-closed .school-calendar-marker-icon{color:#fff;background:#c93846}.school-calendar-marker-early-dismissal{color:#805100;background:#fff6dc;border:1px solid #efd18a}.school-calendar-marker-early-dismissal .school-calendar-marker-icon{color:#fff;background:#d99516}@media (max-width:900px){.calendar-toolbar{flex-wrap:wrap;gap:10px}.calendar-toolbar-status{justify-content:space-between;gap:8px;width:100%}.school-calendar-legend{justify-content:flex-start}}@media (max-width:640px){.calendar-toolbar{padding:12px 10px}.calendar-toolbar-status{align-items:flex-start}.school-calendar-legend{gap:4px}.school-legend-item{padding:4px 6px;font-size:.49rem}.school-legend-item:before{width:6px;height:6px}.school-calendar-marker{text-align:center;border-radius:5px;justify-content:center;gap:3px;margin-bottom:3px;padding:3px 2px;font-size:.42rem}.school-calendar-marker-icon{flex-basis:14px;width:14px;height:14px;font-size:.42rem}.school-calendar-marker-full{display:none}.school-calendar-marker-compact{display:inline}}@media (max-width:420px){.school-calendar-legend{width:100%}.school-legend-item{font-size:.45rem}.school-calendar-marker{grid-template-columns:1fr;place-items:center;gap:2px;padding:3px 1px;font-size:.38rem;line-height:1;display:grid}.school-calendar-marker-compact{white-space:normal;overflow-wrap:anywhere}}.school-calendar-next-change{color:#51657c;background:linear-gradient(135deg,#f8fbfe,#f3f7fb);border:1px solid #dce6f0;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:0 14px 12px;padding:9px 12px;font-size:.72rem;display:flex}.school-calendar-next-change-label{text-transform:uppercase;letter-spacing:.08em;color:#6d7f93;font-size:.58rem;font-weight:900}.school-calendar-next-change strong{color:#183f69;text-align:right;font-size:.75rem}.school-event-day-closed{background-color:#c9384606;box-shadow:inset 0 3px #c9384638}.school-event-day-early-dismissal{background-color:#d9951608;box-shadow:inset 0 3px #d9951638}.note-details-field{position:relative}.note-details-label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;display:flex}.emoji-picker-toggle{color:#294b70;cursor:pointer;background:#f7fafc;border:1px solid #d7e2ed;border-radius:999px;align-items:center;gap:6px;width:auto;min-height:32px;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.emoji-picker-toggle:hover{background:#eef5fb}.emoji-picker{background:#fff;border:1px solid #dbe5ee;border-radius:12px;grid-template-columns:repeat(9,minmax(34px,1fr));gap:5px;margin-top:8px;padding:9px;display:grid;box-shadow:0 12px 30px #163f6b1f}.emoji-picker button{cursor:pointer;background:#f7fafc;border:1px solid #0000;border-radius:8px;width:100%;min-height:36px;padding:4px;font-size:1.12rem}.emoji-picker button:hover,.emoji-picker button:focus-visible{background:#eaf3fb;border-color:#c9ddec;outline:none}@media (max-width:780px){.school-calendar-next-change{flex-direction:column;align-items:flex-start;gap:3px;margin:0 10px 9px;padding:8px 9px}.school-calendar-next-change strong{text-align:left}.emoji-picker{grid-template-columns:repeat(6,minmax(34px,1fr))}}@media (max-width:420px){.school-calendar-next-change{font-size:.64rem}.school-calendar-next-change strong{font-size:.68rem}.emoji-picker-toggle span{display:none}.emoji-picker-toggle{padding-inline:8px}.emoji-picker{grid-template-columns:repeat(6,1fr);gap:4px;padding:7px}.emoji-picker button{min-height:34px;font-size:1rem}}.mobile-calendar-legend{display:none}@media (max-width:780px){.mobile-calendar-legend{background:#f8fbfe;border:1px solid #dce6f0;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 10px 9px;padding:8px;display:grid}.mobile-calendar-legend-item{border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;min-width:0;padding:7px 8px;line-height:1.05;display:flex}.mobile-calendar-legend-item>span:last-child{gap:2px;min-width:0;display:grid}.mobile-calendar-legend-item strong{letter-spacing:.01em;white-space:nowrap;font-size:.58rem}.mobile-calendar-legend-item small{color:#6c7b8d;white-space:nowrap;font-size:.47rem}.mobile-calendar-legend-symbol{border-radius:999px;flex:0 0 21px;place-items:center;width:21px;height:21px;font-size:.55rem;font-weight:950;display:inline-grid}.mobile-calendar-legend-shift-closed{color:#a1222f;background:#fff2f3;border-color:#f1c8cd}.mobile-calendar-legend-shift-closed .mobile-calendar-legend-symbol{color:#fff;background:#c93846}.mobile-calendar-legend-school-closed{color:#7c3040;background:#fff7f8;border-color:#ead5da}.mobile-calendar-legend-school-closed .mobile-calendar-legend-symbol{background:#f4e3e7}.mobile-calendar-legend-early{color:#805100;background:#fff8e8;border-color:#efd99f}.mobile-calendar-legend-early .mobile-calendar-legend-symbol{color:#fff;background:#d99516}.mobile-calendar-legend-open{color:#166a3a;background:#effaf3;border-color:#c8e8d2}.mobile-calendar-legend-open .mobile-calendar-legend-symbol{color:#fff;background:#16934c}.school-calendar-marker-closed .school-calendar-marker-icon{color:inherit;background:#f4e3e7;font-size:.7rem}}@media (max-width:420px){.mobile-calendar-legend,.mobile-calendar-legend-item{gap:5px;padding:6px}.mobile-calendar-legend-item strong{font-size:.52rem}.mobile-calendar-legend-item small{font-size:.42rem}.mobile-calendar-legend-symbol{flex-basis:19px;width:19px;height:19px;font-size:.5rem}}.officer-flip-card{perspective:1300px;cursor:pointer;outline:none;min-height:410px}.officer-flip-card:focus-visible{border-radius:22px;box-shadow:0 0 0 4px #2d69be33}.officer-flip-card-inner{width:100%;height:100%;min-height:410px;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.2,.75,.25,1);position:relative}.officer-flip-card.is-flipped .officer-flip-card-inner{transform:rotateY(180deg)}.officer-card-face{backface-visibility:hidden;width:100%;min-height:410px;position:absolute;inset:0;overflow:auto}.officer-card-back{align-content:start;transform:rotateY(180deg)}.flip-card-hint{color:var(--muted);text-align:right;margin-top:auto;font-size:.74rem;font-weight:750}.directory-live-badge{color:#167344;letter-spacing:.04em;background:#e7f8ee;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:.78rem;display:flex}.directory-live-badge small{letter-spacing:0;font-weight:700}.directory-achievements{flex-wrap:wrap;gap:7px;display:flex}.directory-achievements span{color:#745612;background:#fff7d8;border:1px solid #edd899;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:.68rem;font-weight:800;display:inline-flex}.officer-back-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.officer-back-heading h2{margin:6px 0 0}.flip-back-icon{color:var(--muted);font-size:1.45rem}.officer-back-live,.officer-back-offline,.officer-next-shift,.officer-back-achievements{background:var(--soft);border-radius:13px;padding:12px 13px}.officer-back-live{color:#176b46;background:#e7f8ee;gap:3px;display:grid}.officer-back-live span{font-size:.78rem}.officer-back-offline{color:var(--muted);font-size:.8rem;font-weight:700}.officer-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.officer-snapshot-grid>div{background:var(--soft);border-radius:13px;gap:5px;padding:12px;display:grid}.officer-snapshot-grid span,.officer-next-shift span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.67rem;font-weight:800}.officer-next-shift{gap:5px;display:grid}.officer-next-shift strong{font-size:.88rem;line-height:1.35}.officer-back-achievements{background:#fffaf0;gap:7px;display:grid}.officer-back-achievements strong{color:#745612;font-size:.8rem}.officer-back-achievements small{color:var(--muted);line-height:1.4}@media (max-width:720px){.officer-flip-card,.officer-flip-card-inner,.officer-card-face{min-height:390px}.officer-flip-card-inner{transition-duration:.48s}.officer-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.officer-snapshot-grid>div{padding:10px}.officer-snapshot-grid span{font-size:.61rem}.officer-snapshot-grid strong{font-size:.98rem}.directory-achievements span{padding:6px 8px;font-size:.63rem}}@media (prefers-reduced-motion:reduce){.officer-flip-card-inner{transition:none}}.game-tour-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#030a16b8;justify-content:center;align-items:flex-end;padding:28px;display:flex;position:fixed;inset:0}.game-tour-welcome,.game-tour-card{pointer-events:auto;color:#f5fbff;background:linear-gradient(145deg,#071426,#0b2038 62%,#071522);border:1px solid #5bb5ff73;border-radius:22px;width:min(620px,100%);padding:30px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 28px 80px #00000080,0 0 40px #2a99ff26}.game-tour-welcome{text-align:center;margin:auto}.game-tour-scanline{pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 5px,#66beff06 6px);position:absolute;inset:0}.game-tour-emblem{letter-spacing:.08em;background:#278bdc21;border:1px solid #4bb4ff;border-radius:20px;place-items:center;width:76px;height:76px;margin:12px auto 18px;font-size:1.45rem;font-weight:900;display:grid;box-shadow:0 0 28px #36a9ff40}.game-tour-kicker{color:#69c4ff;letter-spacing:.18em;font-size:.72rem;font-weight:900}.game-tour-welcome h1,.game-tour-card h2{letter-spacing:.04em;margin:10px 0 8px}.game-tour-welcome h1{font-size:clamp(1.6rem,5vw,2.35rem)}.game-tour-callsign{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#8fd2ff!important}.game-tour-welcome p,.game-tour-card p{color:#c7d7e8;line-height:1.6}.game-tour-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.game-tour-actions>div{gap:9px;display:flex}.game-tour-primary,.game-tour-back,.game-tour-skip{border-radius:11px;padding:11px 15px;font-weight:850}.game-tour-primary{box-shadow:0 0 18px #2b9df440;color:#fff!important;background:#2b9df4!important;border:1px solid #65bdff!important}.game-tour-back{color:#d8edff!important;background:#122a42!important;border:1px solid #294a67!important}.game-tour-skip{color:#9eb4c8!important;background:0 0!important;border:0!important}.game-tour-progress{background:#17324b;border-radius:999px;height:4px;margin-bottom:18px;overflow:hidden}.game-tour-progress span{background:#4ab5ff;height:100%;transition:width .3s;display:block;box-shadow:0 0 12px #4ab5ff}.tour-highlight{animation:1.4s ease-in-out infinite tourPulse;z-index:10001!important;position:relative!important;box-shadow:0 0 0 3px #55bdff,0 0 28px #44b4ffd9!important}.tour-highlight *{z-index:1;position:relative}@keyframes tourPulse{50%{box-shadow:0 0 0 5px #55bdffbf,0 0 42px #44b4fff2}}@media (max-width:720px){.game-tour-overlay{align-items:flex-end;padding:14px}.game-tour-welcome,.game-tour-card{border-radius:18px;padding:22px 18px}.game-tour-actions{align-items:stretch}.game-tour-actions>div{margin-left:auto}.game-tour-primary,.game-tour-back{padding:10px 12px;font-size:.78rem}}@media (prefers-reduced-motion:reduce){.tour-highlight{animation:none}.game-tour-progress span{transition:none}}.timeline-row-issue>div:last-child{box-shadow:inset 4px 0 #cf4d55,0 8px 22px #99313914;background:linear-gradient(135deg,#fff7f7 0%,#fffdf8 100%)!important;border-color:#efb7b7!important}.timeline-row-issue .timeline-dot{background:#cf4d55;box-shadow:0 0 0 3px #fde1e3}.timeline-heading-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.issue-reported-badge{color:#a72f38;text-transform:uppercase;letter-spacing:.04em;background:#fee7e8;border:1px solid #efb7b7;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:.65rem;font-weight:900;display:inline-flex}.timeline-row-issue p{color:#7a2f35;font-weight:700}.note-card-latest{background:linear-gradient(135deg,#f4faff 0%,#fff 72%);border-color:#9dc9ef;position:relative;box-shadow:inset 4px 0 #2f84c8,0 10px 26px #2f84c817}.note-card-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.latest-note-badge{color:#1d6299;text-transform:uppercase;letter-spacing:.08em;background:#e7f3ff;border:1px solid #9dc9ef;border-radius:999px;align-items:center;padding:5px 9px;font-size:.64rem;font-weight:900;display:inline-flex}@media (max-width:720px){.timeline-heading{align-items:flex-start}.timeline-heading-meta{gap:5px}.issue-reported-badge{padding:4px 6px;font-size:.58rem}.note-card-latest{box-shadow:inset 3px 0 #2f84c8,0 7px 18px #2f84c814}.latest-note-badge{padding:4px 7px;font-size:.58rem}}.calendar-open-unassigned{box-shadow:none;background:0 0;border-left-color:#0000;padding-left:0;padding-right:0}.calendar-open-unassigned>strong,.calendar-open-unassigned>span,.calendar-open-unassigned>small{padding-left:3px;padding-right:3px}.calendar-open-unassigned>small{color:#7a5a18}.calendar-open-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.calendar-open-actions .calendar-claim-button{margin:0}.calendar-open-edit{color:#2f66b5;cursor:pointer;background:#fff;border:1px solid #d9e0ea;border-radius:9px;padding:.38rem .55rem;font-weight:800}@media (max-width:720px){.calendar-open-unassigned{background:0 0;border-left:0;padding:2px 1px}.calendar-open-unassigned>span{text-align:center;white-space:nowrap;margin:2px 0;font-size:.43rem;font-weight:800;display:block!important}.calendar-open-unassigned>small{display:none!important}.calendar-open-unassigned>.calendar-open-actions{gap:2px;width:100%;margin-top:3px;display:flex!important}.calendar-open-actions .calendar-open-claim{flex:auto;width:auto;margin:0;display:block}.calendar-open-edit{border-radius:5px;padding:4px 3px;font-size:.42rem}}.board-online-panel{max-width:900px}.board-presence-list{gap:12px;margin-top:18px;display:grid}.board-presence-row{border:1px solid var(--border,#dfe5ee);background:#ffffffb8;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.board-presence-row.is-online{background:linear-gradient(135deg,#edfaf4f5,#ffffffeb);border-color:#20a66947;box-shadow:0 10px 28px #19784e14}.board-presence-row>div{gap:3px;min-width:0;display:grid}.board-presence-row strong{color:var(--ink,#10223c);font-size:1rem}.board-presence-row small{color:var(--muted,#667085);text-transform:capitalize}.board-presence-status{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.board-presence-status.online{color:#136b49;background:#dff5e9}.board-presence-status.offline{color:#697586;background:#eef1f5}@media (max-width:680px){.board-presence-row{grid-template-columns:auto 1fr;padding:14px}.board-presence-status{grid-column:2;justify-self:start;margin-top:4px}}.game-tour-overlay{overflow:hidden;z-index:2147483646!important}.game-tour-welcome,.game-tour-card{overscroll-behavior:contain;max-height:min(72vh,680px);overflow-y:auto;z-index:2147483647!important}.tour-highlight{z-index:9999!important}@media (max-width:720px){.game-tour-overlay{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom))}.game-tour-card,.game-tour-welcome{max-height:min(68vh,620px)}.game-tour-actions{z-index:2;background:linear-gradient(#07142600,#071426 28%);padding-top:10px;padding-bottom:2px;position:sticky;bottom:-1px}}.reset-day-modal .reset-reason-field{gap:8px;margin-top:20px;display:grid}.reset-day-modal .reset-reason-field>span{color:var(--ink);font-weight:800}.reset-day-modal textarea{resize:vertical;width:100%}.reset-live-warning{background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;margin-top:14px;padding:12px 14px;color:#9f1239!important}.reset-activity-option{border:1px solid var(--line);background:var(--soft);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;margin:16px 0 4px;padding:14px;display:flex}.reset-activity-option input{margin-top:4px}.reset-activity-option span{gap:4px;display:grid}.reset-activity-option small{color:var(--muted);line-height:1.4}.reset-confirm-button{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;padding:10px 16px;font-weight:800}.reset-confirm-button:disabled{opacity:.5;cursor:not-allowed}.shift-slot-inline,.calendar-slot-tag{letter-spacing:.04em;text-transform:uppercase;color:#526273;align-items:center;gap:4px;font-size:.68rem;font-weight:900;display:inline-flex}.calendar-slot-tag{background:#eef3f8;border-radius:999px;margin-bottom:4px;padding:3px 7px}.calendar-slot-tag.slot-graveyard{color:#364c91;background:#edf0ff}.calendar-slot-tag.slot-evening{color:#805b16;background:#fff3d9}.shift-choice-grid,.shift-preset-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.shift-choice-card,.shift-preset-picker button{text-align:left;background:#fff;border:1px solid #d7e0ea;border-radius:16px;gap:5px;min-height:110px;padding:16px;transition:all .18s;display:grid}.shift-choice-card:hover:not(:disabled),.shift-preset-picker button:hover,.shift-preset-picker button.active{border-color:#2d76d2;transform:translateY(-1px);box-shadow:0 8px 24px #235c9b24}.shift-choice-card:disabled{opacity:.52}.shift-choice-icon{font-size:1.5rem}.shift-preset-picker button span{color:#68778a;font-size:.78rem}.shift-preset-picker button.active{background:#f2f7ff}.shift-fields input:disabled{color:#667085;background:#f2f4f7}.game-tour-card{margin:0!important;transform:none!important}.game-tour-card:after{content:"";background:#0a1d34;border-top:1px solid #5bb5ff73;border-left:1px solid #5bb5ff73;width:16px;height:16px;display:none;position:absolute;transform:rotate(45deg)}.tour-pointer-top:after{display:block;top:-9px;left:50%}.tour-pointer-bottom:after{display:block;bottom:-9px;left:50%;transform:rotate(225deg)}@media (max-width:720px){.shift-choice-grid,.shift-preset-picker{grid-template-columns:1fr 1fr;gap:8px}.shift-choice-card,.shift-preset-picker button{min-height:96px;padding:12px;font-size:.82rem}.calendar-slot-tag{padding:2px 5px;font-size:.58rem}.game-tour-card{overflow:auto;max-height:46vh!important}.tour-highlight{scroll-margin-top:84px;scroll-margin-bottom:50vh}}.member-group-header{color:#526273;letter-spacing:.08em;text-transform:uppercase;background:#f4f7fb;border:1px solid #e0e7f0;border-radius:12px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 4px;padding:9px 12px;font-size:.72rem;font-weight:900;display:flex}.member-group-header:first-child{margin-top:0}.member-group-header strong{color:#324a69;background:#e8eef7;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:.72rem;display:inline-flex}.member-group-admin{background:#eef5ff;border-color:#d7e7fb}.member-group-officer{background:#eef8f5;border-color:#d8eee6}.member-group-board{background:#f8f4ff;border-color:#e8def8}@media (min-width:721px){.month-grid .calendar-day{height:178px;min-height:178px;overflow:hidden}.month-grid .calendar-claim-button{width:auto;max-width:100%;margin:4px 0 2px;padding:.28rem .58rem;font-size:.66rem;line-height:1;box-shadow:0 3px 9px #16a34a29}.month-grid .calendar-shift{margin-top:3px;padding:5px}.month-grid .calendar-slot-tag{margin-bottom:2px;padding:2px 6px;font-size:.58rem}.month-grid .calendar-shift-time,.month-grid .calendar-shift>span,.month-grid .calendar-shift>small{font-size:.59rem}.month-grid .calendar-actions,.month-grid .calendar-open-actions{gap:3px;margin-top:3px}.month-grid .calendar-actions button,.month-grid .calendar-open-edit{padding:3px 5px;font-size:.52rem}}.calendar-claim-mobile{display:none}@media (min-width:721px){.month-grid .calendar-day{height:168px;min-height:168px;overflow:hidden}.month-grid .calendar-claim-standalone{margin-top:.65rem;padding:.42rem .72rem;font-size:.78rem;line-height:1.1;box-shadow:0 5px 14px #16a34a33}.month-grid .day-number{align-items:center;min-height:30px}.month-grid .calendar-claim-inline{flex:none;margin:0 0 0 auto;padding:.28rem .52rem;font-size:.62rem;line-height:1;box-shadow:0 3px 8px #16a34a26}.month-grid .calendar-dual-assigned{margin-top:3px;padding:4px 6px}.month-grid .calendar-dual-assigned .calendar-shift-time{display:none!important}.month-grid .calendar-dual-assigned .calendar-slot-tag{margin-bottom:2px;padding:2px 5px;font-size:.53rem}.month-grid .calendar-dual-assigned .calendar-officer-name{font-size:.61rem;font-weight:850;line-height:1.08;display:block}.month-grid .calendar-dual-assigned .calendar-shift-status{font-size:.48rem;line-height:1.05;display:block}.month-grid .calendar-dual-assigned>.row-actions{gap:2px;margin-top:2px}.month-grid .calendar-dual-assigned>.row-actions button{min-width:0;padding:2px 4px;font-size:.46rem;line-height:1}}@media (max-width:720px){.calendar-claim-inline{display:none!important}.calendar-claim-mobile,.calendar-claim-standalone{display:block}.calendar-dual-assigned{padding:3px 2px}.calendar-dual-assigned .calendar-shift-time,.calendar-dual-assigned .calendar-shift-status{display:none!important}.calendar-dual-assigned>.calendar-slot-tag{white-space:nowrap;max-width:100%;margin:0 0 2px;padding:2px 3px;font-size:.42rem;line-height:1;display:inline-flex!important}.calendar-dual-assigned>.calendar-officer-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.45rem;font-weight:850;line-height:1.05;overflow:hidden;display:block!important}}.shift-customize-row{background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;justify-content:space-between;align-items:center;gap:.9rem;margin:.7rem 0 .2rem;padding:.75rem .85rem;display:flex}.shift-customize-row>div{gap:.15rem;display:grid}.shift-customize-row strong{color:#14233b;font-size:.86rem}.shift-customize-row span{color:#66758c;font-size:.72rem}.shift-customize-row button{color:#2458a6;cursor:pointer;background:#fff;border:1px solid #cbd6e5;border-radius:999px;flex:none;padding:.45rem .7rem;font-weight:800}.shift-customize-row button.active{background:#eaf2ff;border-color:#8bb1ec}@media (min-width:721px){.month-grid .calendar-day:has(.calendar-claim-standalone){position:relative}.month-grid .calendar-claim-standalone{white-space:nowrap;min-width:78px;margin:0;padding:.56rem 1rem;font-size:.86rem;line-height:1;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:720px){.shift-customize-row{flex-direction:column;align-items:stretch}.shift-customize-row button{width:100%;min-height:42px}}.invoice-draft-backdrop{z-index:2600;padding:18px}.invoice-draft-modal{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(1040px,96vw);max-width:1040px;height:min(900px,94vh);display:grid;overflow:hidden}.invoice-draft-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.invoice-draft-header h2{margin:4px 0}.invoice-draft-header p{color:var(--muted);margin:0}.invoice-draft-frame{background:#fff;border:1px solid #dce5ee;border-radius:14px;width:100%;height:100%;min-height:420px}.invoice-draft-actions{justify-content:flex-end;gap:10px;display:flex}@media (max-width:720px){.invoice-draft-backdrop{padding:8px}.invoice-draft-modal{width:100%;height:94vh;padding:12px}.invoice-draft-header p{font-size:.78rem}.invoice-draft-frame{min-height:0}.invoice-draft-actions{grid-template-columns:1fr 1fr;display:grid}}.overview-grid{align-items:start}.overview-grid>.panel{align-self:start}.shift-list{align-content:start}.officer-flip-card,.officer-flip-card-inner,.officer-card-face{min-height:350px}.officer-card-face{overflow:hidden}.officer-card{gap:11px;padding:17px}.officer-card-head{gap:12px}.officer-card-photo{border-radius:18px;width:72px;height:72px}.officer-card-head h2{margin:5px 0 2px;font-size:1.2rem}.officer-bio{font-size:.83rem;line-height:1.35}.profile-status-line{padding:8px 10px;font-size:.78rem}.profile-facts{gap:7px}.profile-facts span{padding:8px 9px}.officer-hours-card{padding:9px 11px}.officer-back-live,.officer-back-offline,.officer-next-shift,.officer-back-achievements{border-radius:11px;padding:9px 10px}.officer-snapshot-grid{gap:7px}.officer-snapshot-grid>div{border-radius:11px;gap:3px;padding:9px 10px}.officer-snapshot-grid span,.officer-next-shift span{font-size:.61rem}.officer-snapshot-grid strong{font-size:.98rem}.officer-next-shift strong{font-size:.8rem}.officer-back-achievements{gap:4px}.officer-back-achievements strong{font-size:.74rem}.officer-back-achievements small{font-size:.72rem}.flip-card-hint{font-size:.68rem}.archive-filters{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end}.archive-clear-filters{align-self:end;min-height:42px}.issues-only-indicator{color:#8a5b08;background:#fff7df;border:1px solid #efc66c;border-radius:999px;margin-top:8px;padding:5px 9px;font-size:.72rem;font-weight:850;display:inline-flex}.schedule-activity-line{color:#4f6278!important;margin-top:5px!important}.schedule-activity-line strong{color:#183b67}.completion-review-modal{overflow:hidden}.completion-celebration{background:linear-gradient(135deg,#effcf6,#f6fbff 70%);border:1px solid #bfe8d4;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:-2px -2px 14px;padding:18px;display:grid;box-shadow:0 10px 28px #205c4c14}.completion-celebration-icon{color:#fff;background:#198754;border-radius:50%;place-items:center;width:50px;height:50px;font-size:1.55rem;font-weight:900;display:grid;box-shadow:0 0 0 7px #1987541a}.completion-celebration h2{margin:3px 0 4px}.completion-celebration p{color:#496578;margin:0;font-weight:700}.completion-shift-meta{margin:0 0 8px}.invoice-draft-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.invoice-draft-title-row h2{margin:4px 0}.invoice-draft-badge{color:#825600;letter-spacing:.05em;background:#fff4d6;border:1px solid #efd18a;border-radius:999px;align-items:center;padding:5px 8px;font-size:.66rem;font-weight:900;display:inline-flex}.invoice-draft-actions{border-top:1px solid var(--line);background:#fff;padding-top:10px}@media (min-width:721px) and (max-width:1180px){.month-grid .calendar-day{min-height:158px;padding:6px}.month-grid .calendar-shift{padding:5px 6px}.month-grid .calendar-shift-time{font-size:.58rem}.month-grid .calendar-officer-name{font-size:.62rem}.month-grid .calendar-shift>.row-actions{flex-wrap:wrap;gap:3px;display:flex}.month-grid .calendar-shift>.row-actions button{min-width:0;padding:3px 5px;font-size:.5rem}}@media (max-width:900px){.archive-filters{grid-template-columns:1fr 1fr}}@media (max-width:720px){.archive-filters{grid-template-columns:1fr}.officer-flip-card,.officer-flip-card-inner,.officer-card-face{min-height:365px}.completion-celebration{grid-template-columns:auto 1fr;padding:14px}.completion-celebration>.pending-review-pill{grid-column:1/-1;justify-self:start}.completion-celebration-icon{width:42px;height:42px;font-size:1.3rem}}.officer-card-back .officer-back-achievements{display:none!important}.monthly-patrol-allocation{background:#f8fbfd;border:1px solid #d9e3ec;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(180px,280px);align-items:center;gap:18px;margin:0 0 16px;padding:14px 16px;display:grid}.monthly-patrol-allocation>div:first-child{gap:3px;display:grid}.monthly-patrol-allocation strong{color:#163f6b;font-size:20px}.monthly-patrol-allocation small{color:#657487;font-weight:700}.monthly-patrol-meter{background:#e4ebf1;border-radius:999px;height:10px;overflow:hidden}.monthly-patrol-meter span{border-radius:inherit;background:#4775a8;height:100%;transition:width .2s;display:block}.monthly-patrol-allocation.is-near-limit{background:#fffaf0;border-color:#e3c888}.monthly-patrol-allocation.is-near-limit .monthly-patrol-meter span{background:#b7791f}.monthly-patrol-allocation.is-full{background:#fff5f5;border-color:#dfb1b1}.monthly-patrol-allocation.is-full .monthly-patrol-meter span{background:#b13a3a}.monthly-shortened-badge{color:#7a5410;background:#fff3cd;border:1px solid #efd38a;border-radius:999px;align-items:center;width:max-content;max-width:100%;padding:3px 7px;font-size:10px;font-weight:850;line-height:1.2;display:inline-flex}.shortened-shift-modal{max-width:560px}.shortened-shift-comparison{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.shortened-shift-comparison>div{background:#f7fafc;border:1px solid #dce5ee;border-radius:12px;gap:6px;padding:14px;display:grid}.shortened-shift-comparison span{text-transform:uppercase;letter-spacing:.08em;color:#6b7b8f;font-size:11px;font-weight:800}.shortened-shift-comparison strong{color:#17263a;font-size:18px}.shortened-shift-comparison .adjusted{background:#f2fbf3;border-color:#b9d6bd}.shortened-shift-comparison .adjusted strong{color:#21622d}.monthly-limit-meter{color:#456077;background:#eef4f9;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.monthly-limit-meter strong{color:#163f6b}.shortened-shift-note{color:#657487;font-size:13px}@media (max-width:720px){.monthly-patrol-allocation,.shortened-shift-comparison{grid-template-columns:1fr}.monthly-limit-meter{flex-direction:column;align-items:flex-start}}.admin-record-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.manual-entry-intro{max-width:900px;margin-bottom:18px}.manual-patrol-form{gap:20px;display:grid}.manual-patrol-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.manual-patrol-grid label,.manual-activity-entry label,.manual-limit-override>label:not(.checkbox-line){gap:7px;display:grid}.manual-patrol-grid label>span,.manual-activity-entry label>span,.manual-limit-override label>span{letter-spacing:.04em;color:#52667b;font-size:.78rem;font-weight:800}.manual-patrol-grid input,.manual-patrol-grid select,.manual-patrol-grid textarea,.manual-activity-entry input,.manual-activity-entry select,.manual-activity-entry textarea,.manual-limit-override textarea{color:#17263a;width:100%;font:inherit;background:#fff;border:1px solid #cfdae5;border-radius:12px;padding:11px 12px}.manual-reason-detail{grid-column:1/-1}.manual-activity-block{background:#f9fbfd;border:1px solid #dbe5ee;border-radius:16px;padding:16px}.compact-panel-title{margin-bottom:12px}.compact-panel-title h3{margin:2px 0 0}.manual-activity-list{gap:12px;display:grid}.manual-activity-entry{background:#fff;border:1px solid #d8e3ed;border-radius:14px;grid-template-columns:1.2fr .75fr .8fr;gap:12px;padding:14px;display:grid}.manual-activity-entry-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.manual-activity-details{grid-column:1/-1}.manual-limit-override{background:#fffaf0;border:1px solid #ead8ac;border-radius:14px;gap:12px;padding:14px 16px;display:grid}.checkbox-line{cursor:pointer;align-items:flex-start;gap:10px;display:flex!important}.checkbox-line input{margin-top:2px}.checkbox-line span{line-height:1.45;letter-spacing:0!important}.manual-entry-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.manual-audit-note{text-align:right;margin-top:-8px}.manual-entry-audit{background:#fff7dd;border:1px solid #ecd89e;border-radius:8px;width:max-content;max-width:100%;padding:5px 7px;color:#7a5812!important;margin-top:5px!important}@media (max-width:980px){.manual-patrol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-activity-entry{grid-template-columns:1fr 1fr}.manual-issue-toggle{grid-column:1/-1}}@media (max-width:680px){.manual-patrol-grid,.manual-activity-entry{grid-template-columns:1fr}.manual-reason-detail,.manual-activity-details,.manual-issue-toggle{grid-column:auto}.compact-panel-title{align-items:flex-start;gap:10px}.manual-entry-actions>button{flex:1}.manual-audit-note{text-align:left}.admin-record-heading-actions{justify-content:flex-start}}.community-board-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-bottom:18px;display:grid}.community-month-summary .panel-title select{min-width:175px}.community-summary-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.community-summary-stats>div{background:#f8fbfd;border:1px solid #dce6ee;border-radius:12px;gap:4px;padding:14px;display:grid}.community-summary-stats span{text-transform:uppercase;letter-spacing:.06em;color:#6f7f91;font-size:.68rem;font-weight:850}.community-summary-stats strong{color:#173f6b;font-size:1.1rem}.community-summary-stats small{color:#6b7a8c}.community-summary-progress{background:#e5edf4;border-radius:999px;height:9px;margin:14px 0;overflow:hidden}.community-summary-progress i{border-radius:inherit;background:#4775a8;height:100%;display:block}.community-recent-issues{align-content:start;display:grid}.community-issue-list{gap:10px;margin-bottom:12px;display:grid}.community-issue-list article{background:#fff8f8;border:1px solid #ead6d6;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:12px;display:grid}.community-issue-list article p{color:#4f5f70;grid-column:1/-1;margin:0}.community-issue-list article small{color:#738296;margin-top:2px;display:block}.issue-follow-status{letter-spacing:.03em;border-radius:999px;justify-content:center;align-items:center;width:max-content;padding:4px 8px;font-size:.68rem;font-weight:850;display:inline-flex}.issue-follow-new{color:#8a5810;background:#fff0d8;border:1px solid #edcf9b}.issue-follow-reviewed{color:#315d98;background:#eaf2ff;border:1px solid #c6d8ee}.issue-follow-resolved{color:#27613a;background:#eaf8ef;border:1px solid #c7e1cf}.issue-followup-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.issue-followup-row select{background:#fff;border:1px solid #d0dae5;border-radius:8px;min-width:120px;padding:6px 8px}.note-card-community-announcement{background:linear-gradient(135deg,#fffaf0,#fff)!important;border:2px solid #d8c17b!important}.community-announcement-badge{color:#775516;background:#fff0bd;border-radius:999px;align-items:center;padding:4px 8px;font-size:.68rem;font-weight:900;display:inline-flex}.note-acknowledgment-row{border-top:1px solid #e3e9ef;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.note-acknowledgment-row>span{color:#53667a;font-size:.78rem;font-weight:800}.note-acknowledgment-row small{color:#778698;flex-basis:100%}.community-announcement-toggle{background:#fffaf0;border:1px solid #e2d19e;border-radius:12px;padding:11px 12px}.community-announcement-toggle .checkbox-row{color:#5d6875;align-items:center;gap:9px;margin-top:6px;font-size:.82rem;font-weight:700;display:flex}.community-announcement-toggle input{width:auto}.board-online-panel[data-tour=community-presence]{scroll-margin-top:90px}.profile-tabs button[data-tour=community-presence]{white-space:nowrap}@media (max-width:1050px){.community-board-grid{grid-template-columns:1fr}.community-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.community-summary-stats{grid-template-columns:1fr}.community-month-summary .panel-title{align-items:flex-start}.community-month-summary .panel-title select{width:100%;min-width:0}.community-issue-list article{grid-template-columns:1fr}.community-issue-list article .issue-follow-status{justify-self:start}.note-acknowledgment-row{flex-direction:column;align-items:flex-start}}.community-board-grid-compact{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}.community-concern-summary-card,.officer-concern-alert{text-align:left;cursor:pointer;background:linear-gradient(145deg,#f8fbff,#fff);border:1px solid #d7e3ee;width:100%;transition:transform .16s,box-shadow .16s}.community-concern-summary-card:hover,.officer-concern-alert:hover{transform:translateY(-1px);box-shadow:0 10px 25px #183f6b14}.community-concern-summary-card h2{margin:4px 0 12px}.community-concern-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px;display:grid}.community-concern-counts span{color:#66778a;background:#f3f7fb;border-radius:10px;gap:2px;padding:10px;font-size:.72rem;font-weight:800;display:grid}.community-concern-counts strong{color:#183f6b;font-size:1.05rem}.officer-concern-alert{background:linear-gradient(145deg,#fffaf0,#fff);border-color:#e4d49f;gap:4px;margin:0 0 18px;padding:14px 16px;display:grid}.officer-concern-alert strong{color:#604b13;font-size:1rem}.community-concern-badge{color:#315d98;background:#e8f0ff;border:1px solid #c8d9f3;border-radius:999px;align-items:center;width:max-content;padding:4px 8px;font-size:.68rem;font-weight:900;display:inline-flex}.community-concern-detail{border-top:1px solid #e3e9ef;gap:9px;margin-top:10px;padding-top:10px;display:grid}.concern-meta-line{flex-wrap:wrap;gap:8px;display:flex}.concern-meta-line span{color:#53667a;background:#f1f5f8;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800}.concern-resolution-note{background:#f1f8f3;border:1px solid #cde2d3;border-radius:10px;padding:10px 12px}.concern-resolution-note strong{text-transform:uppercase;letter-spacing:.05em;color:#346348;font-size:.74rem}.concern-resolution-note p{margin:5px 0 0}.concern-review-controls{grid-template-columns:155px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.concern-review-controls select,.concern-review-controls input{background:#fff;border:1px solid #cfdae5;border-radius:9px;width:100%;padding:8px 10px}.concern-submit-help{color:#4e6277;background:#f4f8fd;border:1px solid #cbdcf0;border-radius:12px;gap:4px;padding:11px 12px;display:grid}.profile-community-month-summary{max-width:1100px}.profile-community-month-summary .panel-title select{min-width:180px}@media (max-width:820px){.community-concern-counts,.concern-review-controls,.community-board-grid-compact{grid-template-columns:1fr}}.awareness-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:18px;display:grid}.awareness-grid-with-concerns{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.awareness-operations-card{background:linear-gradient(145deg,#f8fbfe 0%,#fff 58%);border:1px solid #d5e1ec;position:relative;overflow:hidden}.awareness-operations-card:before{content:"";background:linear-gradient(#1f5b8f,#df9d43);width:5px;position:absolute;inset:0 auto 0 0}.awareness-title-row{padding-left:4px}.awareness-title-row h2{margin-bottom:2px}.awareness-title-row small{color:#718195}.awareness-count{color:#fff;background:#173f6b;border-radius:999px;place-items:center;min-width:36px;height:36px;padding:0 10px;font-weight:900;display:grid;box-shadow:0 6px 18px #173f6b29}.awareness-issue-list{margin-top:4px}.awareness-issue-card{box-shadow:0 7px 18px #313f4e0e;background:linear-gradient(135deg,#fff9f7,#fff)!important;border:1px solid #ead5cf!important;border-left:4px solid #c65c4a!important;border-radius:14px!important;padding:15px!important;display:block!important}.awareness-issue-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.awareness-issue-heading>div{min-width:0}.awareness-issue-heading strong{color:#233b57;font-size:1rem}.awareness-issue-heading small{color:#7b8795;margin-top:3px;display:block}.awareness-issue-card p{line-height:1.45;color:#46596d!important;margin:10px 0 12px!important}.awareness-reporter{border-top:1px solid #eee3df;align-items:center;gap:9px;padding-top:10px;display:flex}.awareness-reporter .mini-avatar{width:31px;height:31px;font-size:.7rem}.awareness-reporter div{gap:1px;display:grid}.awareness-reporter small{text-transform:uppercase;letter-spacing:.06em;color:#8994a0;font-size:.67rem;font-weight:800}.awareness-reporter strong{color:#173f6b;font-size:.86rem}.awareness-footer-action{color:#24527f;cursor:pointer;background:#fff;border:1px solid #d6e1eb;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 12px;font-weight:850;display:flex}.awareness-footer-action:hover{background:#f2f7fb}.awareness-empty{background:#fbfdff;border:1px dashed #d7e2ec;border-radius:12px}.note-like-row{border-top:1px solid #e3e9ef;align-items:center;margin-top:10px;padding-top:10px;display:flex}.note-like-button,.note-like-count{color:#506378;background:#f7f9fb;border:1px solid #d9e2eb;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:6px 11px;font-size:.82rem;font-weight:850;display:inline-flex}.note-like-button{cursor:pointer;transition:transform .14s,background .14s,border-color .14s}.note-like-button:hover{background:#eef5fb;transform:translateY(-1px)}.note-like-button-active{color:#1d568b;background:#e8f2ff;border-color:#a9c8e8}.concern-review-controls{margin-top:10px;grid-template-columns:1fr!important;align-items:stretch!important;gap:10px!important;display:grid!important}.concern-review-controls label{gap:5px;display:grid}.concern-review-controls label>span{text-transform:uppercase;letter-spacing:.05em;color:#65778a;font-size:.7rem;font-weight:850}.concern-status-control{max-width:220px}.concern-review-controls select,.concern-review-controls textarea{width:100%;font:inherit;background:#fff;border:1px solid #cfdae5;border-radius:10px;padding:10px 11px}.concern-review-controls textarea{resize:vertical;min-height:105px;line-height:1.4}.concern-save-followup{justify-self:start;min-width:145px}@media (max-width:900px){.awareness-grid-with-concerns{grid-template-columns:1fr}}@media (max-width:640px){.awareness-issue-heading{display:grid}.awareness-issue-heading .issue-reported-badge{justify-self:start}.concern-status-control{max-width:none}}.overview-notes-panel{margin-top:0;margin-bottom:18px}.overview-note-grid-empty{grid-template-columns:1fr}.overview-note-grid-empty .empty-state{justify-content:flex-start;align-items:center;min-height:0;margin:0;padding:18px 20px;display:flex}.awareness-grid{margin-bottom:18px}.overview-notes-panel+.overview-grid{margin-top:0}@media (max-width:900px){.overview-notes-panel,.awareness-grid{margin-bottom:14px}}.overview-stat-grid-board{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-patrol-activity-card{min-height:100%}html[data-portal-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf4fb;--muted:#a9b8c8;--line:#314357;--soft:#172535;--white:#152334;--shadow:0 18px 50px #00000047}html[data-portal-theme=night],html[data-portal-theme=night] body{color:var(--ink);background:#0c1520}html[data-portal-theme=night] .main-shell,html[data-portal-theme=night] .content-shell,html[data-portal-theme=night] .page-shell{background:#0c1520}html[data-portal-theme=night] .topbar{background:#0c1520f5;border-color:#26384b}html[data-portal-theme=night] .sidebar{background:#081421;border-color:#24374a}html[data-portal-theme=night] .panel,html[data-portal-theme=night] .stat-card:not(.featured),html[data-portal-theme=night] .calendar-panel,html[data-portal-theme=night] .activity-item,html[data-portal-theme=night] .timeline-row>div:last-child,html[data-portal-theme=night] .email-log-row,html[data-portal-theme=night] .completed-shift-card,html[data-portal-theme=night] .invoice-history-list article,html[data-portal-theme=night] .invoice-draft-frame,html[data-portal-theme=night] .shift-choice-card,html[data-portal-theme=night] .shift-preset-picker button,html[data-portal-theme=night] .manual-activity-entry,html[data-portal-theme=night] .community-issue-list article,html[data-portal-theme=night] .awareness-footer-action,html[data-portal-theme=night] .note-card,html[data-portal-theme=night] .member-card,html[data-portal-theme=night] .profile-card,html[data-portal-theme=night] .modal-card,html[data-portal-theme=night] .modal,html[data-portal-theme=night] .calendar-day{color:#edf4fb;background:#152334;border-color:#314357}html[data-portal-theme=night] input,html[data-portal-theme=night] select,html[data-portal-theme=night] textarea,html[data-portal-theme=night] .manual-patrol-grid input,html[data-portal-theme=night] .manual-patrol-grid select,html[data-portal-theme=night] .manual-patrol-grid textarea,html[data-portal-theme=night] .concern-review-controls select,html[data-portal-theme=night] .concern-review-controls input{color:#edf4fb;background:#101d2b;border-color:#3a4e63}html[data-portal-theme=night] input::placeholder,html[data-portal-theme=night] textarea::placeholder{color:#8295a8}html[data-portal-theme=night] .stat-card.featured,html[data-portal-theme=night] .dark-panel{background:linear-gradient(135deg,#102944,#193d5f)}html[data-portal-theme=night] .calendar-day.blank,html[data-portal-theme=night] .empty-state,html[data-portal-theme=night] .awareness-empty,html[data-portal-theme=night] .officer-hours-total,html[data-portal-theme=night] .officer-hours-card,html[data-portal-theme=night] .personal-hours-summary>label,html[data-portal-theme=night] .personal-hours-summary>div,html[data-portal-theme=night] .monthly-patrol-allocation,html[data-portal-theme=night] .community-summary-stats>div,html[data-portal-theme=night] .community-concern-counts span,html[data-portal-theme=night] .manual-activity-block,html[data-portal-theme=night] .invoice-edit-row{background:#111f2e;border-color:#314357}html[data-portal-theme=night] .calendar-slot-tag,html[data-portal-theme=night] .note-like-button,html[data-portal-theme=night] .note-like-count,html[data-portal-theme=night] .concern-meta-line span{color:#d6e2ed;background:#1d3043;border-color:#3b5167}html[data-portal-theme=night] .note-like-button-active{color:#dceeff;background:#183b5b;border-color:#477aa5}html[data-portal-theme=night] .monthly-patrol-allocation.is-near-limit,html[data-portal-theme=night] .manual-limit-override,html[data-portal-theme=night] .note-card-community-announcement,html[data-portal-theme=night] .community-announcement-toggle{border-color:#675b35;background:#332b18!important}html[data-portal-theme=night] .monthly-patrol-allocation.is-full,html[data-portal-theme=night] .delete-record-button,html[data-portal-theme=night] .reset-confirm-button{background:#382025;border-color:#75434b}html[data-portal-theme=night] .community-issue-list article,html[data-portal-theme=night] .awareness-issue-card,html[data-portal-theme=night] .issue-reported-card{background:#2b1d23;border-color:#66404a}html[data-portal-theme=night] .concern-resolution-note{background:#173025;border-color:#315f49}html[data-portal-theme=night] .monthly-limit-meter,html[data-portal-theme=night] .community-summary-progress,html[data-portal-theme=night] .progress{background:#26384a}html[data-portal-theme=night] .officer-hours-total strong,html[data-portal-theme=night] .officer-hours-card strong,html[data-portal-theme=night] .personal-hours-summary strong,html[data-portal-theme=night] .community-summary-stats strong,html[data-portal-theme=night] .community-concern-counts strong,html[data-portal-theme=night] .awareness-reporter strong,html[data-portal-theme=night] .monthly-patrol-allocation strong{color:#d8eaff}html[data-portal-theme=night] .officer-hours-toolbar p,html[data-portal-theme=night] .officer-hours-total small,html[data-portal-theme=night] .officer-hours-card small,html[data-portal-theme=night] .personal-hours-summary small,html[data-portal-theme=night] .community-summary-stats small,html[data-portal-theme=night] .community-issue-list article p,html[data-portal-theme=night] .community-issue-list article small,html[data-portal-theme=night] .monthly-patrol-allocation small,html[data-portal-theme=night] .shortened-shift-note{color:#a9b8c8}html[data-portal-theme=night] button:not(.primary):not(.danger):not(.go-live):not(.stat-card.featured){border-color:#3a4e63}@media (max-width:820px){.overview-stat-grid-board{grid-template-columns:1fr}.cp-patrol-activity-card{min-height:auto}}html[data-portal-theme=night] .login-page{background:linear-gradient(145deg,#050d16,#0a1c2b)}html[data-portal-theme=night] .login-card{color:#edf4fb;background:#121f2dfa;border-color:#314357}html[data-portal-theme=night] .login-form input{color:#edf4fb;background:#0f1c29;border-color:#3a4e63}html[data-portal-theme=night] .login-form input:focus{background:#132536}html[data-portal-theme=night] .login-message{color:#c2cfdb;background:#1b2a3a}.awareness-issue-card,.timeline-row-issue>div:last-child,.community-issue-list article.issue-reported-card,.issue-reported-card{color:#101010!important;background:#f5b6b6!important;border-color:#cf4545!important;box-shadow:inset 5px 0 #b92828,0 8px 22px #7719191f!important}.awareness-issue-card strong,.awareness-issue-card p,.awareness-reporter strong,.timeline-row-issue>div:last-child strong,.timeline-row-issue>div:last-child p,.issue-reported-card strong,.issue-reported-card p{font-weight:800!important}.awareness-issue-card .issue-reported-badge,.timeline-row-issue .issue-reported-badge,.issue-reported-card .issue-reported-badge,.issue-reported-badge{color:#090909!important;background:#e75858!important;border-color:#a92020!important;font-weight:950!important}.awareness-issue-card .mini-avatar,.issue-reported-card .mini-avatar{color:#fff!important}html[data-portal-theme=night]{--night-bg:#09131e;--night-panel:#132334;--night-panel-2:#182a3d;--night-panel-3:#1d3146;--night-border:#3a5169;--night-text:#f4f8fc;--night-muted:#b7c5d3;--night-blue:#65aef2}html[data-portal-theme=night] h1,html[data-portal-theme=night] h2,html[data-portal-theme=night] h3,html[data-portal-theme=night] h4,html[data-portal-theme=night] strong,html[data-portal-theme=night] label,html[data-portal-theme=night] .page-kicker,html[data-portal-theme=night] .section-kicker,html[data-portal-theme=night] .eyebrow{color:var(--night-text)}html[data-portal-theme=night] p,html[data-portal-theme=night] small,html[data-portal-theme=night] .muted,html[data-portal-theme=night] .helper-text{color:var(--night-muted)}html[data-portal-theme=night] a,html[data-portal-theme=night] .text-button{color:#79baff}html[data-portal-theme=night] button:not(.primary):not(.danger):not(.go-live):not(.reset-confirm-button):not(.delete-record-button):not(.game-tour-primary):not(.game-tour-back):not(.game-tour-skip){color:#edf5fd;background:#1b3045;border-color:#496078}html[data-portal-theme=night] button:not(.primary):not(.danger):not(.go-live):not(.reset-confirm-button):not(.delete-record-button):hover{background:#25425c;border-color:#67839e}html[data-portal-theme=night] button:disabled{opacity:.58}html[data-portal-theme=night] .admin-summary .stat-card,html[data-portal-theme=night] .admin-workspace>.panel,html[data-portal-theme=night] .tabbed-admin-workspace>.panel,html[data-portal-theme=night] .admin-tabs,html[data-portal-theme=night] .admin-schedule-filters,html[data-portal-theme=night] .admin-email-log-panel,html[data-portal-theme=night] .admin-branding-panel,html[data-portal-theme=night] .admin-invoice-filter,html[data-portal-theme=night] .pending-review-admin{box-shadow:0 14px 34px #0003;color:#f4f8fc!important;background:#132334!important;border-color:#3a5169!important}html[data-portal-theme=night] .admin-tabs button{color:#f4f8fc!important;background:#172a3c!important;border-color:#334b62!important}html[data-portal-theme=night] .admin-tabs button:hover{background:#1e3850!important}html[data-portal-theme=night] .admin-tabs button.active{box-shadow:inset 0 0 0 1px #82bef11f,0 8px 20px #0003;background:#234562!important;border-color:#5f91bd!important}html[data-portal-theme=night] .admin-tabs button span,html[data-portal-theme=night] .admin-record-row small,html[data-portal-theme=night] .admin-note-copy p{color:#bdcad7!important}html[data-portal-theme=night] .member-group-header,html[data-portal-theme=night] .member-group-admin,html[data-portal-theme=night] .member-group-officer,html[data-portal-theme=night] .member-group-board{color:#f4f8fc!important;background:#1a2d40!important;border-color:#405870!important}html[data-portal-theme=night] .member-row,html[data-portal-theme=night] .admin-record-row,html[data-portal-theme=night] .email-log-summary,html[data-portal-theme=night] .branding-preview,html[data-portal-theme=night] .manual-entry-panel{border-color:#344d65!important}html[data-portal-theme=night] .member-admin-actions select,html[data-portal-theme=night] .member-admin-actions input,html[data-portal-theme=night] .email-log-filters select,html[data-portal-theme=night] .email-log-filters input{color:#f4f8fc!important;background:#0f1e2c!important;border-color:#496078!important}html[data-portal-theme=night] .calendar-panel{background:#0f1d2b!important;border-color:#3a5169!important}html[data-portal-theme=night] .calendar-toolbar,html[data-portal-theme=night] .calendar-toolbar-status,html[data-portal-theme=night] .weekdays,html[data-portal-theme=night] .monthly-patrol-allocation,html[data-portal-theme=night] .school-calendar-next-change{color:#f4f8fc!important;background:#14273a!important;border-color:#3b536c!important}html[data-portal-theme=night] .calendar-toolbar button,html[data-portal-theme=night] .calendar-toolbar select{color:#f4f8fc!important;background:#0e1d2b!important;border-color:#4a647e!important}html[data-portal-theme=night] .weekdays>div{color:#c9d5e0!important}html[data-portal-theme=night] .calendar-day,html[data-portal-theme=night] .calendar-day.blank,html[data-portal-theme=night] .calendar-day.holiday,html[data-portal-theme=night] .calendar-day.school-event-day-closed,html[data-portal-theme=night] .calendar-day.school-event-day-early-dismissal{color:#f5f9fd!important;background:#102030!important;border-color:#31485f!important}html[data-portal-theme=night] .calendar-day:nth-child(2n){background:#112334!important}html[data-portal-theme=night] .day-number,html[data-portal-theme=night] .day-number strong,html[data-portal-theme=night] .day-number>span{color:#f5f9fd!important}html[data-portal-theme=night] .calendar-shift{box-shadow:0 5px 12px #00000026;color:#f7fbff!important;background:#1d3348!important;border:1px solid #45617b!important;border-left:4px solid #7d9dcc!important}html[data-portal-theme=night] .calendar-shift strong,html[data-portal-theme=night] .calendar-shift span{color:#f7fbff!important}html[data-portal-theme=night] .calendar-shift small{color:#c0cedb!important}html[data-portal-theme=night] .calendar-shift.calendar-completed,html[data-portal-theme=night] .calendar-completed{background:#17372e!important;border-color:#3d7964 #3d7964 #3d7964 #62b38d!important}html[data-portal-theme=night] .calendar-shift.calendar-live,html[data-portal-theme=night] .calendar-live{background:#123d39!important;border-color:#36877c #36877c #36877c #4fd0b7!important}html[data-portal-theme=night] .calendar-shift.calendar-open,html[data-portal-theme=night] .calendar-open{background:#3a2f17!important;border-color:#80652d #80652d #80652d #e1ad43!important}html[data-portal-theme=night] .calendar-open-unassigned{box-shadow:none!important;background:0 0!important;border-color:#0000!important}html[data-portal-theme=night] .calendar-open-unassigned>strong,html[data-portal-theme=night] .calendar-open-unassigned>span{color:#eef5fc!important}html[data-portal-theme=night] .calendar-open-unassigned>small{color:#e9c77c!important}html[data-portal-theme=night] .calendar-slot-tag{color:#f4f8fc!important;background:#294059!important;border:1px solid #4d6882!important}html[data-portal-theme=night] .calendar-slot-tag.slot-evening{color:#ffe2a0!important;background:#493818!important;border-color:#80622c!important}html[data-portal-theme=night] .calendar-slot-tag.slot-graveyard{color:#d8deff!important;background:#242d59!important;border-color:#5665a6!important}html[data-portal-theme=night] .calendar-actions button,html[data-portal-theme=night] .calendar-open-edit,html[data-portal-theme=night] .calendar-reopen-button{color:#e8f2fb!important;background:#1b3045!important;border-color:#52708d!important}html[data-portal-theme=night] .calendar-claim-button{color:#fff!important;background:#169b61!important;border-color:#35c783!important}html[data-portal-theme=night] .danger-link,html[data-portal-theme=night] .give-up-button{color:#ff9b9b!important;border-color:#8e5353!important}html[data-portal-theme=night] .status-open,html[data-portal-theme=night] .locked{border:1px solid #8c6c2d;color:#ffe6a6!important;background:#5a4217!important}html[data-portal-theme=night] .status-claimed{border:1px solid #5b67a7;color:#e0e5ff!important;background:#31396b!important}html[data-portal-theme=night] .status-live{border:1px solid #2b8877;color:#cbfff1!important;background:#145148!important}html[data-portal-theme=night] .status-completed,html[data-portal-theme=night] .active-pill,html[data-portal-theme=night] .released{border:1px solid #4b866f;color:#d6ffec!important;background:#204c3b!important}html[data-portal-theme=night] .status-canceled,html[data-portal-theme=night] .pill.closed,html[data-portal-theme=night] .closed-pill{border:1px solid #8d4a55;color:#ffd9df!important;background:#582d35!important}html[data-portal-theme=night] .school-calendar-marker,html[data-portal-theme=night] .school-calendar-next-change,html[data-portal-theme=night] .school-calendar-next-change strong,html[data-portal-theme=night] .school-calendar-next-change-label{color:#edf5fc!important}html[data-portal-theme=night] .school-calendar-marker-closed{background:#52262d!important;border-color:#8e4752!important}html[data-portal-theme=night] .school-calendar-marker-early-dismissal{background:#4a3819!important;border-color:#86692f!important}html[data-portal-theme=night] .monthly-patrol-allocation strong,html[data-portal-theme=night] .monthly-patrol-allocation small{color:#f0f6fc!important}html[data-portal-theme=night] .monthly-patrol-meter{background:#2a4055!important}html[data-portal-theme=night] .monthly-patrol-meter span{background:#64a8e6!important}html[data-portal-theme=night] .timeline-row:not(.timeline-row-issue)>div:last-child,html[data-portal-theme=night] .overview-note-card,html[data-portal-theme=night] .overview-notes-panel,html[data-portal-theme=night] .officer-card,html[data-portal-theme=night] .officer-flip-card-front,html[data-portal-theme=night] .officer-flip-card-back,html[data-portal-theme=night] .profile-form,html[data-portal-theme=night] .profile-preview,html[data-portal-theme=night] .community-presence-panel,html[data-portal-theme=night] .community-month-summary,html[data-portal-theme=night] .invoice-builder,html[data-portal-theme=night] .invoice-preview-shell,html[data-portal-theme=night] .invoice-preview-actions,html[data-portal-theme=night] .concern-review-controls{color:#f4f8fc!important;background:#132334!important;border-color:#3a5169!important}html[data-portal-theme=night] .activity-item p,html[data-portal-theme=night] .activity-item small,html[data-portal-theme=night] .overview-note-card p,html[data-portal-theme=night] .officer-card p,html[data-portal-theme=night] .profile-preview p{color:#b8c7d5!important}html[data-portal-theme=night] .check-icon{color:#b9ffea;background:#17493f}html[data-portal-theme=night] .awareness-issue-card *,html[data-portal-theme=night] .timeline-row-issue>div:last-child *,html[data-portal-theme=night] .community-issue-list article.issue-reported-card *,html[data-portal-theme=night] .issue-reported-card *{color:#101010!important}html[data-portal-theme=night] .awareness-issue-card .mini-avatar,html[data-portal-theme=night] .issue-reported-card .mini-avatar{color:#fff!important}@media (max-width:820px){html[data-portal-theme=night] .admin-tabs,html[data-portal-theme=night] .calendar-toolbar,html[data-portal-theme=night] .monthly-patrol-allocation{box-shadow:none}html[data-portal-theme=night] .calendar-day{border-color:#35516b!important}html[data-portal-theme=night] .calendar-actions button,html[data-portal-theme=night] .calendar-open-edit,html[data-portal-theme=night] .calendar-reopen-button{min-height:30px}}.live-badge{letter-spacing:.14em;border:2px solid #43d493;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:.72rem;font-weight:950;display:inline-flex;position:relative;box-shadow:0 0 0 3px #0794551f,0 0 22px #22c55e57;color:#fff!important;background:#079455!important}.live-badge i{color:#fff;background:#fff;width:9px;height:9px;animation:1.8s ease-in-out infinite portal-live-pulse;box-shadow:0 0 0 4px #ffffff2e}.live-person{box-shadow:inset 4px 0 #22b573,0 8px 22px #0564411f;border-color:#43d4938c!important}@keyframes portal-live-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 0 3px #ffffff29}50%{opacity:.86;transform:scale(1.18);box-shadow:0 0 0 7px #fff0}}@media (prefers-reduced-motion:reduce){.live-badge i{animation:none}}.awareness-issue-card,.timeline-row-issue>div:last-child,.community-issue-list article.issue-reported-card,.issue-reported-card{color:#26384a!important;background:linear-gradient(135deg,#fff3f3,#fff8f8)!important;border-color:#e59a9f!important}.awareness-issue-card *,.timeline-row-issue>div:last-child *,.community-issue-list article.issue-reported-card *,.issue-reported-card *{color:inherit!important}.issue-reported-badge,.awareness-issue-card .issue-reported-badge{color:#7d1f29!important;background:#f8d9dc!important;border-color:#dc8a91!important;font-weight:900!important}.month-grid .calendar-day{overflow:hidden;container-type:inline-size}.month-grid .calendar-shift,.month-grid .calendar-open-unassigned{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden}.month-grid .calendar-shift>*,.month-grid .calendar-open-unassigned>*{min-width:0;max-width:100%}.month-grid .calendar-officer-name,.month-grid .calendar-shift-status,.month-grid .calendar-shift-time{text-overflow:ellipsis;overflow:hidden}.month-grid .calendar-actions,.month-grid .calendar-open-actions,.month-grid .row-actions{flex-wrap:wrap;min-width:0;max-width:100%}.month-grid .calendar-actions button,.month-grid .calendar-open-actions button,.month-grid .row-actions button{white-space:nowrap;flex:auto;min-width:0;max-width:100%;padding-left:5px;padding-right:5px}@container (max-width:145px){.calendar-shift{padding:4px!important}.calendar-slot-tag{padding:2px 4px!important;font-size:.49rem!important}.calendar-shift-time{font-size:.52rem!important}.calendar-shift-status{font-size:.46rem!important;line-height:1.08!important}.calendar-officer-name{font-size:.56rem!important}.calendar-actions button,.calendar-open-actions button,.row-actions button{padding:2px 3px!important;font-size:.45rem!important}}@container (max-width:118px){.calendar-time-full{display:none!important}.calendar-time-compact{display:inline!important}.calendar-shift-status{display:none!important}.calendar-slot-tag{margin-bottom:1px!important}.calendar-actions,.calendar-open-actions,.row-actions{gap:2px!important;margin-top:2px!important}}@container (max-width:96px){.calendar-shift-time{display:none!important}.calendar-officer-name{white-space:nowrap;font-size:.5rem!important}.calendar-actions button,.calendar-open-actions button,.row-actions button{padding:2px!important;font-size:.4rem!important}}html[data-portal-theme=night] .presence-row,html[data-portal-theme=night] .board-presence-row,html[data-portal-theme=night] .board-presence-row.is-online,html[data-portal-theme=night] .invoice-preview-summary>div,html[data-portal-theme=night] .invoice-shift-preview>div:not(.empty-state),html[data-portal-theme=night] .rate-selector,html[data-portal-theme=night] .rate-selector button,html[data-portal-theme=night] .completed-edit,html[data-portal-theme=night] .completion-audit,html[data-portal-theme=night] .audit-entry,html[data-portal-theme=night] .shortened-shift-comparison>div,html[data-portal-theme=night] .shortened-shift-comparison .adjusted,html[data-portal-theme=night] .monthly-limit-meter,html[data-portal-theme=night] .shift-customize-row,html[data-portal-theme=night] .shift-customize-row button,html[data-portal-theme=night] .community-announcement-toggle,html[data-portal-theme=night] .note-card-community-announcement,html[data-portal-theme=night] .manual-limit-override,html[data-portal-theme=night] .manual-entry-audit,html[data-portal-theme=night] .reset-activity-option,html[data-portal-theme=night] .invoice-history-list article,html[data-portal-theme=night] .completed-shift-card,html[data-portal-theme=night] .member-row,html[data-portal-theme=night] .email-log-row,html[data-portal-theme=night] .email-log-summary,html[data-portal-theme=night] .branding-preview,html[data-portal-theme=night] .profile-preview,html[data-portal-theme=night] .profile-form,html[data-portal-theme=night] .officer-card,html[data-portal-theme=night] .officer-card-front,html[data-portal-theme=night] .officer-card-back,html[data-portal-theme=night] .officer-snapshot-grid>div,html[data-portal-theme=night] .officer-next-shift,html[data-portal-theme=night] .community-summary-stats>div,html[data-portal-theme=night] .community-concern-counts span,html[data-portal-theme=night] .manual-activity-entry,html[data-portal-theme=night] .manual-activity-block,html[data-portal-theme=night] .invoice-edit-row,html[data-portal-theme=night] .empty-state{color:#f4f8fc!important;background:#122235!important;border-color:#405872!important}html[data-portal-theme=night] .presence-row.is-online,html[data-portal-theme=night] .board-presence-row.is-online{background:#14352f!important;border-color:#3c806c!important}html[data-portal-theme=night] .presence-row strong,html[data-portal-theme=night] .presence-row small,html[data-portal-theme=night] .presence-row time,html[data-portal-theme=night] .board-presence-row strong,html[data-portal-theme=night] .board-presence-row small,html[data-portal-theme=night] .board-presence-status,html[data-portal-theme=night] .invoice-preview-summary span,html[data-portal-theme=night] .invoice-preview-summary strong,html[data-portal-theme=night] .invoice-edit-row label span,html[data-portal-theme=night] .include-check span,html[data-portal-theme=night] .completed-shift-card p,html[data-portal-theme=night] .completed-shift-card small,html[data-portal-theme=night] .invoice-history-list small,html[data-portal-theme=night] .audit-entry,html[data-portal-theme=night] .audit-entry strong,html[data-portal-theme=night] .audit-entry small,html[data-portal-theme=night] .shortened-shift-comparison span,html[data-portal-theme=night] .shortened-shift-comparison strong,html[data-portal-theme=night] .monthly-limit-meter,html[data-portal-theme=night] .monthly-limit-meter strong,html[data-portal-theme=night] .shift-customize-row strong,html[data-portal-theme=night] .shift-customize-row span,html[data-portal-theme=night] .member-row strong,html[data-portal-theme=night] .member-row small,html[data-portal-theme=night] .empty-state{color:#edf5fc!important}html[data-portal-theme=night] .presence-row small,html[data-portal-theme=night] .presence-row time,html[data-portal-theme=night] .board-presence-row small,html[data-portal-theme=night] .completed-shift-card p,html[data-portal-theme=night] .completed-shift-card small,html[data-portal-theme=night] .invoice-history-list small,html[data-portal-theme=night] .invoice-edit-row label span{color:#b9c9d8!important}html[data-portal-theme=night] .rate-selector button,html[data-portal-theme=night] .shift-customize-row button,html[data-portal-theme=night] button:not(.primary):not(.calendar-claim-button):not(.live-badge):not(.issue-reported-badge){border-color:#506a84}html[data-portal-theme=night] .rate-selector button:not(.active),html[data-portal-theme=night] .shift-customize-row button:not(.active){color:#eaf3fb!important;background:#192d42!important}html[data-portal-theme=night] .invoice-draft-frame{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff!important}html[data-portal-theme=night] .month-grid .calendar-shift,html[data-portal-theme=night] .month-grid .calendar-shift *{text-shadow:none!important}html[data-portal-theme=night] .month-grid .calendar-actions button,html[data-portal-theme=night] .month-grid .calendar-open-actions button,html[data-portal-theme=night] .month-grid .row-actions button{color:#f7fbff!important;background:#1a3148!important;border-color:#577794!important}html[data-portal-theme=night] .month-grid .calendar-claim-button{color:#fff!important;background:#0f9f62!important;border-color:#42d18f!important}html[data-portal-theme=night] .month-grid .give-up-button,html[data-portal-theme=night] .month-grid .danger-link{color:#ffb0b9!important;background:#3b2028!important;border-color:#8e5360!important}.calendar-detail-dismiss{z-index:80;background:#0b1d332e;border:0;border-radius:0;width:100vw;height:100vh;padding:0;display:block;position:fixed;inset:0}.calendar-detail-popover{z-index:81;max-height:min(78vh,620px);color:var(--ink);background:#fff;border:1px solid #cad7e5;border-radius:14px;padding:14px;display:block;position:fixed;overflow-y:auto;box-shadow:0 22px 54px #0b1d3347}.calendar-detail-check-list{background:#f7f9fb;border-radius:10px;margin-top:10px;padding:10px}.calendar-detail-check-list>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px;font-size:.65rem;font-weight:850;display:block}.calendar-detail-check-row{border-top:1px solid var(--line);padding:8px 0}.calendar-detail-check-row:first-of-type{border-top:0;padding-top:0}.calendar-detail-check-row strong,.calendar-detail-check-row small{display:block}.calendar-detail-check-row small{color:var(--muted);margin-top:2px}.calendar-detail-check-row p{overflow-wrap:anywhere;margin:4px 0 0;line-height:1.4}html[data-portal-theme=night] .calendar-detail-popover{color:#f4f8fc!important;background:#14283b!important;border-color:#38566f!important}html[data-portal-theme=night] .calendar-detail-grid>div,html[data-portal-theme=night] .calendar-detail-note,html[data-portal-theme=night] .calendar-detail-check-list{background:#1c3449!important;border-color:#3b5870!important}html[data-portal-theme=night] .calendar-detail-grid strong,html[data-portal-theme=night] .calendar-detail-note p,html[data-portal-theme=night] .calendar-detail-check-row strong,html[data-portal-theme=night] .calendar-detail-check-row p{color:#f4f8fc!important}html[data-portal-theme=night] .calendar-detail-grid span,html[data-portal-theme=night] .calendar-detail-note span,html[data-portal-theme=night] .calendar-detail-check-list>span,html[data-portal-theme=night] .calendar-detail-check-row small{color:#b7c8d7!important}html[data-portal-theme=night] .awareness-issue-card,html[data-portal-theme=night] .timeline-row-issue>div:last-child,html[data-portal-theme=night] .community-issue-list article.issue-reported-card,html[data-portal-theme=night] .issue-reported-card{color:#090909!important;background:#f0a0a6!important;border-color:#d03240!important}html[data-portal-theme=night] .awareness-issue-card *,html[data-portal-theme=night] .timeline-row-issue>div:last-child *,html[data-portal-theme=night] .community-issue-list article.issue-reported-card *,html[data-portal-theme=night] .issue-reported-card *{font-weight:750;color:#090909!important}html[data-portal-theme=night] .issue-reported-badge,html[data-portal-theme=night] .awareness-issue-card .issue-reported-badge{color:#050505!important;background:#dc3f4b!important;border-color:#991522!important;font-weight:950!important}.day-number{align-items:center;min-height:28px}.day-number .school-calendar-marker-inline{white-space:nowrap;border-radius:999px;flex:0 auto;width:auto;max-width:46%;margin:0 0 0 auto;padding:3px 6px;font-size:.48rem;line-height:1}.day-number .school-calendar-marker-inline .school-calendar-marker-compact{text-overflow:ellipsis;white-space:nowrap;display:inline;overflow:hidden}.day-number .school-calendar-marker-inline .school-calendar-marker-full,.day-number .school-calendar-marker-inline .school-calendar-marker-icon{display:none!important}.calendar-detail-dismiss.calendar-detail-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:180!important;background:#040e1a9e!important;border:0!important;border-radius:0!important;width:100vw!important;height:100vh!important;padding:0!important;display:block!important;position:fixed!important;inset:0!important}.calendar-detail-popover.calendar-detail-modal{z-index:181!important;border-radius:18px!important;width:min(760px,100vw - 32px)!important;max-width:760px!important;max-height:min(84vh,760px)!important;padding:22px!important;display:block!important;position:fixed!important;top:50%!important;left:50%!important;overflow-y:auto!important;transform:translate(-50%,-50%)!important;box-shadow:0 28px 90px #00000061!important}.calendar-detail-modal .calendar-detail-heading{z-index:2;background:inherit;border-radius:18px 18px 0 0;margin:-22px -22px 16px;padding:18px 22px 14px;position:sticky;top:-22px}.calendar-detail-modal .calendar-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-detail-modal .calendar-detail-grid>div{min-width:0}.calendar-detail-modal .calendar-detail-grid strong,.calendar-detail-modal .calendar-detail-note p,.calendar-detail-modal .calendar-detail-check-row p{overflow-wrap:anywhere;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.calendar-detail-modal .calendar-detail-check-list{max-height:none}html[data-portal-theme=night] .shift-preset-picker>button{opacity:.78;color:#f4f8fc!important;background:#173148!important;border:1px solid #45637b!important}html[data-portal-theme=night] .shift-preset-picker>button strong,html[data-portal-theme=night] .shift-preset-picker>button span{color:inherit!important}html[data-portal-theme=night] .shift-preset-picker>button.active{opacity:1;position:relative;color:#fff!important;background:linear-gradient(145deg,#174b72,#1d628f)!important;border:2px solid #76c8ff!important;box-shadow:0 0 0 3px #4eb2ff2e,0 10px 26px #0003!important}html[data-portal-theme=night] .shift-preset-picker>button.active:after{content:"✓ Selected";color:#fff;letter-spacing:.03em;background:#12a65a;border-radius:999px;padding:3px 7px;font-size:.56rem;font-weight:900;position:absolute;top:8px;right:10px}html[data-portal-theme=night] .locked-message{color:#fff2bd!important;background:#493a12!important;border-color:#c79b31!important}html[data-portal-theme=night] .locked-message strong{color:#fff!important}html[data-portal-theme=night] .selection-grid>button,html[data-portal-theme=night] .selection-grid>div{color:#f4f8fc!important;background:#132b40!important;border-color:#34536b!important}html[data-portal-theme=night] .selection-grid button small{color:#c4d4e2!important}html[data-portal-theme=night] .selection-grid button.conflict,html[data-portal-theme=night] .selection-grid button:disabled{color:#ff9fa9!important;opacity:1!important;background:#243044!important}html[data-portal-theme=night] .selection-grid button.conflict small,html[data-portal-theme=night] .selection-grid button:disabled small{font-weight:800;color:#ff9fa9!important}html[data-portal-theme=night] .selection-grid button.selected{color:#fff!important;background:#174d74!important;box-shadow:inset 0 0 0 3px #69c2ff!important}html[data-portal-theme=night] .selection-grid button.selected:after{content:"✓";float:right;color:#8effbd;font-weight:950}html[data-portal-theme=night] .profile-photo label.secondary,html[data-portal-theme=night] .profile-photo button.secondary{box-shadow:0 4px 14px #0000002e;color:#fff!important;background:#1b3d58!important;border:1px solid #6a8ba4!important}html[data-portal-theme=night] .profile-photo label.secondary:hover,html[data-portal-theme=night] .profile-photo button.secondary:hover{background:#24516f!important;border-color:#86b7d7!important}html:not([data-portal-theme=night]) .awareness-issue-card{color:#2b1820!important;background:#fff1f2!important;border-color:#e8a9af!important}html:not([data-portal-theme=night]) .awareness-issue-card *{color:inherit!important}@media (max-width:720px){.calendar-detail-popover.calendar-detail-modal{border-radius:15px!important;width:calc(100vw - 20px)!important;max-height:86vh!important;padding:16px!important}.calendar-detail-modal .calendar-detail-heading{margin:-16px -16px 12px;padding:14px 16px 11px;top:-16px}.calendar-detail-modal .calendar-detail-grid{grid-template-columns:1fr}.day-number .school-calendar-marker-inline{max-width:55%;padding:2px 4px;font-size:.39rem}}.calendar-detail-modal .calendar-detail-heading.calendar-detail-heading-centered{text-align:center;border-bottom:1px solid #6f8ba147;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:82px;margin:-22px -22px 18px;padding:14px 18px 12px;display:grid;position:sticky;top:-22px}.calendar-detail-modal .calendar-detail-heading-copy{grid-column:2;min-width:0}.calendar-detail-modal .calendar-detail-heading-copy strong{letter-spacing:-.01em;font-size:clamp(1.16rem,2vw,1.42rem);line-height:1.2;display:block}.calendar-detail-modal .calendar-detail-heading-copy small{color:var(--muted);margin-top:5px;font-size:.88rem;font-weight:700;display:block}.calendar-detail-modal .calendar-detail-heading.calendar-detail-heading-centered>button{border-radius:10px;grid-column:3;place-self:center end;width:36px;height:36px;margin:0;font-size:1.35rem;line-height:1}html[data-portal-theme=night] .calendar-detail-modal .calendar-detail-heading.calendar-detail-heading-centered{border-bottom-color:#acc9df33}html[data-portal-theme=night] .calendar-detail-modal .calendar-detail-heading-copy small{color:#b8c9d8!important}@media (max-width:640px){.calendar-detail-modal .calendar-detail-heading.calendar-detail-heading-centered{grid-template-columns:38px minmax(0,1fr) 38px;min-height:74px;padding-inline:12px}.calendar-detail-modal .calendar-detail-heading.calendar-detail-heading-centered>button{width:34px;height:34px}}@media (max-width:720px){:root{--mobile-app-bar:58px;--mobile-tab-bar:72px;--mobile-page-gutter:12px}html,body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;min-height:100dvh}body{background:#eef3f8}.portal-shell{min-height:100dvh;display:block}.main-shell{padding-bottom:calc(var(--mobile-tab-bar) + env(safe-area-inset-bottom,0px))}.topbar{height:calc(var(--mobile-app-bar) + env(safe-area-inset-top,0px));min-height:var(--mobile-app-bar);padding:env(safe-area-inset-top,0px) 12px 0;border-bottom:1px solid #758ba533;gap:10px;overflow:visible;box-shadow:0 8px 24px #1d314912}.fixed-community,.community-picker{flex:auto;gap:6px;min-width:0}.fixed-community span,.community-picker span{display:none!important}.fixed-community strong,.community-picker select{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;min-width:0;max-width:58vw;font-size:1.02rem;font-weight:850;display:block;overflow:hidden}.community-picker select{border-radius:12px;padding:8px 26px 8px 8px}.top-actions{gap:6px;min-width:auto;margin-left:auto;padding-right:0}.profile-chip{border-radius:14px;padding:4px}.profile-chip>span:first-child,.profile-chip img{border-radius:12px;width:38px;height:38px}.profile-chip>span:last-child{display:none!important}.top-actions .text-button{white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;min-height:38px;padding:7px 9px;font-size:.72rem;display:inline-flex!important}.sidebar{z-index:80;height:calc(var(--mobile-tab-bar) + env(safe-area-inset-bottom,0px));padding:7px 7px env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(20px)saturate(135%);backdrop-filter:blur(20px)saturate(135%);background:#0b1d33f5;border-top:1px solid #7c91aa38;position:fixed;inset:auto 0 0;box-shadow:0 -12px 30px #07182c2e}.sidebar nav{grid-template-columns:repeat(var(--mobile-nav-count,6), minmax(0, 1fr));gap:3px;height:100%;display:grid;overflow:visible}.nav-item{color:#aebed0;text-align:center;border-radius:15px;grid-template-rows:25px auto;place-items:center;gap:2px;min-width:0;height:58px;padding:5px 2px 4px;font-size:.59rem;line-height:1.05;display:grid}.nav-item:before{color:#aebed0;place-items:center;width:25px;height:25px;font-size:1.05rem;font-weight:900;line-height:1;display:grid}.nav-item[data-nav-id=overview]:before{content:"⌂"}.nav-item[data-nav-id=schedule]:before{content:"▦"}.nav-item[data-nav-id=patrol]:before{content:"✓"}.nav-item[data-nav-id=notes]:before{content:"✦"}.nav-item[data-nav-id=officers]:before{content:"◉"}.nav-item[data-nav-id=admin]:before{content:"⚙"}.nav-item span{text-overflow:ellipsis;white-space:nowrap;width:100%;font-weight:760;display:block;overflow:hidden}.nav-item[data-nav-id=schedule] span{font-size:0}.nav-item[data-nav-id=schedule] span:after{content:"Schedule";font-size:.59rem}.nav-item[data-nav-id=patrol] span{font-size:0}.nav-item[data-nav-id=patrol] span:after{content:"Activity";font-size:.59rem}.nav-item[data-nav-id=notes] span{font-size:0}.nav-item[data-nav-id=notes] span:after{content:"Notes";font-size:.59rem}.nav-item[data-nav-id=officers] span{font-size:0}.nav-item[data-nav-id=officers] span:after{content:"Team";font-size:.59rem}.nav-item[data-nav-id=admin] span{font-size:0}.nav-item[data-nav-id=admin] span:after{content:"Admin";font-size:.59rem}.nav-item:hover,.nav-item.active{color:#fff;background:#488bd333}.nav-item.active:before{color:#76c6ff;transform:translateY(-1px)}.content{padding:18px var(--mobile-page-gutter) 24px}.page-heading{align-items:center;gap:10px;margin-bottom:16px}.page-heading h1{letter-spacing:-.04em;margin-bottom:4px;font-size:clamp(1.55rem,8vw,2rem)}.page-heading p{font-size:.82rem;line-height:1.4}.panel,.live-board,.coverage-card,.open-shifts-card,.overview-week,.activity-card{border-radius:20px}.panel{box-shadow:0 10px 28px #1f365112}.stat-grid,.overview-grid,.two-column{gap:10px}button,.pill,input,select,textarea{touch-action:manipulation}button{min-height:40px}.modal-backdrop,.shift-choice-backdrop,.invoice-draft-backdrop{align-items:flex-end;padding:0}.modal,.shift-choice-modal,.invoice-draft-modal{width:100%;max-width:none;min-height:0;max-height:min(90dvh,760px);padding:20px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;overflow-y:auto;box-shadow:0 -22px 60px #07172a47}.modal:before,.shift-choice-modal:before,.invoice-draft-modal:before{content:"";background:#697c9257;border-radius:999px;width:42px;height:5px;margin:-8px auto 14px;display:block}.modal-close{border-radius:12px;min-width:40px;min-height:40px}.calendar-panel{border-radius:20px;padding:12px 8px 14px;overflow:visible}.calendar-toolbar{gap:8px;margin-bottom:10px}.calendar-toolbar>div:first-child{grid-template-columns:42px minmax(0,1fr) 42px;gap:7px;width:100%;display:grid}.calendar-toolbar>div:first-child button,.calendar-toolbar>div:first-child select{border-radius:12px;min-height:42px}.calendar-toolbar-status{justify-content:flex-start;width:100%}.monthly-patrol-allocation{border-radius:15px;padding:10px 11px}.school-calendar-next-change{border-radius:14px;padding:9px 10px;font-size:.72rem}.mobile-calendar-legend{border-radius:15px;gap:5px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-width:0!important}.calendar.weekdays>div{letter-spacing:.08em;padding:8px 0;font-size:.58rem}.calendar-day{gap:4px;min-width:0;min-height:92px;padding:5px 4px;overflow:hidden}.calendar-day.blank{min-height:92px}.day-number{align-items:flex-start;gap:2px;min-height:23px}.day-number>strong{font-size:.78rem}.day-number>strong[style]{width:28px!important;height:28px!important;font-size:.78rem!important}.calendar-day .pill.locked{letter-spacing:.05em;overflow-wrap:normal;word-break:normal;border-radius:8px;width:100%;min-height:0;padding:4px 2px;font-size:.38rem;line-height:1.05}.calendar-claim-button,.calendar-claim-button.calendar-claim-standalone,.calendar-claim-button.calendar-claim-mobile{width:calc(100% - 4px);min-width:0;max-width:none;height:30px;min-height:30px;box-shadow:none;border-radius:9px;margin:auto 2px 2px;padding:3px 2px;font-size:.56rem;line-height:1}.calendar-closed-wrap{gap:3px;width:100%;margin-top:auto}.calendar-closed-wrap .status-closed,.calendar-reopen-button{border-radius:8px;width:100%;min-width:0;height:28px;min-height:28px;padding:2px;font-size:.48rem;line-height:1}.calendar-shift{border-radius:8px;place-items:center;width:100%;min-width:0;min-height:31px;margin:auto 0 0;padding:5px 4px;display:grid;overflow:hidden}.calendar-shift:not(.calendar-live) .calendar-shift-time,.calendar-shift:not(.calendar-live) .calendar-officer-name,.calendar-shift:not(.calendar-live) .calendar-shift-status,.calendar-shift:not(.calendar-live) .monthly-shortened-badge,.calendar-shift:not(.calendar-live) .row-actions,.calendar-shift:not(.calendar-live) .calendar-open-actions,.calendar-shift:not(.calendar-live)>.calendar-reopen-button{display:none!important}.calendar-shift .calendar-slot-tag{white-space:nowrap;text-overflow:ellipsis;letter-spacing:0;border-radius:7px;justify-content:center;width:100%;max-width:100%;min-height:22px;margin:0;padding:3px 2px;font-size:.44rem;overflow:hidden}.calendar-shift.calendar-live{gap:2px;padding:4px}.calendar-shift.calendar-live .calendar-shift-time,.calendar-shift.calendar-live .calendar-officer-name,.calendar-shift.calendar-live .calendar-shift-status{font-size:.43rem;line-height:1.05}.calendar-detail-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06111f7a}.calendar-detail-popover.calendar-detail-modal{padding:18px 15px calc(16px + env(safe-area-inset-bottom,0px));overflow-y:auto;box-shadow:0 -24px 60px #05122357;z-index:120!important;border-radius:24px 24px 0 0!important;width:100%!important;max-width:none!important;max-height:82dvh!important;position:fixed!important;inset:auto 0 0!important}.calendar-detail-popover.calendar-detail-modal:before{content:"";background:#8295ab61;border-radius:999px;width:42px;height:5px;margin:0 auto 12px;display:block}.calendar-detail-grid{grid-template-columns:1fr 1fr;gap:8px}.calendar-detail-grid>div,.calendar-detail-note{border-radius:13px;padding:10px}.calendar-detail-actions .row-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.calendar-detail-actions .row-actions button{width:100%}.profile-tabs,.admin-tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.profile-tabs::-webkit-scrollbar{display:none}.admin-tabs::-webkit-scrollbar{display:none}.profile-tabs button,.admin-tabs button{border-radius:12px;flex:none;min-height:40px}.invoice-edit-row,.completed-shift-card,.invoice-history-list article,.member-row,.presence-row{border-radius:16px}.invoice-draft-actions{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:inherit;border-top:1px solid #788ca238;margin:0 -16px -18px;position:sticky;bottom:0}.invoice-draft-actions button{flex:1 1 0}html[data-portal-theme=night] body{background:#081727}html[data-portal-theme=night] .topbar{background:#0a1e32ed;border-bottom-color:#91acc729}html[data-portal-theme=night] .sidebar{background:#061526f7;border-top-color:#91acc724}html[data-portal-theme=night] .nav-item.active{background:#348ede38}html[data-portal-theme=night] .panel{box-shadow:0 10px 30px #00000029}html[data-portal-theme=night] .modal:before,html[data-portal-theme=night] .shift-choice-modal:before,html[data-portal-theme=night] .invoice-draft-modal:before,html[data-portal-theme=night] .calendar-detail-popover.calendar-detail-modal:before{background:#c6d9eb47}.modal-backdrop,.shift-choice-backdrop,.invoice-draft-backdrop,.calendar-detail-dismiss.calendar-detail-modal-backdrop{z-index:220!important}.modal,.shift-choice-modal,.invoice-draft-modal{position:relative;z-index:221!important;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important}.calendar-detail-popover.calendar-detail-modal{overscroll-behavior:contain;z-index:221!important;width:100%!important;max-width:none!important;max-height:80dvh!important;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))!important;margin:0!important;inset:auto 0 0!important;transform:none!important}.calendar-day,.calendar-day.blank{min-height:112px}.calendar-shift{grid-template-rows:auto auto auto;align-content:center;justify-items:stretch;gap:2px;min-height:54px;padding:4px 3px;display:grid}.calendar-shift:not(.calendar-live) .calendar-officer-name,.calendar-shift:not(.calendar-live) .calendar-shift-status{display:block!important}.calendar-shift:not(.calendar-live) .calendar-shift-time,.calendar-shift:not(.calendar-live) .monthly-shortened-badge,.calendar-shift:not(.calendar-live) .row-actions,.calendar-shift:not(.calendar-live) .calendar-open-actions,.calendar-shift:not(.calendar-live)>.calendar-reopen-button{display:none!important}.calendar-shift .calendar-slot-tag{min-height:18px;padding:2px 1px;font-size:.38rem;line-height:1}.calendar-shift .calendar-officer-name{width:100%;min-width:0;color:var(--ink);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:0 1px;font-size:.43rem;font-weight:850;line-height:1.05;overflow:hidden}.calendar-shift .calendar-shift-status{width:100%;min-width:0;color:var(--muted);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:0 1px;font-size:.38rem;font-weight:750;line-height:1.05;overflow:hidden}.calendar-claim-button,.calendar-claim-button.calendar-claim-standalone,.calendar-claim-button.calendar-claim-mobile{height:28px;min-height:28px;font-size:.52rem}.calendar-day:has(.calendar-shift+.calendar-shift) .calendar-shift{gap:1px;min-height:43px}.calendar-day:has(.calendar-shift+.calendar-shift) .calendar-shift .calendar-slot-tag{min-height:15px;font-size:.34rem}:is(.calendar-day:has(.calendar-shift+.calendar-shift) .calendar-officer-name,.calendar-day:has(.calendar-shift+.calendar-shift) .calendar-shift-status){font-size:.34rem}html[data-portal-theme=night] .calendar-shift .calendar-officer-name{color:#f7fbff!important}html[data-portal-theme=night] .calendar-shift .calendar-shift-status{color:#d4e1ee!important}}html[data-portal-theme=night] .completion-review-modal{color:#f7fbff!important;background:#0f1d2c!important;border-color:#3f5872!important;box-shadow:0 24px 70px #0000007a!important}html[data-portal-theme=night] .completion-celebration{background:linear-gradient(135deg,#173428 0%,#13283a 68%,#102132 100%)!important;border-color:#3b705a!important;box-shadow:0 12px 34px #00000047!important}html[data-portal-theme=night] .completion-celebration .eyebrow{color:#7de0ad!important}html[data-portal-theme=night] .completion-celebration h2{color:#fff!important}html[data-portal-theme=night] .completion-celebration p{color:#d9e8f2!important}html[data-portal-theme=night] .completion-celebration-icon{color:#fff!important;background:#20a867!important;box-shadow:0 0 0 7px #20a8672e,0 0 24px #20a86733!important}html[data-portal-theme=night] .completion-review-modal .pending-review-pill{color:#ffe4a3!important;background:#4b3510!important;border-color:#9c7222!important;font-weight:900!important}html[data-portal-theme=night] .completion-shift-meta,html[data-portal-theme=night] .completion-review-modal .form-help,html[data-portal-theme=night] .completion-review-modal .required-review-note{color:#e2edf5!important}html[data-portal-theme=night] .completion-shift-meta strong{color:#fff!important}html[data-portal-theme=night] .completion-review-times label>span{color:#fff!important;font-weight:800!important}html[data-portal-theme=night] .completion-review-times input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff!important;background:#14263a!important;border:1px solid #64809b!important;box-shadow:inset 0 0 0 1px #ffffff08!important}html[data-portal-theme=night] .completion-review-times input:focus{border-color:#4ca5ff!important;outline:none!important;box-shadow:0 0 0 3px #4ca5ff2e!important}html[data-portal-theme=night] .completed-quick-actions button,html[data-portal-theme=night] .completion-review-actions .secondary,html[data-portal-theme=night] .completion-review-actions button:not(.primary){color:#f8fbff!important;background:#1a3047!important;border-color:#68829c!important;font-weight:800!important}html[data-portal-theme=night] .completed-quick-actions button:hover,html[data-portal-theme=night] .completion-review-actions .secondary:hover,html[data-portal-theme=night] .completion-review-actions button:not(.primary):hover{background:#24415f!important;border-color:#8ba6c0!important}html[data-portal-theme=night] .completion-review-actions .primary{color:#fff!important;background:linear-gradient(#168cff,#0871d9)!important;border-color:#62b4ff!important;font-weight:900!important;box-shadow:0 8px 20px #0077e647!important}@media (max-width:780px){html[data-portal-theme=night] .completion-review-modal{max-height:min(84vh,720px)!important}html[data-portal-theme=night] .completion-celebration{gap:10px!important}}html[data-portal-theme=night] .board-presence-status.online{color:#f4fff8!important;background:#157a4f!important;border:1px solid #31c985!important;box-shadow:0 0 0 1px #31c9852e,0 5px 16px #147a4f3d!important}html[data-portal-theme=night] .board-presence-status.offline{color:#e9f0f8!important;box-shadow:none!important;background:#27394f!important;border:1px solid #51657d!important}html[data-portal-theme=night] .board-presence-row.is-offline .board-presence-status{color:#e9f0f8!important}html[data-portal-theme=night] .board-presence-row.is-online .board-presence-status{color:#f4fff8!important}html[data-portal-theme=night] .board-presence-row{background:#1f344a!important;border-color:#435a72!important}html[data-portal-theme=night] .board-presence-row.is-online{background:linear-gradient(135deg,#174d3c,#1d5f48)!important;border-color:#38b77d!important}html[data-portal-theme=night] .board-presence-row strong,html[data-portal-theme=night] .board-presence-row small{color:#f2f6fb!important}html[data-portal-theme=night] .board-presence-row.is-offline small{color:#bdc9d7!important}.invoice-history-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;display:grid}.invoice-history-main{gap:3px;min-width:0;display:grid}.invoice-history-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invoice-generated-time{color:#66758a;font-weight:700}.invoice-latest-pill{color:#165fae;letter-spacing:.06em;text-transform:uppercase;background:#eaf3ff;border-color:#7fb2f0;font-weight:900}html[data-portal-theme=night] .invoice-generated-time{color:#c8d5e3!important}html[data-portal-theme=night] .invoice-latest-pill{color:#edf7ff!important;background:#173f68!important;border-color:#4f98df!important}@media (max-width:760px){.invoice-history-card{grid-template-columns:1fr auto;align-items:start}.invoice-history-card .button-row{flex-wrap:wrap;grid-column:1/-1;width:100%}}.release-announcement-backdrop{z-index:14000;-webkit-backdrop-filter:blur(9px)saturate(.9);background:#081222b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.release-announcement-modal{isolation:isolate;color:#f7fbff;text-align:center;background:linear-gradient(155deg,#102744 0%,#0b1d34 54%,#09182b 100%);border:1px solid #4c97ff70;border-radius:26px;width:min(620px,100%);padding:34px 34px 28px;animation:.34s cubic-bezier(.2,.8,.2,1) both releaseAnnouncementIn;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000007a,inset 0 0 0 1px #ffffff0a,0 0 48px #2f80ed33}.release-announcement-glow{z-index:-1;pointer-events:none;background:radial-gradient(circle,#3187ff57,#0000 68%);border-radius:50%;width:430px;height:330px;position:absolute;top:-180px;left:50%;transform:translate(-50%)}.release-announcement-icon{background:linear-gradient(145deg,#2f80ed57,#17448133);border:1px solid #74b1ff73;border-radius:22px;place-items:center;width:76px;height:76px;margin:0 auto 17px;font-size:36px;display:grid;box-shadow:0 12px 32px #0b52a447,0 0 0 5px #2f80ed12}.release-announcement-kicker{color:#8fc1ff;letter-spacing:.13em;background:#3f94ff24;border:1px solid #58a3ff5c;border-radius:999px;align-items:center;gap:7px;margin-bottom:10px;padding:6px 11px;font-size:11px;font-weight:900;display:inline-flex}.release-announcement-kicker:before{content:"";background:#4c9aff;border-radius:50%;width:7px;height:7px;box-shadow:0 0 13px #4c9aff}.release-announcement-modal h2{color:#fff;letter-spacing:-.025em;max-width:520px;margin:0 auto;font-size:clamp(25px,3vw,36px);line-height:1.12}.release-announcement-copy{color:#c8d7e9;max-width:500px;margin:13px auto 0;font-size:15px;line-height:1.6}.release-announcement-months{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px;display:flex}.release-announcement-months span{color:#e7f2ff;background:#225ca340;border:1px solid #65a7ff52;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.release-announcement-meta{justify-content:center;align-items:center;gap:10px;margin:18px 0;display:flex}.release-announcement-meta span{color:#74e5a9;background:#2abc6f24;border:1px solid #38d38152;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.release-announcement-meta small{color:#8398af;font-size:11px}.release-money-joke{text-align:left;background:linear-gradient(90deg,#9a6f1826,#55401414);border:1px solid #ecbe4e42;border-radius:15px;align-items:center;gap:12px;max-width:520px;margin:0 auto 20px;padding:14px 15px;display:flex}.release-money-joke>span{flex:none;font-size:23px}.release-money-joke strong{color:#e9c86f;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:11px;display:block}.release-money-joke p{color:#f2ead6;margin:0;font-size:13px;font-style:italic;line-height:1.45}.release-announcement-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;max-width:520px;margin:0 auto;display:grid}.release-announcement-actions button{border-radius:12px;min-height:46px;font-weight:900}.release-view-schedule{box-shadow:0 10px 28px #206dd940}.release-continue{color:#d9e7f6;background:#ffffff0e;border:1px solid #97b1cf47}.release-continue:hover{background:#ffffff1a;border-color:#97b1cf75}.release-announcement-actions button:disabled{opacity:.66;cursor:wait}@keyframes releaseAnnouncementIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}html[data-portal-theme=day] .release-announcement-backdrop{background:#0f203599}@media (max-width:720px){.release-announcement-backdrop{padding:12px 10px max(12px, env(safe-area-inset-bottom));align-items:end}.release-announcement-modal{border-radius:24px 24px 20px 20px;width:100%;max-height:calc(100dvh - 24px);padding:25px 18px 18px;overflow-y:auto;box-shadow:0 -18px 58px #0000006b}.release-announcement-icon{border-radius:18px;width:62px;height:62px;margin-bottom:14px;font-size:29px}.release-announcement-modal h2{font-size:25px}.release-announcement-copy{font-size:14px}.release-announcement-meta{flex-direction:column;gap:6px;margin:14px 0}.release-money-joke{margin-bottom:15px;padding:12px}.release-announcement-actions{grid-template-columns:1fr}.release-announcement-actions button{width:100%;min-height:48px}}.release-announcement-icon{flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1;display:flex}.release-announcement-icon>span{letter-spacing:.08em;color:#eef6ff;font-size:16px;font-weight:900}.release-announcement-icon>small{letter-spacing:.05em;color:#a9c8ff;font-size:13px;font-weight:800}.release-announcement-meta{justify-content:center}@media (max-width:720px){.release-announcement-icon>span{font-size:14px}.release-announcement-icon>small{font-size:12px}}.admin-summary.admin-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-edit-row.invoice-row-locked{opacity:.82;background:#5d6a7d14}.invoice-edit-row.invoice-row-locked input,.invoice-edit-row.invoice-row-locked button{cursor:not-allowed}.invoice-row-status{text-align:center;justify-self:end;min-width:86px}.invoice-row-paid{color:#17663b!important;background:#dff6e7!important;border-color:#78c890!important}.invoice-row-invoiced{color:#294d7c!important;background:#e8eef9!important;border-color:#9bb1d7!important}html[data-portal-theme=night] .invoice-edit-row.invoice-row-locked{background:#6f829d1f}html[data-portal-theme=night] .invoice-row-paid{color:#bff4d2!important;background:#153d2b!important;border-color:#3f9869!important}html[data-portal-theme=night] .invoice-row-invoiced{color:#cfe1fb!important;background:#1d3554!important;border-color:#496f9f!important}@media (max-width:760px){.admin-summary.admin-summary-compact{grid-template-columns:1fr}.invoice-row-status{justify-self:stretch}}.completed-month-caption{color:var(--muted);margin:-4px 0 14px;font-size:.82rem;font-weight:700}.member-access-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:12px 0 14px;display:grid}.member-access-toolbar label{gap:6px;display:grid}.member-access-toolbar label>span{color:var(--muted);font-size:.75rem;font-weight:800}.member-access-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;gap:10px;max-height:min(68vh,760px);padding-right:6px;display:grid;overflow-y:auto}.member-access-group{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:clip}.member-access-group .member-group-header{cursor:pointer;width:100%;font:inherit;border:0;border-radius:0;margin:0}.member-group-toggle:hover{filter:brightness(.985)}.member-group-summary{align-items:center;gap:8px;display:inline-flex}.member-group-summary b{color:currentColor;background:#748ba61f;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;line-height:1;display:inline-flex}.member-group-rows{padding:0 12px 4px}.member-group-rows .member-row:first-child{border-top:0}.live-shift-readonly{border:1px solid var(--line);background:var(--soft);border-radius:12px;align-content:center;gap:7px;min-height:66px;padding:12px 14px;display:grid}.live-shift-readonly>span{color:var(--muted);font-size:.75rem;font-weight:800}.live-shift-readonly>strong{color:var(--ink);font-size:.95rem}html[data-portal-theme=night] .member-access-group,html[data-portal-theme=night] .live-shift-readonly{background:#13283b!important;border-color:#3b566f!important}html[data-portal-theme=night] .member-group-summary b{background:#ffffff14}html[data-portal-theme=night] .live-shift-readonly>strong{color:#f7fbff!important}@media (max-width:780px){.member-access-toolbar{grid-template-columns:1fr}.member-access-scroll{max-height:62vh;padding-right:2px}.member-group-rows{padding:0 10px 4px}.live-shift-readonly{min-height:58px}}
