:root{
 --bg:#061827;--panel:#0a2a43;--panel2:#0d3451;--line:#31536a;--text:#eef6fa;--muted:#91a7b5;
 --orange:#f26a0a;--orange2:#df5600;--green:#2ca667;--red:#d8343a;--sidebar:245px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#04131f;border-right:1px solid #213d50;padding:22px 15px;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px;border-bottom:1px solid #213d50}.brand-mark{font-size:25px;font-weight:950;letter-spacing:-.05em}.brand strong{display:block;font-size:13px}.brand small{display:block;font-size:8px;color:var(--muted);margin-top:3px}
.sidebar nav{display:grid;gap:5px;margin-top:18px}.sidebar nav a{padding:11px 12px;border-radius:6px;color:#b9c9d3;font-size:10px;font-weight:750}.sidebar nav a:hover{background:#0b2d47;color:#fff}
.sidebar-foot{margin-top:auto;border-top:1px solid #213d50;padding:15px 8px 0}.sidebar-foot small{display:block;color:#8199a8;font-size:8px;overflow:hidden;text-overflow:ellipsis}.sidebar-foot button{border:0;background:none;color:#f3a4a7;padding:10px 0 0;cursor:pointer;font-size:9px}
.main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:74px;border-bottom:1px solid #234257;background:#061c2d;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{font-size:18px;margin:0}.topbar p{font-size:8px;color:var(--muted);margin:4px 0 0}.top-actions{display:flex;align-items:center;gap:9px}.theme-btn,.btn{border:1px solid #42657a;background:#0b304d;color:#eaf3f8;border-radius:6px;padding:9px 11px;font-size:9px;font-weight:800;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange2));border-color:var(--orange);color:white}.profile-chip{display:flex;align-items:center;gap:8px;border:1px solid #31536a;border-radius:7px;padding:5px 8px;background:#082840}.profile-chip>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#0f466d;font-weight:900}.profile-chip b{display:block;font-size:9px}.profile-chip small{display:block;font-size:7px;color:#f39a63;margin-top:2px}
.content{padding:22px 26px 40px;max-width:1500px;margin:auto}.kicker{color:var(--orange);font-size:8px;font-weight:950;letter-spacing:.14em}.command-hero{min-height:160px;border:1px solid var(--line);border-top:3px solid var(--orange);background:linear-gradient(120deg,#082944,#0b3655);padding:28px 30px;display:flex;align-items:center;justify-content:space-between}.command-hero h2{font-size:26px;margin:7px 0}.command-hero p{font-size:10px;color:#a9bdc8}.release-badge{border:1px solid #44667a;padding:9px 12px;border-radius:6px;font-size:8px;color:#b8cad5}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.metrics>div{background:var(--panel);border:1px solid var(--line);padding:15px 17px}.metrics span{font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.08em}.metrics strong{display:block;font-size:27px;margin-top:8px}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.module-grid>a{min-height:112px;border:1px solid var(--line);background:var(--panel);padding:18px;display:grid;align-content:center}.module-grid b{font-size:13px}.module-grid span{font-size:9px;color:var(--muted);margin-top:5px}.module-grid em{font-style:normal;color:var(--orange);font-size:8px;font-weight:900;margin-top:12px}.module-grid .disabled{opacity:.55;pointer-events:none}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.page-head h2{margin:5px 0 3px;font-size:22px}.page-head p{margin:0;color:var(--muted);font-size:9px}.filters{display:flex;gap:8px;margin-bottom:12px}.filters input{flex:1}.filters input,.filters select,.form-card input,.form-card select{background:#061d30;color:white;border:1px solid #34566c;border-radius:6px;padding:10px}
.table-card,.form-card,.profile-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{text-align:left;padding:12px 13px;border-bottom:1px solid #24465d;font-size:9px}.table-card th{background:#061f34;color:#8fa6b4;font-size:7px;letter-spacing:.08em}.table-card td strong,.table-card td small{display:block}.table-card td small{color:var(--muted);margin-top:3px}.table-card td>a{color:#f59b63}.empty{text-align:center!important;color:var(--muted)}
.status{padding:4px 7px;border-radius:999px;font-size:7px;font-weight:900}.status.active{background:#123c2d;color:#9bd5b2}.status.passive{background:#47262b;color:#f0a0a4}
.form-card{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-card label{display:block;font-size:8px;color:#b8cad4;margin-bottom:6px}.form-card input,.form-card select{width:100%}.actions{display:flex;gap:8px;margin-top:18px}
.alert{padding:11px;border-radius:6px;margin-bottom:13px;font-size:9px}.alert.danger{background:#4a262b;border:1px solid #7a4247;color:#ffc3c6}.profile-card{padding:22px;display:flex;align-items:center;gap:18px;max-width:720px}.avatar{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:#0d4166;font-size:29px;font-weight:950}.profile-card h2{margin:5px 0}.profile-card p{font-size:9px;color:#a8bcc8}.profile-roles{display:flex;gap:6px;flex-wrap:wrap}.profile-roles span{font-size:7px;background:#143b55;color:#d5e3ea;border:1px solid #31536a;border-radius:999px;padding:5px 7px}.muted{color:var(--muted)!important}
.login-wrap{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#0a3657,transparent 30%),#041827;padding:20px}.login-card{width:min(430px,100%);background:#08263e;border:1px solid #31536a;border-top:3px solid var(--orange);padding:30px;border-radius:10px}.login-brand{font-size:34px;font-weight:950;letter-spacing:-.06em}.login-card h2{margin:8px 0 4px}.login-card p{color:var(--muted);font-size:10px}.login-card label{display:block;font-size:8px;color:#b9cad4;margin:12px 0 6px}.login-card input[type=email],.login-card input[type=password]{width:100%;background:#041827;color:white;border:1px solid #34566c;border-radius:6px;padding:11px}.login-card .check{display:flex;align-items:center;gap:7px}.login-card .btn{width:100%;margin-top:10px;padding:12px}
html[data-theme="light"] body{background:#eef3f6;color:#132c3e}html[data-theme="light"] .sidebar{background:#fff;border-color:#d7e1e7}html[data-theme="light"] .sidebar nav a{color:#355063}html[data-theme="light"] .topbar{background:#fff;border-color:#d7e1e7}html[data-theme="light"] .command-hero,html[data-theme="light"] .metrics>div,html[data-theme="light"] .module-grid>a,html[data-theme="light"] .table-card,html[data-theme="light"] .form-card,html[data-theme="light"] .profile-card{background:#fff;border-color:#d5e0e6}html[data-theme="light"] .command-hero{background:linear-gradient(120deg,#fff,#f5f8fa)}html[data-theme="light"] .command-hero p,html[data-theme="light"] .module-grid span{color:#637b89}html[data-theme="light"] .profile-chip{background:#fff;border-color:#d3dfe6}html[data-theme="light"] .profile-chip b{color:#132c3e}
@media(max-width:900px){.metrics{grid-template-columns:1fr 1fr}.module-grid{grid-template-columns:1fr}.sidebar{transform:translateX(-100%)}.main{margin-left:0}.content{padding:16px}.topbar{padding:0 15px}.profile-chip div{display:none}.profile-chip{min-width:44px}.form-grid{grid-template-columns:1fr}}


/* V1.1 RBAC & User Management */
.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:8px}
.section-title{margin:20px 0 10px;padding-bottom:8px;border-bottom:1px solid #29495e;color:#a9bdc8;font-size:8px;font-weight:950;letter-spacing:.12em}
.role-grid,.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.role-option,.permission-option,.toggle-row{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #31536a;border-radius:7px;background:#08263e;padding:12px;cursor:pointer}
.role-option input,.permission-option input,.toggle-row input{width:auto!important;margin-top:2px}
.role-option b,.permission-option b,.toggle-row b{display:block;font-size:9px}
.role-option small,.permission-option small,.toggle-row small{display:block;margin-top:3px;color:var(--muted);font-size:7px}
.toggle-row{margin-top:14px;max-width:460px}
.role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.role-card{display:block;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:17px}
.role-card:hover{border-color:#5b829a}
.role-card strong{display:block;font-size:12px}.role-card small{display:block;color:var(--orange);font-size:7px;margin-top:4px}.role-card p{font-size:8px;color:var(--muted);min-height:24px}
.role-meta{display:flex;gap:7px;margin-top:12px}.role-meta span{font-size:7px;border:1px solid #31536a;border-radius:999px;padding:4px 7px;color:#bfd0da}
.permission-group{margin-bottom:18px}.security-note{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #6a542f;background:#3b311d;border-radius:7px;margin-bottom:15px}.security-note strong{font-size:9px}.security-note span{font-size:8px;color:#dcc796}
.alert.success{background:#173d2d;border:1px solid #2e674b;color:#b9e8ca}
@media(max-width:900px){.role-grid,.permission-grid,.role-cards{grid-template-columns:1fr}.head-actions{width:100%}.page-head{align-items:flex-start;flex-wrap:wrap}}


/* V1.2 Audit & UI refinement */
.sidebar nav a{position:relative;font-size:11px;padding:12px 13px}
.sidebar nav a.active{background:#0d3552;color:#fff;border:1px solid #2f5a73}
.sidebar nav a.active::before{content:"";position:absolute;left:-7px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--orange)}
.sidebar-foot small{font-size:9px}
.sidebar-foot button{font-size:10px}
.topbar{height:78px}
.topbar h1{font-size:20px}
.topbar p{font-size:9px}
.profile-chip b{font-size:10px}
.profile-chip small{font-size:8px}
.theme-btn,.btn{font-size:10px;padding:10px 12px}
.kicker{font-size:9px}
.command-hero p,.page-head p{font-size:10px}
.metrics span{font-size:8px}
.module-grid b{font-size:14px}
.module-grid span{font-size:10px}
.module-grid em{font-size:9px}
.table-card th{font-size:8px}
.table-card td{font-size:10px}
.table-card td small{font-size:8px}
.form-card label{font-size:9px}
.form-card input,.form-card select,.filters input,.filters select{font-size:11px}
.status{font-size:8px}
.security-metrics{margin-bottom:18px}
.audit-tabs{display:flex;gap:8px;margin:0 0 12px}
.audit-tab{border:1px solid #42657a;background:#082840;color:#b9cbd6;padding:10px 13px;border-radius:6px;font-size:9px;font-weight:850;cursor:pointer}
.audit-tab.active{background:#0d3b5c;color:#fff;border-color:#5d8298}
.audit-filters{display:grid;grid-template-columns:minmax(260px,1fr) 220px 150px 150px auto auto}
.audit-action{display:inline-block;padding:4px 7px;border:1px solid #335b73;border-radius:999px;background:#0a314d;font-size:8px;font-weight:800}
.ua{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){
  .audit-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .audit-filters{grid-template-columns:1fr}
  .topbar h1{font-size:18px}
}


/* V1.3 GIS / Operation Center */
.migration-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.migration-summary>div{background:var(--panel);border:1px solid var(--line);padding:16px}
.migration-summary span{display:block;font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.08em}
.migration-summary strong{display:block;font-size:26px;margin-top:7px}
.status.pending{background:#4a3518;color:#ffd18a}
.migration-run{margin-top:14px;display:flex;align-items:center;gap:12px}
.migration-run p{margin:0;color:var(--muted);font-size:9px}

.ops-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}
.ops-toolbar h2{margin:4px 0 3px;font-size:22px}
.ops-toolbar p{margin:0;color:var(--muted);font-size:10px}
.ops-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ops-shell{height:calc(100vh - 145px);min-height:620px;display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--line);background:#061a2a;overflow:hidden}
.ops-map-wrap{position:relative;min-width:0}
#operationMap{width:100%;height:100%;background:#0b2233}
.ops-panel{background:#071d2e;border-left:1px solid #284b60;display:flex;flex-direction:column;min-height:0}
.panel-section{padding:14px;border-bottom:1px solid #26485d}.panel-grow{flex:1;min-height:0;overflow:auto}
.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-title strong{font-size:10px}.panel-title span{font-size:7px;color:var(--orange);font-weight:900}
.layer-toggle{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #17384d;font-size:9px;cursor:pointer}
.layer-toggle input{width:auto}.layer-toggle b{min-width:24px;text-align:center;border:1px solid #33576c;border-radius:999px;padding:3px 5px;font-size:7px}
.map-status{position:absolute;left:12px;bottom:28px;z-index:500;background:rgba(5,23,37,.92);border:1px solid #3d6176;border-radius:6px;padding:8px 10px;font-size:8px;color:#d6e4eb;display:flex;align-items:center;gap:7px}
.map-status span,.gps-dot{width:7px;height:7px;border-radius:50%;background:#2ca667;display:inline-block}.pulse{box-shadow:0 0 0 rgba(44,166,103,.5);animation:opsPulse 1.5s infinite}
@keyframes opsPulse{0%{box-shadow:0 0 0 0 rgba(44,166,103,.5)}70%{box-shadow:0 0 0 8px rgba(44,166,103,0)}100%{box-shadow:0 0 0 0 rgba(44,166,103,0)}}
.incident-list{display:grid;gap:7px}.incident-item{width:100%;border:1px solid #294c61;background:#0a2a43;color:var(--text);padding:9px;border-radius:6px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:8px;cursor:pointer}.incident-item:hover{border-color:#52788e}
.incident-item strong{display:block;font-size:9px}.incident-item small{display:block;font-size:7px;color:var(--muted);margin-top:3px}
.priority{font-size:6px;font-weight:950;border-radius:4px;padding:4px 5px;height:max-content}.priority.critical{background:#5a2026;color:#ffb7ba}.priority.high{background:#5d3515;color:#ffd0a2}.priority.medium{background:#153c57;color:#bfe0f3}.priority.low{background:#203b34;color:#b7d9ce}
.ops-empty{padding:18px 8px;text-align:center;color:var(--muted);font-size:8px}
.coordinate-box{display:flex;justify-content:space-between;gap:10px}.coordinate-box span{font-size:8px;color:var(--muted)}.coordinate-box strong{font-size:8px;font-variant-numeric:tabular-nums}
.map-popup{min-width:170px}.map-popup b,.map-popup strong,.map-popup span{display:block}.map-popup b{font-size:9px;color:#f26a0a}.map-popup strong{font-size:12px;margin:4px 0}.map-popup span{font-size:9px;color:#526b7a}

.ops-modal[hidden],.ops-toast[hidden]{display:none!important}
.ops-modal{position:fixed;inset:0;z-index:2000;background:rgba(1,12,20,.72);display:grid;place-items:center;padding:20px}
.ops-modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:#0a2a43;border:1px solid #42657a;border-top:3px solid var(--orange);border-radius:9px;padding:20px}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.modal-head h3{margin:4px 0;font-size:19px}.modal-head button{border:0;background:none;color:#d4e2e9;font-size:26px;cursor:pointer}
.ops-modal-card label{display:block;font-size:9px;color:#b8cad4;margin-bottom:6px}.ops-modal-card input,.ops-modal-card select,.ops-modal-card textarea{width:100%;background:#061d30;color:#fff;border:1px solid #34566c;border-radius:6px;padding:10px;font:inherit}
.ops-modal-card textarea{resize:vertical}.ops-modal-card .full{grid-column:1/-1}.coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.ops-toast{position:fixed;right:22px;bottom:22px;z-index:2500;background:#173d2d;border:1px solid #35694f;color:#d9f5e3;padding:12px 14px;border-radius:7px;font-size:9px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.ops-toast.error{background:#4b2528;border-color:#7b4147;color:#ffd6d8}
.leaflet-container{font-family:Inter,Segoe UI,Arial,sans-serif}
.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.85)!important}

.field-gps-card{max-width:900px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:9px;padding:22px}
.field-identity{display:flex;gap:14px;align-items:center}.field-identity h3{margin:4px 0 2px;font-size:18px}.field-identity p{margin:0;color:var(--muted);font-size:9px}
.gps-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#0f466d;font-size:18px;font-weight:950}
.gps-state{margin-top:18px;padding:13px;border:1px solid #38596d;border-radius:7px;display:flex;align-items:center;gap:10px}.gps-state strong,.gps-state small{display:block}.gps-state strong{font-size:10px}.gps-state small{font-size:8px;color:var(--muted);margin-top:2px}.gps-state.active .gps-dot{animation:opsPulse 1.5s infinite}.gps-state.error .gps-dot{background:#d8343a}
.gps-readings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.gps-readings>div{background:#061f34;border:1px solid #2d5065;padding:13px}.gps-readings span{display:block;font-size:7px;color:var(--muted);font-weight:900}.gps-readings strong{display:block;margin-top:7px;font-size:13px;font-variant-numeric:tabular-nums}
.gps-actions{display:flex;gap:8px;margin-top:15px}

@media(max-width:1100px){
  .ops-shell{grid-template-columns:1fr;height:auto;min-height:0}
  .ops-map-wrap{height:68vh;min-height:520px}
  .ops-panel{border-left:0;border-top:1px solid #284b60;max-height:none}
}
@media(max-width:800px){
  .ops-toolbar{align-items:flex-start;flex-direction:column}
  .ops-actions{justify-content:flex-start}
  .gps-readings{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .ops-map-wrap{height:62vh;min-height:430px}
  .gps-readings{grid-template-columns:1fr}
  .coord-grid{grid-template-columns:1fr}
}


/* V1.4 Search Sectors, Routes, Presence */
.mobile-menu-btn{display:none;border:1px solid #42657a;background:#0b304d;color:#fff;border-radius:6px;width:39px;height:39px;font-size:18px;cursor:pointer}
.nav-overlay{display:none}
.ops-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #284b60}
.ops-summary>div{padding:10px 8px;text-align:center;border-right:1px solid #284b60}.ops-summary>div:last-child{border-right:0}
.ops-summary span{display:block;font-size:6px;color:var(--muted);font-weight:900;letter-spacing:.05em}.ops-summary strong{display:block;font-size:19px;margin-top:3px}
.ops-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #284b60;background:#061827}
.ops-tab{border:0;border-right:1px solid #24475c;background:transparent;color:#879eac;padding:10px 4px;font-size:7px;font-weight:900;cursor:pointer}.ops-tab:last-child{border-right:0}.ops-tab.active{background:#0c3450;color:#fff;box-shadow:inset 0 -2px 0 var(--orange)}
.ops-tab-panels{flex:1;min-height:0;overflow:hidden}.ops-tab-panel{display:none;height:100%;overflow:auto;padding:13px}.ops-tab-panel.active{display:block}
.coordinate-footer{padding:10px 13px!important}
.sector-btn{border-color:#9a6b2f;background:#3b2a17}
.sector-list,.personnel-list{display:grid;gap:7px}
.sector-item{border:1px solid #294c61;border-radius:7px;background:#08273e;overflow:hidden}.sector-item.selected{border-color:#e58a45;box-shadow:inset 3px 0 0 var(--orange)}
.sector-focus{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;border:0;background:transparent;color:var(--text);padding:10px;cursor:pointer}.sector-focus strong{display:block;font-size:9px}.sector-focus small{display:block;margin-top:3px;color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}.sector-focus em{font-style:normal;font-size:11px;font-weight:900;color:#c5d7e1}
.sector-status{font-size:6px;font-weight:950;border-radius:4px;padding:4px 5px}.sector-status.waiting{background:#263c4b;color:#bed0db}.sector-status.active{background:#5d3515;color:#ffd0a2}.sector-status.partial{background:#3a355d;color:#d6cdf8}.sector-status.completed{background:#173d2d;color:#bde6cc}
.sector-actions{display:flex;border-top:1px solid #24475c}.sector-actions button{flex:1;border:0;border-right:1px solid #24475c;background:#071e30;color:#9fb5c2;padding:7px;font-size:7px;cursor:pointer}.sector-actions button:last-child{border-right:0}.sector-actions button:hover{color:#fff;background:#0c3450}
.personnel-item{border:1px solid #294c61;border-radius:7px;background:#08273e;overflow:hidden}.personnel-focus{width:100%;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;border:0;background:transparent;color:var(--text);padding:10px;text-align:left;cursor:pointer}.personnel-focus strong{display:block;font-size:9px}.personnel-focus small{display:block;color:var(--muted);font-size:7px;margin-top:3px}
.person-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.05)}.person-dot.live{background:#2ca667}.person-dot.late{background:#f3a33c}.person-dot.offline{background:#d8343a}
.route-toggle{width:100%;border:0;border-top:1px solid #24475c;background:#071e30;color:#99b4c4;padding:7px;font-size:7px;cursor:pointer}.route-toggle:hover{color:#fff;background:#0c3450}
.coverage-info{margin-top:10px;padding:10px;border:1px solid #3d5f73;border-radius:7px;background:#061f34}.coverage-head{display:flex;justify-content:space-between;align-items:center}.coverage-head strong{font-size:8px}.coverage-head b{font-size:15px;color:#f0a16e}.coverage-bar{height:6px;border-radius:99px;background:#153145;overflow:hidden;margin:8px 0}.coverage-bar span{display:block;height:100%;background:linear-gradient(90deg,#f26a0a,#2ca667)}.coverage-info small{font-size:7px;color:var(--muted);line-height:1.5}
.gps-legend{position:absolute;right:12px;bottom:28px;z-index:500;background:rgba(5,23,37,.92);border:1px solid #3d6176;border-radius:6px;padding:8px 10px;display:flex;gap:10px;font-size:7px;color:#d6e4eb}.gps-legend span{display:flex;align-items:center;gap:5px}.gps-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.gps-legend i.live{background:#2ca667}.gps-legend i.late{background:#f3a33c}.gps-legend i.offline{background:#d8343a}
.sector-modal-card{width:min(760px,100%)}
.sector-modal-card select[multiple]{min-height:150px}
body.nav-open{overflow:hidden}

@media(max-width:900px){
  .mobile-menu-btn{display:grid;place-items:center;flex:0 0 auto}
  .topbar{gap:10px}.topbar-title{min-width:0;flex:1}.topbar-title h1,.topbar-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sidebar{transform:translateX(-100%);transition:transform .2s ease;z-index:1200}
  .sidebar.mobile-open{transform:translateX(0)}
  .nav-overlay{position:fixed;inset:0;background:rgba(0,10,18,.62);z-index:1100}
  .nav-overlay.visible{display:block}
}
@media(max-width:700px){
  .gps-legend{left:10px;right:auto;bottom:62px;flex-direction:column;gap:4px}
  .ops-tabs{grid-template-columns:repeat(2,1fr)}
  .ops-tab{border-bottom:1px solid #24475c}
  .sector-focus small{max-width:140px}
}


/* V1.4.1 Map Cleanup Management */
.map-popup-action{
  display:block;width:100%;margin-top:9px;border:1px solid #b95b60;
  background:#48242a;color:#ffd7d9;border-radius:5px;padding:7px 8px;
  font-size:8px;font-weight:800;cursor:pointer
}
.map-popup-action:hover{background:#5a2a31}
.sector-actions .danger-text{color:#ef9b9f}
.sector-actions .danger-text:hover{background:#4b2528;color:#ffd6d8}
.confirm-modal-card{width:min(520px,100%)}
.confirm-message{margin:0;color:#b7cad5;font-size:10px;line-height:1.65}
.danger-btn{background:#a82f36!important;border-color:#c64a50!important;color:#fff!important}
.danger-btn:hover{background:#bf3941!important}


/* V1.4.2 Archive & Restore */
.ops-tabs{grid-template-columns:repeat(5,1fr)}
.archive-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}
.archive-summary>div{border:1px solid #2d5166;background:#061f34;border-radius:6px;padding:9px 10px}
.archive-summary span{display:block;color:var(--muted);font-size:6px;font-weight:900}
.archive-summary strong{display:block;font-size:17px;margin-top:4px}
.archive-list{display:grid;gap:7px}
.archive-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid #294c61;border-radius:7px;background:#08273e;padding:9px}
.archive-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;font-size:14px;font-weight:900}
.archive-icon.point{background:#443a19;color:#f3c34e}
.archive-icon.zone{background:#17354a;color:#8dc8ed}
.archive-copy{min-width:0}
.archive-copy span{display:block;color:var(--orange);font-size:6px;font-weight:900}
.archive-copy strong{display:block;font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archive-copy small{display:block;color:var(--muted);font-size:7px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archive-item button{border:1px solid #3f6a80;background:#0c3450;color:#dce9ef;border-radius:5px;padding:7px 8px;font-size:7px;font-weight:800;cursor:pointer}
.archive-item button:hover{background:#114360}
@media(max-width:700px){
  .ops-tabs{grid-template-columns:repeat(2,1fr)}
  .archive-item{grid-template-columns:auto 1fr}
  .archive-item button{grid-column:1/-1;width:100%}
}


/* Camera Module V2 - Readiness Test */
.camera-readiness{display:grid;gap:16px}
.camera-readiness-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border:1px solid #264a61;background:#071f33;border-radius:10px}
.camera-readiness-head h2{margin:5px 0 6px;font-size:21px}
.camera-readiness-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.6;max-width:760px}
.camera-overall{white-space:nowrap;padding:8px 11px;border-radius:6px;font-size:8px;font-weight:900;letter-spacing:.06em;border:1px solid #3d5f74}
.camera-overall.waiting{background:#253544;color:#c5d2d9}
.camera-overall.ok{background:#123d2d;color:#86e0b6;border-color:#286649}
.camera-overall.bad{background:#482329;color:#ffc3c6;border-color:#874149}
.camera-readiness-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:14px}
.camera-preview-card,.camera-check-card{border:1px solid #284b60;background:#071f33;border-radius:10px;padding:14px}
.camera-video-wrap{position:relative;overflow:hidden;border-radius:9px;background:#020b12;aspect-ratio:16/9;display:grid;place-items:center}
.camera-video-wrap video{width:100%;height:100%;object-fit:cover;background:#000}
.camera-preview-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:5px;color:#9bb1bd;background:radial-gradient(circle at center,#0d2c43,#020c14 70%)}
.camera-preview-empty strong{font-size:13px;color:#e6eef2}
.camera-preview-empty span{font-size:9px}
.camera-facing-badge{position:absolute;top:10px;left:10px;padding:6px 8px;border-radius:5px;background:rgba(2,14,23,.82);border:1px solid #38576b;color:#d5e4eb;font-size:7px;font-weight:900}
.camera-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.camera-controls .btn{min-height:37px}
.camera-controls .primary{background:#bc3a31;border-color:#d45549;color:#fff}
.camera-controls .danger-soft{background:#3a2227;border-color:#754048;color:#ffd1d4}
.camera-mic-panel{margin-top:12px;border:1px solid #27475b;background:#061828;border-radius:8px;padding:11px}
.camera-mic-row{display:flex;justify-content:space-between;align-items:center;font-size:9px}
.camera-mic-row span{color:#9bb2be;font-size:8px}
.camera-mic-meter{height:8px;border-radius:10px;background:#112e40;overflow:hidden;margin-top:8px}
.camera-mic-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#2ea66a,#d2b242);transition:width .08s linear}
.camera-mic-panel small{display:block;color:var(--muted);font-size:7px;margin-top:7px}
.camera-check-card h3{margin:0 0 11px;font-size:12px}
.camera-check-list{display:grid;gap:7px}
.camera-check{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #29495c;background:#08273a;padding:9px 10px;border-radius:6px}
.camera-check span{font-size:8px;color:#b9cbd4}
.camera-check b{font-size:7px;color:#9fb0ba}
.camera-check.ok{border-color:#2c604a}
.camera-check.ok b{color:#77d7a7}
.camera-check.bad{border-color:#78434a}
.camera-check.bad b{color:#ffb1b6}
.camera-device-info{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.camera-device-info>div{border:1px solid #29495c;background:#061a2b;padding:9px;border-radius:6px;min-width:0}
.camera-device-info span{display:block;color:var(--muted);font-size:6px;font-weight:900}
.camera-device-info strong{display:block;font-size:8px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-test-message{margin-top:11px;padding:10px;border-radius:6px;background:#0a304a;border:1px solid #2c5871;color:#bcd0da;font-size:8px;line-height:1.55}
@media(max-width:900px){
  .camera-readiness-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .camera-readiness-head{flex-direction:column}
  .camera-overall{align-self:flex-start}
  .camera-preview-card,.camera-check-card{padding:10px}
  .camera-controls{display:grid;grid-template-columns:1fr 1fr}
  .camera-controls .primary{grid-column:1/-1}
}

/* V2.0.1 - Ana domain ortak giriş */
.login-access-note{
  margin-top:-2px!important;
  margin-bottom:14px!important;
  max-width:480px;
  color:var(--muted);
  font-size:8px!important;
  line-height:1.55;
}


/* V2.0.2 - iOS Safari camera preview overlay fix */
.camera-preview-empty[hidden]{
  display:none !important;
}
.camera-video-wrap video[hidden]{
  display:none !important;
}


/* V2.1 - Single phone -> single manager WebRTC */
.live-camera-page{display:grid;gap:14px}
.live-camera-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px;border:1px solid #284b60;background:#071f33;border-radius:10px}
.live-camera-head h2{margin:5px 0 6px;font-size:21px}
.live-camera-head p{margin:0;color:var(--muted);font-size:9px;line-height:1.55;max-width:780px}
.live-status{white-space:nowrap;padding:8px 10px;border:1px solid #496175;border-radius:6px;font-size:8px;font-weight:900;letter-spacing:.05em}
.live-status.idle{background:#253442;color:#becbd2}
.live-status.waiting{background:#4a3b19;color:#ffe49b;border-color:#78632c}
.live-status.ok{background:#153f2f;color:#86e0b6;border-color:#2d6c51}
.live-status.bad{background:#482329;color:#ffc2c6;border-color:#8a444b}
.broadcast-card,.monitor-video-card,.camera-session-card{border:1px solid #284b60;background:#071f33;border-radius:10px;padding:14px}
.broadcast-video-wrap,.monitor-video-wrap{position:relative;overflow:hidden;border-radius:9px;background:#020b12;aspect-ratio:16/9;display:grid;place-items:center}
.broadcast-video-wrap video,.monitor-video-wrap video{width:100%;height:100%;object-fit:cover;background:#000}
.broadcast-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;background:radial-gradient(circle at center,#0c2b42,#020b12 70%);color:#91a9b6}
.broadcast-empty[hidden]{display:none!important}
.broadcast-empty strong{font-size:14px;color:#e7eff3}
.broadcast-empty span{font-size:9px}
.viewer-badge{position:absolute;left:10px;top:10px;padding:6px 8px;border:1px solid #3a6076;background:rgba(2,15,25,.84);border-radius:5px;color:#d8e6ec;font-size:7px;font-weight:900;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.broadcast-controls,.monitor-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.broadcast-controls .primary{background:#bc3a31;border-color:#d45549;color:#fff}
.broadcast-controls .danger-soft,.monitor-controls .danger-soft{background:#3a2227;border-color:#754048;color:#ffd1d4}
.broadcast-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:11px}
.broadcast-info-grid>div{border:1px solid #29495c;background:#061a2b;padding:9px;border-radius:6px;min-width:0}
.broadcast-info-grid span{display:block;color:var(--muted);font-size:6px;font-weight:900}
.broadcast-info-grid strong{display:block;font-size:8px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-monitor-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:14px}
.camera-session-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.camera-session-head h3{margin:3px 0 0;font-size:12px}
.camera-session-list{display:grid;gap:7px}
.camera-session-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #29495c;background:#08263a;border-radius:7px;padding:9px}
.camera-session-item.selected{border-color:#d06b42;background:#102c40}
.camera-session-dot{width:9px;height:9px;border-radius:50%;background:#7f9099;box-shadow:0 0 0 3px rgba(127,144,153,.1)}
.camera-session-dot.waiting{background:#d9ae44}
.camera-session-dot.connecting{background:#e37836}
.camera-session-dot.live{background:#42c77e}
.camera-session-copy{min-width:0}
.camera-session-copy span{display:block;color:var(--orange);font-size:6px;font-weight:900}
.camera-session-copy strong{display:block;font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-session-copy small{display:block;color:var(--muted);font-size:7px;margin-top:3px}
.camera-session-item button{border:1px solid #3f6a80;background:#0c3450;color:#dce9ef;border-radius:5px;padding:7px 8px;font-size:7px;font-weight:900;cursor:pointer}
.camera-session-item button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:950px){
  .camera-monitor-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .live-camera-head{flex-direction:column}
  .broadcast-info-grid{grid-template-columns:1fr 1fr}
  .broadcast-controls{display:grid;grid-template-columns:1fr 1fr}
  .broadcast-controls .primary{grid-column:1/-1}
}


/* V2.2 - Shared hosting HTTP camera relay fallback */
.relay-camera-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#000;
  z-index:1;
}
.monitor-video-wrap video{
  position:relative;
  z-index:2;
}
.monitor-video-wrap .broadcast-empty,
.monitor-video-wrap .viewer-badge{
  z-index:3;
}


/* V2.2.3 - HTTP relay black screen hotfix */
.monitor-video-wrap .relay-camera-image{
  z-index:4 !important;
  display:block;
}
.monitor-video-wrap .relay-camera-image[hidden]{
  display:none !important;
}
.monitor-video-wrap .relay-camera-image.active{
  z-index:4 !important;
}
.monitor-video-wrap .viewer-badge{
  z-index:5 !important;
}
