*{box-sizing:border-box}
:root{--bg:#06111c;--panel:#0b1926;--panel2:#102331;--line:rgba(255,255,255,.11);--text:#fff;--muted:#b3c4d1;--blue:#1688f2}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:16px}
body{font-weight:600}a{color:#8dcbff;text-decoration:none}
.admin-head{position:sticky;top:0;z-index:50;min-height:70px;display:flex;align-items:center;gap:28px;padding:10px 22px;background:#091725;border-bottom:1px solid var(--line);box-shadow:0 8px 25px rgba(0,0,0,.18)}
.system-brand{display:flex;align-items:center;gap:10px;color:#fff;min-width:210px}.system-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#1499ff,#00b8e8);font-weight:900}.system-brand b{font-size:18px}.system-brand small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.admin-nav{display:flex;align-items:center;justify-content:center;gap:7px;flex:1}.admin-nav>a{display:flex;align-items:center;gap:6px;color:#fff;font-size:15px;font-weight:800;padding:9px 11px;border-radius:9px;white-space:nowrap}.admin-nav>a:hover{background:#132b3c;color:#fff}.admin-nav form{margin:0}.logout-btn,.primary{border:0;border-radius:9px;padding:10px 15px;background:var(--blue);color:#fff;cursor:pointer;font-weight:900;font-size:14px}.logout-btn:hover,.primary:hover{filter:brightness(1.1)}
.nav-toggle{display:none;background:#14293a;color:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:20px}
.bell{background:#152a39!important}.bell.glow{box-shadow:0 0 10px #ffc107,0 0 28px rgba(255,193,7,.8);animation:pulse 1s infinite}
.admin-main{padding:26px;max-width:1700px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.page-title h2{font-size:24px;margin:0;color:#fff;font-weight:900}.page-title p{color:var(--muted);font-size:14px;margin:5px 0 0}.linkbtn{display:inline-block;color:#fff}
.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px;overflow:auto;box-shadow:0 12px 30px rgba(0,0,0,.14)}.formcard{max-width:920px;margin:auto}.wide-card{max-width:1500px;margin:auto}
.formcard h2,.card h2,.card h3{color:#fff;font-weight:900}.formcard label{display:block;color:#fff;font-size:14px;font-weight:800;margin:13px 0 7px}.formcard input,.formcard select,.formcard textarea,.filters input,.filters select,.admin-input{width:100%;background:var(--panel2);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:11px 12px;font-size:14px;font-weight:700;outline:none}.formcard input:focus,.formcard select:focus,.formcard textarea:focus{border-color:#299dff;box-shadow:0 0 0 3px rgba(41,157,255,.11)}.formcard textarea{resize:vertical}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px}.checks label{background:#102532;padding:9px;border-radius:8px}.checks input{width:auto}.error{color:#ff8d9a;margin:10px 0}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:right;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top;color:#fff}th{color:#fff;font-weight:900;background:#0e2130;position:sticky;top:0}td{font-weight:650}.colorbox{display:inline-block;width:20px;height:20px;border-radius:50%;vertical-align:middle;box-shadow:0 0 12px currentColor}
.filters{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:14px}.login-body{min-height:100vh;display:grid;place-items:center}.login-card{width:min(440px,calc(100% - 30px));background:var(--panel);padding:30px;border-radius:16px;border:1px solid var(--line)}.login-card h2{margin:0;font-weight:900}.login-card p,.login-card small{color:var(--muted)}.login-card label{display:block;margin:14px 0 5px;color:#fff;font-weight:800}.login-card input{width:100%;padding:11px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:#fff}.login-card button{width:100%;margin:16px 0}
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-grid>div{background:#102532;padding:13px;border-radius:9px}.detail-grid p{margin:5px 0;color:#d0dbe3}.detail-grid .wide{grid-column:1/-1}
.icon-preview{display:flex;align-items:center;gap:14px;padding:14px;border-radius:12px;background:#0d2231;border:1px solid var(--line);margin:12px 0}.icon-preview-badge{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:29px;font-weight:900;border:3px solid #fff}
.zone-editor-grid{display:grid;grid-template-columns:390px minmax(520px,1fr);gap:16px;align-items:stretch}.zone-map-card{position:relative;min-height:680px;padding:0;overflow:hidden}.zone-map{position:absolute;inset:0}.zone-map-toolbar{position:absolute;z-index:5;top:12px;right:12px;left:12px;display:flex;flex-wrap:wrap;gap:7px;background:rgba(6,17,28,.92);border:1px solid var(--line);border-radius:11px;padding:9px}.zone-map-toolbar button{border:1px solid var(--line);background:#123049;color:#fff;border-radius:7px;padding:8px 10px;font-weight:800;cursor:pointer}.zone-map-status{position:absolute;z-index:5;bottom:12px;right:12px;background:rgba(6,17,28,.92);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#fff;font-size:12px}.points-list{max-height:210px;overflow:auto;background:#0a1925;border:1px solid var(--line);border-radius:9px;margin-top:9px;padding:8px}.point-row{display:flex;justify-content:space-between;gap:10px;padding:6px;border-bottom:1px solid rgba(255,255,255,.06);font-family:Consolas,monospace;font-size:12px}
@keyframes pulse{50%{transform:scale(1.06)}}
@media(max-width:1050px){.admin-head{align-items:flex-start}.nav-toggle{display:block;margin-inline-start:auto}.admin-nav{display:none;position:absolute;top:66px;right:12px;left:12px;background:#0b1926;border:1px solid var(--line);border-radius:12px;padding:10px;flex-wrap:wrap;justify-content:flex-start}.admin-nav.open{display:flex}.zone-editor-grid{grid-template-columns:1fr}.zone-map-card{min-height:560px}.filters{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}}

/* V4.2 zone editor visibility */
.zone-map-card{background:#0a1722!important}
.zone-map{background:#dfe8ec!important}
.zone-map-toolbar{box-shadow:0 8px 28px rgba(0,0,0,.32)}
.zone-map-toolbar button{font-size:12px!important;color:#fff!important}
.zone-map-status{font-size:13px!important;font-weight:900!important;color:#fff!important}
.maplibregl-canvas{outline:none}

/* V4.3 stable zone map */
.zone-map-card{height:680px!important;min-height:680px!important;position:relative!important}
.zone-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#dbe7ed!important}
.zone-map .maplibregl-map,.zone-map canvas{width:100%!important;height:100%!important}
.zone-point-marker{
 width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
 background:#078df0;color:#fff;border:3px solid #fff;
 font:900 10px "Segoe UI",Tahoma,sans-serif;
 box-shadow:0 0 8px #fff,0 0 20px #078df0;
}
@media(max-width:1050px){.zone-map-card{height:560px!important;min-height:560px!important}}

/* V4.10 - Admin has automatic access to all zones. */
.admin-zone-notice{
    margin:16px 0;
    padding:14px 16px;
    border:1px solid rgba(0,183,255,.32);
    border-radius:14px;
    background:rgba(0,183,255,.08);
    display:flex;
    flex-direction:column;
    gap:5px;
}
.admin-zone-notice[hidden]{display:none!important}
.admin-zone-notice span{opacity:.82;line-height:1.7}

/* V4.11 case/message/report additions */
.type-swatch{display:block;width:22px;height:22px;border-radius:50%;box-shadow:0 0 14px var(--c)}
.case-marker-preview{position:relative;width:64px;height:64px;display:grid;place-items:center;color:var(--marker-color,#ff3048)}
.case-marker-preview .map-marker{position:relative;width:26px;height:26px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;box-sizing:border-box}
.case-marker-preview .case-font-icon{font-family:"Segoe UI Symbol","Segoe MDL2 Assets",Arial,sans-serif;color:#fff;font-weight:900;font-size:12px;line-height:1}
.multi-users{min-height:210px}.pending-ack-row{box-shadow:inset -4px 0 0 #ffb020;background:rgba(255,176,32,.045)}.ack-ok{color:#1f9d63;font-weight:700}.ack-wait{color:#b7791f;font-weight:700}.ack-btn{padding:8px 12px!important}
.admin-notice-toast{position:fixed;z-index:10050;left:50%;top:22px;transform:translate(-50%,-18px);width:min(580px,calc(100vw - 30px));padding:16px 48px 18px 18px;border-radius:14px;background:#142033;color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 48px rgba(0,0,0,.28);opacity:0;visibility:hidden;transition:.22s;cursor:pointer;overflow:hidden}.admin-notice-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}.admin-notice-toast b{display:block;margin-bottom:5px}.admin-notice-toast p{margin:0 0 5px;color:#d4deeb;white-space:pre-line;font-size:12px}.admin-notice-toast small{color:#9fb0c4}.admin-notice-toast button{position:absolute;left:10px;top:8px;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.admin-notice-toast i{position:absolute;right:0;bottom:0;height:3px;width:100%;background:#ff3349;transform-origin:right;animation:adminToast10 10s linear forwards}@keyframes adminToast10{to{transform:scaleX(0)}}

/* V5 reports / audit / landmarks */
.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field label{font-size:12px;color:#fff;font-weight:900}
.report-filters,.audit-filters{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}
.filter-field.grow{grid-column:span 2}.filter-field.action{align-self:end}
.danger-btn{border:0;background:#8e2630;color:#fff;border-radius:8px;padding:9px 12px;font-weight:900;cursor:pointer}
.mini{padding:6px 9px!important;font-size:11px!important}
.landmark-table-dot{display:inline-block;width:15px;height:15px;border-radius:50%;border:2px solid #fff}
@media(max-width:900px){.report-filters,.audit-filters{grid-template-columns:1fr 1fr}.filter-field.grow{grid-column:1/-1}}
.recipient-disabled{opacity:.38;pointer-events:none}

/* V5.1 Date/Time picker + message filters */
.picker-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px;align-items:stretch}
.picker-wrap input{min-width:0;width:100%}
.picker-btn{border:1px solid rgba(255,255,255,.14);background:#163248;color:#fff;border-radius:9px;cursor:pointer;font-size:17px;font-weight:900;display:grid;place-items:center}
.picker-btn:hover{background:#1d4260;box-shadow:0 0 0 3px rgba(41,157,255,.10)}
.message-filters{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}
.ack-form{margin:0}
@media(max-width:900px){.message-filters{grid-template-columns:1fr 1fr}}

.audit-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 10px;background:#0d2231;border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:10px 13px;color:#dce8ef;font-size:12px}
.audit-summary b{color:#fff;font-size:15px}.audit-empty{color:#ffcf70}
\n/* V5.2 Audit filter defaults */\n.default-window-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:11px 14px;border-radius:10px;background:rgba(22,136,242,.12);border:1px solid rgba(61,164,255,.28);color:#dceeff;font-size:12px}.default-window-banner b{font-size:13px;color:#fff}.default-window-banner span{color:#9fd2ff}.secondary-link{background:#19354b!important}\n
/* V5.3 landmarks + audit diagnostics */
.landmark-filters{grid-template-columns:2fr 1fr 1fr 1fr auto auto;align-items:end}
.landmark-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.focus-landmark-btn{display:inline-block;border-radius:8px;padding:7px 10px;background:#0d8056;color:#fff!important;font-size:11px;font-weight:900;text-decoration:none;box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.focus-landmark-btn:hover{filter:brightness(1.15)}
.audit-storage-diagnostic{display:grid;grid-template-columns:2fr .7fr .8fr 1fr;gap:8px;margin:0 0 10px}
.audit-storage-diagnostic>div{background:#0d2231;border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:9px 11px;min-width:0}
.audit-storage-diagnostic span{display:block;color:#92a9b9;font-size:10px;margin-bottom:4px}.audit-storage-diagnostic b{display:block;color:#fff;font-size:11px;overflow-wrap:anywhere}
.audit-read-warning{margin:0 0 10px;background:rgba(255,158,48,.10);border:1px solid rgba(255,184,67,.25);color:#ffd27c;padding:10px 12px;border-radius:9px;font-size:11px;line-height:1.7}
@media(max-width:1050px){.landmark-filters{grid-template-columns:1fr 1fr}.audit-storage-diagnostic{grid-template-columns:1fr 1fr}}

.visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

.audit-filter-state{margin:0 0 10px;padding:10px 13px;border-radius:10px;background:#0b2637;border:1px solid rgba(64,177,255,.22);color:#dcecf5;font-size:12px}.audit-filter-state b{color:#fff}

/* V5.6 Audit filter diagnostics */
.audit-query-debug{margin:8px 0;padding:9px 12px;border-radius:9px;background:#0b1d2a;border:1px solid rgba(255,255,255,.08);font-size:11px;color:#bcd0dc}
.audit-query-debug b{color:#fff}
.audit-filter-steps{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.audit-filter-steps span{padding:6px 9px;border-radius:999px;background:#102a3b;border:1px solid rgba(255,255,255,.09);font-size:10px;color:#d9e8f0;font-weight:800}
