:root{--bg:#07131e;--bg-2:#0a1b2a;--panel:rgba(13,32,49,0.96);--panel-2:rgba(19,45,66,0.96);--line:rgba(255,255,255,0.11);--line-strong:rgba(255,255,255,0.2);--text:#f8fafc;--muted:rgba(248,250,252,0.66);--muted-2:rgba(248,250,252,0.48);--yellow:#ffcc01;--red:#e11d48;--green:#22c55e;--gray:#94a3b8;--blue:#38bdf8;--shadow:0 18px 60px rgba(0,0,0,0.32)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,opacity .15s ease}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid rgba(255,204,1,.7);outline-offset:2px}code{color:var(--yellow)}.maplibregl-ctrl-attrib,.maplibregl-ctrl-logo{display:none!important}.center-shell,.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,rgba(225,29,72,.18),transparent 34%),linear-gradient(135deg,#07131e,#0b2235)}.loading-card,.login-panel{width:min(100%,480px);border:1px solid var(--line);background:rgba(13,32,49,.92);box-shadow:var(--shadow);border-radius:20px;padding:32px}.loading-card.wide{width:min(100%,720px)}.loading-card h1,.login-panel h1{margin:0;font-size:clamp(28px,4vw,44px)}.loading-card p,.login-copy{color:var(--muted);line-height:1.6}.loading-dot{width:14px;height:14px;border-radius:999px;background:var(--red);box-shadow:0 0 0 0 rgba(225,29,72,.5);animation:pulse 1.5s ease-out infinite;margin-bottom:20px}.brand-lockup{display:flex;align-items:center;gap:18px}.brand-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:18px;background:var(--yellow);color:#07131e;font-weight:900;letter-spacing:0}.eyebrow{margin:0 0 6px;color:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-form,.note-box{display:grid;gap:14px}.login-form label{display:grid;gap:7px;color:var(--muted);font-weight:700}.login-form input,.note-box textarea,.search-input{width:100%;border:1px solid var(--line);border-radius:12px;color:var(--text);background:rgba(255,255,255,.06);padding:12px 14px;outline:none}.login-form input:focus,.note-box textarea:focus,.search-input:focus{border-color:rgba(255,204,1,.7);box-shadow:0 0 0 3px rgba(255,204,1,.12)}.form-error,.system-alert{margin:0;color:#fecdd3;background:rgba(225,29,72,.16);border:1px solid rgba(225,29,72,.34);border-radius:12px;padding:10px 12px}.dashboard-shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr;gap:14px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%),var(--bg)}.dashboard-header{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(320px,auto);align-items:center;gap:16px;border:1px solid var(--line);background:rgba(8,21,33,.9);border-radius:18px;padding:16px 18px}.dashboard-header h1{margin:0;font-size:clamp(24px,2.3vw,38px);line-height:1.05}.dashboard-brand{display:flex;align-items:center;gap:14px;min-width:0}.dashboard-brand img{width:clamp(64px,6vw,94px);max-height:54px;object-fit:contain;flex:0 0 auto}.header-stats{display:flex;gap:10px}.metric{min-width:84px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.05);transition:border-color .15s ease,background .15s ease,transform .15s ease}.metric:hover{border-color:var(--line-strong);background:rgba(255,255,255,.075);transform:translateY(-1px)}.metric strong{display:block;font-size:24px}.detail-row span,.incident-card small,.incident-card span,.log-entry small,.log-entry span,.metric span,.operator-box span{color:var(--muted)}.operator-box{display:flex;align-items:center;justify-content:flex-end;gap:12px}.operator-box div{display:grid;gap:3px}.health-dot{width:12px;height:12px;border-radius:999px;background:var(--gray)}.health-dot.online{background:var(--green);box-shadow:0 0 0 6px rgba(34,197,94,.13)}.health-dot.reconnecting{background:var(--yellow)}.health-dot.error{background:var(--red)}.dashboard-grid{min-height:0;display:grid;grid-template-columns:minmax(280px,20%) minmax(620px,60%) minmax(280px,20%);grid-template-rows:minmax(0,1fr) 260px;grid-template-areas:"queue map detail" "log map detail";gap:14px}.map-shell,.panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow);min-height:0}.incident-panel{grid-area:queue;display:grid;grid-template-rows:auto auto 1fr;gap:12px;padding:14px}.detail-panel{grid-area:detail;padding:14px;overflow:auto}.log-panel{grid-area:log;display:grid;grid-template-rows:auto 1fr;gap:8px;padding:12px 14px}.map-stage{grid-area:map;min-height:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{margin:0;font-size:22px}.panel-heading.compact h2{font-size:18px}.pill{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);background:rgba(255,255,255,.06);font-weight:800}.pill.critical{color:#fecdd3;border-color:rgba(225,29,72,.35);background:rgba(225,29,72,.16)}.log-list,.queue-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:9px;padding-right:4px}.incident-card,.log-entry{position:relative;width:100%;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(255,255,255,.045);text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.incident-card{display:grid;grid-template-columns:5px 1fr;gap:12px;padding:12px;overflow:hidden}.incident-card.selected,.incident-card:hover,.log-entry:hover{border-color:var(--line-strong);background:rgba(255,255,255,.08);transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.incident-card.selected{outline:2px solid rgba(255,204,1,.2)}.incident-card small,.incident-card span,.incident-card strong{display:block}.incident-card strong{font-size:16px;margin-bottom:3px}.status-rail{width:5px;height:100%;border-radius:999px}.legend-dot.red,.map-marker.red,.status-rail.red{background:var(--red)}.legend-dot.yellow,.map-marker.yellow,.status-rail.yellow{background:var(--yellow)}.legend-dot.green,.map-marker.green,.status-rail.green{background:var(--green)}.legend-dot.gray,.map-marker.gray,.status-rail.gray{background:var(--gray)}.legend-dot.blue,.map-marker.blue,.status-rail.blue{background:var(--blue)}.map-shell{position:relative;height:100%;overflow:hidden;background:var(--bg-2)}.map-container{position:absolute;inset:0}.map-attribution,.map-legend,.map-recenter,.map-topbar{position:absolute;z-index:4}.map-attribution,.map-legend,.map-topbar{pointer-events:none}.map-topbar{top:14px;left:14px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.76);border-radius:999px;background:rgba(255,255,255,.65);backdrop-filter:blur(12px);padding:8px 12px;color:#07131e}.map-topbar span{color:rgba(7,19,30,.66)}.map-legend{left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:8px;border-radius:14px;background:rgba(255,255,255,.65);backdrop-filter:blur(12px);padding:8px 10px}.map-legend span{display:inline-flex;align-items:center;gap:6px;color:rgba(7,19,30,.76);font-size:12px;font-weight:800}.legend-dot{width:9px;height:9px;border-radius:999px}.map-attribution{right:max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));border:0;background:transparent;color:rgba(255,255,255,.62);font-size:10px;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.75)}.map-recenter{right:14px;bottom:34px;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:999px;background:rgba(255,255,255,.65);backdrop-filter:blur(12px);padding:0;box-shadow:0 14px 34px rgba(0,0,0,.34)}.map-recenter img{width:26px;height:26px;display:block;pointer-events:none}.map-recenter.active{border-color:rgba(255,204,1,.72);box-shadow:0 0 0 4px rgba(255,204,1,.16),0 14px 34px rgba(0,0,0,.34)}.map-recenter:hover{transform:translateY(-2px) scale(1.04);border-color:rgba(255,204,1,.82);background:rgba(255,255,255,.78)}.map-recenter:active{transform:translateY(0) scale(.97)}.map-cluster,.map-marker{width:19px;height:19px;border:2px solid white;border-radius:999px;box-shadow:0 0 0 3px rgba(255,255,255,.16),0 10px 28px rgba(0,0,0,.34);transition:transform .15s ease,box-shadow .15s ease,width .15s ease,height .15s ease}.map-cluster{width:34px;height:34px;display:grid;place-items:center;color:#07131e;background:var(--yellow);font-size:13px;font-weight:900}.map-marker.red{animation:pulse 1.65s ease-out infinite}.map-marker.selected{width:25px;height:25px;outline:5px solid rgba(255,204,1,.25)}.map-cluster:hover,.map-marker:hover{transform:scale(1.12);box-shadow:0 0 0 5px rgba(255,255,255,.2),0 12px 30px rgba(0,0,0,.4)}.map-fallback{position:absolute;inset:20px;display:grid;place-content:center;gap:8px;text-align:center;border:1px dashed rgba(255,255,255,.26);border-radius:16px;background:rgba(7,19,30,.88);z-index:5}.detail-content,.detail-row{display:grid;gap:10px}.detail-row{grid-template-columns:112px 1fr;align-items:start;border-bottom:1px solid rgba(255,255,255,.07);padding:9px 0}.detail-row strong{overflow-wrap:anywhere}.detail-row.highlight strong{color:var(--yellow);font-size:20px}.stale-note{color:#fde68a;border:1px solid rgba(255,204,1,.32);background:rgba(255,204,1,.12);border-radius:12px;padding:10px 12px;line-height:1.4}.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.danger-action,.ghost-action,.primary-action{border:0;border-radius:12px;min-height:42px;padding:10px 13px;color:#07131e;background:var(--yellow);font-weight:900}.danger-action:hover,.ghost-action:hover,.primary-action:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.22)}.danger-action:active,.ghost-action:active,.primary-action:active{transform:translateY(0) scale(.98)}.danger-action{color:white;background:var(--red)}.ghost-action{border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.06)}.note-box textarea{min-height:88px;resize:vertical}.log-entry{display:grid;grid-template-columns:150px 180px 1fr;gap:10px;align-items:center;padding:10px 12px}.log-entry.warning{border-color:rgba(255,204,1,.22)}.log-entry.info{border-color:rgba(56,189,248,.2)}.log-entry.critical{border-color:rgba(225,29,72,.28)}.log-tools{display:inline-flex;align-items:center;gap:8px}.compact-action{min-height:34px;padding:7px 10px;font-size:12px}.empty-state{border:1px dashed var(--line);border-radius:14px;color:var(--muted);padding:16px;text-align:center}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(225,29,72,.46),0 10px 28px rgba(0,0,0,.34)}70%{box-shadow:0 0 0 15px rgba(225,29,72,0),0 10px 28px rgba(0,0,0,.34)}to{box-shadow:0 0 0 0 rgba(225,29,72,0),0 10px 28px rgba(0,0,0,.34)}}@media (min-width:1800px){.dashboard-grid{grid-template-columns:minmax(360px,20%) minmax(900px,60%) minmax(360px,20%);grid-template-rows:minmax(0,1fr) 280px}}@media (max-width:1180px){body{overflow:auto}.dashboard-shell{min-height:100vh;height:auto}.dashboard-header{grid-template-columns:1fr}.header-stats,.operator-box{justify-content:flex-start}.dashboard-grid{grid-template-rows:auto 520px auto 280px;grid-template-areas:"queue" "map" "detail" "log"}.dashboard-grid,.log-entry{grid-template-columns:1fr}}