/* ═══ PROMETHEUS PRIVATE OS v6 — ESTÉTICA MILITAR/CINEMATOGRÁFICA ═══ */
:root{
  --bg:#000000;
  --ice:#a8d8ea; --ice2:#00d4ff;
  --blue:#0066ff; --blue2:#00aaff;
  --purple:#7b2ff7; --purple2:#a855f7;
  --graph:#1a1a2e; --graph2:#16213e; --graph3:#2d2d44;
  --line:rgba(0,212,255,.16); --line2:rgba(168,85,247,.22);
  --danger:#ff536e; --ok:#39e6a3; --warn:#ffc857;
  --font-t:'Orbitron',sans-serif; --font-b:'Share Tech Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--ice);font-family:var(--font-b);font-size:14px;overflow-x:hidden}
button{font-family:var(--font-b);cursor:pointer;background:transparent;color:var(--ice);border:1px solid var(--line)}
input,select,textarea{font-family:var(--font-b);background:#05070d;color:var(--ice2);border:1px solid var(--line);padding:9px 11px;width:100%;outline:none;border-radius:2px}
input:focus,select:focus{border-color:var(--ice2);box-shadow:0 0 0 1px rgba(0,212,255,.25)}
a{color:var(--ice2)}
.hidden{display:none!important}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:var(--graph3)}
::-webkit-scrollbar-track{background:#05060a}

/* efeitos globais */
.scanlines{position:fixed;inset:0;pointer-events:none;z-index:9998;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.16) 2px 4px);mix-blend-mode:multiply}
.crt{position:fixed;inset:0;pointer-events:none;z-index:9997;background:radial-gradient(ellipse at center,transparent 58%,rgba(0,10,20,.55) 100%);animation:crtflicker 4.2s infinite}
@keyframes crtflicker{0%,100%{opacity:.85}48%{opacity:.78}52%{opacity:.9}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes blink{50%{opacity:0}}
.caret-line::after{content:'▌';animation:blink 1s steps(1) infinite;color:var(--ice2)}

/* ── LOGIN ── */
.login{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(1200px 700px at 50% -10%,rgba(0,102,255,.10),transparent 60%),radial-gradient(900px 600px at 85% 110%,rgba(123,47,247,.10),transparent 55%),#000;z-index:50}
.login-card{width:min(430px,92vw);border:1px solid var(--line);background:rgba(3,6,12,.92);padding:38px 34px;position:relative}
.login-card::before{content:'';position:absolute;inset:-1px;border:1px solid transparent;background:linear-gradient(135deg,rgba(0,212,255,.4),transparent 30%,transparent 70%,rgba(168,85,247,.4)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.eyebrow{font-size:10px;letter-spacing:.28em;color:var(--purple2);margin-bottom:14px}
.login-card h1{font-family:var(--font-t);font-weight:900;font-size:30px;color:#eaf7ff;letter-spacing:.06em}
.login-card h1 span{color:var(--ice2);font-weight:500}
.login-card p{margin:10px 0 26px;color:#7fa8bd;font-size:12px}
.login-card label{display:block;font-size:10px;letter-spacing:.2em;color:#6a93a8;margin-bottom:16px}
.login-card label input{margin-top:6px}
.login-card small{display:block;margin-top:18px;color:#4b6b7d;font-size:10px;letter-spacing:.06em}
.error{color:var(--danger);font-size:12px;min-height:16px;margin-top:10px}
button.primary{width:100%;padding:13px;background:linear-gradient(90deg,rgba(0,102,255,.25),rgba(0,212,255,.18));border:1px solid rgba(0,212,255,.5);color:#dff6ff;font-family:var(--font-t);font-weight:700;letter-spacing:.18em;font-size:12px;transition:.3s cubic-bezier(.22,1,.36,1)}
button.primary:hover{box-shadow:0 0 22px rgba(0,212,255,.35);border-color:var(--ice2)}

/* ── BOOT ── */
.boot{position:fixed;inset:0;background:#000;z-index:60;display:flex;flex-direction:column;justify-content:center;padding:8vh 10vw}
.boot pre{color:var(--ice2);font-family:var(--font-b);font-size:13px;line-height:1.85;white-space:pre-wrap;text-shadow:0 0 8px rgba(0,212,255,.5)}
.boot-bar{margin-top:26px;height:3px;background:var(--graph);border:1px solid var(--line)}
.boot-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue2),var(--purple2));transition:width .3s;box-shadow:0 0 14px rgba(0,170,255,.7)}

/* ── SHELL ── */
.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1400px 800px at 50% -20%,rgba(0,102,255,.07),transparent 60%),#000}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-bottom:1px solid var(--line);background:rgba(2,4,9,.9);position:sticky;top:0;z-index:20;backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:12px}
.brand i{width:11px;height:11px;background:var(--ice2);box-shadow:0 0 12px var(--ice2);border-radius:50%;animation:pulse 2.4s infinite}
.brand b{font-family:var(--font-t);font-weight:900;letter-spacing:.14em;color:#eaf7ff;font-size:15px}
.brand span{display:block;font-size:9px;letter-spacing:.3em;color:#57869e}
.system-strip{display:flex;gap:18px;font-size:11px;color:#6d97ac;letter-spacing:.08em;flex-wrap:wrap}
.system-strip .live{color:var(--ok)}
.system-strip b{color:var(--ice2)}
#clock{color:var(--purple2);font-size:12px}
.header-actions{display:flex;gap:8px}
.icon{padding:8px 12px;font-size:11px;letter-spacing:.1em;position:relative;transition:.3s}
.icon:hover{border-color:var(--ice2);color:#fff}
.alerts-trigger b{background:var(--danger);color:#000;border-radius:8px;padding:1px 6px;font-size:10px;margin-left:4px}

/* ── DESKTOP GRID ── */
.desktop{display:none;padding:26px clamp(16px,4vw,54px) 60px}
.desktop.active{display:block}
.desktop-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:20px}
.desktop-top small{font-size:10px;letter-spacing:.3em;color:var(--purple2)}
.desktop-top h1{font-family:var(--font-t);font-weight:900;font-size:clamp(28px,4vw,44px);color:#eaf7ff;letter-spacing:.1em;text-shadow:0 0 30px rgba(0,170,255,.35)}
.desktop-top p{color:#5f8ba1;font-size:12px;margin-top:6px}
.core-state{border:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;gap:10px}
.core-state span{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pulse 2s infinite}
.core-state b{font-family:var(--font-t);font-size:12px;letter-spacing:.16em}
.core-state small{color:#5f8ba1;font-size:10px;letter-spacing:.2em}
.window-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.os-window{border:1px solid var(--line);background:linear-gradient(160deg,rgba(8,12,22,.9),rgba(3,5,10,.95));padding:0 0 16px;cursor:pointer;transition:.35s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}
.os-window:hover{border-color:rgba(0,212,255,.55);transform:translateY(-3px);box-shadow:0 12px 34px rgba(0,80,160,.25)}
.os-window h3{font-family:var(--font-t);font-size:13px;letter-spacing:.08em;color:#d9f2ff;padding:12px 16px 4px}
.os-window p{color:#5f8ba1;font-size:11px;padding:0 16px;line-height:1.5}
.win-head{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.18em;color:#6d97ac}
.win-head i{color:var(--purple2);font-style:normal}
.hero-window{grid-column:span 2;grid-row:span 2}
.win-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 0}
.win-foot b{font-family:var(--font-t);font-size:13px;letter-spacing:.1em}
.win-foot span{color:#5f8ba1;font-size:10px}
.mini-map{height:calc(100% - 88px);min-height:230px;background:#05070d;filter:saturate(.85)}
.wx-mini{padding:16px;display:flex;align-items:baseline;gap:10px}
.wx-mini b{font-family:var(--font-t);font-size:34px;color:var(--ice2);text-shadow:0 0 18px rgba(0,212,255,.45)}
.wx-mini small{color:#6d97ac;font-size:10px;letter-spacing:.14em}
.tele-mini{width:100%;height:64px;display:block}
.radar{margin:16px auto 4px;width:66px;height:66px;border-radius:50%;border:1px solid var(--line);position:relative;overflow:hidden}
.radar::after{content:'';position:absolute;inset:0;background:conic-gradient(from 0deg,rgba(0,212,255,.5),transparent 70deg);animation:spin 3s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pulse-bars{display:flex;gap:5px;align-items:flex-end;height:56px;padding:14px 16px 0}
.pulse-bars i{flex:1;background:linear-gradient(180deg,var(--purple2),var(--blue));animation:bars 1.4s ease-in-out infinite}
.pulse-bars i:nth-child(1){height:40%;animation-delay:0s}.pulse-bars i:nth-child(2){height:75%;animation-delay:.15s}.pulse-bars i:nth-child(3){height:55%;animation-delay:.3s}.pulse-bars i:nth-child(4){height:88%;animation-delay:.45s}.pulse-bars i:nth-child(5){height:48%;animation-delay:.6s}
@keyframes bars{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
.route-mini{padding:22px 16px 0;display:grid;gap:8px}
.route-mini b{height:3px;background:linear-gradient(90deg,var(--purple2),transparent);display:block}
.route-mini b:last-child{background:linear-gradient(90deg,var(--warn),transparent)}
.camera-mini{margin:14px 16px 0;height:56px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;color:#41606f;font-size:20px}
.camera-mini span{font-size:9px;letter-spacing:.2em}
.face-mini{margin:14px auto 0;width:56px;height:56px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center}
.face-mini span{font-family:var(--font-t);color:var(--purple2);font-size:20px}
.ai-orb{margin:16px auto 2px;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(0,212,255,.9),rgba(123,47,247,.55) 60%,rgba(0,0,0,.9));box-shadow:0 0 26px rgba(0,170,255,.5);animation:pulse 2.6s infinite}
.memory-lines{margin:18px 16px 0;display:grid;gap:6px}
.memory-lines::before,.memory-lines::after{content:'';height:2px;background:linear-gradient(90deg,var(--line2),transparent)}
.owner-mini{margin:14px auto 0;width:54px;height:54px;border:1px solid var(--line2);display:grid;place-items:center;font-family:var(--font-t);color:var(--purple2);letter-spacing:.1em}
.signal-mini{display:flex;gap:4px;align-items:flex-end;height:50px;padding:16px 16px 0}
.signal-mini i{flex:1;background:var(--ice2);opacity:.6;animation:bars 1.1s infinite}
.signal-mini i:nth-child(odd){background:var(--purple2)}
.settings-mini{margin:14px auto 0;font-size:30px;color:#41606f;text-align:center}
.orbit-mini{margin:14px auto 0;width:60px;height:60px;border-radius:50%;border:1px solid var(--line2);position:relative;display:grid;place-items:center}
.orbit-mini::before{content:'';position:absolute;inset:6px;border:1px solid var(--line);border-radius:50%;border-top-color:var(--ice2);animation:spin 3.5s linear infinite}
.orbit-mini span{width:8px;height:8px;border-radius:50%;background:var(--ice2);box-shadow:0 0 10px var(--ice2)}
.orbit-wrap{display:flex;gap:12px;align-items:stretch}
.orbit-side{width:230px;flex:none;display:flex;flex-direction:column;gap:10px}
.orbit-obj{border:1px solid var(--line2);background:rgba(8,5,16,.7);padding:12px 14px}
.orbit-obj small{font-size:9px;letter-spacing:.2em;color:var(--purple2)}
.orbit-obj>b{font-family:var(--font-t);font-size:15px;color:#eaf7ff;display:block;margin:4px 0}
.od-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.od-grid span{font-size:9px;letter-spacing:.1em;color:#5f8ba1;display:grid}
.od-grid b{font-family:var(--font-t);font-size:13px;color:var(--ice2)}
.od-pass{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.od-pass small{font-size:9px;letter-spacing:.14em;color:var(--purple2)}
.od-pass>b{font-family:var(--font-t);font-size:18px;color:var(--ok);display:block}
.od-pass em{font-style:normal;font-size:10px;color:#7fb3c8}
.space-wx{border:1px solid var(--line);border-left:2px solid var(--warn);background:rgba(20,15,4,.5);padding:10px 13px}
.space-wx small{font-size:9px;letter-spacing:.18em;color:var(--purple2)}
.space-wx b{font-family:var(--font-t);font-size:17px;display:block;margin:3px 0}
.space-wx em{font-style:normal;font-size:10px;color:#8fb8cc}
.orbit-list{flex:1;overflow-y:auto;border:1px solid var(--line);padding:8px;max-height:44vh;display:grid;gap:3px;align-content:start}
.orb-item .oe{font-style:normal;font-size:10px;color:#39e6a3;font-family:var(--font-t)}
.orb-item{text-align:left;font-size:11px;color:#9fc3d4;padding:6px 8px;border:1px solid transparent;display:flex;align-items:center;gap:8px;transition:.15s}
.orb-item:hover{border-color:var(--line);background:rgba(0,102,255,.06);color:#fff}
.orb-item .od{width:6px;height:6px;border-radius:50%;background:var(--ice2);flex:none}
@media (max-width:760px){.orbit-wrap{flex-direction:column}.orbit-side{width:100%}}
.wifi-mini{display:flex;flex-direction:column;gap:6px;padding:16px 16px 0}
.wifi-mini b{height:8px;border:1px solid var(--line);border-left:2px solid var(--ice2);display:block;animation:pulse 2.4s infinite}
.wifi-mini b:nth-child(2){width:70%;animation-delay:.3s}.wifi-mini b:nth-child(3){width:45%;animation-delay:.6s}
.poi-idle{text-align:center;color:#41606f;padding:60px 20px;letter-spacing:.18em;font-size:12px;line-height:2}
.poi-idle small{color:#2d4a56;font-size:10px;letter-spacing:.08em}
.poi-head{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px;font-size:12px;color:#7fb3c8}
.poi-head b{font-family:var(--font-t);color:#00d4ff;font-size:16px}
.poi-card{width:100%;text-align:left;border:1px solid var(--line);border-left:2px solid var(--ice2);background:rgba(5,8,15,.6);padding:10px 12px;margin-bottom:7px;display:grid;gap:3px;transition:.2s}
.poi-card:hover{border-color:var(--ice2);background:rgba(0,102,255,.08);transform:translateX(3px)}
.poi-line{display:flex;justify-content:space-between;align-items:center;gap:10px}
.poi-line b{font-size:13px;color:#dff6ff}
.poi-card small{color:#5f8ba1;font-size:10px}
.poi-enc{font-size:9px;letter-spacing:.1em;color:#00d4ff;border:1px solid var(--line);padding:2px 7px}
.poi-enc.open{color:#ff536e;border-color:rgba(255,83,110,.4)}

/* ── MODULE ── */
.module{display:none;padding:22px clamp(16px,4vw,54px) 60px}
.module.active{display:block}
.back{padding:9px 16px;font-size:11px;letter-spacing:.14em;margin-bottom:18px;transition:.3s}
.back:hover{border-color:var(--ice2)}
.module-shell{animation:modin .4s cubic-bezier(.22,1,.36,1)}
@keyframes modin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.module-title{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}
.module-title small{font-size:10px;letter-spacing:.3em;color:var(--purple2)}
.module-title h1{font-family:var(--font-t);font-weight:900;font-size:clamp(22px,3vw,34px);color:#eaf7ff;letter-spacing:.1em}
.module-title b{font-size:10px;letter-spacing:.2em;color:var(--ok);border:1px solid rgba(57,230,163,.35);padding:6px 12px}
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.data-panel{border:1px solid var(--line);background:rgba(5,8,15,.85);padding:16px}
.data-panel small{font-size:10px;letter-spacing:.2em;color:#5f8ba1}
.data-panel h3{font-family:var(--font-t);font-size:13px;letter-spacing:.08em;margin:4px 0 8px;color:#d9f2ff}
.data-panel label{display:block;font-size:10px;letter-spacing:.16em;color:#6a93a8;margin-bottom:12px}
.data-panel label input,.data-panel label select{margin-top:5px}
.metric-big{font-family:var(--font-t);font-size:clamp(22px,2.6vw,32px);color:var(--ice2);text-shadow:0 0 16px rgba(0,212,255,.4);margin:4px 0}
.detail-card{border:1px solid var(--line2);background:rgba(8,5,16,.8);padding:16px;margin-top:14px}
.detail-card pre{white-space:pre-wrap;color:#9fc3d4;font-size:12px;margin:10px 0}
.event-row{display:grid;grid-template-columns:150px 90px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-left:2px solid var(--purple2);padding:10px 14px;margin-bottom:8px;font-size:12px}
.event-row time{color:#5f8ba1;font-size:11px}
.event-row b{color:var(--warn);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.event-row small{color:#5f8ba1}
.event-row button{padding:7px 11px;font-size:10px;letter-spacing:.1em}
.event-row button:hover{border-color:var(--ice2)}

/* mapa */
.map-wrap{position:relative;border:1px solid var(--line);height:min(72vh,760px);background:#04060b}
#bigMap{position:absolute;inset:0}
.leaflet-container{background:#04060b;font-family:var(--font-b)}
.map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.map-toolbar button{padding:8px 14px;font-size:11px;letter-spacing:.12em;transition:.25s}
.map-toolbar button.on{border-color:var(--ice2);color:#fff;box-shadow:inset 0 0 14px rgba(0,212,255,.18)}
.map-toolbar button.on.purple{border-color:var(--purple2);box-shadow:inset 0 0 14px rgba(168,85,247,.2)}
.map-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;font-size:10px;letter-spacing:.1em;color:#6d97ac}
.map-legend i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:6px}
.plane-icon{filter:drop-shadow(0 0 4px rgba(0,212,255,.8))}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#060a14;color:var(--ice);border:1px solid var(--line);border-radius:2px;font-family:var(--font-b)}
.leaflet-popup-content{margin:12px 14px;font-size:12px;line-height:1.6}
.leaflet-popup-content b{font-family:var(--font-t);color:var(--ice2);letter-spacing:.06em}
.map-status{position:absolute;left:10px;bottom:10px;z-index:800;background:rgba(2,4,9,.85);border:1px solid var(--line);padding:6px 12px;font-size:10px;letter-spacing:.1em;color:#7fb3c8}

/* clima */
.wx-hero{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.wx-hero .metric-big{font-size:clamp(40px,5vw,62px)}
.wx-hero span{color:#7fb3c8;font-size:13px}
.wx-spark{width:100%;height:90px;display:block;margin-top:8px}
.wx-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px}
.wx-day{border:1px solid var(--line);padding:10px;text-align:center;font-size:11px}
.wx-day b{display:block;color:var(--ice2);font-size:15px;margin:4px 0}

/* assistente */
.assistant-console{display:flex;flex-direction:column;min-height:56vh}
.assistant-feed{flex:1;overflow-y:auto;padding:6px 2px;display:flex;flex-direction:column;gap:10px;max-height:56vh}
.msg{max-width:82%;padding:10px 14px;font-size:13px;line-height:1.6;border:1px solid var(--line);white-space:pre-wrap}
.msg.me{align-self:flex-end;border-color:var(--line2);color:#e7d9ff;background:rgba(123,47,247,.08)}
.msg.ai{align-self:flex-start;color:#cdeffb;background:rgba(0,102,255,.06)}
.msg small{display:block;margin-top:6px;color:#4b6b7d;font-size:10px;letter-spacing:.1em}
#assistantForm{display:flex;gap:8px;margin-top:12px}
#assistantForm button{width:auto;padding:0 22px}
.typing::after{content:'▌';animation:blink .8s steps(1) infinite}

/* telemetria */
.spark{width:100%;height:70px;display:block;margin-top:6px}

/* sinais */
.signal-toolbar{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.signal-toolbar b{font-family:var(--font-t);font-size:14px;color:var(--ice2)}
.signal-toolbar button{padding:9px 16px;font-size:11px;letter-spacing:.12em;width:auto}
.sound-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sound-card{border:1px solid var(--line);padding:14px;text-align:left;display:grid;gap:5px;transition:.25s}
.sound-card span{color:var(--ice2)}
.sound-card b{font-size:12px;letter-spacing:.06em}
.sound-card small{color:#5f8ba1;font-size:9px;letter-spacing:.16em}
.sound-card em{font-style:normal;font-size:9px;color:var(--purple2);letter-spacing:.2em}
.sound-card:hover{border-color:var(--ice2)}
.sound-card.is-critical{border-color:rgba(255,83,110,.4)}
.sound-card.playing{box-shadow:inset 0 0 18px rgba(0,212,255,.25)}
.switch-row{display:flex;justify-content:space-between;align-items:center}
.switch-row input{width:auto}

/* alerts drawer + toasts (compatível com alerts.js) */
.alerts-drawer{position:fixed;top:0;right:-420px;width:min(400px,94vw);height:100vh;background:rgba(3,5,10,.97);border-left:1px solid var(--line);z-index:9999;display:flex;flex-direction:column;transition:right .4s cubic-bezier(.22,1,.36,1)}
.alerts-drawer.open{right:0}
.alerts-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}
.alerts-head small{font-size:9px;letter-spacing:.26em;color:var(--purple2)}
.alerts-head h2{font-family:var(--font-t);font-size:16px;letter-spacing:.12em;color:#eaf7ff}
.alerts-head button{border:none;font-size:22px;color:#6d97ac}
.alerts-actions{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line)}
.alerts-actions button{padding:7px 12px;font-size:10px;letter-spacing:.12em}
.alerts-list{flex:1;overflow-y:auto;padding:12px 18px}
.alert-item{display:flex;gap:10px;border:1px solid var(--line);border-left:2px solid var(--ice2);padding:10px 12px;margin-bottom:8px;font-size:12px}
.alert-item.unread{background:rgba(0,102,255,.06)}
.alert-item i{width:6px;flex:none}
.alert-item header{display:flex;justify-content:space-between;gap:10px}
.alert-item time{color:#5f8ba1;font-size:10px}
.alert-item small{color:#5f8ba1;font-size:9px;letter-spacing:.1em}
.alert-item p{color:#9fc3d4;margin-top:3px}
.alert-critical{border-left-color:var(--danger)}
.alert-warning,.alert-attention{border-left-color:var(--warn)}
.alert-success{border-left-color:var(--ok)}
.alert-ai,.alert-route{border-left-color:var(--purple2)}
.alerts-empty{text-align:center;color:#41606f;padding:40px 0;letter-spacing:.16em;font-size:11px}
.alerts-footer{padding:12px 18px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.2em;color:#41606f;text-align:center}
#toastHost{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.toast{position:relative;display:flex;gap:11px;align-items:center;border:1px solid var(--line);background:linear-gradient(135deg,rgba(6,12,22,.96),rgba(3,6,12,.98));padding:13px 18px;max-width:360px;text-align:left;opacity:0;transform:translateX(30px) skewX(-4deg);transition:.4s cubic-bezier(.22,1,.36,1);backdrop-filter:blur(6px);clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px))}
.toast.visible{opacity:1;transform:none}
.toast::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ice2);box-shadow:0 0 12px var(--ice2)}
.toast::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,212,255,.09),transparent);transform:translateX(-100%);animation:toastSweep 2.4s ease-in-out infinite;pointer-events:none}
@keyframes toastSweep{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.toast i{width:10px;height:10px;flex:none;background:var(--ice2);box-shadow:0 0 10px var(--ice2);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation:pulse 2s infinite}
.toast-critical::before{background:var(--danger);box-shadow:0 0 14px var(--danger)}
.toast-critical i{background:var(--danger);box-shadow:0 0 12px var(--danger)}
.toast-critical::after{background:linear-gradient(90deg,transparent,rgba(255,83,110,.14),transparent)}
.toast-warning::before,.toast-attention::before{background:var(--warn);box-shadow:0 0 12px var(--warn)}
.toast-warning i,.toast-attention i{background:var(--warn);box-shadow:0 0 10px var(--warn)}
.toast-success::before{background:var(--ok);box-shadow:0 0 12px var(--ok)}
.toast-success i{background:var(--ok);box-shadow:0 0 10px var(--ok)}
.toast-ai::before,.toast-route::before{background:var(--purple2);box-shadow:0 0 12px var(--purple2)}
.toast-ai i,.toast-route i{background:var(--purple2);box-shadow:0 0 10px var(--purple2)}
.toast span{display:grid;gap:1px}
.toast small{font-size:9px;letter-spacing:.24em;color:var(--purple2)}
.toast b{font-size:12px;color:#eaf7ff;font-family:var(--font-t);letter-spacing:.03em}
.toast em{font-style:normal;font-size:11px;color:#8fb8cc}
/* banner crítico HUD full-width */
#critBanner{position:fixed;top:0;left:0;right:0;z-index:10001;display:flex;align-items:center;gap:14px;padding:12px 26px;background:linear-gradient(90deg,rgba(60,6,14,.97),rgba(30,3,8,.95));border-bottom:1px solid var(--danger);box-shadow:0 8px 30px rgba(255,83,110,.25),inset 0 0 40px rgba(255,83,110,.08);transform:translateY(-100%);transition:transform .4s cubic-bezier(.22,1,.36,1);overflow:hidden}
#critBanner.show{transform:none}
#critBanner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,83,110,.18),transparent);transform:translateX(-100%);animation:toastSweep 1.6s linear infinite}
#critBanner .cb-ico{font-size:20px;color:var(--danger);animation:pulse .8s infinite;flex:none}
#critBanner .cb-txt{flex:1;min-width:0}
#critBanner .cb-txt b{font-family:var(--font-t);letter-spacing:.16em;color:#ff8ba0;font-size:14px;display:block;animation:glitch 2.4s infinite}
#critBanner .cb-txt small{color:#e0a0ad;font-size:11px;letter-spacing:.06em}
#critBanner .cb-tag{font-family:var(--font-t);font-size:10px;letter-spacing:.24em;color:var(--danger);border:1px solid rgba(255,83,110,.5);padding:5px 10px;flex:none}
#critBanner .cb-close{border:none;color:#e0a0ad;font-size:20px;flex:none;background:none}
@keyframes glitch{0%,90%,100%{transform:translate(0);opacity:1}92%{transform:translate(-2px,1px);opacity:.85}94%{transform:translate(2px,-1px)}96%{transform:translate(-1px,0)}}

/* câmeras */
.camera-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#6d97ac;margin-bottom:10px}
.cam-stage{position:relative;width:100%;min-height:340px;background:#04060b;border:1px solid var(--line);overflow:hidden}
.cam-stage video,.cam-stage img{width:100%;display:block;object-fit:cover;background:#04060b}
.cam-stage video{display:none}.cam-stage video.show{display:block}
.cam-stage img{display:none}.cam-stage img.show{display:block}
.cam-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cam-controls{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.cam-controls button{padding:9px 12px;font-size:11px;letter-spacing:.1em;transition:.2s}
.cam-controls button:hover{border-color:var(--ice2)}
.cam-controls button.on{border-color:var(--ice2);color:#fff;box-shadow:inset 0 0 14px rgba(0,212,255,.2)}
.plate-result{margin-top:10px;display:grid;gap:6px}
.plate-hit{border:1px solid var(--warn);border-left:3px solid var(--warn);padding:9px 12px;background:rgba(255,200,87,.06)}
.plate-hit b{font-family:var(--font-t);font-size:20px;color:#ffe08a;letter-spacing:.14em;display:block}
.plate-hit small{color:#7fb3c8;font-size:10px}
.cam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:14px}
.cam-card{border:1px solid var(--line);background:#04060b;overflow:hidden}
.cam-card img{width:100%;height:150px;object-fit:cover;display:block;filter:saturate(.9)}
.cam-card figcaption{padding:8px 10px;font-size:10px;color:#7fb3c8;display:flex;justify-content:space-between;gap:8px}
.cam-card figcaption b{color:var(--ice2)}
.cam-card.live iframe{width:100%;height:160px;border:0;display:block;background:#000}
.city-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.city-chip{padding:7px 13px;font-size:11px;letter-spacing:.06em;border:1px solid var(--line);color:#9fc3d4;transition:.2s}
.city-chip:hover{border-color:var(--ice2);color:#fff}
.city-chip.on{border-color:var(--purple2);color:#fff;box-shadow:inset 0 0 12px rgba(168,85,247,.2)}
.cam-scan-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cam-alllive{width:auto;padding:8px 16px;font-size:11px;letter-spacing:.12em;border:1px solid var(--purple2);color:var(--purple2);transition:.2s}
.cam-alllive:hover{color:#fff;box-shadow:inset 0 0 14px rgba(168,85,247,.2)}
.cam-alllive.on{background:linear-gradient(90deg,rgba(168,85,247,.25),transparent);color:#fff}
.cam-live{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.65);border:1px solid rgba(255,83,110,.5);color:#ff8ba0;font-size:9px;letter-spacing:.16em;padding:3px 8px}
.cam-card{position:relative;cursor:pointer;transition:.25s}
.cam-card:hover{border-color:var(--ice2);transform:translateY(-2px)}
.cam-viewer{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10000;display:flex;flex-direction:column;opacity:0;transition:opacity .3s}
.cam-viewer.open{opacity:1}
.cam-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line)}
.cam-viewer-head small{display:block;font-size:9px;letter-spacing:.26em;color:var(--purple2)}
.cam-viewer-head b{font-family:var(--font-t);font-size:15px;color:#eaf7ff;letter-spacing:.08em}
.cam-viewer-head em{font-style:normal;color:#5f8ba1;font-size:11px;margin-left:10px}
.cam-viewer-actions{display:flex;gap:8px}
.cam-viewer-actions button{padding:8px 14px;font-size:11px;letter-spacing:.12em}
.cam-viewer-actions button.on{border-color:var(--ice2);color:#fff;box-shadow:inset 0 0 14px rgba(0,212,255,.18)}
#camClose{font-size:16px}
.cam-frame{flex:1;padding:14px 22px}
.cam-frame iframe{width:100%;height:100%;border:1px solid var(--line);background:#000}
.cam-viewer-foot{padding:10px 22px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.08em;color:#5f8ba1}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tabs button{padding:9px 16px;font-size:11px;letter-spacing:.12em}
.tabs button.on{border-color:var(--purple2);color:#fff;box-shadow:inset 0 0 14px rgba(168,85,247,.2)}

/* ── SAÚDE / CATÁLOGO VIVO ── */
.health-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border:1px solid var(--line);background:linear-gradient(135deg,rgba(0,102,255,.05),transparent);padding:14px 16px;margin-bottom:16px}
.hs-tile{border:1px solid var(--line);padding:10px 16px;min-width:96px;text-align:center}
.hs-tile b{font-family:var(--font-t);font-size:24px;color:var(--ok);display:block}
.hs-tile small{font-size:9px;letter-spacing:.14em;color:#5f8ba1}
.hs-tile.fail b{color:var(--danger)}.hs-tile.off b{color:#5f6b74}.hs-tile.idle b{color:var(--warn)}
.hs-tele{flex:1;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:11px;letter-spacing:.06em;color:#6d97ac;min-width:200px}
.hs-tele b{color:var(--ice2);font-family:var(--font-t)}
.hs-probe{width:auto!important;padding:12px 20px!important}
.hs-probe.scanning{opacity:.7;animation:pulse 1s infinite}
.health-groups{display:grid;gap:16px}
.hg-title{font-family:var(--font-t);font-size:11px;letter-spacing:.2em;color:var(--purple2);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.hg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.hcard{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:rgba(6,10,18,.6);padding:11px 13px;transition:.25s}
.hcard.ok{border-left:2px solid var(--ok)}.hcard.client{border-left:2px solid var(--ok)}
.hcard.fail{border-left:2px solid var(--danger);background:rgba(255,83,110,.05)}
.hcard.off{border-left:2px solid #333;opacity:.72}
.hcard.idle{border-left:2px solid var(--warn)}
.hcard:hover{border-color:var(--ice2)}
.hdot{width:9px;height:9px;border-radius:50%;flex:none;animation:pulse 2.4s infinite}
.hcard.fail .hdot{animation:pulse 1s infinite}
.hcard.off .hdot{animation:none}
.hc-body{flex:1;min-width:0}
.hc-body b{display:block;font-size:12px;color:#dff6ff;font-family:var(--font-t);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-body small{font-size:9px;letter-spacing:.06em;color:#5f8ba1}
.hc-status{font-size:9px;letter-spacing:.1em;text-align:right;white-space:nowrap}
.hc-status em{display:block;font-style:normal;color:#41606f;font-size:8px;margin-top:2px}
/* ── FICHA DE VOO ── */
.plane-tip{background:rgba(2,4,9,.9)!important;border:1px solid var(--line)!important;color:var(--ice2)!important;font-family:var(--font-b)!important;font-size:10px!important;letter-spacing:.1em}
.flight-dossier{position:fixed;top:0;right:-440px;width:min(400px,94vw);height:100vh;background:rgba(2,4,9,.98);border-left:1px solid var(--line2);z-index:10000;display:flex;flex-direction:column;transition:right .34s cubic-bezier(.22,1,.36,1);box-shadow:-14px 0 50px rgba(0,0,0,.55)}
.flight-dossier.open{right:0}
.fd-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.fd-head small{display:block;font-size:9px;letter-spacing:.24em;color:var(--purple2)}
.fd-head b{font-family:var(--font-t);font-size:20px;color:#eaf7ff;letter-spacing:.08em}
.fd-head button{border:none;font-size:22px;color:#6d97ac}
.fd-body{flex:1;overflow-y:auto;padding:16px 18px}
.fd-route{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);padding:14px;margin-bottom:12px}
.fd-ap{text-align:center;flex:1}
.fd-ap b{font-family:var(--font-t);font-size:22px;color:var(--ice2);display:block}
.fd-ap small{font-size:9px;letter-spacing:.1em;color:#5f8ba1;display:block;margin-top:4px}
.fd-arrow{color:var(--purple2);font-size:18px}
.fd-airline{font-size:13px;color:#cdeffb;margin-bottom:12px;min-height:18px}
.fd-al{font-family:var(--font-t);color:#eaf7ff;letter-spacing:.04em}
#fdPhoto img{width:100%;border:1px solid var(--line);margin-bottom:12px;display:block}
.fd-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.fd-grid div{border:1px solid var(--line);padding:9px 11px}
.fd-grid small{font-size:9px;letter-spacing:.14em;color:#5f8ba1;display:block}
.fd-grid b{font-family:var(--font-t);font-size:15px;color:#dff6ff}
.fd-aircraft{border:1px solid var(--line);border-left:2px solid var(--purple2);padding:10px 12px}
.fd-aircraft small{font-size:9px;letter-spacing:.14em;color:#5f8ba1;display:block}
.fd-aircraft b{font-size:14px;color:#dff6ff;display:block;margin:2px 0}
.fd-aircraft em{font-style:normal;font-size:11px;color:#7fb3c8}
.fd-emerg{margin-top:12px;border:1px solid rgba(255,83,110,.5);background:rgba(255,83,110,.1);color:#ff8ba0;padding:10px;font-size:12px;letter-spacing:.06em}
.fd-foot{padding:12px 18px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em;color:#5f8ba1}
/* ── MENTE console ── */
.mother-launcher{position:fixed;left:18px;bottom:18px;z-index:9996;display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(3,6,12,.92);border:1px solid var(--line2);font-family:var(--font-b);letter-spacing:.1em;transition:.25s;box-shadow:0 0 22px rgba(123,47,247,.18)}
.mother-launcher:hover{border-color:var(--purple2);box-shadow:0 0 28px rgba(168,85,247,.4);transform:translateY(-2px)}
.mother-launcher b{font-family:var(--font-t);font-size:12px;color:#eaf7ff;letter-spacing:.14em}
.mother-launcher em{font-style:normal;color:var(--ice2);animation:blink 1s steps(1) infinite}
.ml-dot{width:8px;height:8px;border-radius:50%;background:var(--purple2);box-shadow:0 0 10px var(--purple2);animation:pulse 2.2s infinite}
.mother-panel{position:fixed;left:18px;bottom:18px;width:min(430px,94vw);height:min(560px,82vh);background:rgba(2,4,9,.97);border:1px solid var(--line2);z-index:9997;display:flex;flex-direction:column;transform:translateY(20px) scale(.98);opacity:0;pointer-events:none;transition:.32s cubic-bezier(.22,1,.36,1);box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 40px rgba(123,47,247,.15)}
.mother-panel.open{transform:none;opacity:1;pointer-events:auto}
.mother-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.mother-head small{display:block;font-size:9px;letter-spacing:.24em;color:var(--purple2)}
.mother-head b{font-family:var(--font-t);font-size:13px;color:#eaf7ff;letter-spacing:.12em}
.mother-head button{border:none;font-size:20px;color:#6d97ac}
.mother-wave{width:100%;height:74px;display:block;background:linear-gradient(180deg,rgba(0,102,255,.04),transparent);border-bottom:1px solid var(--line)}
.mother-log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:9px}
.m-line{font-size:13px;line-height:1.55;padding:9px 12px;border:1px solid var(--line);max-width:92%;white-space:pre-wrap;word-break:break-word}
.m-me{align-self:flex-end;border-color:var(--line2);background:rgba(123,47,247,.1);color:#e7d9ff}
.m-ai{align-self:flex-start;background:rgba(0,102,255,.06);color:#cdeffb}
.m-src{display:block;margin-top:5px;color:#4b6b7d;font-size:10px;letter-spacing:.08em}
.m-typing::after{content:'▌';animation:blink .8s steps(1) infinite}
.m-hits{display:grid;gap:6px;margin-top:8px}
.m-hit{text-align:left;border:1px solid var(--line);border-left:2px solid var(--ice2);padding:7px 10px;display:grid;gap:2px;transition:.2s}
.m-hit:hover{border-color:var(--ice2);background:rgba(0,102,255,.08)}
.m-hit b{font-size:12px;color:#dff6ff}
.m-hit small{font-size:10px;color:#5f8ba1}
.mother-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.mother-input input{flex:1}
.m-mic,.m-send{width:auto;padding:0 14px;font-size:16px;border:1px solid var(--line);transition:.2s}
.m-mic:hover,.m-send:hover{border-color:var(--ice2)}
.m-mic.rec{border-color:var(--danger);color:var(--danger);animation:pulse 1s infinite;box-shadow:0 0 12px rgba(255,83,110,.4)}
.mother-hints{padding:8px 14px;border-top:1px solid var(--line);font-size:10px;color:#5f8ba1;letter-spacing:.04em}
.mother-hints b{color:#7fb3c8}
.m-voicetog{float:right;color:#7fb3c8}
.m-voicetog input{width:auto;margin-right:4px}
@media (max-width:760px){
  .hero-window{grid-column:span 1;grid-row:span 1}
  .mini-map{min-height:170px}
  .system-strip{display:none}
  .event-row{grid-template-columns:1fr;gap:4px}
}
