@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=JetBrains+Mono:wght@400;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.static\!{position:static!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.alert-log-panel{min-height:280px;max-height:380px;overflow:hidden}.alert-log-list{flex-direction:column;gap:.25rem;max-height:300px;display:flex;overflow-y:auto}.alert-log-item{cursor:pointer;background:#1e293bb3;border:1px solid #0000;border-radius:.375rem;align-items:flex-start;gap:.75rem;padding:.5rem .75rem;font-size:.95rem;transition:background .2s,border .2s,box-shadow .2s;display:flex}.alert-log-item.selected{border-color:var(--color-blue-light);box-shadow:0 0 0 2px var(--color-blue-light);background:#60a5fa1f}.alert-log-item:active{background:#60a5fa2e}.alert-log-item.alert-type-fogo{border-left:4px solid var(--color-red)}.alert-log-item.alert-type-fumaca{border-left:4px solid #fbbf24}.alert-log-item.alert-type-normal{border-left:4px solid var(--color-green)}.alert-log-icon{text-align:center;width:1.8em;font-size:1.3em}.alert-log-main{flex-direction:column;flex:1;min-width:0;display:flex}.alert-log-time{color:var(--text-muted);font-size:.8em}.alert-log-type{margin-right:.5em;font-weight:700}.alert-log-setor{color:var(--color-blue-light);font-size:.95em;font-weight:500}.alert-log-decision{margin-top:.2rem;font-size:.8em;font-weight:700}.alert-log-decision.operator-pending{color:#fbbf24}.alert-log-decision.operator-confirmed{color:#f87171}.alert-log-decision.operator-dismissed{color:#34d399}.alert-log-llm{color:var(--text-muted);white-space:normal;overflow-wrap:anywhere;margin-top:.15rem;font-size:.8em;line-height:1.35}.alert-log-conf{color:var(--color-green);text-align:right;min-width:2.5em;font-family:JetBrains Mono,monospace;font-size:.95em}.status-dot{vertical-align:middle;border-radius:50%;width:.75em;height:.75em;margin-left:.5em;display:inline-block;box-shadow:0 0 4px 1px #0000002e}.status-dot.ws-online{background:#34d399}.status-dot.ws-offline{background:#ef4444}.status-dot.ws-connecting{background:#fbbf24}.status-dot.backend-online{background:#34d399}.status-dot.backend-offline{background:#ef4444}.status-dot.backend-checking{background:#fbbf24}.dashboard-container.new-alert-anim{animation:1.2s cubic-bezier(.4,0,.6,1) new-alert-pulse}@keyframes new-alert-pulse{0%{box-shadow:0 0 #ef44442e}30%{box-shadow:0 0 0 12px #ef44442e}to{box-shadow:0 0 #ef444400}}:root{--bg-main:#020617;--bg-panel:#1e293b;--bg-panel-dark:#0f172a;--text-main:#e2e8f0;--text-muted:#94a3b8;--color-blue:#2563eb;--color-blue-light:#60a5fa;--color-red:#ef4444;--color-red-dark:#7f1d1d;--color-green:#34d399;--border-color:#334155}.dashboard-container{background-color:var(--bg-main);min-height:100vh;color:var(--text-main);padding:1.5rem;font-family:Inter,sans-serif;position:relative}.dashboard-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:minmax(280px,1fr) minmax(520px,1.55fr) minmax(280px,1fr);grid-template-areas:"video scene llm""history history history";align-items:stretch}}.panel-video{grid-area:video}.panel-scene{grid-area:scene;min-width:0}.panel-llm{grid-area:llm}.panel-history{grid-area:history}@media (width<=1023px){.panel-video,.panel-scene,.panel-llm,.panel-history{grid-area:auto}}.font-mono{font-family:JetBrains Mono,monospace}.dashboard-header{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;transition:all .5s;display:flex;box-shadow:0 4px 6px -1px #0000001a}.dashboard-header.alert{border-color:var(--color-red);background-color:#7f1d1dcc;box-shadow:0 0 20px #ef44444d}.header-title{letter-spacing:.05em;color:#fff;margin:0;font-size:1.5rem;font-weight:700}.header-title span{font-weight:300}.header-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.875rem}.header-controls{align-items:center;gap:1.5rem;display:flex}.status-block{text-align:right;border-left:1px solid var(--border-color);padding-left:1.5rem}.status-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.75rem}.status-value{color:var(--color-green);margin:0;font-size:1.25rem;font-weight:700}.status-value.alert{color:#f87171;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.btn-3d{text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:1px solid var(--border-color);color:#cbd5e1;background-color:#334155;border-radius:.25rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700;transition:all .3s}.btn-3d.active{background-color:var(--color-blue);color:#fff;border-color:var(--color-blue-light)}.btn-action{text-transform:uppercase;cursor:pointer;border:1px solid var(--color-red);color:#fff;background-color:#dc2626;border-radius:.25rem;width:100%;padding:.5rem;font-size:.75rem;font-weight:700}.btn-secondary{text-transform:uppercase;cursor:pointer;color:#ecfdf5;background-color:#065f46;border:1px solid #34d399;border-radius:.25rem;width:100%;padding:.5rem;font-size:.75rem;font-weight:700}.btn-action:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.panel{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:.5rem;flex-direction:column;padding:1rem;display:flex;box-shadow:0 10px 15px -3px #0000001a}.panel.alert{border-color:#ef444480}.panel-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.panel-title{text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.875rem;font-weight:600}.map-container{perspective:1200px;flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.scene-map-container{min-height:clamp(300px,44vh,500px)}.scene-telemetry-grid{border-top:1px solid var(--border-color);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.map-canvas{background-color:var(--bg-main);width:500px;height:400px;transition:all .8s cubic-bezier(.4,0,.2,1);position:relative}.map-canvas.is-3d{transform-style:preserve-3d;border:2px solid #3b82f64d;border-radius:12px;transform:rotateX(55deg)rotate(-45deg)scale(.85);box-shadow:-20px 30px 40px #0009,inset 0 0 20px #3264c833}.map-canvas.is-2d{border:1px solid var(--border-color);transform:rotateX(0)rotate(0)scale(1)}.zone-rect{fill:#1e293b33;stroke:#4755694d;stroke-width:2px;transition:all 1s}.zone-rect.alert{fill:#7f1d1d99;stroke:var(--color-red);animation:2s infinite pulse}.zone-text{fill:var(--text-muted);font-size:12px;transition:all .5s}.zone-text.alert{fill:#fca5a5;font-weight:700}.robot-group{transition:all 1s ease-in-out}.robot-text,.fire-icon{transition:all .5s ease-out}.stand-up{transform:rotate(45deg)rotateX(-55deg)}.video-frame{aspect-ratio:16/9;background-color:#000;border-radius:.25rem;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.panel-video-frame{flex:1;min-height:clamp(220px,26vh,320px)}.video-overlay-content{z-index:11;text-align:center;padding:1rem;position:relative}.panel-video-title{margin-bottom:.25rem}.panel-video-subtitle{color:#e2e8f0}.llm-panel-content{flex:1;gap:1rem;display:grid}.llm-panel-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.llm-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.llm-report-box{background:#0f172a;border:1px solid #334155;border-radius:.5rem;min-height:180px;padding:1rem;line-height:1.5}@media (width>=1024px){.dashboard-grid{grid-template-areas:"video scene llm""history history history";gap:1rem}.panel-video,.panel-scene,.panel-llm{min-height:clamp(300px,44vh,500px)}.panel-history{min-height:240px}.alert-log-panel{max-height:none}.alert-log-list{flex:1;max-height:none}}@media (width<=767px){.scene-telemetry-grid,.llm-panel-meta,.llm-panel-actions{grid-template-columns:1fr}}.video-bg{background-position:50%;background-size:cover;position:absolute;inset:0}.video-bg.normal{opacity:.3;filter:grayscale();background-image:url(https://images.unsplash.com/photo-1581091226825-a6a2a5aee158?q=80&w=600&auto=format&fit=crop)}.video-bg.alert{opacity:.6;background-image:url(https://images.unsplash.com/photo-1599839619722-39751411ea63?q=80&w=600&auto=format&fit=crop)}.bounding-box{border:2px solid var(--color-red);z-index:10;background-color:#ef44441a;width:40%;height:50%;position:absolute;top:20%;left:30%}.bb-label{background-color:var(--color-red);color:#fff;white-space:nowrap;padding:2px 4px;font-size:10px;position:absolute;top:-24px;left:-2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}.animate-bounce{animation:1s infinite bounce}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{pointer-events:auto;color:#f1f5f9;-webkit-backdrop-filter:blur(16px);cursor:pointer;border-radius:.625rem;align-items:center;gap:.75rem;max-width:400px;padding:.85rem 1.25rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;line-height:1.4;animation:.4s ease-out toast-in,.4s ease-in 3.6s forwards toast-out;display:flex;box-shadow:0 8px 32px #00000073,0 0 0 1px #ffffff0f}.toast-success{background:#10503ae0;border-left:4px solid #34d399}.toast-error{background:#7f1d1de0;border-left:4px solid #ef4444}.toast-warning{background:#78500ae0;border-left:4px solid #fbbf24}.toast-info{background:#1e3a5fe0;border-left:4px solid #60a5fa}.toast-icon{flex-shrink:0;font-size:1.2em}.toast-msg{flex:1;min-width:0}@keyframes toast-in{0%{opacity:0;transform:translate(100%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(60%)scale(.9)}}
