:root{--navy:#294b72;--blue:#285d9f;--sky:#6d96ce;--yellow:#ffeb1f;--ink:#233b57;--muted:#718091;--line:#dbe3ea;--bg:#f6f8fa;--white:#fff}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;font-family:"Aptos","Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}.stripe{height:6px;background:linear-gradient(90deg,var(--blue) 0 62%,var(--yellow) 62% 69%,var(--sky) 69%)}
header{background:#fff;border-bottom:1px solid var(--line)}.head{max-width:1160px;height:94px;margin:auto;padding:0 24px;display:flex;align-items:center}.logo{width:285px}.logo img{width:100%;display:block}nav{margin-left:auto;display:flex;gap:8px}nav a{padding:10px 14px;border-radius:5px;text-decoration:none;color:#68798b;font-size:12px;font-weight:650}nav a.active{background:#edf4fb;color:var(--blue)}.profile{margin-left:16px;padding-left:18px;border-left:1px solid var(--line);font-size:11px}.profile strong{display:block;font-size:12px}.profile span{color:#8593a1}.signout{font-size:10px;color:#8794a1;text-decoration:none;margin-left:14px}
.portal-main{max-width:1110px;margin:auto;padding:44px 24px 70px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--blue);font-weight:700;margin:0 0 8px}.eyebrow.light{color:#b9d1ef}.page-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:24px}.page-head h1,.hero h1{font-size:38px;font-weight:500;letter-spacing:-1.1px;margin:0 0 7px}.sub{margin:0;color:var(--muted);font-size:13px}.actions{display:flex;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);border:1px solid var(--blue);color:#fff;text-decoration:none;border-radius:5px;padding:12px 17px;font:inherit;font-size:11px;font-weight:700;letter-spacing:.3px;cursor:pointer}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button.full{width:100%}.button.small{padding:9px 12px}
.hero{background:var(--navy);border-radius:9px;color:#fff;padding:38px 42px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-65px;border:34px solid rgba(109,150,206,.18);transform:rotate(45deg)}.hero p{margin:0;color:#d8e3ef;font-size:14px}.service-badge{position:relative;z-index:1;text-align:right;border-left:1px solid rgba(255,255,255,.2);padding-left:30px}.service-badge span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#b9d1ef;margin-bottom:5px}.service-badge strong{font-size:19px;font-weight:550}
.section-title{display:flex;justify-content:space-between;align-items:end;margin:38px 0 14px}.section-title h2{font-size:18px;font-weight:600;margin:0}.section-title a{font-size:11px;color:var(--blue);text-decoration:none;font-weight:700}.patrol{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:125px 1fr auto;align-items:center;overflow:hidden}.date{align-self:stretch;background:#edf4fb;display:grid;place-items:center;text-align:center;padding:25px}.date strong{display:block;font-size:34px;color:var(--navy);font-weight:550;line-height:1}.date span{font-size:10px;color:var(--blue);letter-spacing:1.4px;font-weight:700}.details{padding:25px 28px}.details h3{margin:0 0 5px;font-size:22px;font-weight:550}.details>p{margin:0;color:var(--muted);font-size:12px}.partner{display:flex;gap:32px;margin-top:16px;font-size:11px}.partner span{color:#8a97a4;display:block;margin-bottom:3px}.partner strong{font-size:12px}.patrol-action{padding:25px 28px}
.links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.link{background:#fff;border:1px solid var(--line);border-radius:7px;padding:20px;text-decoration:none;color:inherit}.link i{display:block;font-style:normal;color:var(--sky);font-size:10px;font-weight:700;margin-bottom:12px}.link b{display:block;font-size:13px;margin-bottom:5px}.link span{font-size:11px;color:var(--muted);line-height:1.45}.notice-home{margin-top:38px;border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:150px 1fr auto;gap:25px;align-items:start}.notice-home .tag{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);font-weight:700}.notice-home h3{font-size:16px;margin:0 0 6px;font-weight:600}.notice-home p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}.notice-home a{font-size:11px;color:var(--blue);font-weight:700;text-decoration:none}
.monthbar{background:var(--navy);color:#fff;border-radius:8px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.monthbar>a{width:34px;height:34px;border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:5px;font-size:16px;display:grid;place-items:center;text-decoration:none}.monthtitle{text-align:center}.monthtitle span{display:block;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#bdd0e6;margin-bottom:3px}.monthtitle strong{font-size:20px;font-weight:550}.legend{display:flex;gap:18px;align-items:center;margin:0 0 14px 2px;font-size:10px;color:#788696}.legend b{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}.legend .mine b{background:var(--blue)}.legend .other b{background:#e8eef3}.legend .open b{background:#fff;border:1px solid #b9c7d3}.roster{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.roster-head,.row{display:grid;grid-template-columns:120px repeat(3,1fr)}.roster-head{background:#edf4fb;border-bottom:1px solid var(--line)}.roster-head div{padding:13px 16px;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#607489;font-weight:700;border-left:1px solid var(--line)}.roster-head div:first-child{border-left:0}.row{min-height:94px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.day{padding:17px 16px;background:#fbfcfd}.day strong{display:block;font-size:15px;font-weight:650}.day span{display:block;font-size:10px;color:#8a97a4;margin-top:4px}.shift{padding:13px 14px;border-left:1px solid var(--line);display:flex;align-items:center}.assignment{width:100%;border-radius:6px;padding:11px 12px;background:#f0f5fa;border:1px solid #d9e4ef}.assignment.mine{background:#eaf2fb;border-color:#abc3df}.assignment small{display:block;font-size:8px;letter-spacing:1.2px;font-weight:800;color:var(--blue);margin-bottom:5px}.assignment strong{display:block;font-size:12px;font-weight:650;color:var(--navy)}.assignment span{display:block;font-size:10px;color:#7d8b99;margin-top:3px}.assignment.empty{background:#fff;border-style:dashed;text-align:center}.assignment.empty strong{color:#9aa5b0;font-weight:550}.mobile-list{display:none}
.empty-state{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px}.empty-state strong{display:block;font-size:15px}.empty-state span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.availability-grid{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.availability-head,.availability-row{display:grid;grid-template-columns:1.2fr repeat(3,1fr)}.availability-head{background:#edf4fb}.availability-head div{padding:13px 16px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#607489;font-weight:700}.availability-row{border-top:1px solid var(--line);align-items:center}.availability-row strong{padding:16px;font-size:13px}.check{padding:14px 16px;border-left:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:11px;color:#66788a}.form-actions{margin-top:18px;text-align:right}
.notice-list{display:grid;gap:14px}.notice-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:25px}.notice-meta{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8b98a5}.notice-item h2{font-size:20px;font-weight:600;margin:8px 0 10px}.notice-body{font-size:13px;color:#5f7184;line-height:1.65}
.admin-split{display:grid;grid-template-columns:320px 1fr;gap:18px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.admin-panel h2{font-size:17px;margin:0 0 18px}.stack-form{display:grid;gap:14px}.stack-form label{font-size:11px;font-weight:650}.stack-form input,.stack-form select{width:100%;margin-top:6px}.user-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:1.6fr 130px 120px 145px 70px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:0}.user-name strong{display:block;font-size:12px}.user-name span{display:block;color:#8a97a4;font-size:10px;margin-top:3px}
input,select,textarea{border:1px solid #cfd9e2;border-radius:5px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#8eacd0;box-shadow:0 0 0 3px rgba(40,93,159,.08)}.alert{border-radius:6px;padding:12px 14px;font-size:12px;margin:0 0 16px}.alert.success{background:#eef7f1;border:1px solid #cfe5d5;color:#416b4d}.alert.error{background:#fff2f2;border:1px solid #ebcccc;color:#8a4141}
.login-body{background:#294b72;min-height:100vh}.login-shell{min-height:100vh;display:grid;place-items:center;padding:35px 20px;background:linear-gradient(115deg,var(--navy) 0 60%,#edf4fb 60% 100%)}.login-panel{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 24px 60px rgba(35,59,87,.18);text-align:center}.card-accent{height:6px;background:linear-gradient(90deg,var(--blue) 0 62%,var(--yellow) 62% 69%,var(--sky) 69%)}.login-content{padding:32px 38px 36px}.login-logo{width:310px;max-width:88%;margin-bottom:28px}.login-kicker{text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:700;color:var(--blue);margin:0 0 8px}.login-panel h1{font-size:34px;line-height:1.1;font-weight:500;letter-spacing:-.8px;margin:0 0 10px}.login-copy{font-size:13px;line-height:1.6;color:#718091;margin:0 auto 24px;max-width:340px}.login-content label{display:block;font-size:11px;font-weight:650;margin-bottom:7px}.login-content input{width:100%;text-align:center;margin-bottom:12px}.login-help{font-size:10px;color:#8a97a4;margin:22px 0 0}.login-help a,.verify-links a{color:var(--blue);text-decoration:none}.code-input{font-size:25px;letter-spacing:8px;font-weight:650}.verify-links{margin-top:18px;font-size:11px}
@media(max-width:820px){.head{height:78px;padding:0 17px}.logo{width:220px}nav{display:none}.profile{margin-left:auto}.profile span,.signout{display:none}.portal-main{padding:28px 17px 50px}.page-head{display:block}.page-head h1,.hero h1{font-size:32px}.actions{margin-top:18px}.hero{padding:27px 22px;display:block}.service-badge{text-align:left;border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:18px 0 0;margin-top:22px}.service-badge strong{font-size:16px}.patrol{grid-template-columns:80px 1fr}.date{padding:18px 10px}.date strong{font-size:29px}.details{padding:20px 17px}.details h3{font-size:18px}.partner{display:grid;gap:8px}.patrol-action{grid-column:1/-1;padding:0 17px 19px}.patrol-action .button{width:100%}.links{grid-template-columns:1fr}.notice-home{grid-template-columns:1fr;gap:9px}.legend,.roster{display:none}.mobile-list{display:grid;gap:12px}.mobile-day{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.mobile-day-head{padding:13px 15px;background:#f7f9fb;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.mobile-day-head strong{font-size:13px}.mobile-day-head span{font-size:10px;color:#8794a1}.mobile-shift{padding:14px 15px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center}.mobile-shift:last-child{border-bottom:0}.mobile-shift>span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#778899;font-weight:700}.availability-grid{overflow-x:auto}.availability-head,.availability-row{min-width:620px}.admin-split{grid-template-columns:1fr}.user-row{grid-template-columns:1fr 1fr}.user-name{grid-column:1/-1}.user-row input[name=joined_date]{grid-column:1/2}.user-row .button{grid-column:2/3}.login-shell{background:var(--navy);padding:18px 12px}.login-content{padding:29px 20px 32px}}

.optional{font-size:9px;color:#8a97a4;font-weight:500;margin-left:5px}
.admin-tabs{display:flex;gap:5px;margin:-5px 0 22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.admin-tabs a{text-decoration:none;padding:9px 12px;border-radius:5px;font-size:11px;font-weight:700;color:#6f7f8f}
.admin-tabs a.active{background:#edf4fb;color:var(--blue)}
.admin-user-cards{display:grid;gap:12px}.admin-user-card{border:1px solid var(--line);border-radius:7px;padding:16px}
.admin-user-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.admin-user-heading strong{display:block;font-size:13px}.admin-user-heading span{display:block;font-size:10px;color:#8794a1;margin-top:3px}
.protected-pill{background:#edf4fb;color:var(--blue)!important;border-radius:4px;padding:5px 7px;font-size:8px!important;font-weight:800;letter-spacing:.8px}
.admin-fields{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr 1fr 1fr;gap:8px}.admin-fields label,.roster-admin-form label{font-size:10px;font-weight:650}.admin-fields input,.admin-fields select,.roster-admin-form input,.roster-admin-form select{width:100%;margin-top:5px}.admin-card-actions{text-align:right;margin-top:10px}
.roster-admin-form{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end}.roster-admin-form .wide-field{grid-column:1/5}.admin-roster-list{margin-top:18px}.admin-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-list-heading h2{margin:0}.admin-list-heading a{font-size:9px;font-weight:800;color:var(--blue);text-decoration:none;margin-left:12px}
.admin-roster-row{display:grid;grid-template-columns:150px 1fr 100px 70px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.admin-roster-row:last-child{border-bottom:0}.admin-roster-row strong{display:block;font-size:12px}.admin-roster-row span{display:block;font-size:10px;color:#8593a1;margin-top:3px}
.status-pill{display:inline-block!important;width:max-content;border-radius:4px;padding:5px 7px;font-size:8px!important;font-weight:800!important;letter-spacing:.7px}.status-pill.published{background:#edf6ef;color:#4a7255!important}.status-pill.draft{background:#f3f4f5;color:#78838d!important}
.text-button{border:0;background:transparent;padding:4px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.text-button.danger{color:#a24f4f}.muted{color:var(--muted);font-size:12px}
.inline-check{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.inline-check input{width:auto!important;margin:0!important}.inline-check span{font-size:11px;color:#607184}
.stack-form textarea{width:100%;margin-top:6px;resize:vertical}
.document-list{display:grid;gap:11px}.document-row{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.document-icon{width:46px;height:46px;background:#edf4fb;color:var(--blue);border-radius:6px;display:grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:1px}.document-row h2{font-size:15px;font-weight:650;margin:0 0 4px}.document-row p{font-size:11px;color:#6f7f8f;margin:0 0 5px}.document-row span{font-size:9px;color:#96a0a9}.admin-document-list{margin-top:18px}.admin-notice-list{margin-top:18px}
@media(max-width:1000px){.admin-fields{grid-template-columns:1fr 1fr}.roster-admin-form{grid-template-columns:1fr 1fr}.roster-admin-form .wide-field{grid-column:1/-1}.admin-roster-row{grid-template-columns:1fr 1fr}.admin-tabs{overflow:auto;white-space:nowrap}}
@media(max-width:650px){.admin-fields,.roster-admin-form{grid-template-columns:1fr}.admin-roster-row{grid-template-columns:1fr}.document-row{grid-template-columns:46px 1fr}.document-row>.button,.document-row>form{grid-column:1/-1}.document-row>.button{width:100%}}


/* V1.2 ADMIN REFINEMENT */
.admin-main{max-width:1180px}
.admin-page-head{margin-bottom:22px}
.admin-tabs{display:flex;gap:2px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--line)}
.admin-tabs a{padding:11px 14px 12px;border-radius:5px 5px 0 0;text-decoration:none;font-size:11px;font-weight:700;color:#748394;border-bottom:2px solid transparent;margin-bottom:-1px}
.admin-tabs a.active{background:transparent;color:var(--blue);border-bottom-color:var(--blue)}
.admin-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.notice-admin-layout,.docs-admin-layout{grid-template-columns:minmax(360px,430px) minmax(0,1fr)}
.admin-sidebar{position:sticky;top:20px}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 1px 1px rgba(35,59,87,.02)}
.admin-panel h2,.admin-section-heading h2{font-size:18px;font-weight:650;margin:0}
.panel-kicker{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);font-weight:800;margin:0 0 5px}
.stack-form.roomy{gap:16px;margin-top:20px}
.stack-form label,.patroller-fields label,.shift-editor label{display:block;font-size:10px;font-weight:700;color:#53667a}
.stack-form label>input,.stack-form label>select,.stack-form label>textarea,.patroller-fields label>input,.patroller-fields label>select,.shift-editor label>input,.shift-editor label>select{display:block;width:100%;margin-top:6px}
.optional,.file-help{font-size:9px;color:#94a0ac;font-weight:500;margin-left:4px}
.file-help{display:block;margin:5px 0 8px}
.admin-section-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 12px}
.admin-section-heading>span{font-size:10px;color:#8a97a4}
.patroller-list{display:grid;gap:12px}
.patroller-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}
.patroller-card-head{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid #edf1f4}
.person-mark{width:38px;height:38px;border-radius:6px;background:#edf4fb;color:var(--blue);display:grid;place-items:center;font-size:13px;font-weight:800}
.person-title{flex:1}.person-title strong{display:block;font-size:14px}.person-title span{display:block;font-size:10px;color:#8996a3;margin-top:3px}
.protected-pill{background:#edf4fb;color:var(--blue)!important;border:1px solid #d5e3f1;border-radius:4px;padding:6px 8px;font-size:8px!important;font-weight:800;letter-spacing:.8px}
.patroller-fields{display:grid;grid-template-columns:1.15fr 1.3fr 1fr 1fr .9fr .9fr;gap:10px;padding:16px 0}
.patroller-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #edf1f4}
.patroller-card-foot>span{font-size:9px;color:#94a0ac}
.notice-compose textarea{min-height:190px}
.switch-row{display:flex!important;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid #edf1f4}
.switch-row input{width:auto!important;margin:2px 0 0!important}
.switch-row span{display:block}.switch-row strong{display:block;font-size:11px;color:var(--ink)}.switch-row small{display:block;font-size:9px;color:#8a97a4;margin-top:2px;font-weight:500}
.notice-admin-list,.document-admin-list{display:grid;gap:11px}
.notice-admin-card,.document-admin-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}
.notice-admin-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#8a97a4;text-transform:uppercase;letter-spacing:.8px}
.notice-admin-meta span{color:var(--blue);font-weight:800}.notice-admin-card h3{font-size:16px;margin:10px 0 7px}.notice-admin-card p{font-size:11px;line-height:1.6;color:#657689;margin:0}
.notice-admin-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f4;margin-top:14px;padding-top:10px}.notice-admin-foot>span{font-size:9px;color:#8a97a4}
.document-admin-card{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center}.document-badge{width:44px;height:44px;border-radius:6px;background:#edf4fb;color:var(--blue);display:grid;place-items:center;font-size:8px;font-weight:800;letter-spacing:.7px}
.document-admin-info h3{font-size:14px;margin:0 0 4px}.document-admin-info p{font-size:10px;color:#6f7f8f;margin:0 0 5px}.document-admin-info span{font-size:9px;color:#99a4ae}
.file-input{padding:9px;background:#f8fafc}
.text-button{border:0;background:transparent;font:inherit;font-size:9px;font-weight:800;letter-spacing:.5px;cursor:pointer}.text-button.danger{color:#a24f4f}

/* Calendar roster builder */
.roster-toolbar{display:grid;grid-template-columns:38px 1fr 38px auto;align-items:center;gap:9px;background:var(--navy);border-radius:8px;padding:15px 16px;margin-bottom:16px;color:#fff}
.month-arrow{width:36px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:5px;color:#fff;text-decoration:none;display:grid;place-items:center;font-size:18px}
.roster-toolbar-title{text-align:center}.roster-toolbar-title span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#b9cde3}.roster-toolbar-title strong{display:block;font-size:19px;font-weight:600;margin-top:2px}
.copy-pattern-form{margin-left:8px}.copy-pattern-form .button{white-space:nowrap;background:#fff;color:var(--navy);border-color:#fff}
.calendar-wrap{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.calendar-head{display:grid;grid-template-columns:repeat(7,1fr);background:#edf4fb;border-bottom:1px solid var(--line)}
.calendar-head div{padding:11px 8px;text-align:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#607489;border-left:1px solid var(--line)}.calendar-head div:first-child{border-left:0}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-day{min-height:150px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:inherit;background:#fff;transition:.12s ease}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#f8fbfe}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--blue);background:#f8fbfe}.calendar-day.blank{background:#fafbfd}
.calendar-date{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-date strong{font-size:15px}.calendar-date span{font-size:9px;color:#94a0ab}
.calendar-shift{border-top:1px solid #edf1f4;padding:7px 0}.calendar-shift span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#95a0aa;font-weight:800}.calendar-shift strong{display:block;font-size:9px;font-weight:600;color:#8794a1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-shift.filled strong{color:var(--navy)}
.day-editor{background:#fff;border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:22px}.day-editor.empty-editor{padding:35px}.day-editor-empty{text-align:center}.day-editor-empty strong{display:block;font-size:14px}.day-editor-empty span{display:block;font-size:10px;color:#8a97a4;margin-top:4px}
.day-editor-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #edf1f4;padding-bottom:16px;margin-bottom:4px}.day-editor-heading h2{font-size:20px;margin:0}.day-editor-heading a{font-size:9px;font-weight:800;color:var(--blue);text-decoration:none}
.shift-editor-list{display:grid}.shift-editor{display:grid;grid-template-columns:170px 1fr 1fr 120px 1fr;gap:10px;align-items:end;padding:16px 0;border-bottom:1px solid #edf1f4}.shift-editor:last-child{border-bottom:0}
.shift-editor-name{display:flex;align-items:center;gap:10px;padding-bottom:9px}.shift-editor-name strong{display:block;font-size:13px}.shift-editor-name small{display:block;font-size:8px;color:#8e9aa5;margin-top:2px}
.shift-toggle input{display:none}.shift-toggle span{display:block;width:31px;height:18px;border-radius:10px;background:#d8e0e7;position:relative;cursor:pointer}.shift-toggle span:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;background:#fff;border-radius:50%;transition:.15s}.shift-toggle input:checked+span{background:var(--blue)}.shift-toggle input:checked+span:after{left:16px}
.editor-actions{text-align:right;padding-top:16px}.pattern-help{margin-top:14px;border-left:3px solid var(--sky);padding:10px 0 10px 14px}.pattern-help strong{font-size:11px}.pattern-help p{font-size:10px;color:#788696;line-height:1.6;margin:4px 0 0}

@media(max-width:1020px){
  .admin-layout,.notice-admin-layout,.docs-admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}
  .patroller-fields{grid-template-columns:1fr 1fr 1fr}
  .calendar-wrap{overflow:auto}.calendar-head,.calendar-grid{min-width:900px}
  .shift-editor{grid-template-columns:150px 1fr 1fr}.shift-editor label:nth-of-type(3),.shift-editor label:nth-of-type(4){grid-column:auto}
}
@media(max-width:700px){
  .patroller-fields{grid-template-columns:1fr 1fr}.patroller-card-foot{align-items:flex-start;flex-direction:column}.patroller-card-foot .button{width:100%}
  .roster-toolbar{grid-template-columns:38px 1fr 38px}.copy-pattern-form{grid-column:1/-1;margin:3px 0 0}.copy-pattern-form .button{width:100%}
  .shift-editor{grid-template-columns:1fr}.shift-editor-name{padding-bottom:0}.editor-actions .button{width:100%}
  .document-admin-card{grid-template-columns:46px 1fr}.document-admin-card form{grid-column:1/-1}
}


/* V1.3 DOCUMENTATION + HEADER POLISH */
.head{gap:0}
.profile{margin-left:18px;padding-left:18px}
.signout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:12px;
  min-height:34px;
  padding:0 11px;
  border:1px solid #d6e0e8;
  border-radius:5px;
  background:#fff;
  color:#5f7184;
  font-size:9px;
  font-weight:800;
  letter-spacing:.55px;
  text-decoration:none;
  white-space:nowrap;
  transition:.12s ease;
}
.signout:hover{border-color:#adc0d3;color:var(--blue);background:#f8fbfe}

.docs-page-head{margin-bottom:22px}
.docs-library{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}
.docs-library-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line);
  background:#fbfcfd;
}
.docs-library-head h2{
  margin:0;
  font-size:18px;
  font-weight:650;
}
.docs-library-head>span{
  font-size:10px;
  color:#8a97a4;
}
.docs-list{display:grid}
.docs-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:20px 24px;
  border-bottom:1px solid var(--line);
}
.docs-item:last-child{border-bottom:0}
.docs-file-badge{
  width:52px;
  height:52px;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:#edf4fb;
  border:1px solid #d8e4ef;
  color:var(--blue);
  font-size:9px;
  font-weight:800;
  letter-spacing:.8px;
}
.docs-item-main h2{
  margin:0 0 5px;
  font-size:16px;
  font-weight:650;
}
.docs-item-main p{
  margin:0 0 8px;
  color:#67798b;
  font-size:11px;
  line-height:1.55;
}
.docs-meta{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  color:#8f9ba6;
  font-size:9px;
}
.docs-meta span{display:flex;align-items:center}
.docs-meta span+span:before{
  content:"";
  width:3px;
  height:3px;
  margin:0 8px;
  border-radius:50%;
  background:#b6c0c9;
}
.docs-item-action .button{
  min-width:104px;
  min-height:38px;
}

@media(max-width:820px){
  .signout{
    display:inline-flex;
    margin-left:8px;
    padding:0 9px;
    min-height:32px;
  }
  .docs-library-head{padding:18px}
  .docs-item{
    grid-template-columns:50px minmax(0,1fr);
    padding:18px;
  }
  .docs-file-badge{width:46px;height:46px}
  .docs-item-action{
    grid-column:1/-1;
  }
  .docs-item-action .button{width:100%}
}


/* V1.4 IMPORTANT NOTICES */
.notice-item.important{
  border-left:4px solid var(--yellow);
  background:#fffef3;
}
.notice-meta{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.important-label{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:4px;
  background:#fff4a6;
  border:1px solid #eadb63;
  color:#665b0a;
  font-size:8px;
  font-weight:800;
  letter-spacing:.8px;
}
.important-switch{
  background:#fffdf0;
  border:1px solid #efe5a3!important;
  border-radius:6px;
  padding:12px!important;
}


/* V1.5 GLOBAL LAYOUT HARDENING */
img{max-width:100%;height:auto}
form{margin:0}
button,input,select,textarea{max-width:100%}
label{min-width:0}
.portal-main>*{min-width:0}
.admin-content,.admin-sidebar,.admin-panel,.patroller-card,.calendar-wrap,.day-editor{min-width:0}
.admin-tabs{width:100%}
.calendar-grid>a{display:block}
.calendar-day{overflow:hidden}
.patroller-fields>*{min-width:0}
.patroller-fields input,.patroller-fields select{min-width:0}
.shift-editor>*{min-width:0}
.docs-item-main,.document-admin-info{min-width:0}
@media(max-width:1180px){
  .head{padding-left:18px;padding-right:18px}
  nav{gap:3px}
  nav a{padding-left:10px;padding-right:10px}
}


/* V1.6 ROSTER BUILDER */
.roster-toolbar{
  grid-template-columns:38px minmax(180px,1fr) 38px auto;
}
.roster-toolbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:10px;
}
.roster-toolbar-actions form{margin:0}
.roster-toolbar-actions .button{white-space:nowrap}
.publish-button{
  background:var(--yellow);
  border-color:var(--yellow);
  color:#283b54;
}
.publish-button:hover{filter:brightness(.98)}
.roster-status-line{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin:-5px 2px 11px;
  font-size:9px;
  color:#8794a1;
}
.calendar-day.blank{
  background:#f8fafc;
  min-height:150px;
}
.calendar-shift{
  width:100%;
  display:block;
  text-align:left;
  border:0;
  border-top:1px solid #edf1f4;
  background:transparent;
  padding:7px 0;
  font:inherit;
  cursor:pointer;
}
.calendar-shift:hover{
  background:#f3f7fb;
  margin-left:-5px;
  margin-right:-5px;
  width:calc(100% + 10px);
  padding-left:5px;
  padding-right:5px;
}
.calendar-shift:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
  border-radius:3px;
}
.calendar-shift span{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.7px;
  color:#95a0aa;
  font-weight:800;
}
.calendar-shift strong{
  display:block;
  margin-top:2px;
  font-size:9px;
  color:#8794a1;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-shift.filled strong{color:var(--navy)}
.pattern-help{max-width:780px}
body.modal-open{overflow:hidden}
.shift-modal-backdrop[hidden]{display:none}
.shift-modal-backdrop{
  position:fixed;
  z-index:9999;
  inset:0;
  background:rgba(24,40,59,.44);
  display:grid;
  place-items:center;
  padding:22px;
}
.shift-modal{
  width:min(560px,100%);
  background:#fff;
  border:1px solid #cfdbe6;
  border-radius:9px;
  box-shadow:0 28px 80px rgba(26,46,70,.24);
  overflow:hidden;
}
.shift-modal-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line);
  background:#fbfcfd;
}
.shift-modal-head h2{
  margin:0 0 4px;
  font-size:21px;
  font-weight:650;
}
.shift-modal-head>div>span{
  display:block;
  font-size:10px;
  color:#7e8c9a;
}
.modal-close{
  border:0;
  background:transparent;
  color:#718091;
  font-size:27px;
  line-height:1;
  padding:0;
  cursor:pointer;
}
.shift-modal-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:22px 24px;
}
.shift-modal-body label{
  display:block;
  font-size:10px;
  font-weight:700;
  color:#53667a;
}
.shift-modal-body label:last-child{grid-column:1/-1}
.shift-modal-body select,.shift-modal-body input{
  width:100%;
  margin-top:6px;
}
.shift-modal-foot{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  padding:16px 24px 20px;
  border-top:1px solid var(--line);
}
.shift-modal-foot>div{display:flex;gap:8px}
@media(max-width:820px){
  .roster-toolbar{
    grid-template-columns:38px 1fr 38px;
  }
  .roster-toolbar-actions{
    grid-column:1/-1;
    margin-left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .roster-toolbar-actions .button{width:100%}
}
@media(max-width:560px){
  .shift-modal-body{grid-template-columns:1fr}
  .shift-modal-body label:last-child{grid-column:auto}
  .shift-modal-foot{align-items:stretch;flex-direction:column-reverse}
  .shift-modal-foot>div{display:grid;grid-template-columns:1fr 1fr}
  .shift-modal-foot .button{width:100%}
  .shift-modal-foot>.text-button{align-self:flex-start}
}


/* V1.7 ROSTER CONTACTS */
.roster-contact-assignment{padding:10px 11px}
.roster-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:stretch}
.roster-contact-names,.roster-contact-phones{display:grid;grid-template-rows:1fr 1fr;gap:8px}
.roster-contact-names{padding-right:10px}
.roster-contact-phones{padding-left:10px;border-left:1px solid #bfcbd7}
.roster-contact-names strong,.roster-contact-phones span{min-height:16px;display:flex;align-items:center}
.roster-contact-names strong{font-size:10px;color:var(--navy);font-weight:650}
.roster-contact-phones span{font-size:9px;color:#748596}
@media(max-width:520px){
  .roster-contact-grid{grid-template-columns:minmax(0,1fr) 95px}
}

/* V1.7 AVAILABILITY WEEKS */
.availability-week-tabs{display:flex;gap:5px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.availability-week-tab{border:0;background:transparent;padding:10px 13px 11px;font:inherit;font-size:9px;font-weight:800;letter-spacing:.7px;color:#7b8a99;border-bottom:2px solid transparent;cursor:pointer}
.availability-week-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.availability-week-panel{display:none}
.availability-week-panel.active{display:block}
.availability-week-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}
.availability-week-heading h2{margin:0;font-size:18px}
.availability-week-heading>span{font-size:9px;color:#8a97a4}

/* V1.7 ROSTER PREFERENCES */
.roster-toolbar{grid-template-columns:38px minmax(170px,1fr) 38px auto}
.roster-toolbar-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.calendar-shift em{display:block;font-style:normal;font-size:7px;color:var(--blue);font-weight:700;margin-top:3px}
.preferred-panel{grid-column:1/-1;background:#f7fafe;border:1px solid #dbe6f1;border-radius:6px;padding:12px}
.preferred-label{display:block;font-size:8px;letter-spacing:.9px;font-weight:800;color:#667b90;margin-bottom:8px}
.preferred-people{display:flex;gap:6px;flex-wrap:wrap}
.preferred-person{border:1px solid #cbd9e7;background:#fff;color:var(--blue);border-radius:5px;padding:7px 9px;font:inherit;font-size:9px;font-weight:700;cursor:pointer}
.preferred-person:hover{background:#edf4fb}
.preferred-empty{font-size:9px;color:#8c99a5}
.cancel-shift-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2bcbc;background:#fff8f8;color:#9a4949;border-radius:5px;padding:10px 12px;font:inherit;font-size:9px;font-weight:800;letter-spacing:.5px;cursor:pointer}
.cancel-shift-button:hover{background:#fff1f1}

/* V1.7 EDIT ACTIONS */
.row-actions{display:flex;align-items:center;gap:10px}
.edit-link{color:var(--blue);text-decoration:none}
.edit-form-actions{display:flex;gap:8px;justify-content:flex-end}
.current-file-note{font-size:9px;color:#7d8b98;background:#f7f9fb;border:1px solid #e1e7ed;border-radius:5px;padding:9px 10px}
.important-admin-notice{border-left:4px solid var(--yellow)}
.document-admin-card>.row-actions{justify-content:flex-end}
@media(max-width:820px){
  .roster-toolbar-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}
  .roster-toolbar-actions .button{width:100%}
  .availability-week-tabs{overflow:auto;white-space:nowrap}
  .availability-week-heading{display:block}
  .availability-week-heading>span{display:block;margin-top:5px}
}


/* V1.8 PORTAL ATMOSPHERE */
body:not(.login-body){
  position:relative;
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 18%,rgba(109,150,206,.11),transparent 28rem),
    radial-gradient(circle at 91% 72%,rgba(40,93,159,.07),transparent 31rem),
    linear-gradient(180deg,#f7f9fb 0%,#f3f6f9 100%);
}
body:not(.login-body)::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:78px 0 0;
  pointer-events:none;
  opacity:.36;
  background:linear-gradient(135deg,transparent 0 47%,rgba(40,93,159,.032) 47% 50%,transparent 50% 100%);
  background-size:92px 92px;
  animation:nbcpAmbient 28s ease-in-out infinite alternate;
}
@keyframes nbcpAmbient{from{transform:translate3d(0,0,0)}to{transform:translate3d(10px,-7px,0)}}
@media(prefers-reduced-motion:reduce){body:not(.login-body)::before{animation:none}}
header{position:relative;z-index:20;box-shadow:0 1px 0 rgba(40,68,96,.02)}
header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--blue) 0 54%,var(--yellow) 54% 60%,var(--sky) 60% 72%,transparent 72%);
  opacity:.72;
}
.portal-main{position:relative;z-index:1}

/* Authenticated footer */
.portal-footer{position:relative;z-index:1;max-width:1110px;margin:0 auto;padding:0 24px 28px;color:#8493a2;font-size:9px}
.portal-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;border-top:1px solid rgba(190,202,214,.72)}
.footer-links{display:flex!important;gap:16px!important;margin:0!important}
.footer-links a{padding:0!important;background:none!important;color:#758798!important;font-size:9px!important;font-weight:650!important;text-decoration:none!important}
.footer-links a:hover{color:var(--blue)!important}

/* Compact patroller directory */
.compact-directory-layout{grid-template-columns:300px minmax(0,1fr)}
.directory-search{display:block;margin:0 0 12px;font-size:9px;font-weight:700;color:#64778a}
.directory-search span{display:block;margin-bottom:6px}
.directory-search input{width:100%;background:#fff}
.compact-patroller-list{display:grid;gap:8px}
.compact-patroller-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.compact-patroller-summary{display:grid;grid-template-columns:38px minmax(150px,1fr) minmax(160px,1fr) auto auto;gap:12px;align-items:center;padding:13px 15px}
.compact-patroller-card.editing{border-color:#abc3df;box-shadow:0 0 0 2px rgba(40,93,159,.05)}
.compact-person-main strong{display:block;font-size:12px}
.compact-person-main span,.compact-person-contact span{display:block;font-size:9px;color:#8896a4;margin-top:2px}
.compact-person-contact{min-width:0}.compact-person-contact span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-person-actions{display:flex;gap:9px;align-items:center}.compact-person-actions form{margin:0}
.compact-edit-form{border-top:1px solid #edf1f4;padding:16px}
.compact-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid #edf1f4}
@media(max-width:900px){
  .compact-directory-layout{grid-template-columns:1fr}
  .compact-patroller-summary{grid-template-columns:38px 1fr auto}
  .compact-person-contact{grid-column:2/3}.compact-person-actions{grid-column:3/4;grid-row:1/3}
}
@media(max-width:620px){
  .compact-patroller-summary{grid-template-columns:38px 1fr}
  .compact-person-contact,.compact-person-actions,.protected-pill{grid-column:2/3}.compact-person-actions{grid-row:auto}
}

/* Patrol Updates */
.updates-list{display:grid;gap:10px}
.update-card{width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px 20px;font:inherit;color:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.update-card:hover{transform:translateY(-1px);border-color:#c9d7e4;box-shadow:0 8px 22px rgba(35,59,87,.045)}
.update-card.important{border-left:4px solid var(--yellow)}
.update-card-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.update-card h2{font-size:16px;margin:5px 0 0}
.update-card p{margin:8px 0 10px;color:#67798b;font-size:11px;line-height:1.55}
.update-open{font-size:8px;font-weight:800;letter-spacing:.8px;color:var(--blue)}
.update-meta{display:flex;gap:14px;color:#96a1ac;font-size:9px}

/* Content modal */
.content-modal-backdrop[hidden]{display:none}
.content-modal-backdrop{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:22px;background:rgba(24,40,59,.46)}
.content-modal{width:min(680px,100%);max-height:min(82vh,760px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #ccd9e4;border-radius:9px;background:#fff;box-shadow:0 30px 90px rgba(22,42,66,.25)}
.content-modal-head{display:flex;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:#fbfcfd}
.content-modal-head h2{font-size:22px;margin:7px 0 5px}.content-modal-meta{font-size:9px;color:#8795a3}
.content-modal-body{overflow:auto;white-space:pre-wrap;padding:24px;font-size:13px;line-height:1.75;color:#566a7d}

/* Document modal trigger */
.document-detail-button{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:center;text-align:left;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;min-width:0}
.document-detail-button:hover h2{color:var(--blue)}
.docs-item{grid-template-columns:minmax(0,1fr) auto}

/* Legal */
.legal-main{max-width:920px}
.legal-hero{padding:8px 0 24px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:38px;font-weight:500;letter-spacing:-1px;margin:0 0 8px}
.legal-hero>p:not(.eyebrow){font-size:13px;color:#6e7f90;margin:0 0 9px}.legal-hero>span{font-size:9px;color:#97a2ad}
.legal-document{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 28px;margin-top:22px}
.legal-document section{padding:20px 0;border-bottom:1px solid #edf1f4}.legal-document section:last-child{border-bottom:0}
.legal-document h2{font-size:15px;margin:0 0 7px}.legal-document p{font-size:12px;line-height:1.7;color:#647689;margin:0}.legal-document a{color:var(--blue)}


/* V1.8.2 MOBILE NAVIGATION */
.mobile-menu-button,
.mobile-menu{
  display:none;
}

@media(max-width:820px){
  .desktop-nav,
  .desktop-signout{
    display:none!important;
  }

  .head{
    position:relative;
  }

  .profile{
    display:none;
  }

  .mobile-menu-button{
    margin-left:auto;
    min-width:74px;
    height:38px;
    padding:0 12px;
    border:1px solid #d3dee8;
    border-radius:5px;
    background:#fff;
    color:var(--navy);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font:inherit;
    font-size:9px;
    font-weight:800;
    letter-spacing:.8px;
    cursor:pointer;
  }

  .mobile-menu-button i{
    width:14px;
    height:10px;
    position:relative;
    display:block;
  }

  .mobile-menu-button i::before,
  .mobile-menu-button i::after{
    content:"";
    position:absolute;
    left:0;
    width:14px;
    height:1.5px;
    background:var(--navy);
    transition:transform .16s ease, top .16s ease;
  }

  .mobile-menu-button i::before{top:2px}
  .mobile-menu-button i::after{top:7px}

  .mobile-menu-button.open i::before{
    top:4.5px;
    transform:rotate(45deg);
  }

  .mobile-menu-button.open i::after{
    top:4.5px;
    transform:rotate(-45deg);
  }

  .mobile-menu{
    display:block;
    border-top:1px solid var(--line);
    background:#fff;
    box-shadow:0 14px 30px rgba(33,54,80,.10);
  }

  .mobile-menu[hidden]{
    display:none;
  }

  .mobile-menu-inner{
    padding:16px 17px 18px;
  }

  .mobile-menu-user{
    padding:0 1px 13px;
    border-bottom:1px solid #edf1f4;
    margin-bottom:8px;
  }

  .mobile-menu-user strong{
    display:block;
    font-size:12px;
  }

  .mobile-menu-user span{
    display:block;
    margin-top:2px;
    font-size:9px;
    color:#8a97a4;
  }

  .mobile-nav{
    display:grid!important;
    gap:2px!important;
    margin:0!important;
  }

  .mobile-nav a{
    display:flex!important;
    align-items:center;
    min-height:42px;
    padding:0 11px!important;
    border-radius:5px!important;
    color:#5f7183!important;
    font-size:11px!important;
    font-weight:650!important;
    text-decoration:none!important;
    background:transparent!important;
  }

  .mobile-nav a.active{
    color:var(--blue)!important;
    background:#edf4fb!important;
  }

  .mobile-signout{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:40px;
    margin-top:12px;
    border:1px solid #d6e0e8;
    border-radius:5px;
    color:#607386;
    background:#fff;
    font-size:9px;
    font-weight:800;
    letter-spacing:.6px;
    text-decoration:none;
  }

  body.mobile-menu-open{
    overflow:hidden;
  }
}


/* V1.8.3 MOBILE MENU FIX - definitive overrides */
@media(max-width:820px){
  header{
    position:relative;
    z-index:5000;
  }

  .head{
    height:76px!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }

  .logo{
    width:min(220px,68vw)!important;
    flex:0 1 auto!important;
  }

  .desktop-nav,
  .desktop-signout,
  .head>.profile{
    display:none!important;
  }

  .mobile-menu-button{
    display:flex!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
    min-width:78px!important;
    height:38px!important;
    padding:0 12px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    border:1px solid #cedae5!important;
    border-radius:5px!important;
    background:#fff!important;
    color:var(--navy)!important;
    font:inherit!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.8px!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }

  .mobile-menu-button i{
    display:block!important;
    position:relative!important;
    width:14px!important;
    height:11px!important;
  }

  .mobile-menu-button i::before,
  .mobile-menu-button i::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    width:14px!important;
    height:1.5px!important;
    background:var(--navy)!important;
    transition:.15s ease!important;
  }

  .mobile-menu-button i::before{top:2px!important}
  .mobile-menu-button i::after{top:7px!important}

  .mobile-menu-button.open i::before{
    top:4.5px!important;
    transform:rotate(45deg)!important;
  }

  .mobile-menu-button.open i::after{
    top:4.5px!important;
    transform:rotate(-45deg)!important;
  }

  .mobile-menu{
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:76px!important;
    z-index:4999!important;
    margin:0!important;
    padding:0!important;
    border-top:1px solid var(--line)!important;
    border-bottom:1px solid #cad6e1!important;
    background:#fff!important;
    box-shadow:0 18px 36px rgba(28,49,73,.16)!important;
  }

  .mobile-menu[hidden]{
    display:none!important;
  }

  .mobile-menu-inner{
    max-width:none!important;
    margin:0!important;
    padding:14px 16px 16px!important;
  }

  .mobile-menu-user{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin:0 0 9px!important;
    padding:0 2px 12px!important;
    border-bottom:1px solid #edf1f4!important;
  }

  .mobile-menu-user strong{
    display:block!important;
    font-size:12px!important;
    color:var(--ink)!important;
  }

  .mobile-menu-user span{
    display:inline-flex!important;
    margin:0!important;
    padding:5px 7px!important;
    border-radius:4px!important;
    background:#edf4fb!important;
    color:var(--blue)!important;
    font-size:8px!important;
    font-weight:800!important;
    letter-spacing:.6px!important;
    text-transform:uppercase!important;
  }

  .mobile-nav{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
  }

  .mobile-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid transparent!important;
    border-radius:6px!important;
    background:#f8fafc!important;
    color:#5c6f82!important;
    font-size:10px!important;
    font-weight:700!important;
    text-decoration:none!important;
  }

  .mobile-nav a.active{
    border-color:#d6e3ef!important;
    background:#edf4fb!important;
    color:var(--blue)!important;
  }

  .mobile-nav a:hover{
    background:#f1f6fb!important;
    color:var(--blue)!important;
  }

  .mobile-signout{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:40px!important;
    margin:10px 0 0!important;
    padding:0 12px!important;
    border:1px solid #d5dfe8!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#687b8e!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.65px!important;
    text-decoration:none!important;
  }

  body.mobile-menu-open::after{
    content:"";
    position:fixed;
    z-index:4000;
    inset:0;
    background:rgba(31,48,67,.22);
    pointer-events:none;
  }
}

@media(max-width:430px){
  .mobile-nav{
    grid-template-columns:1fr!important;
  }
}


/* V1.9 ROSTER REQUESTS + EVENTS */
.my-roster-shift{width:100%;text-align:left;font:inherit;cursor:pointer}
.my-roster-shift:hover{border-color:#8fb0d2;box-shadow:0 0 0 2px rgba(40,93,159,.05)}
.public-event-strip{padding:10px 12px 12px 132px;border-bottom:1px solid var(--line);background:#fbfcfd;display:grid;gap:7px}
.public-event-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px solid #d7e3ed;border-radius:6px;background:#fff;padding:10px 12px;font:inherit;color:inherit;cursor:pointer}
.public-event-card:hover{border-color:#9eb9d4;background:#fafdff}
.public-event-card strong{font-size:11px;color:var(--navy)}
.public-event-card>span:last-child{font-size:9px;color:#7f8f9e}
.event-badge{display:inline-flex;width:max-content;padding:4px 6px;border-radius:4px;background:#fff5a9;border:1px solid #e5d96c;color:#645b10;font-size:7px;font-weight:800;letter-spacing:.8px}
.mobile-events{padding:10px 12px;border-bottom:1px solid var(--line);display:grid;gap:7px}
.roster-action-modal .content-modal-body{white-space:normal}
.modal-explain{margin:0 0 16px;font-size:11px;line-height:1.6;color:#617386}
.modal-field{display:block;font-size:10px;font-weight:700;color:#53667a}.modal-field textarea{width:100%;margin-top:6px;resize:vertical}
.modal-form-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px 20px;border-top:1px solid var(--line)}
.cancel-request-button{background:#9a4d4d;border-color:#9a4d4d}
.event-description{white-space:pre-wrap;margin:0 0 17px}
.event-volunteers{padding:11px 12px;border:1px solid #e0e7ed;border-radius:6px;background:#f8fafc;font-size:10px;color:#617386}
.event-status-message{margin-top:12px;font-size:10px;font-weight:700;color:var(--blue)}

.admin-request-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:16px}
.admin-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 0;border-top:1px solid #edf1f4}
.admin-request-row:first-of-type{border-top:0}
.admin-request-row strong{display:block;font-size:12px;margin:3px 0}
.admin-request-row p,.admin-request-row small{display:block;margin:0;font-size:9px;color:#7e8c9a}
.admin-request-row small{margin-top:5px;line-height:1.5}
.request-type{font-size:7px;font-weight:800;letter-spacing:.8px;color:var(--blue)}
.request-actions{display:flex;gap:7px;align-items:center}.request-actions input{width:170px}.request-actions.compact input{display:none}
.admin-calendar-events{display:grid;gap:4px;margin-bottom:5px}
.admin-event-chip{width:100%;border:1px solid #e4d77b;border-radius:4px;background:#fff9c9;color:#5c561d;padding:5px 6px;font:inherit;font-size:7px;font-weight:800;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.admin-event-chip:hover{background:#fff5a6}
.event-admin-modal{width:min(700px,100%)}
.event-admin-body{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:14px;padding:22px 24px}
.event-admin-body>label{font-size:10px;font-weight:700;color:#53667a}.event-admin-body input,.event-admin-body select,.event-admin-body textarea{width:100%;margin-top:6px}
.event-description-field{grid-column:1/-1}.event-admin-body .switch-row{grid-column:1/-1}
.event-assignees{grid-column:1/-1;border-top:1px solid #edf1f4;padding-top:13px}
.event-assignee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;max-height:180px;overflow:auto}
.event-assignee-grid label{display:flex;align-items:center;gap:6px;border:1px solid #e0e7ed;border-radius:5px;padding:7px 8px;font-size:9px;color:#607184}
.event-assignee-grid input{width:auto;margin:0}

@media(max-width:820px){
  .public-event-strip{padding:10px 12px}
  .public-event-card{grid-template-columns:auto minmax(0,1fr)}.public-event-card>span:last-child{grid-column:2}
  .admin-request-row{grid-template-columns:1fr}.request-actions{display:grid;grid-template-columns:1fr 1fr}.request-actions input{grid-column:1/-1;width:100%}
  .event-admin-body{grid-template-columns:1fr 1fr}.event-assignee-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .event-admin-body{grid-template-columns:1fr}.event-description-field,.event-admin-body .switch-row,.event-assignees{grid-column:1}
  .event-assignee-grid{grid-template-columns:1fr}
  .modal-form-footer{flex-direction:column}.modal-form-footer .button{width:100%}
}


/* NBCP V1.0 maintenance + dynamic roster publication */
.maintenance-login-banner{
  margin:0 0 18px;
  padding:12px 13px;
  border:1px solid #eadf8b;
  border-radius:6px;
  background:#fffbea;
  text-align:left;
}
.maintenance-login-banner strong{
  display:block;
  margin-bottom:3px;
  color:#655a12;
  font-size:10px;
}
.maintenance-login-banner span{
  display:block;
  color:#766e3e;
  font-size:9px;
  line-height:1.5;
}

.maintenance-admin-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding:18px 20px;
  border:1px solid #d8e2ea;
  border-radius:8px;
  background:#fff;
}
.maintenance-admin-panel.enabled{
  border-left:4px solid var(--yellow);
  background:#fffef4;
}
.maintenance-admin-panel h2{
  margin:0 0 4px;
  font-size:17px;
}
.maintenance-admin-panel p:not(.panel-kicker){
  margin:0;
  color:#6e7e8d;
  font-size:10px;
  line-height:1.55;
}
.unpublish-button{
  background:#fff;
  border-color:#d2a1a1;
  color:#9b4b4b;
}
.unpublish-button:hover{
  background:#fff7f7;
}
@media(max-width:700px){
  .maintenance-admin-panel{
    align-items:stretch;
    flex-direction:column;
  }
  .maintenance-admin-panel .button{
    width:100%;
  }
}

/* NBCP Patrol Mode */
.patrol-body{margin:0;background:#f3f6f9;color:#243e5d;font-family:Aptos,'Segoe UI',Arial,sans-serif;min-height:100vh}
.patrol-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:12px max(16px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid #d8e1e9;min-height:58px}
.patrol-topbar img{width:132px;height:auto}
.patrol-topbar>a{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:38px;border:1px solid #cbd6df;border-radius:6px;color:#31587e;text-decoration:none;font-size:11px;font-weight:700}
.patrol-topbar>div{display:flex;flex-direction:column;gap:2px;margin-left:auto;text-align:right}.patrol-topbar strong{font-size:14px}.patrol-topbar span{font-size:10px;color:#728293}
.patrol-shell{max-width:720px;margin:0 auto;padding:18px max(14px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom))}
.patrol-card{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:20px;margin-bottom:14px;box-shadow:0 4px 16px rgba(31,58,85,.04)}
.patrol-card h1,.patrol-card h2{margin:0 0 8px;color:#25466f;font-weight:600}.patrol-card h1{font-size:28px}.patrol-card h2{font-size:19px}.patrol-card p{line-height:1.55}
.patrol-logo{display:block;width:270px;max-width:85%;margin:5px auto 22px}.patrol-welcome{text-align:center;padding:26px 20px}.patrol-welcome p:last-child{margin:0;color:#708192;font-size:13px}
.patrol-test-banner{display:flex;gap:10px;align-items:flex-start;background:#fffbea;border:1px solid #eadf8b;border-radius:7px;padding:12px 14px;margin-bottom:14px}.patrol-test-banner strong{font-size:10px;color:#665b10;letter-spacing:1px}.patrol-test-banner span{font-size:11px;line-height:1.45;color:#776f3d}
.scheduled-shifts{display:grid;gap:8px}.scheduled-shifts a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #dce5ed;border-radius:6px;text-decoration:none;color:#25466f;background:#f9fbfc}.scheduled-shifts a div{display:flex;flex-direction:column;gap:3px}.scheduled-shifts a span{font-size:11px;color:#718191}.scheduled-shifts a b{font-size:10px;letter-spacing:.8px;color:#285d9f}
.patrol-big-button{display:flex;align-items:center;justify-content:center;min-height:54px;width:100%;box-sizing:border-box;border:0;border-radius:7px;background:#285d9f;color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.5px;padding:14px 16px;margin:12px 0;cursor:pointer}.patrol-big-button.submit{margin-top:4px}.patrol-big-button.danger-button{background:#984848}.patrol-big-button:disabled{opacity:.65;cursor:wait}
.patrol-device-info{display:flex;flex-direction:column;text-align:center;gap:3px}.patrol-device-info span,.patrol-device-info small{font-size:10px;color:#778797}.patrol-device-info strong{font-size:13px}
.patrol-live{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:5px;background:#edf8f1;color:#34704a;font-size:9px;font-weight:800;letter-spacing:1px;margin-bottom:12px}.patrol-live span{width:7px;height:7px;border-radius:50%;background:#4d9a67;box-shadow:0 0 0 3px rgba(77,154,103,.15)}
.patrol-people{margin:0 0 18px;color:#637589;font-size:13px}.patrol-meta-grid,.report-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dce4eb;border:1px solid #dce4eb;border-radius:6px;overflow:hidden}.patrol-meta-grid div,.report-summary-grid div{display:flex;flex-direction:column;gap:4px;background:#f9fbfc;padding:12px}.patrol-meta-grid span,.report-summary-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#81909e}.patrol-meta-grid strong,.report-summary-grid strong{font-size:13px;color:#25466f}
.gps-status{display:grid;grid-template-columns:12px 1fr;column-gap:8px;align-items:center;margin-top:14px;padding:12px;border:1px solid #d8e5dc;background:#f5fbf7;border-radius:6px}.gps-status .gps-dot{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#59a26f}.gps-status strong{font-size:11px;color:#37694a}.gps-status small{font-size:9px;color:#6f8276}.gps-status.error{border-color:#ead0d0;background:#fff7f7}.gps-status.error .gps-dot{background:#b85a5a}.gps-status.error strong{color:#914848}.patrol-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.patrol-body .patrol-actions .patrol-action{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #cbd8e3;border-radius:4px;color:#285d9f;text-decoration:none;font-size:11px;font-weight:800;text-align:center;line-height:1.25}.patrol-body .patrol-actions .patrol-action.primary{background:#285d9f;color:#fff;border-color:#285d9f}
.patrol-event-list{display:grid;gap:8px}.patrol-event-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f4}.patrol-event-list>div:last-child{border-bottom:0}.patrol-event-list strong{font-size:11px}.patrol-event-list span{font-size:9px;color:#7b8a98;text-align:right}
.patrol-form{display:grid;gap:0}.patrol-form label{display:grid;gap:6px;margin:0 0 14px;font-size:10px;font-weight:700;color:#526a82}.patrol-form input[type=text],.patrol-form input[type=number],.patrol-form input[type=datetime-local],.patrol-form input[type=file],.patrol-form select,.patrol-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd8e2;border-radius:6px;background:#fff;color:#233b57;font:inherit;font-size:14px;padding:11px 12px}.patrol-form textarea{resize:vertical}.patrol-form input[type=file]{font-size:12px}.patrol-form .optional{font-weight:400;color:#8b98a5}.field-help{margin:-4px 0 0!important;font-size:10px;color:#81909e}
.choice-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 16px}.choice-row>span{width:100%;font-size:10px;font-weight:700;color:#526a82}.choice-row label{display:flex;align-items:center;gap:6px;margin:0;padding:10px 12px;border:1px solid #d2dce5;border-radius:6px;background:#f8fafc;font-size:11px;cursor:pointer}.choice-row input{accent-color:#285d9f}
.vehicle-checks{display:grid;gap:7px}.vehicle-check{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:9px 10px;border:1px solid #e0e6ec;border-radius:6px}.vehicle-check>span{font-size:11px;font-weight:700}.vehicle-check label{display:flex;align-items:center;gap:4px;margin:0;padding:7px 8px;border:1px solid #cfe0d3;border-radius:5px;background:#f4faf6;color:#39704b;font-size:9px}.vehicle-check label.fail{border-color:#e7cece;background:#fff7f7;color:#954c4c}
.complete-card{text-align:center;padding:30px 20px}.complete-check{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#e8f6ec;color:#388257;font-size:27px;font-weight:700}.complete-card>.patrol-big-button{margin-top:18px}
.device-setup-box{margin-bottom:18px;padding:18px 20px;border:1px solid #cbd8e3;border-left:4px solid #285d9f;border-radius:8px;background:#fff}.device-setup-box h2{margin:0 0 6px}.device-setup-box p{color:#6e7e8d;font-size:11px}.device-setup-box input{display:block;width:100%;box-sizing:border-box;margin:12px 0;padding:10px;border:1px solid #ccd8e2;border-radius:5px;font-size:11px}
.report-summary-grid{margin:0 0 18px}.report-summary-grid div{min-height:65px}.report-section{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:20px;margin-bottom:14px}.report-section h2{margin:0 0 14px;color:#25466f;font-size:19px}.report-table{display:grid;border:1px solid #e0e6eb;border-radius:6px;overflow:hidden}.report-table>div{display:grid;grid-template-columns:minmax(130px,38%) 1fr;gap:10px;padding:10px 12px;border-bottom:1px solid #edf1f4}.report-table>div:last-child{border-bottom:0}.report-table span{font-size:10px;color:#718191}.report-table strong{font-size:11px;color:#304f70}.check-result.failed{color:#a54a4a}.report-copy{font-size:12px;line-height:1.65;color:#5f7183}.report-events{display:grid;gap:10px}.report-events article{border:1px solid #dce4eb;border-radius:6px;padding:14px}.report-event-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.report-event-head strong{font-size:12px}.report-event-head span{font-size:9px;color:#7c8c9a}.report-events p{font-size:11px;line-height:1.6;color:#607286}.report-event-images{display:flex;gap:10px}.report-event-images a{font-size:10px;font-weight:700;color:#285d9f}
@media(max-width:600px){.patrol-shell{padding-top:12px}.patrol-card{padding:17px}.patrol-topbar img{width:112px}.patrol-card h1{font-size:24px}.vehicle-check{grid-template-columns:1fr}.vehicle-check label{justify-content:center}.report-table>div{grid-template-columns:1fr}.report-event-head{flex-direction:column;gap:3px}}
.patrol-settings-inline{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.patrol-settings-inline label{display:grid;gap:5px;font-size:9px;font-weight:700;color:#637589}.patrol-settings-inline input{min-width:190px;padding:9px 10px;border:1px solid #ccd8e2;border-radius:5px;font:inherit;font-size:11px}.patrol-settings-inline .button{margin:0}@media(max-width:700px){.patrol-settings-inline{width:100%}.patrol-settings-inline label,.patrol-settings-inline input,.patrol-settings-inline .button{width:100%;box-sizing:border-box}}


/* Patrol Mode V1.1 refinements */
.patrol-body{background:#eef2f5}
.patrol-body .patrol-shell{max-width:700px}
.patrol-body .patrol-card{border-radius:4px;box-shadow:none;border-color:#d5dee6}
.patrol-body .patrol-welcome{text-align:left;padding:19px 20px;border-left:4px solid #285d9f}
.patrol-body .patrol-welcome .panel-kicker{margin-bottom:5px}
.patrol-body .patrol-welcome h1{font-size:23px;letter-spacing:-.25px;margin-bottom:5px}
.patrol-body .patrol-welcome p:last-child{font-size:12px;line-height:1.45}
.patrol-body .scheduled-shifts{gap:7px}
.patrol-body .scheduled-shifts a{border-radius:3px;background:#fff;padding:13px 14px;border-color:#d5dee6;border-left:3px solid #285d9f}
.patrol-body .scheduled-shifts a b{min-width:46px;text-align:center}
.patrol-body .patrol-big-button{border-radius:4px;text-align:center;line-height:1.3}
.patrol-body button.patrol-big-button{font-family:inherit}
.patrol-body .active-shift-card{border-top:4px solid #285d9f;padding-top:17px}
.patrol-body .patrol-live{background:transparent;padding:0;border-radius:0;margin-bottom:8px;color:#3d6e50}
.patrol-body .patrol-live span{box-shadow:none}
.patrol-body .active-shift-card h1{font-size:24px;letter-spacing:.2px}
.patrol-body .patrol-meta-grid,.patrol-body .report-summary-grid{border-radius:3px}
.patrol-body .gps-status{border-radius:3px}
.patrol-body .patrol-device-info{border-style:dashed;background:transparent}
.patrol-body .patrol-form{display:block;background:#fff;border:1px solid #d5dee6;border-radius:4px;overflow:hidden;margin-bottom:14px}
.patrol-body .patrol-form>.patrol-card{border:0;border-bottom:1px solid #e1e7ec;border-radius:0;margin:0;padding:18px 19px}
.patrol-body .patrol-form>.patrol-card:last-of-type{border-bottom:0}
.patrol-body .patrol-form>.patrol-big-button{width:calc(100% - 28px);margin:14px}
.patrol-body .patrol-form input[type=text],.patrol-body .patrol-form input[type=number],.patrol-body .patrol-form input[type=datetime-local],.patrol-body .patrol-form input[type=file],.patrol-body .patrol-form select,.patrol-body .patrol-form textarea{border-radius:3px}
.patrol-body .choice-row label,.patrol-body .vehicle-check,.patrol-body .vehicle-check label{border-radius:3px}
.patrol-body .photo-help{display:block;margin-top:5px;color:#84919d;font-size:9px;font-weight:400;line-height:1.4}
@media(max-width:600px){
  .patrol-body .patrol-card{padding:16px}
  .patrol-body .patrol-form>.patrol-card{padding:17px 16px}
  .patrol-body .patrol-form>.patrol-big-button{width:calc(100% - 24px);margin:12px}
}


/* Patrol Mode V1.2 GPS and action alignment fixes */
.patrol-body .patrol-actions .patrol-action{
  box-sizing:border-box;
  height:52px;
  min-height:52px;
  padding:0 12px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.patrol-body .patrol-actions .patrol-action.primary{
  align-items:center;
  justify-content:center;
}
.patrol-body .gps-start{
  margin-top:14px;
}


/* NBCP Patrol Mode V1.3 final touches */
.profile{text-decoration:none;color:inherit}
.vehicle-check-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.vehicle-check-copy strong{font-size:11px;color:#304f70}
.vehicle-check-copy small{font-size:9px;line-height:1.45;color:#758697;font-weight:400}
.patrol-safety-hold{margin:14px 0;padding:13px 14px;border-left:4px solid #a94b4b;background:#fff4f4}
.patrol-safety-hold strong{display:block;font-size:10px;letter-spacing:.7px;color:#963f3f;margin-bottom:4px}
.patrol-safety-hold span{display:block;font-size:10px;line-height:1.5;color:#704c4c}

.patrol-settings-email-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;min-width:min(660px,65vw)}
.patrol-settings-email-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:#405a73}
.patrol-settings-email-grid label small{font-size:8.5px;font-weight:400;line-height:1.45;color:#748596}
.patrol-settings-email-grid textarea,.patrol-settings-email-grid input{width:100%;box-sizing:border-box}
.patrol-email-toggle{display:flex;align-items:flex-end}
.patrol-email-toggle .button{width:100%;min-height:42px}

.home-personal-stats,.personal-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;margin:0 0 28px}
.home-personal-stats>div,.home-personal-stats>a,.personal-stats>div{padding:15px 17px;border-right:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;gap:5px}
.home-personal-stats>:last-child,.personal-stats>div:last-child{border-right:0}
.home-personal-stats span,.personal-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#80909f}
.home-personal-stats strong,.personal-stats strong{font-size:16px;color:#294b72}
.home-personal-stats a strong{font-size:10px;color:#285d9f;margin-top:4px}

.shift-report-list{border:1px solid var(--line);background:#fff}
.shift-report-row{display:grid;grid-template-columns:74px 1fr auto 48px;gap:18px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.shift-report-row:last-child{border-bottom:0}
.shift-report-row:hover{background:#f8fbfd}
.shift-report-date{border-right:1px solid var(--line);display:flex;flex-direction:column}
.shift-report-date strong{font-size:24px;color:#294b72;line-height:1}
.shift-report-date span{font-size:8px;color:#8392a0;margin-top:4px}
.shift-report-main{display:flex;flex-direction:column;gap:3px}
.shift-report-main>span{font-size:9px;color:#7b8b99}
.shift-report-main>strong{font-size:13px;color:#294b72}
.shift-report-main>small{font-size:9px;color:#728291}
.shift-report-metrics{display:flex;gap:14px}
.shift-report-metrics span{font-size:9px;color:#6f8192}
.shift-report-row>b{font-size:9px;color:#285d9f}

.profile-stat-hero{background:#25466f;color:#fff;padding:24px 26px;margin-bottom:0}
.profile-stat-hero h2{margin:3px 0 7px;font-size:24px;font-weight:550}
.profile-stat-hero p{margin:0;color:#c9d5e0;font-size:11px}
.profile-stats{grid-template-columns:repeat(3,1fr)}
.profile-report-link{margin-top:18px}

.report-page-head{align-items:center}
.report-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.report-section-head>span{font-size:9px;color:#788998}
.patrol-route-map{height:390px;border:1px solid #dce4eb;background:#f4f7f9}
.map-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#7d8b98;font-size:11px}
.shift-timeline{position:relative}
.shift-timeline:before{content:"";position:absolute;left:76px;top:8px;bottom:8px;width:1px;background:#dce4eb}
.timeline-item{position:relative;display:grid;grid-template-columns:62px 1fr;gap:28px;padding:9px 0}
.timeline-item:before{content:"";position:absolute;left:72px;top:17px;width:9px;height:9px;border-radius:50%;background:#8ba5bd;border:2px solid #fff;box-shadow:0 0 0 1px #b9c9d6}
.timeline-item.event:before{background:#285d9f}
.timeline-item time{font-size:9px;color:#748595;text-align:right;padding-top:2px}
.timeline-item>div{padding-bottom:9px;border-bottom:1px solid #edf1f4}
.timeline-item strong{display:block;font-size:11px;color:#294b72}
.timeline-item span{display:block;font-size:9px;color:#7a8997;margin-top:2px}
.timeline-item p{font-size:10px;line-height:1.55;color:#5f7183;margin:6px 0 0}
.report-table span small{display:block;font-size:8px;line-height:1.4;margin-top:2px;color:#8a98a4;text-transform:none;letter-spacing:0;font-weight:400}

@media(max-width:820px){
  .patrol-settings-email-grid{grid-template-columns:1fr;min-width:0;width:100%}
  .home-personal-stats,.personal-stats,.profile-stats{grid-template-columns:1fr 1fr}
  .home-personal-stats>:nth-child(2n),.personal-stats>div:nth-child(2n){border-right:0}
  .home-personal-stats>:nth-child(-n+2),.personal-stats>div:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .shift-report-row{grid-template-columns:60px 1fr 38px;gap:12px}
  .shift-report-metrics{grid-column:2/4;flex-wrap:wrap}
  .patrol-route-map{height:300px}
}
@media(max-width:520px){
  .home-personal-stats,.personal-stats,.profile-stats{grid-template-columns:1fr 1fr}
  .report-section-head{display:block}
  .timeline-item{grid-template-columns:52px 1fr;gap:24px}
  .shift-timeline:before{left:64px}
  .timeline-item:before{left:60px}
}


/* NBCP V1.4 portal polish */
.hero-with-stats{
  display:block;
  padding:0;
}
.hero-with-stats .hero-main{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:30px;
  padding:34px 42px 30px;
  position:relative;
  z-index:1;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.2);
  position:relative;
  z-index:1;
}
.hero-stats>div,
.hero-stats>a{
  min-height:66px;
  padding:13px 18px;
  border-right:1px solid rgba(255,255,255,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  text-decoration:none;
}
.hero-stats>:last-child{border-right:0}
.hero-stats span{
  color:#b9d1ef;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:1.1px;
}
.hero-stats strong{
  color:#fff;
  font-size:15px;
  font-weight:600;
}
.hero-stats a strong{
  font-size:9px;
  letter-spacing:.5px;
  color:#fff;
}
.home-personal-stats{display:none!important}

/* Compact profile menu keeps Admin out of the client navigation */
.profile-menu{
  position:relative;
  margin-left:16px;
  padding-left:16px;
  border-left:1px solid var(--line);
  flex:0 0 auto;
}
.profile-menu summary{
  list-style:none;
  cursor:pointer;
  min-width:92px;
  padding:7px 22px 7px 0;
  position:relative;
}
.profile-menu summary::-webkit-details-marker{display:none}
.profile-menu summary:after{
  content:"";
  position:absolute;
  right:3px;
  top:50%;
  width:6px;
  height:6px;
  border-right:1px solid #8593a1;
  border-bottom:1px solid #8593a1;
  transform:translateY(-65%) rotate(45deg);
}
.profile-menu summary strong{display:block;font-size:11px;color:var(--ink)}
.profile-menu summary span{display:block;font-size:9px;color:#8593a1;margin-top:2px}
.profile-menu-panel{
  position:absolute;
  z-index:50;
  top:100%;
  right:0;
  width:160px;
  padding:6px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 8px 24px rgba(35,59,87,.12);
}
.profile-menu-panel a{
  display:block;
  padding:9px 10px;
  text-decoration:none;
  font-size:10px;
  font-weight:650;
  color:#607184;
}
.profile-menu-panel a:hover{background:#f2f6fa;color:var(--blue)}

/* Zone rotation */
.zone-rotation-note{
  margin:0 0 14px;
  padding:11px 12px;
  border-left:3px solid var(--sky);
  background:#f4f8fc;
}
.zone-rotation-note strong{
  display:block;
  font-size:10px;
  color:var(--blue);
  margin-bottom:3px;
}
.zone-rotation-note span{
  display:block;
  font-size:9px;
  line-height:1.45;
  color:#6f8192;
}

/* Shift Report filter */
.shift-report-head{align-items:center}
.report-filter{
  display:flex;
  border:1px solid var(--line);
  background:#fff;
}
.report-filter a{
  padding:10px 13px;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  color:#748596;
  border-right:1px solid var(--line);
}
.report-filter a:last-child{border-right:0}
.report-filter a.active{
  background:var(--navy);
  color:#fff;
}
.reports-personal-stats{margin-bottom:18px}

/* Make desktop nav breathe */
.desktop-nav{gap:2px}
.desktop-nav a{padding-left:10px;padding-right:10px}

@media(max-width:820px){
  .profile-menu{display:none!important}
  .hero-with-stats .hero-main{
    display:block;
    padding:27px 22px 20px;
  }
  .hero-with-stats .service-badge{
    margin-top:18px;
  }
  .hero-stats{grid-template-columns:1fr 1fr}
  .hero-stats>div,.hero-stats>a{
    min-height:62px;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .hero-stats>:nth-child(2n){border-right:0}
  .hero-stats>:nth-last-child(-n+2){border-bottom:0}
  .shift-report-head{display:block}
  .report-filter{margin-top:16px;width:max-content}
}


/* NBCP V1.4.1 final portal polish */
@media(max-width:820px){
  .patrol{
    grid-template-columns:82px minmax(0,1fr);
    align-items:stretch;
    position:relative;
  }
  .patrol>.date{
    grid-row:1;
    grid-column:1;
    align-self:stretch;
    min-height:100%;
    padding:20px 10px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .patrol>.details{
    grid-row:1;
    grid-column:2;
    padding:20px 16px 18px;
  }
  .patrol>.patrol-action{
    grid-column:2;
    grid-row:2;
    padding:0 16px 18px;
    background:#fff;
  }
  .patrol>.patrol-action .button{
    width:auto;
    min-width:0;
    padding:10px 0 3px;
    background:transparent;
    border:0;
    border-radius:0;
    color:var(--blue);
    font-size:10px;
    justify-content:flex-start;
    box-shadow:none;
  }
  .patrol>.patrol-action .button:hover{
    background:transparent;
    color:var(--navy);
  }
}
@media(max-width:520px){
  .patrol>.details h3{font-size:17px}
  .patrol>.partner{gap:8px}
}

/* Profile details */
.profile-details-card{
  margin-top:18px;
  border:1px solid var(--line);
  background:#fff;
}
.profile-details-head{
  padding:18px 20px;
  border-bottom:1px solid var(--line);
}
.profile-details-head h2{
  margin:2px 0 4px;
  font-size:18px;
  font-weight:600;
  color:var(--navy);
}
.profile-details-head p{
  margin:0;
  color:#7a8998;
  font-size:10px;
}
.profile-details-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.profile-detail{
  padding:16px 20px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.profile-detail:nth-child(2n){border-right:0}
.profile-detail span{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#8a98a5;
  margin-bottom:5px;
}
.profile-detail strong{
  display:block;
  font-size:12px;
  color:#294b72;
  overflow-wrap:anywhere;
}
@media(max-width:600px){
  .profile-details-grid{grid-template-columns:1fr}
  .profile-detail{border-right:0}
}

/* Legal pages */
.legal-document .legal-note{
  padding:14px 16px;
  border-left:3px solid var(--sky);
  background:#f5f8fb;
  color:#607386;
  font-size:10px;
  line-height:1.6;
}


/* NBCP V1.5 mobile next patrol card */
@media(max-width:820px){
  .patrol{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:stretch;
    overflow:hidden;
  }
  .patrol>.date{
    grid-column:1;
    grid-row:1 / 3;
    align-self:stretch;
    min-height:100%;
    height:auto;
    padding:18px 8px;
    background:#edf4fb;
    display:flex;
    align-items:center;
    justify-content:center;
    border-right:1px solid #e0e8ef;
  }
  .patrol>.details{
    grid-column:2;
    grid-row:1;
    padding:18px 16px 10px;
  }
  .patrol>.patrol-action{
    grid-column:2;
    grid-row:2;
    padding:0 16px 16px;
    background:#fff;
    display:block;
    align-self:end;
  }
  .patrol>.patrol-action .button{
    display:inline-flex;
    width:auto;
    min-height:0;
    height:auto;
    padding:4px 0;
    margin:0;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:var(--blue)!important;
    font-size:9px;
    line-height:1.2;
    font-weight:800;
    text-align:left;
  }
}
@media(max-width:520px){
  .patrol{
    grid-template-columns:72px minmax(0,1fr);
  }
  .patrol>.date strong{font-size:25px}
  .patrol>.date span{font-size:8px}
  .patrol>.details{padding:17px 14px 9px}
  .patrol>.patrol-action{padding:0 14px 14px}
}

/* PWA three-action row */
.patrol-actions-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.patrol-actions-three .patrol-action{
  font-size:10px;
  padding-left:7px;
  padding-right:7px;
}

/* Plate search */
.plate-search-intro h1{margin-bottom:6px}
.plate-search-intro>p{font-size:10px;line-height:1.5;color:#6f8192}
.plate-search-form{margin-top:18px}
.plate-search-form>label{display:block;font-size:9px;font-weight:700;color:#52697f;margin-bottom:6px}
.plate-search-form>div{display:grid;grid-template-columns:1fr auto}
.plate-search-form input{
  min-width:0;
  border-radius:0;
  text-transform:uppercase;
  font-size:20px;
  font-weight:700;
  letter-spacing:2px;
}
.plate-search-form button{
  border:0;
  background:var(--blue);
  color:#fff;
  padding:0 18px;
  font-size:10px;
  font-weight:800;
}
.plate-data-age{display:block;margin-top:10px;color:#8997a4;font-size:8px}
.plate-result{
  margin-top:14px;
  border:1px solid #d9e2e9;
  background:#fff;
}
.plate-result-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
}
.plate-result-status strong{font-size:11px;letter-spacing:.4px}
.plate-result-status span{font-size:17px;font-weight:800;letter-spacing:1.5px}
.plate-result>p{margin:0;padding:13px 16px;border-top:1px solid #e6ebef;font-size:10px;line-height:1.55}
.plate-hit{border-color:#d7aaaa}
.plate-hit .plate-result-status{background:#9d4545;color:#fff}
.plate-hit>p{background:#fff6f6;color:#714d4d}
.plate-clear .plate-result-status{background:#eef7f0;color:#326742}
.plate-vehicle{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid #e6ebef;
}
.plate-vehicle>div{padding:12px 16px;border-right:1px solid #e6ebef;border-bottom:1px solid #e6ebef}
.plate-vehicle>div:nth-child(2n){border-right:0}
.plate-vehicle span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#8895a1;margin-bottom:4px}
.plate-vehicle strong{display:block;font-size:11px;color:#2b4d71}

/* Admin stolen vehicle importer */
.stolen-admin-status{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  background:#fff;
  margin-bottom:18px;
}
.stolen-admin-status>div{padding:14px 16px;border-right:1px solid var(--line)}
.stolen-admin-status>div:last-child{border-right:0}
.stolen-admin-status span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.8px;color:#8997a4;margin-bottom:4px}
.stolen-admin-status strong{display:block;font-size:12px;color:#294b72;overflow-wrap:anywhere}
.stolen-format-panel p,.stolen-format-panel li{font-size:10px;line-height:1.55;color:#687b8c}
.stolen-format-panel ol{padding-left:20px}
.stolen-safety-note{margin-top:18px;padding:12px 14px;border-left:3px solid var(--yellow);background:#fffce8}
.stolen-safety-note strong,.stolen-safety-note span{display:block}
.stolen-safety-note strong{font-size:10px;color:#665c17;margin-bottom:3px}
.stolen-safety-note span{font-size:9px;line-height:1.5;color:#746d3f}
@media(max-width:700px){
  .patrol-actions-three{grid-template-columns:1fr}
  .plate-vehicle{grid-template-columns:1fr}
  .plate-vehicle>div{border-right:0}
  .stolen-admin-status{grid-template-columns:1fr}
  .stolen-admin-status>div{border-right:0;border-bottom:1px solid var(--line)}
  .stolen-admin-status>div:last-child{border-bottom:0}
}


/* NBCP V1.5.1 plate search and mobile card polish */
@media(max-width:820px){
  .patrol>.patrol-action .button:after{content:none!important}
  .patrol>.patrol-action .button{
    letter-spacing:0;
    white-space:nowrap;
  }
}

/* Registration plate input */
.plate-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px;
  align-items:stretch;
}
.plate-input-shell{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  min-height:56px;
  border:2px solid #222;
  border-radius:6px;
  background:#f4f4f0;
  box-shadow:inset 0 0 0 2px #fff;
  overflow:hidden;
}
.plate-country{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#174b8f;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.8px;
}
.plate-input-shell input{
  width:100%;
  min-width:0;
  height:100%;
  margin:0;
  padding:0 10px;
  border:0!important;
  outline:0;
  background:transparent!important;
  color:#161616;
  text-transform:uppercase;
  text-align:center;
  font-size:25px!important;
  line-height:1;
  font-weight:800!important;
  letter-spacing:5px!important;
  box-shadow:none!important;
}
.plate-input-shell input::placeholder{
  color:#8b8b85;
  letter-spacing:4px;
}
.plate-search-button:disabled{opacity:.65}
.plate-error{
  border-color:#e0c0c0;
  background:#fff8f8;
}
.plate-error p{
  margin:0;
  padding:14px 16px;
  color:#7c4e4e;
  font-size:10px;
}
.stolen-upload-panel{
  max-width:650px;
}
.stolen-upload-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.stolen-upload-form label{margin:0}
.stolen-upload-form .button{min-height:42px}
@media(max-width:600px){
  .plate-input-row{
    grid-template-columns:1fr!important;
  }
  .plate-search-button{min-height:46px}
  .stolen-upload-form{grid-template-columns:1fr}
}


/* NBCP V1.5.4 Active Patrol */
.active-patrol-refresh{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  color:#6f8192;
  white-space:nowrap;
}
.live-pulse{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3d985c;
  box-shadow:0 0 0 4px rgba(61,152,92,.1);
}
.active-patrol-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}
.active-patrol-sidebar{
  border:1px solid var(--line);
  background:#fff;
  min-width:0;
}
.active-patrol-sidebar-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:17px 18px;
  border-bottom:1px solid var(--line);
}
.active-patrol-sidebar-head h2{
  margin:2px 0 0;
  font-size:17px;
  color:var(--navy);
}
.active-patrol-sidebar-head>span{
  font-size:8px;
  color:#8a98a5;
  margin-top:3px;
}
.active-patrol-list{
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.active-patrol-card{
  width:100%;
  display:block;
  text-align:left;
  border:1px solid #dce4eb;
  background:#fff;
  padding:14px;
  color:inherit;
  cursor:pointer;
  border-radius:4px;
  appearance:none;
}
.active-patrol-card:hover{
  border-color:#adc0d2;
  background:#fbfdff;
}
.active-patrol-card.selected{
  border-color:#6e98d2;
  box-shadow:inset 3px 0 0 #24589d;
  background:#f7fafe;
}
.active-patrol-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.active-patrol-card-top>strong{
  font-size:9px;
  color:#738494;
}
.active-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.7px;
  color:#377d50;
}
.active-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#43a363;
}
.active-status.aging{color:#8a6b27}
.active-status.aging i{background:#d09a34}
.active-status.stale,
.active-status.missing{color:#8b5454}
.active-status.stale i,
.active-status.missing i{background:#b75d5d}
.active-patrol-card h3{
  margin:11px 0 2px;
  font-size:15px;
  font-weight:650;
  color:#294b72;
}
.active-partner{
  margin:0 0 10px;
  font-size:9px;
  color:#748697;
}
.active-patrol-card dl{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:11px 0;
  border-top:1px solid #e8edf1;
  border-bottom:1px solid #e8edf1;
}
.active-patrol-card dl div{
  padding:9px 6px 9px 0;
}
.active-patrol-card dt{
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.7px;
  color:#93a0ac;
}
.active-patrol-card dd{
  margin:3px 0 0;
  font-size:10px;
  font-weight:700;
  color:#405a73;
}
.active-card-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:8px;
  color:#7b8c9b;
  margin-bottom:9px;
}
.active-vehicle{
  color:#506d89;
  font-weight:700;
}
.active-location-status{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:8px;
  color:#667b8e;
}
.location-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#3c9a5e;
  flex:0 0 auto;
}
.location-dot.aging{background:#d09a34}
.location-dot.stale,
.location-dot.missing{background:#b75d5d}
.active-patrol-empty{
  text-align:center;
  padding:35px 20px;
}
.active-patrol-empty-mark{
  width:38px;
  height:38px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfdbe5;
  color:#6c8195;
  font-size:13px;
  font-weight:800;
}
.active-patrol-empty strong{
  display:block;
  font-size:12px;
  color:#385674;
}
.active-patrol-empty p{
  margin:6px auto 0;
  max-width:220px;
  font-size:9px;
  line-height:1.5;
  color:#81909d;
}
.active-patrol-map-panel{
  border:1px solid var(--line);
  background:#fff;
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(430px,1fr) auto;
}
.active-map-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
}
.active-map-toolbar h2{
  margin:2px 0 0;
  font-size:17px;
  color:var(--navy);
}
.active-map-legend{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:4px;
  font-size:8px;
  color:#82919e;
}
.active-map-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
.legend-live{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#24589d;
}
.legend-route{
  width:17px;
  height:3px;
  background:#6e98d2;
}
.active-patrol-map{
  min-height:430px;
  background:#eef2f5;
}
.active-map-footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 14px;
  border-top:1px solid var(--line);
  font-size:8px;
  color:#84929e;
}
.active-map-footer strong{
  color:#526d87;
}
.map-popup{
  min-width:160px;
}
.map-popup strong,
.map-popup span,
.map-popup small{
  display:block;
}
.map-popup strong{
  font-size:12px;
  color:#294b72;
  margin-bottom:4px;
}
.map-popup span{
  font-size:10px;
  line-height:1.45;
}
.map-popup small{
  margin-top:4px;
  color:#81909e;
  font-size:8px;
}
@media(max-width:950px){
  .active-patrol-layout{
    grid-template-columns:1fr;
  }
  .active-patrol-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .active-patrol-map-panel{
    grid-template-rows:auto 430px auto;
  }
}
@media(max-width:650px){
  .active-patrol-refresh{
    margin-top:12px;
  }
  .active-patrol-list{
    grid-template-columns:1fr;
  }
  .active-map-toolbar{
    display:block;
  }
  .active-map-legend{
    margin-top:10px;
  }
  .active-patrol-map{
    min-height:360px;
  }
  .active-patrol-map-panel{
    grid-template-rows:auto 360px auto;
  }
  .active-map-footer{
    display:block;
  }
  .active-map-footer strong{
    display:block;
    margin-top:4px;
  }
}


/* NBCP V1.5.5 final visual polish */
.hero-stats{grid-template-columns:repeat(3,1fr)}
.my-roster-shift{background:#bfd7ee!important;border-color:#9bbbd7!important}
.my-roster-shift .roster-contact-names strong,.my-roster-shift .roster-contact-phones span{color:#214f7d!important}
.roster-contact-phones span{font-weight:700!important;color:#3a5269!important}
.patrol-action-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.patrol-visual-action{position:relative;min-height:126px;overflow:hidden;border:1px solid #cdd9e4;background:#17385d;text-decoration:none;color:#fff;display:flex;align-items:flex-end}
.patrol-visual-image{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat}
.patrol-visual-action.event .patrol-visual-image{background-image:linear-gradient(180deg,rgba(16,42,70,.04),rgba(16,42,70,.72)),url('/assets/patrol-visuals/log-event.svg')}
.patrol-visual-action.plate .patrol-visual-image{background-image:linear-gradient(180deg,rgba(16,42,70,.03),rgba(16,42,70,.70)),url('/assets/patrol-visuals/plate-search.svg')}
.patrol-visual-action.end .patrol-visual-image{background-image:linear-gradient(180deg,rgba(16,42,70,.04),rgba(16,42,70,.75)),url('/assets/patrol-visuals/end-patrol.svg')}
.patrol-visual-copy{position:relative;z-index:1;width:100%;padding:12px 13px;border-top:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(26,58,91,.06),rgba(18,43,70,.70))}
.patrol-visual-copy small{display:block;margin-bottom:3px;font-size:7px;line-height:1.2;text-transform:uppercase;letter-spacing:1px;color:#c5d9ea}
.patrol-visual-copy strong{display:block;font-size:11px;letter-spacing:.3px;color:#fff}
.patrol-visual-action:active{transform:translateY(1px)}
@media(max-width:700px){.hero-stats{grid-template-columns:repeat(3,1fr)}.hero-stats>div{border-bottom:0!important}.patrol-action-tiles{grid-template-columns:1fr;gap:8px}.patrol-visual-action{min-height:110px}}

/* NBCP Patrol Mode V1.5.7 modern interface */
.patrol-body{
  --patrol-navy:#17385d;
  --patrol-navy-deep:#0b2239;
  --patrol-blue:#285d9f;
  --patrol-blue-bright:#3b77b8;
  --patrol-sky:#6e98d2;
  --patrol-ink:#203c5b;
  --patrol-muted:#6d8094;
  --patrol-line:#d5e0e9;
  --patrol-surface:#fff;
  --patrol-bg:#edf2f6;
  background:
    radial-gradient(circle at 12% -8%,rgba(110,152,210,.18),transparent 28rem),
    linear-gradient(180deg,#edf2f6 0,#f7f9fb 34rem,#eef3f7 100%);
  color:var(--patrol-ink);
  overflow-x:hidden;
}
.patrol-body:before{
  content:"";position:fixed;inset:0 0 auto;height:260px;pointer-events:none;z-index:-1;
  background:linear-gradient(145deg,rgba(23,56,93,.055),rgba(40,93,159,.01));
  clip-path:polygon(0 0,100% 0,100% 62%,0 100%);
}
.patrol-body .patrol-shell{max-width:760px;padding:22px max(16px,env(safe-area-inset-right)) calc(42px + env(safe-area-inset-bottom));}

.patrol-appbar{
  min-height:66px;padding:10px max(16px,env(safe-area-inset-left));
  background:rgba(255,255,255,.92);border-bottom:1px solid rgba(174,193,208,.62);
  box-shadow:0 6px 24px rgba(19,46,73,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.patrol-brand{display:flex!important;align-items:center;gap:13px;margin:0!important;text-align:left!important;}
.patrol-brand img{width:138px!important;display:block;}
.patrol-brand>div{display:flex;flex-direction:column;gap:1px;}
.patrol-brand strong{font-size:13px!important;letter-spacing:.1px;color:#17385d;}
.patrol-brand span{font-size:9px!important;letter-spacing:.5px;color:#7b8d9d!important;text-transform:uppercase;}
.patrol-appbar-state{margin-left:auto!important;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px;padding:6px 9px;border:1px solid #cae0d2;background:#f5fbf7;text-align:left!important;}
.patrol-appbar-state i{width:7px;height:7px;border-radius:50%;background:#42a263;box-shadow:0 0 0 0 rgba(66,162,99,.35);animation:patrolPulse 2s infinite;}
.patrol-appbar-state span{font-size:8px!important;font-weight:800;letter-spacing:1.1px;color:#3f7652!important;}
.patrol-complete-state{margin-left:auto;font-size:8px;font-weight:800;letter-spacing:1.1px;color:#3d7650;border:1px solid #cfe1d4;padding:7px 9px;background:#f4faf6;}

.patrol-subbar{gap:12px;}
.patrol-back{width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;border:1px solid #cbd9e4!important;background:#fff!important;border-radius:8px!important;font-size:27px!important;font-weight:400!important;line-height:1!important;color:#214f7d!important;box-shadow:0 3px 9px rgba(25,54,80,.05);}
.patrol-subbar-title{margin:0!important;text-align:left!important;display:flex!important;flex:1!important;flex-direction:column!important;gap:1px!important;min-width:0;}
.patrol-subbar-title strong{font-size:14px!important;color:#17385d;}
.patrol-subbar-title span{font-size:9px!important;color:#7a8b9a!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.patrol-subbar-mark{font-size:8px!important;font-weight:850;letter-spacing:1px!important;color:#315f8e!important;border-left:1px solid #d8e2e9;padding-left:12px;}

.patrol-test-banner{border:0;border-left:3px solid #d3b43c;border-radius:6px;background:#fffbed;box-shadow:0 5px 16px rgba(88,75,20,.06);animation:patrolRise .35s ease both;}

.patrol-command-card{
  position:relative;overflow:hidden;margin-bottom:14px;padding:22px 22px 18px;
  background:linear-gradient(145deg,#17385d 0%,#214f7d 56%,#285d9f 100%);
  border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#fff;
  box-shadow:0 18px 42px rgba(14,40,65,.23);animation:patrolRise .42s ease both;
}
.patrol-command-card:before{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-110px;top:-145px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.018);pointer-events:none;}
.patrol-command-card:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#ffea22 45%,transparent);opacity:.62;}
.patrol-command-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;}
.patrol-command-head h1{margin:2px 0 3px;color:#fff;font-size:30px;line-height:1.05;letter-spacing:.3px;font-weight:650;}
.patrol-command-card .patrol-people{color:#d9e7f4;margin:0;font-size:12px;}
.patrol-command-card .patrol-live{margin:0 0 8px;padding:0;background:transparent;color:#cce8d5;font-size:8px;}
.patrol-command-card .patrol-live span{background:#62c27f;box-shadow:0 0 0 4px rgba(98,194,127,.14);animation:patrolPulse 2s infinite;}
.patrol-zone-badge{position:relative;z-index:1;display:flex;min-width:76px;flex-direction:column;align-items:flex-end;padding:7px 0 0;border-top:1px solid rgba(255,255,255,.35);}
.patrol-zone-badge span{font-size:7px;letter-spacing:1.6px;color:#bcd0e3;}
.patrol-zone-badge strong{margin-top:4px;font-size:14px;color:#fff;}
.patrol-command-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:21px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);}
.patrol-command-stats>div{padding:12px 13px 12px 0;min-width:0;}
.patrol-command-stats>div+div{padding-left:13px;border-left:1px solid rgba(255,255,255,.14);}
.patrol-command-stats span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:1px;color:#bcd0e3;margin-bottom:4px;}
.patrol-command-stats strong{display:block;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.patrol-command-card .gps-status{position:relative;z-index:1;margin:14px 0 0;border:1px solid rgba(255,255,255,.14);background:rgba(9,31,51,.23);border-radius:7px;}
.patrol-command-card .gps-status strong{color:#e7f5eb;}
.patrol-command-card .gps-status small{color:#bdd1c4;}
.patrol-command-card .gps-status.error{background:rgba(104,30,35,.35);border-color:rgba(255,186,186,.25);}
.patrol-command-card .gps-status.error strong{color:#ffd6d6;}

.patrol-map-card{background:#fff;border:1px solid #d5e0e9;border-radius:11px;padding:18px;margin-bottom:14px;box-shadow:0 12px 28px rgba(24,53,80,.08);animation:patrolRise .48s .03s ease both;}
.patrol-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.patrol-section-head .panel-kicker{margin:0 0 4px;}
.patrol-section-head h2{margin:0;color:#17385d;font-size:18px;font-weight:650;}
.section-count{font-size:8px;color:#738697;border:1px solid #d7e0e7;background:#f7f9fb;padding:6px 8px;white-space:nowrap;}
.map-locate-button{border:1px solid #c6d6e3;background:#f7fafc;color:#285d9f;font:inherit;font-size:8px;font-weight:800;letter-spacing:.6px;padding:8px 10px;cursor:pointer;border-radius:6px;}
.map-locate-button:active{transform:translateY(1px);}
.patrol-map-help{margin:9px 0 12px!important;font-size:9px;line-height:1.5!important;color:#718394;}
.patrol-live-map{height:330px;background:#e8eef3;border:1px solid #cad7e1;border-radius:7px;overflow:hidden;z-index:1;}
.patrol-live-map .leaflet-control-zoom a{color:#214f7d;}
.patrol-live-map .leaflet-control-attribution{font-size:7px;}
.patrol-live-map .leaflet-interactive{stroke:#285d9f;}
.patrol-map-footer{display:flex;justify-content:space-between;gap:10px;padding-top:9px;color:#7b8c9b;font-size:8px;}
.patrol-map-footer span:first-child{font-weight:650;color:#4f677e;}

.patrol-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 14px;animation:patrolRise .52s .06s ease both;}
.patrol-quick-action{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;min-height:78px;padding:13px 12px;border:1px solid #cfdce6;border-radius:9px;background:linear-gradient(160deg,#fff,#f7fafc);text-decoration:none;color:#20496f;box-shadow:0 7px 17px rgba(22,49,75,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.patrol-quick-action:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#285d9f;}
.patrol-quick-action.end:before{background:#985050;}
.patrol-quick-action:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(22,49,75,.1);border-color:#b8ccdc;}
.patrol-quick-action:active{transform:translateY(1px) scale(.995);}
.patrol-action-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#edf4fb;border:1px solid #d7e5f0;}
.patrol-quick-action.end .patrol-action-icon{background:#fbefef;border-color:#ead4d4;}
.patrol-action-icon svg{width:19px;height:19px;fill:none;stroke:#285d9f;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.patrol-quick-action.end .patrol-action-icon svg{stroke:#965050;}
.patrol-quick-action>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px;}
.patrol-quick-action small{font-size:7px;text-transform:uppercase;letter-spacing:.8px;color:#8493a0;white-space:nowrap;}
.patrol-quick-action strong{font-size:10px;letter-spacing:.2px;color:#214f7d;white-space:nowrap;}
.patrol-quick-action.end strong{color:#8b4747;}

.patrol-body .patrol-card{border:1px solid #d6e0e8;border-radius:10px;box-shadow:0 10px 25px rgba(24,53,80,.065);padding:20px;animation:patrolRise .42s ease both;}
.patrol-body .patrol-card h1,.patrol-body .patrol-card h2{color:#17385d;font-weight:650;letter-spacing:-.15px;}
.patrol-recent-card{padding:18px 20px!important;}
.patrol-event-list{margin-top:10px;gap:0;}
.patrol-event-list>div{display:grid;grid-template-columns:8px 1fr;justify-content:initial;gap:10px;align-items:start;padding:10px 0;}
.patrol-event-list>div>i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#6e98d2;box-shadow:0 0 0 4px #edf4fb;}
.patrol-event-list>div>div{display:flex;justify-content:space-between;gap:12px;min-width:0;}
.patrol-event-list strong{font-size:10px;color:#294d70;}
.patrol-event-list span{font-size:8px;color:#80909e;}

.patrol-welcome-hero{position:relative;overflow:hidden;padding:30px 24px;margin-bottom:14px;border-radius:12px;background:linear-gradient(145deg,#17385d,#285d9f);box-shadow:0 18px 38px rgba(18,48,75,.2);color:#fff;animation:patrolRise .42s ease both;}
.patrol-welcome-hero:after{content:"";position:absolute;right:-70px;bottom:-95px;width:230px;height:230px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025);}
.patrol-welcome-hero .panel-kicker{color:#c5d8ea;margin:0 0 6px;}
.patrol-welcome-hero h1{margin:0 0 8px;font-size:29px;color:#fff;font-weight:650;}
.patrol-welcome-hero p:last-child{max-width:430px;margin:0;color:#d4e1ee;font-size:11px;line-height:1.55;}
.patrol-welcome-mark{position:absolute;right:23px;top:23px;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.06);}
.patrol-welcome-mark svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;opacity:.9;}
.patrol-schedule-card{padding:18px!important;}
.patrol-schedule-card .scheduled-shifts{margin-top:12px;}
.patrol-body .scheduled-shifts a{position:relative;overflow:hidden;border:1px solid #d9e3eb;border-left:0;border-radius:7px;background:#fbfcfd;padding:13px 14px;transition:background .16s ease,transform .16s ease;}
.patrol-body .scheduled-shifts a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#285d9f;}
.patrol-body .scheduled-shifts a:hover{background:#f3f8fc;transform:translateX(2px);}
.patrol-body .scheduled-shifts a div small{font-size:7px;letter-spacing:1px;color:#7790a8;margin-bottom:2px;}
.patrol-body .scheduled-shifts a div strong{font-size:12px;color:#20486d;}
.patrol-body .scheduled-shifts a b{font-size:8px;border:1px solid #c9d8e4;padding:7px 8px;color:#285d9f;background:#fff;}
.patrol-start-main{position:relative;justify-content:space-between!important;padding:14px 16px!important;background:linear-gradient(135deg,#285d9f,#234e7b)!important;box-shadow:0 12px 24px rgba(40,93,159,.2);border-radius:8px!important;transition:transform .17s ease,box-shadow .17s ease;}
.patrol-start-main b{font-size:22px;font-weight:300;line-height:1;}
.patrol-start-main:active{transform:translateY(1px);box-shadow:0 7px 15px rgba(40,93,159,.18);}
.patrol-device-info{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;text-align:left!important;gap:18px;margin-top:14px;padding:13px 15px!important;border:1px dashed #c4d3df!important;background:rgba(255,255,255,.45)!important;box-shadow:none!important;}
.patrol-device-info>div{display:flex;flex-direction:column;gap:2px;}
.patrol-device-info span{font-size:7px!important;letter-spacing:1px;text-transform:uppercase;}
.patrol-device-info strong{font-size:11px!important;color:#315474;}
.patrol-device-info small{text-align:right;font-size:8px!important;max-width:280px;}

.patrol-body .patrol-form{display:block;background:transparent;border:0;border-radius:0;overflow:visible;margin:0;}
.patrol-body .patrol-form>.patrol-card{border:1px solid #d6e0e8;border-radius:10px;margin:0 0 12px;padding:20px;background:#fff;box-shadow:0 10px 24px rgba(25,55,82,.065);}
.patrol-body .patrol-form>.patrol-card:last-of-type{border:1px solid #d6e0e8;}
.patrol-body .patrol-form>.patrol-big-button{width:100%;margin:14px 0 0;}
.patrol-form .panel-kicker{margin-bottom:5px;}
.patrol-form label{font-size:9px;letter-spacing:.1px;color:#4c6680;}
.patrol-body .patrol-form input[type=text],.patrol-body .patrol-form input[type=number],.patrol-body .patrol-form input[type=datetime-local],.patrol-body .patrol-form input[type=file],.patrol-body .patrol-form select,.patrol-body .patrol-form textarea{
  border:1px solid #cbd8e3;border-radius:7px;background:#fbfcfd;min-height:45px;padding:11px 12px;box-shadow:inset 0 1px 1px rgba(28,57,83,.025);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.patrol-body .patrol-form textarea{min-height:112px;}
.patrol-body .patrol-form input:focus,.patrol-body .patrol-form select:focus,.patrol-body .patrol-form textarea:focus{outline:0;border-color:#6e98d2;background:#fff;box-shadow:0 0 0 3px rgba(110,152,210,.14);}
.choice-row{gap:7px;margin-top:6px;}
.patrol-body .choice-row label{position:relative;border:1px solid #d1dce5;border-radius:7px;background:#f8fafc;padding:9px 11px;transition:border-color .16s ease,background .16s ease,transform .12s ease;}
.patrol-body .choice-row label:has(input:checked){border-color:#8eb1d3;background:#edf5fc;color:#285d9f;box-shadow:inset 0 0 0 1px rgba(40,93,159,.08);}
.patrol-body .choice-row label:active{transform:scale(.99);}
.vehicle-checks{gap:8px;}
.patrol-body .vehicle-check{grid-template-columns:minmax(0,1fr) auto auto;border:1px solid #dbe3ea;border-radius:8px;background:#fbfcfd;padding:10px 11px;}
.patrol-body .vehicle-check label{border-radius:6px;}
.zone-rotation-note{border:0!important;border-left:3px solid #6e98d2!important;border-radius:4px!important;background:#f2f7fb!important;padding:11px 12px!important;}

.patrol-big-button{min-height:56px;border-radius:8px!important;background:linear-gradient(135deg,#285d9f,#204d7b);box-shadow:0 10px 21px rgba(40,93,159,.17);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;}
.patrol-big-button:hover{filter:brightness(1.025);box-shadow:0 13px 25px rgba(40,93,159,.2);}
.patrol-big-button:active{transform:translateY(1px);box-shadow:0 6px 13px rgba(40,93,159,.17);}
.patrol-big-button.danger-button{background:linear-gradient(135deg,#9c5050,#7f3c3c);box-shadow:0 10px 21px rgba(130,58,58,.16);}

.gps-status{border:1px solid #d5e5da;background:#f5faf7;border-radius:7px;}
.gps-status .gps-dot{animation:patrolPulse 2.2s infinite;}
.patrol-safety-hold{border-left-width:3px;border-radius:4px;box-shadow:0 5px 14px rgba(123,53,53,.07);}

.plate-search-intro{overflow:hidden;position:relative;}
.plate-search-intro:after{content:"";position:absolute;right:-60px;top:-80px;width:180px;height:180px;border-radius:50%;border:1px solid #edf2f6;box-shadow:0 0 0 35px #f8fafc;pointer-events:none;}
.plate-search-intro>*{position:relative;z-index:1;}
.plate-input-shell{border-radius:8px;border-color:#223a51;background:#f5f5f0;box-shadow:0 5px 13px rgba(23,45,65,.07),inset 0 0 0 2px #fff;}
.plate-country{background:linear-gradient(180deg,#174b8f,#123b73);}
.plate-search-button{border-radius:7px!important;background:linear-gradient(135deg,#285d9f,#204e7c)!important;box-shadow:0 8px 17px rgba(40,93,159,.16);}
.plate-result{border-radius:9px;overflow:hidden;box-shadow:0 11px 25px rgba(28,55,80,.08);animation:patrolResult .3s ease both;}

.complete-card{position:relative;overflow:hidden;padding:38px 24px!important;box-shadow:0 18px 38px rgba(25,55,82,.1)!important;}
.complete-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#285d9f,#6e98d2,#285d9f);}
.complete-check{width:64px;height:64px;background:#eaf7ee;color:#348154;font-size:30px;box-shadow:0 0 0 9px #f5fbf7;animation:patrolComplete .42s cubic-bezier(.2,.8,.2,1) both;}
.complete-card .patrol-meta-grid{margin-top:20px;}

@keyframes patrolPulse{0%{box-shadow:0 0 0 0 rgba(75,167,105,.30)}65%{box-shadow:0 0 0 7px rgba(75,167,105,0)}100%{box-shadow:0 0 0 0 rgba(75,167,105,0)}}
@keyframes patrolRise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes patrolResult{from{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes patrolComplete{from{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}

@media(max-width:700px){
  .patrol-body .patrol-shell{padding-top:14px;}
  .patrol-brand img{width:118px!important;}
  .patrol-command-card{padding:19px 17px 16px;border-radius:10px;}
  .patrol-command-head h1{font-size:25px;}
  .patrol-zone-badge{min-width:64px;}
  .patrol-command-stats>div{padding:10px 8px 10px 0;}
  .patrol-command-stats>div+div{padding-left:8px;}
  .patrol-command-stats span{font-size:6.5px;letter-spacing:.7px;}
  .patrol-command-stats strong{font-size:10px;}
  .patrol-map-card{padding:15px;border-radius:9px;}
  .patrol-live-map{height:290px;}
  .patrol-quick-actions{grid-template-columns:1fr;gap:7px;}
  .patrol-quick-action{min-height:63px;padding:10px 12px;}
  .patrol-action-icon{width:32px;height:32px;flex-basis:32px;}
  .patrol-quick-action small{font-size:6.5px;}
  .patrol-quick-action strong{font-size:10px;}
  .patrol-welcome-hero{padding:25px 20px;}
  .patrol-welcome-hero h1{font-size:25px;}
  .patrol-welcome-mark{width:40px;height:40px;right:18px;top:18px;}
  .patrol-body .patrol-card,.patrol-body .patrol-form>.patrol-card{padding:17px;}
  .patrol-device-info{align-items:flex-start!important;}
  .patrol-device-info small{max-width:190px;}
  .vehicle-check{grid-template-columns:1fr!important;}
  .vehicle-check label{justify-content:center;}
}
@media(max-width:430px){
  .patrol-appbar-state{padding:6px 7px;}
  .patrol-command-stats{grid-template-columns:1fr 1fr 1fr;}
  .patrol-live-map{height:265px;}
  .patrol-map-footer{font-size:7px;}
  .patrol-device-info{display:block!important;}
  .patrol-device-info small{display:block;max-width:none;text-align:left;margin-top:6px;}
}
@media(prefers-reduced-motion:reduce){
  .patrol-body *, .patrol-body *:before, .patrol-body *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}


/* ============================================================
   NBCP V1.5.8 | Patrol refinements + portal depth pass
   ============================================================ */

/* Welcome screen: keep the hero clean without the decorative shield tile. */
.patrol-welcome-hero{
  padding-right:24px;
}
.patrol-welcome-mark{display:none!important;}

/* Softer roster-count chip. */
.patrol-schedule-card .section-count{
  border-radius:7px;
  background:linear-gradient(145deg,#f8fafc,#eef4f8);
  border-color:#d2dee8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

/* The active-shift card already communicates live status. */
.patrol-appbar-state{display:none!important;}

/* Action controls now use the same deep dimensional language as the shift card. */
.patrol-quick-action{
  min-height:82px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.12),transparent 30%),
    linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%);
  color:#fff;
  box-shadow:0 13px 28px rgba(14,40,65,.18);
}
.patrol-quick-action:before{
  width:2px;
  background:linear-gradient(180deg,rgba(255,234,34,.9),rgba(255,234,34,.12));
}
.patrol-quick-action.plate{
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.13),transparent 31%),
    linear-gradient(145deg,#20496f 0%,#285d9f 62%,#3c75ad 100%);
}
.patrol-quick-action.end{
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(145deg,#29445f 0%,#344c65 50%,#65484e 100%);
}
.patrol-quick-action.end:before{
  background:linear-gradient(180deg,#eeb8b8,rgba(238,184,184,.12));
}
.patrol-quick-action:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 17px 34px rgba(14,40,65,.24);
}
.patrol-action-icon,
.patrol-quick-action.end .patrol-action-icon{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.patrol-action-icon svg,
.patrol-quick-action.end .patrol-action-icon svg{stroke:#fff;}
.patrol-quick-action small{
  color:#bed2e5;
}
.patrol-quick-action strong,
.patrol-quick-action.end strong{
  color:#fff;
  letter-spacing:.35px;
}
.patrol-quick-action:after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-74px;
  width:130px;
  height:130px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  box-shadow:0 0 0 24px rgba(255,255,255,.025);
  pointer-events:none;
}

/* Plate search results: command-card style rather than a generic alert. */
.plate-result{
  position:relative;
  overflow:hidden;
  padding:0!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;
  color:#fff;
  box-shadow:0 18px 38px rgba(17,43,67,.18)!important;
}
.plate-result:before{
  content:"";
  position:absolute;
  right:-88px;
  top:-110px;
  width:220px;
  height:220px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.025);
  pointer-events:none;
}
.plate-result.plate-clear{
  background:linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%)!important;
}
.plate-result.plate-hit{
  background:linear-gradient(145deg,#412c35 0%,#713f48 56%,#94515a 100%)!important;
}
.plate-result.plate-error{
  background:linear-gradient(145deg,#49363a,#765057)!important;
  padding:18px!important;
}
.plate-result-status{
  position:relative;
  z-index:1;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px;
  padding:20px 20px 16px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  background:transparent!important;
}
.plate-result-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.plate-result-copy small{
  font-size:7px;
  line-height:1;
  letter-spacing:1.35px;
  font-weight:800;
  color:#bcd0e3;
}
.plate-result-copy strong{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.25;
}
.plate-result-plate{
  flex:0 0 auto;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
  background:rgba(7,27,45,.18);
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.8px;
}
.plate-hit .plate-result-copy small{color:#f0c9ce;}
.plate-result>p{
  position:relative;
  z-index:1;
  margin:0!important;
  padding:15px 20px!important;
  color:#d8e6f2!important;
  font-size:9px!important;
  line-height:1.6!important;
}
.plate-hit>p{color:#f3dce0!important;}
.plate-vehicle{
  position:relative;
  z-index:1;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 20px 20px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  background:rgba(7,27,45,.17)!important;
}
.plate-vehicle>div{
  padding:12px 13px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.plate-vehicle>div:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.10)!important;
}
.plate-vehicle span{
  color:#b9ccdc!important;
  font-size:7px!important;
  text-transform:uppercase;
  letter-spacing:.8px;
}
.plate-vehicle strong{
  color:#fff!important;
  font-size:10px!important;
  margin-top:3px;
}

/* Completion app bar stays uncluttered. */
.patrol-complete-state{display:none!important;}

/* ------------------------------------------------------------
   Main portal: carry the Patrol Mode depth/gradient language
   through without changing the established portal layout.
   ------------------------------------------------------------ */
body:not(.patrol-body) .hero-with-stats{
  background:
    radial-gradient(circle at 90% 4%,rgba(255,255,255,.10),transparent 23%),
    linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 40px rgba(18,48,75,.16);
}
body:not(.patrol-body) .hero-with-stats:before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-105px;
  bottom:-165px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(255,255,255,.023);
  pointer-events:none;
}
body:not(.patrol-body) .notice-home{
  margin-top:22px;
  padding:18px 20px;
  border:1px solid #d8e2ea;
  border-radius:9px;
  background:linear-gradient(145deg,#fff,#f7fafc);
  box-shadow:0 9px 22px rgba(24,53,80,.055);
}
body:not(.patrol-body) .patrol{
  border-color:#d5e0e8;
  box-shadow:0 11px 26px rgba(24,53,80,.065);
}
body:not(.patrol-body) .date{
  background:linear-gradient(145deg,#edf5fb,#dfeefa);
}
body:not(.patrol-body) .link{
  position:relative;
  overflow:hidden;
  border-color:#d7e1e9;
  background:linear-gradient(150deg,#fff,#f8fafc);
  box-shadow:0 8px 19px rgba(24,53,80,.05);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
body:not(.patrol-body) .link:after{
  content:"";
  position:absolute;
  right:-45px;
  top:-55px;
  width:115px;
  height:115px;
  border:1px solid rgba(40,93,159,.055);
  border-radius:50%;
}
body:not(.patrol-body) .link:hover{
  transform:translateY(-2px);
  border-color:#c4d5e2;
  box-shadow:0 13px 25px rgba(24,53,80,.08);
}

@media(max-width:700px){
  .patrol-quick-action{min-height:68px;}
  .plate-vehicle{grid-template-columns:1fr!important;}
  .plate-vehicle>div:nth-child(odd){border-right:0!important;}
  .plate-result-status{padding:17px!important;}
  .plate-result>p{padding:14px 17px!important;}
  .plate-vehicle{margin:0 17px 17px!important;}
  body:not(.patrol-body) .notice-home{padding:16px;}
}


/* ============================================================
   NBCP V1.5.9 | Full Portal Modern Depth Pass
   Extends the V1.5.8 homepage language across the whole portal.
   ============================================================ */

body:not(.patrol-body){
  background:
    radial-gradient(circle at 82% 5%,rgba(110,152,210,.09),transparent 22rem),
    linear-gradient(180deg,#f5f8fb 0,#f8fafc 380px,#f7f9fb 100%);
}

/* Every interior page gets a dimensional page header. */
body:not(.patrol-body) .page-head{
  position:relative;
  overflow:hidden;
  padding:24px 26px;
  margin-bottom:22px;
  border:1px solid #d7e2ea;
  border-radius:11px;
  background:
    radial-gradient(circle at 96% 8%,rgba(36,88,157,.09),transparent 28%),
    linear-gradient(145deg,#fff 0%,#f7fafc 100%);
  box-shadow:0 12px 28px rgba(24,53,80,.065);
}
body:not(.patrol-body) .page-head:after{
  content:"";
  position:absolute;
  right:-75px;
  bottom:-105px;
  width:180px;
  height:180px;
  border:1px solid rgba(36,88,157,.07);
  border-radius:50%;
  box-shadow:0 0 0 32px rgba(36,88,157,.025);
  pointer-events:none;
}
body:not(.patrol-body) .page-head>div,
body:not(.patrol-body) .page-head>.actions,
body:not(.patrol-body) .page-head>.report-filter{
  position:relative;
  z-index:1;
}

/* Main information surfaces */
body:not(.patrol-body) .admin-panel,
body:not(.patrol-body) .report-section,
body:not(.patrol-body) .profile-details-card,
body:not(.patrol-body) .docs-library,
body:not(.patrol-body) .calendar-wrap,
body:not(.patrol-body) .preferred-panel,
body:not(.patrol-body) .maintenance-admin-panel,
body:not(.patrol-body) .stolen-admin-status,
body:not(.patrol-body) .active-patrol-map-panel,
body:not(.patrol-body) .active-patrol-sidebar,
body:not(.patrol-body) .legal-document,
body:not(.patrol-body) .availability-week-panel{
  border-color:#d7e2ea;
  border-radius:11px;
  background:
    radial-gradient(circle at 96% 0%,rgba(110,152,210,.055),transparent 25%),
    linear-gradient(150deg,#fff 0%,#fafcfd 100%);
  box-shadow:0 12px 28px rgba(24,53,80,.06);
}

/* Cards and rows throughout public/admin pages */
body:not(.patrol-body) .update-card,
body:not(.patrol-body) .docs-item,
body:not(.patrol-body) .shift-report-row,
body:not(.patrol-body) .compact-patroller-card,
body:not(.patrol-body) .notice-admin-card,
body:not(.patrol-body) .document-admin-card,
body:not(.patrol-body) .admin-request-row,
body:not(.patrol-body) .public-event-card,
body:not(.patrol-body) .active-patrol-card,
body:not(.patrol-body) .profile-detail{
  position:relative;
  overflow:hidden;
  border-color:#d7e2ea;
  border-radius:9px;
  background:linear-gradient(150deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 8px 20px rgba(24,53,80,.045);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
body:not(.patrol-body) .update-card:hover,
body:not(.patrol-body) .docs-item:hover,
body:not(.patrol-body) .shift-report-row:hover,
body:not(.patrol-body) .compact-patroller-card:hover,
body:not(.patrol-body) .notice-admin-card:hover,
body:not(.patrol-body) .document-admin-card:hover,
body:not(.patrol-body) .public-event-card:hover{
  transform:translateY(-2px);
  border-color:#c5d7e4;
  box-shadow:0 13px 27px rgba(24,53,80,.075);
}

/* Stat bands: same visual family as Patrol Mode shift card. */
body:not(.patrol-body) .personal-stats,
body:not(.patrol-body) .report-summary-grid{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,255,255,.11),transparent 28%),
    linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(18,48,75,.15);
}
body:not(.patrol-body) .personal-stats>div,
body:not(.patrol-body) .report-summary-grid>div{
  background:transparent!important;
  border-color:rgba(255,255,255,.13)!important;
}
body:not(.patrol-body) .personal-stats span,
body:not(.patrol-body) .report-summary-grid span{
  color:#bcd0e2!important;
}
body:not(.patrol-body) .personal-stats strong,
body:not(.patrol-body) .report-summary-grid strong{
  color:#fff!important;
}

/* Availability */
body:not(.patrol-body) .availability-week-tabs{
  padding:5px;
  border:1px solid #d4e0e9;
  border-radius:9px;
  background:#edf3f7;
}
body:not(.patrol-body) .availability-week-tab{
  border-radius:7px;
}
body:not(.patrol-body) .availability-week-tab.active{
  background:linear-gradient(145deg,#17385d,#285d9f);
  color:#fff;
  box-shadow:0 6px 14px rgba(23,56,93,.16);
}
body:not(.patrol-body) .availability-row{
  border-radius:8px;
  transition:background .15s ease,transform .15s ease;
}
body:not(.patrol-body) .availability-row:hover{
  background:#f4f8fb;
  transform:translateX(2px);
}

/* Roster */
body:not(.patrol-body) .roster{
  overflow:hidden;
  border-radius:11px;
  box-shadow:0 12px 28px rgba(24,53,80,.06);
}
body:not(.patrol-body) .roster .day{
  background:linear-gradient(180deg,#eef4f8,#e5eef5);
}
body:not(.patrol-body) .assignment,
body:not(.patrol-body) .mobile-shift{
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
body:not(.patrol-body) .assignment:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(24,53,80,.07);
}
body:not(.patrol-body) .my-roster-shift{
  background:linear-gradient(145deg,#d6e8f7,#bad5ed)!important;
  box-shadow:inset 3px 0 0 #24589d,0 5px 13px rgba(36,88,157,.09);
}

/* Notices */
body:not(.patrol-body) .update-card.important{
  border-left:3px solid #24589d;
  background:
    radial-gradient(circle at 95% 8%,rgba(36,88,157,.07),transparent 28%),
    linear-gradient(145deg,#fff,#f5f9fc);
}

/* Documents */
body:not(.patrol-body) .docs-file-badge,
body:not(.patrol-body) .document-badge{
  border-radius:8px;
  background:linear-gradient(145deg,#17385d,#285d9f);
  color:#fff;
  box-shadow:0 7px 15px rgba(23,56,93,.14);
}

/* Shift report list */
body:not(.patrol-body) .shift-report-date{
  border-radius:8px;
  background:linear-gradient(145deg,#e7f1f8,#d7e8f5);
}
body:not(.patrol-body) .shift-report-row-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
body:not(.patrol-body) .admin-report-link{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 9px;
  border:1px solid #cad9e4;
  border-radius:6px;
  background:#fff;
  color:#24589d;
  font-size:8px;
  font-weight:800;
  letter-spacing:.5px;
  cursor:pointer;
}
body:not(.patrol-body) .admin-report-link:hover{
  background:#edf5fb;
}

/* Report map and timeline */
body:not(.patrol-body) .patrol-route-map{
  overflow:hidden;
  border-radius:9px;
  box-shadow:inset 0 0 0 1px rgba(24,53,80,.08);
}
body:not(.patrol-body) .timeline-item{
  border-radius:8px;
  transition:background .15s ease;
}
body:not(.patrol-body) .timeline-item:hover{
  background:#f5f9fc;
}

/* Profile */
body:not(.patrol-body) .profile-stat-hero{
  background:
    radial-gradient(circle at 92% 5%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(145deg,#17385d,#285d9f);
  border-radius:11px;
  box-shadow:0 15px 32px rgba(18,48,75,.14);
}
body:not(.patrol-body) .profile-report-link{
  border-radius:8px;
  background:linear-gradient(145deg,#f7fafc,#edf4f8);
}

/* Admin navigation */
body:not(.patrol-body) .admin-tabs{
  gap:5px;
  padding:5px;
  border:1px solid #d5e1ea;
  border-radius:9px;
  background:#edf3f7;
}
body:not(.patrol-body) .admin-tabs a{
  border-radius:6px;
}
body:not(.patrol-body) .admin-tabs a.active{
  background:linear-gradient(145deg,#17385d,#285d9f);
  color:#fff;
  box-shadow:0 6px 14px rgba(23,56,93,.16);
}
body:not(.patrol-body) .admin-section-heading{
  border-bottom-color:#e1e8ee;
}

/* Admin directory avatars and live patrol markers */
body:not(.patrol-body) .person-mark,
body:not(.patrol-body) .active-patrol-empty-mark{
  background:linear-gradient(145deg,#17385d,#285d9f);
  color:#fff;
  box-shadow:0 7px 16px rgba(23,56,93,.14);
}

/* Forms throughout portal/admin */
body:not(.patrol-body) input,
body:not(.patrol-body) select,
body:not(.patrol-body) textarea{
  border-color:#cad8e3;
  border-radius:7px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
body:not(.patrol-body) input:focus,
body:not(.patrol-body) select:focus,
body:not(.patrol-body) textarea:focus{
  border-color:#6e98d2;
  box-shadow:0 0 0 3px rgba(110,152,210,.13);
  outline:none;
}
body:not(.patrol-body) .button{
  border-radius:7px;
  box-shadow:0 7px 16px rgba(36,88,157,.10);
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease;
}
body:not(.patrol-body) .button:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(36,88,157,.14);
}

/* Legal pages */
body:not(.patrol-body) .legal-hero{
  overflow:hidden;
  border-radius:11px;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,255,255,.11),transparent 28%),
    linear-gradient(145deg,#17385d,#285d9f);
  color:#fff;
  box-shadow:0 16px 34px rgba(18,48,75,.14);
}
body:not(.patrol-body) .legal-hero .eyebrow,
body:not(.patrol-body) .legal-hero p{
  color:#c3d5e5;
}
body:not(.patrol-body) .legal-hero h1{color:#fff;}

/* Shift report admin editor */
.admin-report-edit-form{
  display:grid;
  gap:18px;
}
.report-edit-panel{
  overflow:hidden;
}
.report-edit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}
.report-edit-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#334c62;
  font-size:9px;
  font-weight:700;
}
.report-edit-grid label small{
  color:#71869a;
  font-size:8px;
  font-weight:500;
  line-height:1.45;
}
.report-edit-wide{
  grid-column:1/-1;
}
.report-edit-check{
  align-self:end;
  min-height:42px;
  flex-direction:row!important;
  align-items:center;
  justify-content:flex-start;
  padding:0 12px;
  border:1px solid #cad8e3;
  border-radius:7px;
  background:#fff;
}
.report-edit-check input{
  width:auto!important;
  margin:0 7px 0 0;
  box-shadow:none!important;
}
.report-event-editor-list{
  display:grid;
  gap:14px;
}
.report-event-editor{
  overflow:hidden;
  border:1px solid #d8e2ea;
  border-radius:9px;
  background:linear-gradient(145deg,#fff,#f8fafc);
}
.report-event-editor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #e0e8ee;
  background:#f2f6f9;
}
.report-event-editor-head strong{
  color:#214f7d;
  font-size:10px;
}
.report-event-editor-head span{
  color:#6e8396;
  font-size:8px;
}
.report-event-editor .report-edit-grid{
  padding:14px;
}
.report-edit-savebar{
  position:sticky;
  bottom:12px;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.10),transparent 25%),
    linear-gradient(145deg,#17385d,#285d9f);
  color:#d5e3ef;
  box-shadow:0 16px 34px rgba(18,48,75,.20);
}
.report-edit-savebar .button{
  flex:0 0 auto;
  background:#fff;
  color:#214f7d;
  border-color:#fff;
}
.report-delete-panel{
  margin-top:22px;
  border-color:#e0cfd2!important;
  background:linear-gradient(145deg,#fff,#fdf8f9)!important;
}
.report-delete-panel p{
  color:#6b5157;
}
.report-delete-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  align-items:end;
  gap:12px;
  max-width:720px;
}
.report-delete-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#5f464b;
  font-size:9px;
  font-weight:700;
}
.input-with-unit{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  overflow:hidden;
  border:1px solid #cad8e3;
  border-radius:7px;
  background:#fff;
}
.input-with-unit input{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.input-with-unit span{
  padding:0 10px;
  color:#71869a;
  font-size:9px;
  font-weight:700;
}
.safety-edit-grid label{
  padding:11px;
  border:1px solid #dbe4ea;
  border-radius:8px;
  background:#f8fafc;
}

/* Patrol Mode plate-search final polish */
.patrol-body .plate-result-copy strong,
.patrol-body .plate-result-plate{
  color:#fff!important;
}
.patrol-body .plate-clear .plate-result-copy strong,
.patrol-body .plate-clear .plate-result-plate{
  color:#fff!important;
}

@media(max-width:760px){
  body:not(.patrol-body) .page-head{
    padding:20px 18px;
    border-radius:9px;
  }
  .report-edit-grid{
    grid-template-columns:1fr;
  }
  .report-edit-wide{
    grid-column:auto;
  }
  .report-edit-savebar{
    position:static;
    align-items:flex-start;
    flex-direction:column;
  }
  .report-edit-savebar .button{
    width:100%;
  }
  .report-delete-form{
    grid-template-columns:1fr;
  }
  .report-delete-form .button{
    width:100%;
  }
}

/* ============================================================
   NBCP V1.6.0 | Public portal layout corrections
   Keeps the admin area unchanged.
   ============================================================ */

/* Availability: the active week's heading should sit directly on the page,
   not inside a second white card. */
body:not(.patrol-body) main.portal-main > form .availability-week-panel{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
body:not(.patrol-body) main.portal-main > form .availability-week-heading{
  margin:14px 0 11px;
  padding:0 2px;
  background:transparent!important;
}
body:not(.patrol-body) main.portal-main > form .availability-grid{
  overflow:hidden;
  border-radius:9px;
  box-shadow:0 10px 24px rgba(24,53,80,.045);
}

/* Shift report filter: just enough radius to soften the control. */
body:not(.patrol-body) .report-filter{
  overflow:hidden;
  border-radius:7px;
}
body:not(.patrol-body) .report-filter a:first-child{
  border-radius:6px 0 0 6px;
}
body:not(.patrol-body) .report-filter a:last-child{
  border-radius:0 6px 6px 0;
}

/* Shift Reports list: each report is its own clean card and the admin edit
   action no longer crushes the VIEW action or overflows the row. */
body:not(.patrol-body) .shift-report-list{
  display:grid;
  gap:9px;
  border:0!important;
  background:transparent!important;
}
body:not(.patrol-body) .shift-report-row{
  grid-template-columns:74px minmax(230px,1fr) minmax(210px,auto) auto;
  gap:18px;
  min-width:0;
  padding:14px 16px;
  border:1px solid #d7e2ea!important;
  border-radius:9px!important;
  background:linear-gradient(150deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 8px 20px rgba(24,53,80,.045);
}
body:not(.patrol-body) .shift-report-row:last-child{
  border-bottom:1px solid #d7e2ea!important;
}
body:not(.patrol-body) .shift-report-main{
  min-width:0;
}
body:not(.patrol-body) .shift-report-metrics{
  justify-content:flex-end;
  align-items:center;
  gap:16px;
  white-space:nowrap;
}
body:not(.patrol-body) .shift-report-row-actions{
  min-width:102px;
  justify-content:flex-end;
  gap:8px;
}
body:not(.patrol-body) .shift-report-row-actions>b{
  color:#273d59;
  font-size:10px;
  letter-spacing:.2px;
}
body:not(.patrol-body) .admin-report-link{
  min-height:30px;
  padding:0 10px;
}

/* Viewing a report: six headline facts are now a balanced 3 x 2 grid on
   desktop instead of a stretched two-column stack. */
body:not(.patrol-body) .report-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0 0 18px;
}
body:not(.patrol-body) .report-summary-grid>div{
  min-height:82px;
  justify-content:center;
  padding:17px 18px;
  border-right:1px solid rgba(255,255,255,.13)!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
}
body:not(.patrol-body) .report-summary-grid>div:nth-child(3n){
  border-right:0!important;
}
body:not(.patrol-body) .report-summary-grid>div:nth-last-child(-n+3){
  border-bottom:0!important;
}
body:not(.patrol-body) .report-summary-grid span{
  margin-bottom:2px;
}
body:not(.patrol-body) .report-summary-grid strong{
  font-size:13px;
  line-height:1.35;
}

/* Profile: treat statistics as one composed unit and remove the floating
   mini-card effect that exposed a square panel behind the contact details. */
body:not(.patrol-body) .profile-stat-hero{
  margin-bottom:0;
  border-radius:11px 11px 0 0;
  box-shadow:0 12px 27px rgba(18,48,75,.12);
}
body:not(.patrol-body) .personal-stats.profile-stats{
  margin-top:0;
  margin-bottom:22px;
  border-top:1px solid rgba(255,255,255,.13);
  border-radius:0 0 11px 11px;
  box-shadow:0 15px 30px rgba(18,48,75,.14);
}
body:not(.patrol-body) .personal-stats.profile-stats>div{
  min-height:70px;
  justify-content:center;
  padding:15px 18px;
}
body:not(.patrol-body) .profile-details-card{
  overflow:hidden;
  margin-top:0;
  border-radius:11px;
}
body:not(.patrol-body) .profile-details-grid{
  background:transparent!important;
}
body:not(.patrol-body) .profile-detail{
  position:static;
  overflow:visible;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  transition:none!important;
}
body:not(.patrol-body) .profile-detail:nth-last-child(-n+2){
  border-bottom:0;
}
body:not(.patrol-body) .profile-report-link{
  margin-top:18px;
  padding:0;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  body:not(.patrol-body) .shift-report-row{
    grid-template-columns:68px minmax(0,1fr) auto;
  }
  body:not(.patrol-body) .shift-report-metrics{
    grid-column:2/4;
    grid-row:2;
    justify-content:flex-start;
  }
  body:not(.patrol-body) .shift-report-row-actions{
    grid-column:3;
    grid-row:1;
    min-width:98px;
  }
}

@media(max-width:720px){
  body:not(.patrol-body) .report-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body:not(.patrol-body) .report-summary-grid>div,
  body:not(.patrol-body) .report-summary-grid>div:nth-child(3n),
  body:not(.patrol-body) .report-summary-grid>div:nth-last-child(-n+3){
    border-right:1px solid rgba(255,255,255,.13)!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
  }
  body:not(.patrol-body) .report-summary-grid>div:nth-child(2n){
    border-right:0!important;
  }
  body:not(.patrol-body) .report-summary-grid>div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
}

@media(max-width:560px){
  body:not(.patrol-body) .shift-report-row{
    grid-template-columns:58px minmax(0,1fr);
    gap:11px;
    padding:12px;
  }
  body:not(.patrol-body) .shift-report-row-actions{
    grid-column:2;
    grid-row:2;
    justify-content:flex-start;
    min-width:0;
  }
  body:not(.patrol-body) .shift-report-metrics{
    grid-column:2;
    grid-row:3;
    gap:10px;
    white-space:normal;
  }
  body:not(.patrol-body) .profile-detail:nth-last-child(-n+2){
    border-bottom:1px solid var(--line);
  }
  body:not(.patrol-body) .profile-detail:last-child{
    border-bottom:0;
  }
}


/* ============================================================
   NBCP V1.6.1 | Final visual polish
   Shift report date tile, sign-in and email-era visual alignment
   ============================================================ */

/* Shift Reports: make the date block a full-height left rail, matching the
   visual treatment of the homepage next-patrol date block. */
body:not(.patrol-body) .shift-report-row{
  overflow:hidden;
}
body:not(.patrol-body) .shift-report-date{
  align-self:stretch;
  justify-self:stretch;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:90px;
  margin:-14px 0 -14px -16px;
  padding:14px 12px;
  border:0!important;
  border-right:1px solid #cbdce9!important;
  border-radius:9px 0 0 9px!important;
  background:
    radial-gradient(circle at 24% 14%,rgba(255,255,255,.65),transparent 34%),
    linear-gradient(145deg,#eaf3fa 0%,#cfe2f1 100%)!important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.65)!important;
}
body:not(.patrol-body) .shift-report-date strong{
  display:block;
  color:#294b72;
  font-size:27px;
  font-weight:650;
  line-height:1;
}
body:not(.patrol-body) .shift-report-date span{
  display:block;
  margin-top:5px;
  color:#6285a5;
  font-size:7px;
  font-weight:700;
  letter-spacing:.6px;
}
body:not(.patrol-body) .shift-report-main{
  align-self:center;
}
body:not(.patrol-body) .shift-report-metrics,
body:not(.patrol-body) .shift-report-row-actions{
  align-self:center;
}

/* Sign-in and code verification now share the portal's deeper modern theme. */
.login-body{
  min-height:100vh;
  background:#102c49;
}
.login-shell{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:44px 20px;
  background:
    radial-gradient(circle at 17% 17%,rgba(110,152,210,.30),transparent 27rem),
    radial-gradient(circle at 87% 82%,rgba(36,88,157,.32),transparent 30rem),
    linear-gradient(145deg,#102c49 0%,#17385d 46%,#285d9f 100%);
}
.login-shell:before,
.login-shell:after{
  content:"";
  position:absolute;
  z-index:-1;
  border:1px solid rgba(255,255,255,.075);
  border-radius:50%;
  pointer-events:none;
}
.login-shell:before{
  width:520px;
  height:520px;
  right:-220px;
  top:-240px;
  box-shadow:0 0 0 76px rgba(255,255,255,.018);
}
.login-shell:after{
  width:390px;
  height:390px;
  left:-190px;
  bottom:-220px;
  box-shadow:0 0 0 58px rgba(255,255,255,.02);
}
.login-panel{
  position:relative;
  width:min(460px,100%);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  background:
    radial-gradient(circle at 100% 0%,rgba(110,152,210,.12),transparent 28%),
    linear-gradient(150deg,#ffffff 0%,#f7fafc 100%);
  box-shadow:
    0 32px 80px rgba(4,22,38,.34),
    0 2px 0 rgba(255,255,255,.65) inset;
  text-align:center;
}
.login-panel:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  bottom:-110px;
  border:1px solid rgba(36,88,157,.07);
  border-radius:50%;
  box-shadow:0 0 0 31px rgba(36,88,157,.025);
  pointer-events:none;
}
.card-accent{
  position:relative;
  z-index:2;
  height:5px;
  background:linear-gradient(90deg,#17385d 0%,#285d9f 69%,#6e98d2 89%,#ffea22 89% 94%,#285d9f 94%);
}
.login-content{
  position:relative;
  z-index:1;
  padding:38px 42px 36px;
}
.login-logo{
  display:block;
  width:300px;
  max-width:88%;
  height:auto;
  margin:0 auto 30px;
}
.login-kicker{
  margin:0 0 8px;
  color:#285d9f;
  font-size:9px;
  font-weight:800;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.login-panel h1{
  margin:0 0 11px;
  color:#293d5b;
  font-size:34px;
  font-weight:600;
  letter-spacing:-.75px;
  line-height:1.1;
}
.login-copy{
  max-width:350px;
  margin:0 auto 27px;
  color:#6f8192;
  font-size:12px;
  line-height:1.65;
}
.login-content form{
  text-align:left;
}
.login-content label{
  display:block;
  margin:0 0 7px;
  color:#536b82;
  font-size:9px;
  font-weight:800;
  letter-spacing:.45px;
  text-transform:uppercase;
}
.login-content input{
  width:100%;
  height:48px;
  margin:0 0 12px;
  padding:0 15px;
  border:1px solid #c9d8e4;
  border-radius:8px;
  background:#fff;
  color:#293d5b;
  font-size:13px;
  text-align:center;
  box-shadow:inset 0 1px 2px rgba(31,61,87,.035);
}
.login-content input:focus{
  border-color:#6e98d2;
  box-shadow:0 0 0 4px rgba(110,152,210,.15);
}
.login-content .button.full{
  min-height:48px;
  width:100%;
  margin-top:2px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.13),transparent 30%),
    linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%);
  color:#fff;
  box-shadow:0 12px 24px rgba(23,56,93,.18);
}
.login-content .button.full:hover{
  transform:translateY(-1px);
  box-shadow:0 15px 28px rgba(23,56,93,.23);
}
.login-help,
.verify-links{
  margin:21px 0 0;
  color:#8493a1;
  font-size:10px;
  text-align:center;
}
.login-help a,
.verify-links a{
  color:#285d9f;
  font-weight:700;
  text-decoration:none;
}
.code-input{
  height:58px!important;
  font-size:27px!important;
  font-weight:700!important;
  letter-spacing:9px!important;
  color:#294b72!important;
  background:linear-gradient(145deg,#fff,#f5f9fc)!important;
}
.maintenance-login-banner{
  margin:0 0 22px;
  border:1px solid #d7e2ea;
  border-radius:8px;
  background:linear-gradient(145deg,#f8fbfd,#eef5fa);
  box-shadow:none;
}
.maintenance-login-banner strong{
  color:#294b72;
}
.maintenance-login-banner span{
  color:#718394;
}

@media(max-width:900px){
  body:not(.patrol-body) .shift-report-date{
    margin:-14px 0 -14px -16px;
  }
}
@media(max-width:560px){
  body:not(.patrol-body) .shift-report-date{
    min-width:70px;
    margin:-12px 0 -12px -12px;
    padding:12px 8px;
    border-radius:9px 0 0 9px!important;
  }
  body:not(.patrol-body) .shift-report-date strong{
    font-size:24px;
  }
  .login-shell{
    padding:18px 12px;
  }
  .login-panel{
    border-radius:11px;
  }
  .login-content{
    padding:31px 22px 30px;
  }
  .login-logo{
    width:270px;
    margin-bottom:26px;
  }
  .login-panel h1{
    font-size:30px;
  }
}


/* ============================================================
   NBCP V1.6.2 | Final legal, form and footer polish
   ============================================================ */

/* Patrol start: contain iOS/Chrome datetime controls inside the card. */
.patrol-body .patrol-form,
.patrol-body .patrol-card,
.patrol-body .patrol-card label{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.patrol-body .patrol-card input[type="datetime-local"]{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-left:12px;
  padding-right:8px;
}

/* Legal pages: restore deliberate inner spacing and remove the edge-hugging hero. */
body:not(.patrol-body) .legal-main{
  max-width:920px;
}
body:not(.patrol-body) .legal-hero{
  box-sizing:border-box;
  width:100%;
  padding:30px 32px 31px!important;
  margin:0 0 22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,255,255,.11),transparent 28%),
    linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%);
  box-shadow:0 16px 34px rgba(18,48,75,.14);
}
body:not(.patrol-body) .legal-hero .eyebrow{
  margin:0 0 14px;
  color:#d3e1ed!important;
}
body:not(.patrol-body) .legal-hero h1{
  margin:0 0 10px;
  color:#fff;
}
body:not(.patrol-body) .legal-hero>p:not(.eyebrow){
  max-width:690px;
  margin:0 0 13px;
  color:#d4e0eb!important;
  line-height:1.55;
}
body:not(.patrol-body) .legal-hero>span{
  display:block;
  color:#aebfd0!important;
}
body:not(.patrol-body) .legal-document{
  box-sizing:border-box;
  width:100%;
  margin-top:0;
  padding:8px 28px;
  overflow:hidden;
}
body:not(.patrol-body) .legal-document section{
  padding:22px 0;
}
body:not(.patrol-body) .legal-document section:first-child{
  padding-top:20px;
}
body:not(.patrol-body) .legal-document p+p{
  margin-top:10px;
}
body:not(.patrol-body) .legal-note{
  display:none!important;
}

.portal-footer-inner>span{
  white-space:nowrap;
}

@media(max-width:600px){
  body:not(.patrol-body) .legal-hero{
    padding:24px 21px 25px!important;
  }
  body:not(.patrol-body) .legal-hero h1{
    font-size:32px;
  }
  body:not(.patrol-body) .legal-document{
    padding:5px 20px;
  }
  .portal-footer-inner>span{
    white-space:normal;
  }
}

.login-copyright{position:absolute;left:0;right:0;bottom:15px;text-align:center;color:rgba(255,255,255,.62);font-size:9px;letter-spacing:.25px;}
@media(max-width:560px){.login-copyright{position:static;margin-top:18px;color:rgba(255,255,255,.62);}}


/* NBCP V1.6.3 | Statistics + final Patrol Mode header placement */
.patrol-appbar .patrol-brand{
  width:100%;
  justify-content:space-between;
  gap:18px;
}
.patrol-appbar .patrol-brand>div{
  margin-left:auto;
  align-items:flex-end;
  text-align:right;
}
.patrol-appbar .patrol-brand strong,
.patrol-appbar .patrol-brand span{
  text-align:right!important;
}

/* Admin statistics */
.statistics-admin{padding-bottom:46px;}
.statistics-head .actions{align-self:center;}
.stats-filter-panel{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  margin-bottom:18px;padding:15px 17px;border:1px solid #d7e2ea;border-radius:10px;
  background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(24,53,80,.045);
}
.stats-filter-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.stats-filter-form label{display:flex;flex-direction:column;gap:5px;min-width:145px;}
.stats-filter-form label span,.stats-period-label span{
  font-size:7px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#75889a;
}
.stats-filter-form select{min-height:38px;}
.stats-period-label{text-align:right;}
.stats-period-label strong{display:block;margin-top:3px;color:#294b72;font-size:16px;}
.stats-kpi-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;
}
.stats-kpi-grid article{
  position:relative;overflow:hidden;min-height:106px;padding:17px 18px;
  border:1px solid rgba(255,255,255,.08);border-radius:10px;
  background:radial-gradient(circle at 92% 5%,rgba(255,255,255,.11),transparent 30%),
             linear-gradient(145deg,#17385d,#285d9f);
  box-shadow:0 13px 28px rgba(18,48,75,.13);color:#fff;
}
.stats-kpi-grid article:after{
  content:"";position:absolute;width:100px;height:100px;right:-54px;bottom:-66px;
  border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 20px rgba(255,255,255,.022);
}
.stats-kpi-grid span{display:block;color:#bcd0e2;font-size:7px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;}
.stats-kpi-grid strong{display:block;margin-top:8px;font-size:24px;line-height:1;color:#fff;}
.stats-kpi-grid small{display:block;margin-top:8px;color:#d7e4ef;font-size:8px;}
.stats-insight-grid,.stats-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.stats-insight-card{
  padding:18px;border:1px solid #d7e2ea;border-radius:10px;
  background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 9px 22px rgba(24,53,80,.05);
}
.stats-insight-card h2{margin:3px 0 13px;color:#2d405a;font-size:17px;}
.stats-lacking-list{display:grid;gap:7px;}
.stats-lacking-list>div{
  display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 10px;border:1px solid #e0e7ed;border-radius:7px;background:#fff;
}
.stats-lacking-list strong{color:#294b72;font-size:9px;}
.stats-lacking-list span{color:#2d405a;font-size:9px;font-weight:700;}
.stats-lacking-list small{grid-column:1/-1;color:#8090a0;font-size:7.5px;}
.stats-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;}
.stats-facts>div{padding:10px;border:1px solid #e0e7ed;border-radius:7px;background:#fff;}
.stats-facts dt{color:#73869a;font-size:7px;text-transform:uppercase;letter-spacing:.6px;}
.stats-facts dd{margin:4px 0 0;color:#294b72;font-size:16px;font-weight:750;}
.stats-panel{margin-bottom:18px!important;padding:0!important;}
.stats-panel>.admin-section-heading{padding:16px 18px 13px;}
.stats-panel>.admin-section-heading>span{color:#75889a;font-size:8px;font-weight:700;}
.stats-zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:15px 18px 18px;}
.stats-zone-card{padding:12px;border:1px solid #dbe4ea;border-radius:8px;background:#fff;}
.stats-zone-card.empty{background:#fcf6f6;border-color:#ead6d9;}
.stats-zone-card.low{background:#fffaf0;border-color:#eadfca;}
.stats-zone-top{display:flex;justify-content:space-between;gap:8px;align-items:center;}
.stats-zone-top strong{color:#294b72;font-size:10px;}
.stats-zone-top span{color:#657b90;font-size:8px;font-weight:700;}
.stats-bar{height:6px;margin:9px 0 8px;border-radius:999px;background:#e9eff4;overflow:hidden;}
.stats-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#24589d,#6e98d2);}
.stats-zone-card.empty .stats-bar i{background:#c9a7ad;}
.stats-zone-card.low .stats-bar i{background:#ccb66b;}
.stats-zone-meta{display:flex;gap:10px;flex-wrap:wrap;color:#526c84;font-size:7.5px;font-weight:700;}
.stats-zone-card small{display:block;margin-top:7px;color:#8a99a7;font-size:7px;line-height:1.35;}
.stats-event-bars{display:grid;gap:10px;padding:15px 18px 18px;}
.stats-event-bar>div:first-child{display:flex;justify-content:space-between;gap:12px;}
.stats-event-bar strong{color:#2d405a;font-size:9px;}
.stats-event-bar span{color:#24589d;font-size:9px;font-weight:800;}
.stats-event-bar small{color:#8393a1;font-size:7.5px;}
.stats-table-wrap{overflow:auto;padding:0 18px 18px;}
.stats-data-table,.stats-matrix-table{width:100%;border-collapse:separate;border-spacing:0;font-size:8px;}
.stats-data-table th,.stats-data-table td,.stats-matrix-table th,.stats-matrix-table td{
  padding:9px 10px;border-right:1px solid #e0e7ed;border-bottom:1px solid #e0e7ed;background:#fff;text-align:left;white-space:nowrap;
}
.stats-data-table thead th,.stats-matrix-table thead th{
  position:sticky;top:0;z-index:1;background:#edf3f7;color:#526a82;font-size:7px;text-transform:uppercase;letter-spacing:.55px;
}
.stats-data-table tr>*:first-child,.stats-matrix-table tr>*:first-child{border-left:1px solid #e0e7ed;}
.stats-data-table thead tr:first-child>*,.stats-matrix-table thead tr:first-child>*{border-top:1px solid #e0e7ed;}
.stats-data-table tbody th,.stats-matrix-table tbody th{color:#294b72;font-weight:750;}
.stats-matrix-table td{text-align:center;min-width:48px;color:#8b98a4;}
.stats-matrix-table td.has-value{background:#eaf3fa;color:#214f7d;font-weight:800;}
.stats-matrix-table td.matrix-total{background:#f2f6f9;color:#294b72;font-weight:800;}
.stats-table-key{padding:0 18px 17px;margin:0;color:#7f8f9e;font-size:7px;line-height:1.5;}
.stats-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:15px 18px 18px;}
.stats-month-grid article{padding:11px;border:1px solid #dce5eb;border-radius:8px;background:#fff;}
.stats-month-grid span{color:#6f8294;font-size:7px;font-weight:800;text-transform:uppercase;}
.stats-month-grid strong{display:block;margin:4px 0;color:#294b72;font-size:18px;}
.stats-month-grid small{color:#8796a4;font-size:7px;line-height:1.4;}
.stats-compact-rows{display:grid;gap:0;padding:0 18px 18px;}
.stats-compact-rows>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid #e2e9ee;}
.stats-compact-rows>div:last-child{border-bottom:0;}
.stats-compact-rows strong{color:#294b72;font-size:9px;}
.stats-compact-rows span{color:#2d405a;font-size:8px;font-weight:700;}
.stats-compact-rows small{grid-column:1/-1;color:#8595a3;font-size:7px;}
.stats-safety-facts{padding:0 18px 18px;}
.stats-ranking{display:grid;padding:0 18px 18px;}
.stats-ranking>div{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #e3e9ee;}
.stats-ranking>div:last-child{border-bottom:0;}
.stats-ranking b{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#eaf3fa;color:#24589d;font-size:8px;}
.stats-ranking strong{display:block;color:#294b72;font-size:8.5px;}
.stats-ranking small{display:block;margin-top:2px;color:#8796a4;font-size:7px;}
.stats-ranking span{color:#2d405a;font-size:8px;font-weight:800;}
.stats-explainer{margin:0;padding:0 18px 13px;color:#687c90;font-size:8px;line-height:1.55;}
.stats-baseline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 18px 18px;}
.stats-baseline-grid>div{padding:11px;border:1px solid #dce5eb;border-radius:8px;background:#fff;}
.stats-baseline-grid span{display:block;color:#74879a;font-size:7px;text-transform:uppercase;letter-spacing:.55px;}
.stats-baseline-grid strong{display:block;margin-top:4px;color:#294b72;font-size:15px;}
.stats-footnote{margin:0;color:#8796a4;font-size:7.5px;line-height:1.5;}
.statistics-admin .empty-state{padding:12px 0;color:#8796a4;font-size:8px;}

@media(max-width:920px){
  .stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:700px){
  .patrol-appbar .patrol-brand{gap:10px;}
  .patrol-appbar .patrol-brand img{width:118px!important;}
  .stats-filter-panel{align-items:stretch;flex-direction:column;}
  .stats-filter-form{display:grid;grid-template-columns:1fr 1fr;}
  .stats-filter-form .button{grid-column:1/-1;width:100%;}
  .stats-period-label{text-align:left;}
  .stats-kpi-grid,.stats-insight-grid,.stats-two-col{grid-template-columns:1fr;}
  .stats-zone-grid{grid-template-columns:1fr;}
  .stats-month-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-baseline-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* NBCP V1.6.4 | Private Data Control */
.data-control-admin{padding-bottom:46px;}
.data-control-head .sub{max-width:760px;}
.data-control-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;}
.data-control-summary article{padding:16px 17px;border:1px solid #d7e2ea;border-radius:10px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(24,53,80,.045);}
.data-control-summary span{display:block;color:#74879a;font-size:7px;font-weight:800;letter-spacing:.65px;text-transform:uppercase;}
.data-control-summary strong{display:block;margin-top:7px;color:#294b72;font-size:22px;line-height:1;}
.data-control-summary small{display:block;margin-top:7px;color:#8292a1;font-size:7.5px;line-height:1.4;}
.data-control-intro{margin-bottom:18px!important;padding:18px!important;background:linear-gradient(145deg,#fff,#f8fafc);}
.data-control-intro h2{margin:3px 0 7px;color:#2d405a;font-size:18px;}
.data-control-intro>p:not(.panel-kicker){max-width:880px;margin:0;color:#687d90;font-size:8.5px;line-height:1.6;}
.data-control-last-cleanup{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #e1e8ed;}
.data-control-last-cleanup span{color:#73879a;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;}
.data-control-last-cleanup strong{color:#294b72;font-size:8.5px;}
.data-control-last-cleanup small{width:100%;color:#8a98a5;font-size:7px;}
.data-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.data-control-card{margin:0!important;padding:17px!important;display:flex;flex-direction:column;}
.data-control-card.featured-cleanup{border-color:#b8cfdf;background:linear-gradient(145deg,#fff,#f4f9fc);}
.data-control-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.data-control-card-head h2{margin:3px 0 0;color:#2d405a;font-size:16px;}
.data-control-card-head>span{flex:none;padding:5px 7px;border-radius:6px;background:#eaf3fa;color:#24589d;font-size:7px;font-weight:800;}
.data-control-card>p{margin:9px 0 13px;color:#6b7e90;font-size:8.2px;line-height:1.55;}
.data-control-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto;}
.data-control-form label{display:flex;flex-direction:column;gap:5px;color:#647a8d;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;}
.data-control-form select,.data-control-form input{min-width:0;width:100%;box-sizing:border-box;min-height:38px;}
.data-control-form .button{grid-column:1/-1;width:100%;margin-top:1px;}
.danger-button{background:#8e4c55!important;border-color:#8e4c55!important;color:#fff!important;}
.danger-button:hover{background:#784049!important;border-color:#784049!important;}
.data-control-tables{margin-bottom:18px!important;padding:0!important;}
.data-control-tables>.admin-section-heading{padding:16px 18px 13px;}
.data-control-table-wrap{overflow:auto;padding:0 18px 18px;}
.data-control-table{width:100%;border-collapse:separate;border-spacing:0;font-size:8px;}
.data-control-table th,.data-control-table td{padding:9px 10px;border-right:1px solid #e0e7ed;border-bottom:1px solid #e0e7ed;background:#fff;text-align:left;white-space:nowrap;}
.data-control-table thead th{background:#edf3f7;color:#526a82;font-size:7px;text-transform:uppercase;letter-spacing:.55px;}
.data-control-table tr>*:first-child{border-left:1px solid #e0e7ed;}
.data-control-table thead tr:first-child>*{border-top:1px solid #e0e7ed;}
.data-control-table tbody th{color:#294b72;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:7.5px;}
.data-control-guidance{padding:15px 17px;border:1px solid #ccdeea;border-left:4px solid #24589d;border-radius:8px;background:#eef6fb;}
.data-control-guidance strong{display:block;color:#294b72;font-size:9px;}
.data-control-guidance p{margin:5px 0 0;color:#60788e;font-size:8px;line-height:1.55;}
@media(max-width:900px){.data-control-summary{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.data-control-summary,.data-control-grid{grid-template-columns:1fr;}.data-control-form{grid-template-columns:1fr;}.data-control-form .button{grid-column:auto;}}

/* NBCP final 404 page */
.error-page-body{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 16% 8%,rgba(110,152,210,.16),transparent 27%),linear-gradient(145deg,#f5f8fb,#edf3f7);}
.error-page-shell{width:min(100% - 32px,760px);margin:auto;padding:54px 0 34px;}
.error-page-card{position:relative;overflow:hidden;padding:44px 48px 40px;border:1px solid #d7e2ea;border-radius:12px;background:linear-gradient(145deg,#fff,#f9fbfd);box-shadow:0 22px 54px rgba(27,58,87,.12);text-align:center;}
.error-page-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#25466f 0 34%,#24589d 34% 66%,#6e98d2 66% 90%,#ffea22 90%);}
.error-page-card:after{content:"";position:absolute;width:250px;height:250px;right:-145px;top:-130px;border:1px solid rgba(36,88,157,.08);border-radius:50%;box-shadow:0 0 0 38px rgba(36,88,157,.025),0 0 0 76px rgba(36,88,157,.018);pointer-events:none;}
.error-page-logo{position:relative;z-index:1;width:min(360px,78%);height:auto;margin:0 auto 26px;display:block;}
.error-page-code{position:relative;z-index:1;margin:0 auto 13px;color:#24589d;font-size:58px;line-height:.95;font-weight:800;letter-spacing:-2px;}
.error-page-card .eyebrow{position:relative;z-index:1;margin:0 0 7px;color:#6f8498;}
.error-page-card h1{position:relative;z-index:1;margin:0;color:#253f5d;font-size:27px;line-height:1.12;}
.error-page-copy{position:relative;z-index:1;max-width:510px;margin:13px auto 0;color:#6d8194;font-size:10px;line-height:1.65;}
.error-page-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:24px;}
.error-page-help{position:relative;z-index:1;margin:21px 0 0;color:#8292a0;font-size:8px;}
.error-page-help a{color:#24589d;font-weight:750;text-decoration:none;}
.error-page-footer{margin-top:0;}
@media(max-width:620px){.error-page-shell{width:min(100% - 22px,760px);padding:28px 0 22px}.error-page-card{padding:35px 22px 31px}.error-page-logo{width:min(300px,88%);margin-bottom:22px}.error-page-code{font-size:50px}.error-page-card h1{font-size:23px}.error-page-actions{display:grid}.error-page-actions .button{width:100%}}

/* NBCP authenticated system guide */
html{scroll-behavior:smooth}.guide-main{max-width:1280px;margin:auto;padding:36px 24px 80px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:44px;align-items:start}.guide-toc{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;border-right:1px solid var(--line);padding-right:22px}.guide-toc h2{font-size:18px;margin:0 0 15px}.guide-toc nav{display:flex;flex-direction:column;gap:1px}.guide-toc nav a{display:block;padding:6px 9px;border-radius:4px;text-decoration:none;color:#6f7f8f;font-size:10px;font-weight:650;line-height:1.25}.guide-toc nav a:hover,.guide-toc nav a.current{background:#edf4fb;color:var(--blue)}.guide-toc nav span{padding:14px 9px 4px;font-size:8px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy)}.guide-content{min-width:0;max-width:900px}.guide-hero{background:linear-gradient(135deg,#25466f,#294f7d 58%,#35679d);border-radius:10px;color:#fff;padding:50px 52px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;overflow:hidden;position:relative}.guide-hero:after{content:"";position:absolute;width:220px;height:220px;border:45px solid rgba(110,152,210,.16);right:-85px;top:-100px;transform:rotate(45deg)}.guide-hero h1{font-size:42px;line-height:1.04;font-weight:500;letter-spacing:-1.5px;margin:0 0 14px}.guide-hero p{max-width:600px;color:#dce7f2;line-height:1.6;margin:0}.guide-hero-mark{position:relative;z-index:1;text-align:right;border-left:1px solid rgba(255,255,255,.22);padding-left:24px}.guide-hero-mark span{display:block;font-size:9px;letter-spacing:1.7px;color:#b9d1ef}.guide-hero-mark strong{display:block;font-size:25px;margin-top:4px}.guide-section{padding:42px 2px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.guide-section h2{font-size:28px;font-weight:550;letter-spacing:-.6px;margin:0 0 12px;color:var(--navy)}.guide-section h3{font-size:15px;margin:24px 0 9px;color:var(--navy)}.guide-section>p,.guide-section li{font-size:12px;line-height:1.7;color:#5f7183}.guide-section ul{padding-left:19px}.guide-section li{margin:5px 0}.guide-number{font-size:9px!important;font-weight:850!important;letter-spacing:1.5px!important;color:var(--blue)!important;margin:0 0 6px!important}.guide-lead{font-size:15px!important;line-height:1.65!important;color:var(--ink)!important;margin:0 0 24px}.guide-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-two>div,.guide-summary{border:1px solid var(--line);border-radius:7px;padding:20px;background:#fff}.guide-summary span{font-size:9px;font-weight:850;color:var(--blue)}.guide-summary h3{margin:7px 0 5px}.guide-summary p,.guide-two p{font-size:11px;line-height:1.55;color:#6d7e8e;margin:0}.guide-part{margin:55px 0 0;background:#eef4f9;border-left:5px solid var(--blue);padding:26px 30px}.guide-part span{font-size:8px;font-weight:850;letter-spacing:1.5px;color:var(--blue)}.guide-part h2{font-size:30px;margin:4px 0 5px;color:var(--navy);font-weight:550}.guide-part p{margin:0;color:#6b7d8f;font-size:12px}.guide-part.admin-part{background:var(--navy);border-left-color:var(--yellow);color:#fff}.guide-part.admin-part h2{color:#fff}.guide-part.admin-part p{color:#d6e2ee}.guide-part.admin-part span{color:#ffed62}.guide-steps{display:grid;gap:7px;margin:18px 0}.guide-steps>div{display:grid;grid-template-columns:32px 1fr;align-items:center;border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}.guide-steps b{align-self:stretch;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:10px}.guide-steps span{padding:11px 13px;font-size:11px;color:#53677a}.guide-steps.compact span{padding:9px 12px}.guide-note,.guide-warning,.guide-danger{margin:18px 0;padding:16px 18px;border-radius:6px;font-size:11px;line-height:1.55}.guide-note{background:#edf4fb;border:1px solid #d9e7f3}.guide-warning{background:#fffbe7;border:1px solid #eee2a1;color:#685d20}.guide-danger{background:#fff3f3;border:1px solid #efd4d4;color:#743d42}.guide-note strong,.guide-warning strong,.guide-danger strong{display:block;margin-bottom:3px}.guide-note p,.guide-danger p{margin:3px 0 0}.guide-ui{border:1px solid #d5e0e9;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(37,70,111,.07);margin:22px 0;padding:22px}.guide-ui-bar{height:5px;background:linear-gradient(90deg,var(--blue) 0 78%,var(--yellow) 78%);margin:-22px -22px 20px;border-radius:8px 8px 0 0;font-size:0}.login-demo{max-width:420px;margin-left:auto;margin-right:auto}.login-demo img{display:block;width:230px;margin:4px auto 24px}.login-demo label,.app-field span{display:block;font-size:9px;font-weight:750;color:#718294;margin-bottom:5px}.fake-input,.app-field{border:1px solid var(--line);border-radius:5px;padding:11px 12px;font-size:11px;margin-bottom:9px}.fake-button{background:var(--blue);color:#fff;text-align:center;border-radius:5px;padding:12px;font-size:10px;font-weight:800;letter-spacing:.4px}.mini-hero{background:var(--navy);color:#fff;padding:22px;border-radius:7px}.mini-hero small{font-size:8px;color:#bcd2e9;letter-spacing:1.2px}.mini-hero h3{font-size:25px;color:#fff;margin:4px 0}.mini-hero p{font-size:10px;color:#d7e2ed;margin:0}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.mini-stats div,.report-metrics div{background:#f4f7fa;padding:12px;border-radius:5px}.mini-stats span,.report-metrics span{display:block;font-size:8px;color:#7b8997}.mini-stats strong,.report-metrics b{display:block;margin-top:3px;color:var(--navy)}.mini-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:11px 2px;font-size:10px}.mini-row span{color:#7b8997}.fake-month{background:var(--navy);color:#fff;padding:12px 15px;font-size:10px;font-weight:800;letter-spacing:1px;border-radius:5px}.fake-shift{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:14px 8px;border-bottom:1px solid var(--line);font-size:10px}.fake-shift.yours{background:#edf4fb;color:var(--navy)}.fake-shift strong{font-size:8px;background:var(--navy);color:#fff;padding:6px;border-radius:4px}.fake-shift em{font-style:normal;color:#8996a3}.guide-action-grid,.stats-guide-grid,.trouble-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.guide-action-grid div,.stats-guide-grid div,.trouble-grid div{border:1px solid var(--line);border-radius:6px;padding:14px;background:#fff}.guide-action-grid strong,.stats-guide-grid b,.trouble-grid b{display:block;color:var(--navy);font-size:10px;margin-bottom:5px}.guide-action-grid span,.stats-guide-grid span,.trouble-grid span{display:block;color:#718192;font-size:10px;line-height:1.5}.availability-demo{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:7px;align-items:center}.availability-demo b,.availability-demo strong{font-size:9px}.availability-demo i{height:28px;border:1px solid var(--line);border-radius:4px;background:#f7f9fb}.availability-demo i.on{background:#dceaf7;border-color:#aac8e4;position:relative}.availability-demo i.on:after{content:"AVAILABLE";display:grid;place-items:center;height:100%;font-style:normal;font-size:7px;font-weight:800;color:var(--blue)}.report-head,.active-top{display:flex;justify-content:space-between;align-items:center}.report-head small,.active-top small,.plate-demo small{display:block;font-size:8px;letter-spacing:1.2px;color:#718294}.report-head strong,.active-top strong{display:block;color:var(--navy);margin-top:3px}.report-head>span,.active-top>span{font-size:8px;font-weight:800;background:#eaf5ed;color:#4e7357;padding:6px 8px;border-radius:4px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.fake-map{background:#eef3f7;border-radius:6px;padding:14px;color:#5b84af;overflow:hidden}.fake-map span{font-size:8px;font-weight:800;letter-spacing:1px}.fake-map svg{display:block;width:100%;height:90px}.app-demo{max-width:520px}.app-top{background:var(--navy);color:#fff;margin:-22px -22px 17px;padding:18px 22px;border-radius:8px 8px 0 0}.app-top small{display:block;font-size:8px;color:#b9d1ef}.app-top strong{display:block;font-size:19px;margin-top:4px}.app-field b{font-size:11px}.app-field.accent{background:#edf4fb;border-color:#d5e3f1}.app-field.accent b{color:var(--blue)}.safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}.safety-grid span{padding:12px;border:1px solid #cfe2d3;background:#f0f7f2;border-radius:5px;font-size:9px;font-weight:750;color:#4c7255;text-align:center}.active-demo{background:#f8fafc}.fake-map.dark{background:#dfe9f1;color:var(--blue);margin:15px 0}.active-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.active-buttons b{background:#fff;border:1px solid var(--line);padding:11px;text-align:center;border-radius:5px;font-size:8px;color:var(--navy)}.event-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0}.event-code-grid span{border:1px solid var(--line);border-radius:5px;padding:10px;color:var(--blue);font-size:10px;font-weight:800}.event-code-grid b{color:#607386;margin-left:6px}.plate-demo{max-width:520px}.plate-input{border:1px solid var(--line);border-radius:5px;padding:14px;font-size:20px;font-weight:800;letter-spacing:4px;text-align:center;margin:10px 0}.plate-result{background:#edf4fb;border:1px solid #d5e3f1;padding:16px;border-radius:6px}.plate-result b{display:block;color:var(--blue);font-size:10px}.plate-result span{display:block;color:#6f8091;font-size:9px;margin-top:4px}.email-chip-grid{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.email-chip-grid span{border:1px solid var(--line);background:#fff;border-radius:4px;padding:7px 9px;font-size:9px;color:#5f7183}.guide-finish{text-align:center;padding:60px 20px 20px}.guide-finish img{width:330px;max-width:80%}.guide-finish h2{font-size:24px;color:var(--navy);margin:25px 0 8px}.guide-finish p{font-size:11px;color:#718192}.guide-finish a{color:var(--blue);font-weight:700}
@media(max-width:900px){.guide-main{grid-template-columns:1fr;gap:20px;padding:22px 16px 60px}.guide-toc{position:relative;top:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.guide-toc-inner{display:block}.guide-toc h2{margin-bottom:8px}.guide-toc nav{display:flex;flex-direction:row;overflow:auto;gap:4px;padding-bottom:4px}.guide-toc nav a{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:8px 10px}.guide-toc nav span{display:none}.guide-hero{padding:34px 28px}.guide-hero h1{font-size:34px}.guide-hero-mark{display:none}}
@media(max-width:600px){.guide-hero{padding:28px 22px}.guide-hero h1{font-size:30px}.guide-section{padding:34px 0}.guide-section h2{font-size:24px}.guide-two,.guide-action-grid,.stats-guide-grid,.trouble-grid,.event-code-grid{grid-template-columns:1fr}.mini-stats,.report-metrics{grid-template-columns:1fr}.fake-shift{grid-template-columns:70px 1fr}.fake-shift strong,.fake-shift em{grid-column:2}.safety-grid{grid-template-columns:1fr 1fr}.active-buttons{grid-template-columns:1fr}.availability-demo{font-size:8px}.guide-ui{padding:16px}.guide-ui-bar{margin:-16px -16px 16px}.app-top{margin:-16px -16px 15px;padding:16px}.mini-row{display:block}.mini-row span{display:block;margin-top:4px}}

/* Guide V1.1: interface replicas use the live portal's visual language */
.guide-home-replica{padding:0;overflow:hidden;background:#f8fafc}
.guide-home-hero{color:#fff;background:radial-gradient(circle at 90% 4%,rgba(255,255,255,.10),transparent 23%),linear-gradient(145deg,#17385d 0%,#214f7d 58%,#285d9f 100%)}
.guide-home-main{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:26px 30px 23px}
.guide-home-main small{font-size:8px;letter-spacing:1.4px;color:#bdd3e8}.guide-home-main h3{font-size:27px;font-weight:550;color:#fff;margin:4px 0 7px}.guide-home-main p{font-size:10px;color:#d8e3ef;margin:0}.guide-service{text-align:right;border-left:1px solid rgba(255,255,255,.2);padding-left:24px}.guide-service span{display:block;font-size:7px;letter-spacing:1.2px;color:#b9d1ef}.guide-service strong{display:block;font-size:14px;margin-top:5px}.guide-home-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}.guide-home-stats>div{padding:12px 16px;border-right:1px solid rgba(255,255,255,.18)}.guide-home-stats>div:last-child{border-right:0}.guide-home-stats span{display:block;font-size:7px;letter-spacing:1px;color:#b9d1ef}.guide-home-stats strong{display:block;font-size:13px;margin-top:4px}.guide-home-notice{margin:18px 18px 0;padding:15px 16px;display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:start;border:1px solid #d8e2ea;border-radius:8px;background:linear-gradient(145deg,#fff,#f7fafc)}.guide-home-notice>span{font-size:7px;letter-spacing:1px;color:var(--blue);font-weight:800}.guide-home-notice strong{font-size:11px;color:var(--ink)}.guide-home-notice p{font-size:9px;color:#788897;margin:4px 0 0}.guide-home-notice>b{font-size:8px;color:var(--blue)}.guide-section-title{display:flex;justify-content:space-between;align-items:end;margin:24px 18px 9px}.guide-section-title strong{font-size:14px;color:var(--ink)}.guide-section-title span{font-size:8px;font-weight:800;color:var(--blue)}.guide-next-patrol{margin:0 18px;display:grid;grid-template-columns:90px 1fr auto;align-items:center;border:1px solid #d5e0e8;border-radius:7px;background:#fff;overflow:hidden}.guide-date{align-self:stretch;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(145deg,#edf5fb,#dfeefa);padding:18px 10px}.guide-date strong{font-size:28px;color:var(--navy);font-weight:550;line-height:1}.guide-date span{font-size:7px;color:var(--blue);letter-spacing:1px;font-weight:800;margin-top:4px}.guide-next-details{padding:18px}.guide-next-details>strong{display:block;font-size:16px;color:var(--ink)}.guide-next-details>span{display:block;font-size:9px;color:#7c8b99;margin-top:3px}.guide-next-details>div{display:grid;grid-template-columns:auto auto;gap:2px 18px;margin-top:11px;width:max-content}.guide-next-details small{font-size:7px;color:#8a97a4}.guide-next-details b{font-size:9px}.guide-open-roster{margin-right:18px;background:var(--blue);color:#fff;border-radius:4px;padding:10px 12px;font-size:8px;font-weight:800}.guide-home-links{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px 18px 18px}.guide-home-links>div{border:1px solid #d7e1e9;border-radius:6px;background:linear-gradient(150deg,#fff,#f8fafc);padding:13px}.guide-home-links i{display:block;font-style:normal;color:var(--sky);font-size:7px;font-weight:800;margin-bottom:7px}.guide-home-links b{display:block;font-size:10px}.guide-home-links span{display:block;font-size:8px;color:#788897;margin-top:4px}
.guide-roster-replica{background:#f8fafc}.guide-monthbar{background:var(--navy);color:#fff;border-radius:7px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between}.guide-monthbar>b{width:28px;height:28px;border:1px solid rgba(255,255,255,.28);border-radius:4px;display:grid;place-items:center}.guide-monthbar>div{text-align:center}.guide-monthbar span{display:block;font-size:7px;letter-spacing:1.2px;color:#bdd0e6}.guide-monthbar strong{display:block;font-size:15px;margin-top:2px}.guide-roster-legend{display:flex;gap:14px;margin:11px 2px;font-size:8px;color:#788696}.guide-roster-legend .mine{color:var(--blue)}.guide-roster-table{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}.guide-roster-head,.guide-roster-row{display:grid;grid-template-columns:105px repeat(3,1fr)}.guide-roster-head{background:#edf4fb}.guide-roster-head b{padding:10px 11px;border-left:1px solid var(--line);font-size:7px;text-transform:uppercase;letter-spacing:1px;color:#607489}.guide-roster-head b:first-child{border-left:0}.guide-roster-row{min-height:88px;border-top:1px solid var(--line)}.guide-roster-day{padding:13px 11px;background:#fbfcfd}.guide-roster-day strong{display:block;font-size:11px}.guide-roster-day span{display:block;font-size:8px;color:#8a97a4;margin-top:3px}.guide-assignment{margin:10px;border:1px solid #d9e4ef;border-radius:5px;background:#f0f5fa;padding:8px}.guide-assignment.mine{background:#eaf2fb;border-color:#abc3df}.guide-assignment>small{display:block;font-size:6px;letter-spacing:1px;color:var(--blue);font-weight:900;margin-bottom:4px}.guide-assignment>div{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:5px 7px}.guide-assignment strong{font-size:8px;color:var(--navy)}.guide-assignment span{font-size:7px;color:#748596;border-left:1px solid #bfcbd7;padding-left:6px}.guide-assignment.empty{display:grid;place-items:center;text-align:center;background:#fff;border-style:dashed}.guide-assignment.empty strong{font-size:8px;color:#9aa5b0}.guide-assignment.empty span{font-size:7px;border:0;padding:0}
.guide-availability-replica{background:#f8fafc}.guide-week-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:13px}.guide-week-tabs b{padding:8px 9px;font-size:7px;letter-spacing:.5px;color:#7b8a99;border-bottom:2px solid transparent}.guide-week-tabs b.active{color:var(--blue);border-bottom-color:var(--blue)}.guide-week-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:9px}.guide-week-heading small{display:block;font-size:7px;letter-spacing:1px;color:var(--blue);font-weight:800}.guide-week-heading strong{display:block;font-size:15px;color:var(--navy);margin-top:2px}.guide-week-heading>span{font-size:8px;color:#8a97a4}.guide-save-row{text-align:right;margin-top:14px}.guide-save-row b{display:inline-block;background:var(--blue);color:#fff;border-radius:4px;padding:10px 12px;font-size:8px;letter-spacing:.3px}
@media(max-width:700px){.guide-home-main{grid-template-columns:1fr}.guide-service{text-align:left;border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:12px 0 0}.guide-home-notice{grid-template-columns:1fr;gap:6px}.guide-next-patrol{grid-template-columns:70px 1fr}.guide-open-roster{grid-column:1/-1;margin:0 12px 12px;text-align:center}.guide-home-links{grid-template-columns:1fr}.guide-roster-replica{overflow-x:auto}.guide-roster-table,.guide-monthbar,.guide-roster-legend{min-width:680px}.guide-week-tabs{overflow:auto}.guide-week-tabs b{white-space:nowrap}.guide-week-heading{display:block}.guide-week-heading>span{display:block;margin-top:5px}}
/* Guide V1.2 source-derived replicas */
.source-replica,.admin-source-replica,.patrol-source-replica{overflow:hidden}.rep-page-head{padding:22px 24px;border-bottom:1px solid #dce5ed;background:#fff}.rep-page-head small,.rep-library-head small,.rep-stat-title small,.rep-patrol-card>small,.rep-two-admin small,.rep-email-settings small,.rep-upload small,.rep-clean-grid small,.rep-maint small{display:block;color:#24589d;font-size:10px;font-weight:800;letter-spacing:.1em}.rep-page-head h3{margin:4px 0;color:#25466f;font-size:25px}.rep-page-head p{margin:0;color:#6a7b8c}.rep-update{margin:16px 20px;padding:18px;border:1px solid #dce5ed;background:#fff;display:grid;grid-template-columns:1fr auto;gap:8px 18px}.rep-update.important{border-left:5px solid #ffea22}.rep-update span{background:#ffea22;padding:3px 7px;font-size:9px;font-weight:900}.rep-update h4,.rep-library-head h4,.rep-stat-title h4,.rep-details h4,.rep-two-admin h4,.rep-email-settings h4,.rep-upload h4,.rep-active-layout h4,.rep-stat-panels h4,.rep-clean-grid h4,.rep-maint h4{margin:4px 0;color:#25466f}.rep-update>b{color:#24589d}.rep-update footer{grid-column:1/-1;color:#758596;font-size:11px}.rep-library-head{padding:18px 20px;display:flex;justify-content:space-between;align-items:end}.rep-library-head span{color:#758596;font-size:12px}.rep-doc{margin:0 20px 12px;padding:15px;display:grid;grid-template-columns:50px 1fr auto;gap:14px;align-items:center;border:1px solid #dce5ed;background:#fff}.rep-doc>b{background:#25466f;color:#fff;padding:12px 8px;text-align:center}.rep-doc h4{margin:0;color:#25466f}.rep-doc p{margin:3px 0}.rep-doc small{color:#758596}.rep-doc>strong{color:#24589d;font-size:11px}.rep-stat-title,.rep-details{padding:18px 20px}.rep-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 18px}.rep-kpis>div{padding:14px;background:#f3f7fa;border:1px solid #dce5ed}.rep-kpis span,.rep-kpis small{display:block;color:#718294;font-size:10px}.rep-kpis b{display:block;color:#25466f;font-size:20px;margin:4px 0}.rep-details{border-top:1px solid #dce5ed}.rep-details>div{display:grid;grid-template-columns:1fr 2fr;gap:8px 15px;margin:12px 0 16px}.rep-details>strong,.rep-primary{display:inline-block;background:#24589d;color:#fff;padding:10px 14px;font-size:11px}.rep-appbar{display:flex;gap:12px;align-items:center;padding:12px 16px;background:#25466f;color:#fff}.rep-appbar img{width:120px;max-height:38px;object-fit:contain;background:#fff;padding:3px}.rep-appbar span{display:block;font-size:10px;opacity:.75}.rep-patrol-card{padding:18px;background:#f3f7fa}.rep-input,.rep-select,.rep-textarea,.rep-file{background:#fff;border:1px solid #ccd9e4;padding:11px 12px;margin:5px 0 13px;color:#43586c}.rep-select:after{content:' ▾';float:right}.rep-textarea{min-height:55px}.rep-photo-row,.rep-toggle{display:flex;gap:8px;margin:6px 0 14px}.rep-photo-row span,.rep-toggle>*{flex:1;border:1px solid #ccd9e4;background:#fff;padding:10px;text-align:center;font-size:10px}.rep-gps{margin:8px 0 14px;color:#24589d;font-size:11px;font-weight:800}.rep-danger-btn{display:block;background:#8f3038;color:#fff;padding:12px;text-align:center}.rep-admin-layout,.rep-active-layout{display:grid;grid-template-columns:35% 65%;background:#f3f7fa}.rep-admin-layout aside,.rep-admin-layout main,.rep-active-layout aside,.rep-active-layout main{padding:18px}.rep-admin-layout aside,.rep-active-layout aside{border-right:1px solid #dce5ed;background:#fff}.rep-person{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px;border-top:1px solid #dce5ed;background:#fff}.rep-person>b{background:#25466f;color:#fff;width:38px;height:38px;display:grid;place-items:center}.rep-person span{display:block;color:#758596;font-size:11px}.rep-person em{font-style:normal;color:#24589d;font-size:10px;font-weight:800}.rep-admin-toolbar{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:14px 18px;background:#f3f7fa;border-bottom:1px solid #dce5ed;flex-wrap:wrap}.rep-admin-toolbar>*{padding:8px 10px;border:1px solid #ccd9e4;background:#fff;font-size:10px}.rep-admin-toolbar strong{background:#24589d;color:#fff}.rep-roster-admin{padding:15px 18px}.rep-roster-admin>div{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;padding:13px;border-bottom:1px solid #dce5ed}.rep-two-admin{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px;background:#f3f7fa}.rep-two-admin>div,.rep-email-settings,.rep-upload{background:#fff;border:1px solid #dce5ed;padding:18px}.rep-email-settings{margin:18px}.rep-active-card{margin-top:12px;padding:14px;background:#f3f7fa;border-left:4px solid #24589d}.rep-active-card>*{display:block;margin:3px 0}.rep-map{height:180px;margin:0 18px 18px;background:linear-gradient(135deg,#eef3f6,#dce6ec);display:grid;place-items:center;color:#24589d}.rep-map svg{width:90%;height:80%}.rep-upload{margin:0 18px 18px}.rep-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;background:#f3f7fa}.rep-form-grid label{font-size:10px;font-weight:800;color:#25466f}.rep-stat-panels,.rep-clean-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px}.rep-stat-panels>div,.rep-clean-grid>div{padding:15px;border:1px solid #dce5ed;background:#fff}.rep-stat-panels span{display:block;padding:5px 0}.rep-bars i{display:block;height:8px;background:#24589d;margin:8px 0}.rep-clean-grid{padding:18px;background:#f3f7fa}.rep-clean-grid b{display:block;background:#8f3038;color:#fff;padding:10px;text-align:center;font-size:10px}.rep-maint{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border-bottom:1px solid #dce5ed}.rep-maint p{margin:4px 0}.rep-maint>strong{padding:10px;background:#25466f;color:#fff;font-size:10px}
@media(max-width:760px){.rep-kpis{grid-template-columns:1fr 1fr}.rep-admin-layout,.rep-active-layout,.rep-two-admin,.rep-form-grid,.rep-stat-panels,.rep-clean-grid{grid-template-columns:1fr}.rep-admin-layout aside,.rep-active-layout aside{border-right:0;border-bottom:1px solid #dce5ed}.rep-roster-admin>div{grid-template-columns:1fr}.rep-doc{grid-template-columns:44px 1fr}.rep-doc>strong{grid-column:2}.rep-maint{align-items:flex-start;flex-direction:column}}

/* Guide V1.3: exact live interface previews */
.guide-live-preview{margin:24px 0;border:1px solid #d8e2ea;background:#fff;box-shadow:0 16px 38px rgba(27,55,83,.10);overflow:hidden}
.guide-live-preview-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 14px;background:#eef4f8;border-bottom:1px solid #d8e2ea;font-size:12px;color:#526a7e}
.guide-live-preview-head span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#24589d}.guide-live-preview-head strong{font-weight:600}
.guide-live-preview iframe{display:block;width:100%;height:720px;border:0;background:#f5f8fa;pointer-events:none}
.guide-exact-login-preview{margin:24px 0;height:650px;overflow:hidden;border:1px solid #d8e2ea}.guide-login-stage{min-height:650px!important;height:650px}.guide-login-stage .login-shell{min-height:650px!important}.guide-login-stage input,.guide-login-stage button{pointer-events:none}
.guide-patrol-exact{margin:24px auto;max-width:540px;border:1px solid #d7e1e8;box-shadow:0 18px 42px rgba(27,55,83,.14);overflow:hidden;background:#eef3f7}.guide-patrol-exact .patrol-body{min-height:0}.guide-patrol-exact .patrol-shell{padding-bottom:22px}.guide-patrol-exact input,.guide-patrol-exact select,.guide-patrol-exact textarea,.guide-patrol-exact button{pointer-events:none}.guide-map-placeholder{min-height:260px;background:linear-gradient(135deg,#dce8e3,#edf2ee);position:relative}.guide-map-placeholder:after{content:'LIVE MAP AREA';position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.12em;color:#637b72}.guide-patrol-exact .patrol-quick-action{cursor:default}
@media(max-width:760px){.guide-live-preview iframe{height:640px}.guide-live-preview-head{align-items:flex-start;flex-direction:column;gap:2px}.guide-exact-login-preview{height:600px}.guide-login-stage,.guide-login-stage .login-shell{min-height:600px!important;height:600px!important}}


/* V1.10 roster completion, current-date focus and mobile report date rail */
.roster .row.today,.mobile-list .mobile-day.today{box-shadow:inset 0 0 0 2px rgba(36,88,157,.20);background:#f8fbff}
.roster .row.today .day,.mobile-list .mobile-day.today .mobile-day-head{background:#edf4fb}
.assignment.completed{background:#eef7f0!important;border-color:#b9d7c0!important}
.assignment .completed-label{color:#4d7757!important}
.shift-report-date{overflow:hidden}
body:not(.patrol-body) .shift-report-date{
  align-self:stretch;justify-self:stretch;min-width:90px;margin:-14px 0 -14px -16px;padding:0;border:0!important;border-right:1px solid rgba(255,255,255,.16)!important;border-radius:8px 0 0 8px!important;background:linear-gradient(145deg,#24589d 0%,#2f6cad 100%)!important;box-shadow:none!important;color:#fff;display:flex;align-items:stretch;justify-content:center;
}
body:not(.patrol-body) .shift-report-date>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:14px 12px}
body:not(.patrol-body) .shift-report-date strong{color:#fff;font-size:29px;font-weight:600;line-height:1}
body:not(.patrol-body) .shift-report-date span{color:#dce9f6;font-size:7px;font-weight:750;letter-spacing:.8px;margin-top:5px}
@media(max-width:820px){body:not(.patrol-body) .shift-report-date{grid-row:1 / span 2;min-width:76px;margin:-14px 0 -14px -16px}.roster .row.today .day{background:#edf4fb}}
@media(max-width:520px){body:not(.patrol-body) .shift-report-date{min-width:74px}.mobile-list .mobile-day.today{box-shadow:inset 0 0 0 2px rgba(36,88,157,.22)}}

/* V1.11 | Patrol intelligence admin form + priority styling */
.intel-admin-form{
  display:grid;
  grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) minmax(130px,1fr) minmax(130px,1fr) minmax(190px,1.25fr);
  gap:12px;
  align-items:end;
  padding:16px;
  border:1px solid #e1e8ee;
  border-radius:8px;
  background:#f8fafc;
}
.intel-admin-form label{
  display:block;
  margin:0;
  font-size:9px;
  font-weight:750;
  color:#52687c;
}
.intel-admin-form input,
.intel-admin-form select,
.intel-admin-form textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:5px;
  font-size:10px;
  padding:8px 9px;
  border-radius:5px;
}
.intel-admin-form input,
.intel-admin-form select{height:36px}
.intel-admin-form textarea{min-height:62px;resize:vertical}
.intel-form-wide{grid-column:1 / -1}
.intel-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:2px}
.intel-form-actions .button{min-height:34px;padding:8px 12px;font-size:9px}
.intel-form-actions .button.active{background:#edf4fb;color:#24589d;border-color:#9fbddd}
.intel-cancel{display:none!important}
.intel-cancel.visible{display:inline-flex!important}
.intel-admin-form.editing{border-color:#9fbddd;background:#f5f9fd;box-shadow:inset 0 0 0 1px rgba(36,88,157,.06)}
.intel-priority-key{display:flex;align-items:center;gap:14px;margin:12px 2px 8px;font-size:8px;color:#718394;text-transform:uppercase;letter-spacing:.6px;font-weight:750}
.intel-priority-key span{display:inline-flex;align-items:center;gap:5px}
.intel-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.intel-dot.low{background:#f2c94c}
.intel-dot.medium{background:#f2994a}
.intel-dot.high{background:#d94b4b}
.intel-admin-list{display:grid;gap:7px}
.intel-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px;border:1px solid #e0e7ed;border-radius:7px;background:#fff}
.intel-admin-row-info{min-width:0}
.intel-admin-row-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.intel-admin-row-title strong{font-size:11px;color:#294b72}
.intel-priority-pill{display:inline-flex;align-items:center;padding:3px 6px;border-radius:4px;font-size:7px;font-weight:800;letter-spacing:.4px}
.intel-priority-pill.low{background:#fff8d9;color:#8a6a16}
.intel-priority-pill.medium{background:#fff0e2;color:#9a5b1b}
.intel-priority-pill.high{background:#fff0f0;color:#a04444}
.intel-admin-meta{display:block;margin-top:3px;font-size:8px;color:#8493a0}
.intel-admin-row-info small{display:block;margin-top:5px;font-size:9px;line-height:1.45;color:#65798b;white-space:normal}
.intel-admin-actions{display:flex;align-items:center;gap:7px}
.intel-admin-actions form{margin:0}
.intel-admin-actions .button{min-height:30px;padding:7px 10px;font-size:8px}
.intel-picking{cursor:crosshair!important}
.intel-picking .leaflet-interactive{cursor:crosshair!important}
@media(max-width:1000px){
  .intel-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intel-field-area{grid-column:1 / -1}
}
@media(max-width:620px){
  .intel-admin-form{grid-template-columns:1fr;padding:12px}
  .intel-field-area,.intel-form-wide,.intel-form-actions{grid-column:1}
  .intel-form-actions{display:grid;grid-template-columns:1fr 1fr}
  .intel-form-actions .intel-cancel.visible{grid-column:1 / -1}
  .intel-admin-row{grid-template-columns:1fr}
  .intel-admin-actions{justify-content:flex-end}
  .intel-priority-key{flex-wrap:wrap;gap:9px 14px}
}

.patrol-intel-key{display:flex;align-items:center;gap:12px;margin:7px 0 10px;font-size:8px;color:#738596;text-transform:uppercase;letter-spacing:.5px;font-weight:750}.patrol-intel-key span{display:inline-flex;align-items:center;gap:5px}
.intel-admin-section{margin-top:18px;padding:18px;border:1px solid #d7e2ea;border-radius:11px;background:linear-gradient(150deg,#fff 0%,#fafcfd 100%);box-shadow:0 12px 28px rgba(24,53,80,.06)}
.intel-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}
.intel-admin-head h2{margin:2px 0 4px;font-size:18px;font-weight:650;color:var(--navy)}
.intel-admin-head p:not(.panel-kicker){margin:0;font-size:10px;line-height:1.5;color:#7a8b9a}
.intel-admin-head>span{font-size:8px;color:#75889a;white-space:nowrap;padding-top:3px}
@media(max-width:620px){.intel-admin-section{padding:13px}.intel-admin-head{display:block}.intel-admin-head>span{display:block;margin-top:5px}}

/* V1.12 | Patrol intelligence interaction refinements */
.intel-picking{cursor:crosshair!important}
.intel-picking .leaflet-pane,.intel-picking .leaflet-pane *{cursor:crosshair!important}
.intel-admin-form .button.active{box-shadow:inset 0 0 0 1px rgba(36,88,157,.16)}
@media(max-width:620px){
  .intel-form-actions .button{width:100%;justify-content:center}
  .intel-admin-actions{display:flex;flex-wrap:wrap}
}

/* V1.13 | Patrol intelligence address-first form */
.intel-admin-form{
  grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(135px,.85fr) minmax(135px,1fr) minmax(135px,1fr) minmax(180px,1.15fr);
  gap:10px;
  padding:14px;
}
.intel-admin-form .intel-field-address{grid-column:span 2}
.intel-admin-form .intel-field-area{grid-column:span 1}
.intel-admin-form label{font-size:9px;line-height:1.2}
.intel-admin-form input,.intel-admin-form select,.intel-admin-form textarea{font-size:10px;padding:8px 9px;border:1px solid #d5dfe7;background:#fff;box-shadow:none}
.intel-admin-form input,.intel-admin-form select{height:34px}
.intel-admin-form input:focus,.intel-admin-form select:focus,.intel-admin-form textarea:focus{border-color:#8eafd0;box-shadow:0 0 0 2px rgba(36,88,157,.08);outline:none}
.intel-admin-form textarea{min-height:58px}
.intel-form-actions{justify-content:flex-start;gap:7px}
.intel-form-actions .button{min-height:32px;padding:7px 11px;font-size:8px}
.intel-geocode-status{grid-column:1 / -1;margin:0 2px;font-size:8px;line-height:1.4;color:#6e8192;min-height:11px}
.intel-geocode-status.error{color:#a44646}
.intel-admin-form button:disabled{opacity:.55;cursor:wait}
@media(max-width:1100px){
  .intel-admin-form{grid-template-columns:2fr 1fr 1fr 1fr}
  .intel-admin-form .intel-field-address{grid-column:span 2}
  .intel-admin-form .intel-field-area{grid-column:span 1}
  .intel-admin-form .intel-form-wide,.intel-admin-form .intel-form-actions,.intel-admin-form .intel-geocode-status{grid-column:1 / -1}
}
@media(max-width:700px){
  .intel-admin-form{grid-template-columns:1fr 1fr;padding:12px}
  .intel-admin-form .intel-field-address,.intel-admin-form .intel-field-area{grid-column:1 / -1}
  .intel-form-actions{display:grid;grid-template-columns:1fr 1fr}
  .intel-form-actions .button{width:100%;justify-content:center}
}
@media(max-width:460px){
  .intel-admin-form{grid-template-columns:1fr}
  .intel-form-actions{grid-template-columns:1fr}
}
