ï»¿.geofence-shape{transition:stroke .3s ease,fill .3s ease,stroke-width .3s ease;stroke-linejoin:round}.geofence-shape--highlighted{stroke:#facc15!important;fill:#facc1538!important;stroke-width:4px!important;filter:drop-shadow(0 0 10px rgba(250,204,21,.4));animation:geofenceGlow 1.4s ease-in-out infinite}@keyframes geofenceGlow{0%{filter:drop-shadow(0 0 6px rgba(250,204,21,.3))}50%{filter:drop-shadow(0 0 20px rgba(250,204,21,.65))}to{filter:drop-shadow(0 0 6px rgba(250,204,21,.3))}}.config-hint{font-size:.78rem;color:var(--color-text-muted);line-height:1.45}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;--terminal-width: 360px;--theme-light-accent: #2563eb;--theme-light-accent-text: #ffffff;--theme-dark-accent: #2563eb;--theme-dark-accent-text: #ffffff;--theme-light-accent-rgb: 37, 99, 235;--theme-dark-accent-rgb: 37, 99, 235;--theme-light-bg: #f3f4f6;--theme-light-surface: #ffffff;--theme-light-text: #1f2933;--theme-dark-bg: #0f172a;--theme-dark-surface: #111c32;--theme-dark-text: #e2e8f0;--theme-light-header-start: #374151;--theme-light-header-end: #1f2937;--theme-light-header-text: #f9fafb;--theme-dark-header-start: #0f172a;--theme-dark-header-end: #1e293b;--theme-dark-header-text: #e2e8f0;--theme-light-sidebar-bg: #ffffff;--theme-light-sidebar-border: rgba(15, 23, 42, .08);--theme-light-sidebar-icon: #4b5563;--theme-light-sidebar-icon-active: #ffffff;--theme-dark-sidebar-bg: #0b1220;--theme-dark-sidebar-border: rgba(148, 163, 184, .12);--theme-dark-sidebar-icon: #94a3b8;--theme-dark-sidebar-icon-active: #ffffff;--theme-light-terminal-bg: #111827;--theme-light-terminal-border: rgba(var(--color-accent-rgb), .35);--theme-dark-terminal-bg: #0b1120;--theme-dark-terminal-border: rgba(var(--color-accent-rgb), .5);--alert-color-idle: #38bdf8;--alert-color-info: #2563eb;--alert-color-notice: #22c55e;--alert-color-alert: #f97316;--alert-color-critical: #ef4444}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);transition:background .25s ease,color .25s ease}body.theme-light{color-scheme:light;--color-bg: var(--theme-light-bg, #f3f4f6);--color-panel: var(--theme-light-surface, #ffffff);--color-panel-border: rgba(15, 23, 42, .08);--color-panel-shadow: rgba(15, 23, 42, .08);--color-header-bg: linear-gradient( 120deg, var(--theme-light-header-start, #374151) 0%, var(--theme-light-header-end, #1f2937) 100% );--color-header-text: var(--theme-light-header-text, #f9fafb);--color-sidebar-bg: var(--theme-light-sidebar-bg, #ffffff);--color-sidebar-border: var(--theme-light-sidebar-border, rgba(15, 23, 42, .08));--color-sidebar-active: var(--color-accent);--color-sidebar-icon: var(--theme-light-sidebar-icon, #4b5563);--color-sidebar-icon-active: var(--theme-light-sidebar-icon-active, #ffffff);--color-text: var(--theme-light-text, #1f2933);--color-text-muted: #6b7280;--color-accent: var(--theme-light-accent, #2563eb);--color-accent-rgb: var(--theme-light-accent-rgb, 37, 99, 235);--color-accent-contrast: var(--theme-light-accent-text, #ffffff);--color-chip-bg: rgba(var(--color-accent-rgb), .12);--color-chip-text: var(--color-accent);--color-input-bg: #f9fafb;--color-input-border: rgba(15, 23, 42, .16);--color-table-header: #f3f4f6;--color-table-row-hover: rgba(var(--color-accent-rgb), .08);--color-terminal-bg: var(--theme-light-terminal-bg, #111827);--color-terminal-border: var(--theme-light-terminal-border, rgba(var(--color-accent-rgb), .35));--color-success: #16a34a;--color-error: #dc2626}body.theme-dark{color-scheme:dark;--color-bg: var(--theme-dark-bg, #0f172a);--color-panel: var(--theme-dark-surface, #111c32);--color-panel-border: rgba(148, 163, 184, .12);--color-panel-shadow: rgba(15, 23, 42, .45);--color-header-bg: linear-gradient( 120deg, var(--theme-dark-header-start, #0f172a) 0%, var(--theme-dark-header-end, #1e293b) 100% );--color-header-text: var(--theme-dark-header-text, #e2e8f0);--color-sidebar-bg: var(--theme-dark-sidebar-bg, #0b1220);--color-sidebar-border: var(--theme-dark-sidebar-border, rgba(148, 163, 184, .12));--color-sidebar-active: var(--color-accent);--color-sidebar-icon: var(--theme-dark-sidebar-icon, #94a3b8);--color-sidebar-icon-active: var(--theme-dark-sidebar-icon-active, #ffffff);--color-text: var(--theme-dark-text, #e2e8f0);--color-text-muted: #94a3b8;--color-accent: var(--theme-dark-accent, #3b82f6);--color-accent-rgb: var(--theme-dark-accent-rgb, 37, 99, 235);--color-accent-contrast: var(--theme-dark-accent-text, #f9fafb);--color-chip-bg: rgba(var(--color-accent-rgb), .18);--color-chip-text: #bfdbfe;--color-input-bg: rgba(15, 23, 42, .85);--color-input-border: rgba(var(--color-accent-rgb), .35);--color-table-header: rgba(15, 23, 42, .85);--color-table-row-hover: rgba(var(--color-accent-rgb), .18);--color-terminal-bg: var(--theme-dark-terminal-bg, #0b1120);--color-terminal-border: var(--theme-dark-terminal-border, rgba(var(--color-accent-rgb), .5));--color-success: #34d399;--color-error: #f87171}body[data-theme-preset=tactical_ops].theme-light{--color-input-bg: #2a3038;--color-input-border: rgba(255, 255, 255, .12)}body[data-theme-preset=tactical_ops].theme-dark{--color-input-bg: #14171d;--color-input-border: rgba(255, 255, 255, .08)}*,*:before,*:after{box-sizing:border-box}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.75rem;background:var(--color-header-bg);color:var(--color-header-text);box-shadow:0 4px 12px #0f172a2e}.app-header__brand{display:flex;align-items:center;gap:.5rem}.app-header__brand-icon{height:2.5rem;display:inline-flex;align-items:center;justify-content:center;background:transparent}.app-header__brand-icon img{height:100%;width:auto;display:block;filter:brightness(1.08) saturate(.95)}.brand-title{font-size:1.125rem;font-weight:600}.brand-subtitle{display:block;font-size:.75rem;opacity:.8}.app-header__actions{display:flex;align-items:center;gap:.75rem}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;cursor:pointer;transition:transform .15s ease,background .15s ease}.icon-button:hover{background:#ffffff26;transform:translateY(-1px)}.connection-indicator{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;background:#0f766e26;color:#bbf7d0}.connection-indicator.down{background:#dc262638;color:#fecaca}.app-content{display:grid;grid-template-columns:76px minmax(0,1fr) var(--terminal-width);flex:1;min-height:0}.sidebar{display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;gap:.6rem;background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);position:relative;z-index:40}.nav-link{width:100%;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.65rem .4rem;border-radius:.75rem;color:var(--color-sidebar-icon);font-size:.75rem;transition:background .15s ease,color .15s ease}.nav-link:hover{background:rgba(var(--color-accent-rgb),.12)}.nav-link.active{background:var(--color-sidebar-active);color:var(--color-sidebar-icon-active);box-shadow:0 6px 12px rgba(var(--color-accent-rgb),.35)}.nav-icon{font-size:1.3rem}.nav-text{font-weight:500}.app-main{padding:1.5rem;overflow-y:auto;background:var(--color-bg)}.panel{background:var(--color-bg);border-radius:1rem;border:1px solid var(--color-panel-border);box-shadow:0 12px 32px var(--color-panel-shadow);padding:1.5rem;min-height:calc(100vh - 5rem);display:flex;flex-direction:column}.panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.panel__title{margin:0;font-size:1.2rem;font-weight:600}.panel__subtitle{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.9rem}.control-chip{position:relative;display:inline-flex;align-items:center;padding:.4rem .9rem;margin:0 .25rem;gap:.35rem;border-radius:.75rem;background:var(--color-chip-bg);color:var(--color-chip-text);border:1px solid rgba(var(--color-accent-rgb),.2);font-size:.8rem;cursor:pointer}.control-chip:hover{filter:brightness(1.05)}.control-chip:disabled,.control-chip[disabled]{background:#94a3b833;color:#1e293b8c;border-color:#94a3b859;cursor:not-allowed;filter:none}body.theme-dark .control-chip:disabled,body.theme-dark .control-chip[disabled]{background:#5e78a840;color:#cbd5e18c;border-color:#5e78a859}.control-input{background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-text);border-radius:.6rem;padding:.4rem .65rem;font-size:.88rem}.control-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.table-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.6rem;padding:.35rem .65rem;font-size:.88rem;color:var(--color-text);min-width:6.5rem}.table-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.tab-group{display:flex;gap:.5rem}.tab-button{padding:.45rem .9rem;border-radius:.6rem;border:1px solid transparent;background:transparent;color:var(--color-text-muted);font-size:.88rem}.tab-button.active{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.empty-state{margin-top:1rem;border:1px dashed var(--color-panel-border);border-radius:.75rem;padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted)}.map-canvas{height:60vh;border-radius:1rem;overflow:hidden;border:1px solid var(--color-panel-border);background:var(--color-panel)}.map-footer{display:flex;flex-direction:column;align-items:stretch;gap:1rem;margin-top:1rem}.map-footer__views{display:flex;flex-direction:column;gap:.75rem}.map-footer__views-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.map-footer__views-controls input{min-width:160px;padding:.4rem .6rem}.map-footer__views-list{display:flex;flex-wrap:wrap;gap:.5rem}.map-footer__view-item{display:flex;gap:.35rem;align-items:center}.map-footer__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.geofence-site-select{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500}.geofence-site-select__label{color:var(--color-text-muted, #cbd5f5)}.rf-placement-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.rf-asset-wrapper{display:flex;align-items:center;justify-content:center}.rf-asset-marker{width:28px;height:28px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 6px 16px #00000040}.geofence-drawing-controls{display:flex;flex-direction:column;gap:.6rem;background:#0f172a0d;padding:.75rem 1rem;border-radius:.75rem;border:1px dashed var(--color-panel-border);font-size:.9rem}.geofence-drawing-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.geofence-drawing-buttons button{padding:.45rem .9rem;border-radius:.6rem;border:1px solid rgba(148,163,184,.35);background:#1e293b0f;color:var(--color-text);display:inline-flex;align-items:center;gap:.35rem;transition:background .2s ease}.geofence-drawing-buttons button:hover:not(:disabled){background:rgba(var(--color-accent-rgb),.15)}.geofence-drawing-buttons button:disabled{opacity:.5;cursor:not-allowed}.geofence-tooltip{display:flex;flex-direction:column;gap:.25rem;text-align:center}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;background:#94a3b833;color:var(--color-text-muted)}.badge--active{background:#16a34a33;color:#16a34a}.geofence-panel{display:flex;flex-direction:column;gap:1.5rem}.geofence-list{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));max-width:1100px;margin:0 auto}.geofence-card{border:1px solid var(--color-panel-border);border-radius:.9rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:var(--color-panel)}.geofence-card__header{display:flex;justify-content:space-between;gap:1rem}.geofence-card__title{flex:1 1 auto;display:flex;flex-direction:column;gap:.45rem}.geofence-card__title input{font-size:1rem;font-weight:600;border:none;background:transparent;color:var(--color-text)}.geofence-card__title input:focus{outline:none;border-bottom:1px solid rgba(var(--color-accent-rgb),.6)}.geofence-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--color-text-muted)}.geofence-card__actions{display:flex;gap:.75rem;align-items:center}.geofence-card__actions button{padding:.35rem .75rem;border-radius:.6rem;border:1px solid rgba(148,163,184,.25);background:#1e293b14;color:var(--color-text);display:inline-flex;align-items:center;gap:.35rem;transition:background .2s ease}.geofence-card__actions button:hover{background:rgba(var(--color-accent-rgb),.18)}.geofence-card__actions button.danger{background:#ef444429;border-color:#ef444466;color:#ef4444}.geofence-card__actions button.danger:hover{background:#ef444440}.geofence-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.geofence-header__actions .control-input{flex:1 1 240px;max-width:360px}.geofence-table{margin-top:1rem;overflow-x:auto;border:1px solid var(--color-panel-border);border-radius:.8rem;background:var(--color-panel)}.geofence-table table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.geofence-table th,.geofence-table td{padding:.65rem .9rem;text-align:left;vertical-align:top}.geofence-table thead th{background:var(--color-panel);font-size:.8rem;font-weight:600}.geofence-table thead th:first-child{border-top-left-radius:.8rem}.geofence-table thead th:last-child{border-top-right-radius:.8rem}.geofence-table tbody tr{border-bottom:1px solid rgba(71,85,105,.35)}.geofence-table tbody tr:last-child td:first-child{border-bottom-left-radius:.8rem}.geofence-table tbody tr:last-child td:last-child{border-bottom-right-radius:.8rem}.geofence-table thead tr{border-bottom:1px solid rgba(71,85,105,.35);background:var(--color-panel)}.geofence-table th{font-size:.8rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.geofence-table__name input{width:100%;min-width:12rem;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.6rem;padding:.4rem .65rem;color:var(--color-text);font-size:.88rem}.geofence-table__name input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.geofence-table__name .geofence-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.35rem;color:var(--color-text-muted);font-size:.78rem}.geofence-table td textarea,.geofence-table td select,.geofence-table td input[type=text],.geofence-table td input[type=number]{width:100%;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.6rem;padding:.4rem .65rem;color:var(--color-text);font-size:.88rem}.geofence-table td input[type=color]{width:48px;height:36px;padding:0;border:1px solid var(--color-input-border);border-radius:.4rem;cursor:pointer;background:transparent}.geofence-table td textarea:focus,.geofence-table td select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.geofence-table td textarea{resize:vertical;min-width:12rem}.geofence-table__actions{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.geofence-table__actions button{padding:.35rem .75rem;border-radius:.6rem;border:1px solid rgba(148,163,184,.25);background:#1e293b14;display:inline-flex;align-items:center;gap:.3rem}.geofence-table__actions button:hover{background:rgba(var(--color-accent-rgb),.15)}.geofence-table__actions .danger{background:#ef444429;border-color:#ef444459;color:#ef4444}.geofence-table__actions .danger:hover{background:#ef444440}.geofence-table .table-sort{border:none;background:transparent;color:var(--color-text);font:inherit;padding:.2rem .35rem;border-radius:.4rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.geofence-table .table-sort:focus{outline:none;border:none;box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.geofence-table .table-sort__icon{font-size:.75rem;opacity:.8}.geofence-card__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.geofence-card__body label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}.geofence-card__body input[type=color]{width:100%;height:36px;padding:0;border:none}.geofence-card__message{grid-column:1 / -1}.geofence-card__message textarea{min-height:72px;resize:vertical}.geofence-card__message .hint{font-size:.75rem;color:var(--color-text-muted)}.switch{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem}.switch input[type=checkbox]{width:1.2rem;height:1.2rem}.map-container,.leaflet-container{height:100%;width:100%}.node-marker-wrapper{display:flex;align-items:center;justify-content:center}.node-marker{background:var(--alert-color-idle);color:#fff;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.75);box-shadow:0 6px 16px color-mix(in srgb,var(--alert-color-idle) 35%,transparent);--marker-glow-color: var(--alert-color-idle)}.node-marker--info{background:var(--alert-color-info);--marker-glow-color: var(--alert-color-info);animation:markerPulse 1.8s ease-in-out infinite}.node-marker--notice{background:var(--alert-color-notice);--marker-glow-color: var(--alert-color-notice);animation:markerPulse 1.4s ease-in-out infinite}.node-marker--alert{background:var(--alert-color-alert);--marker-glow-color: var(--alert-color-alert);animation:markerPulse 1.1s ease-in-out infinite}.node-marker--critical{background:var(--alert-color-critical);--marker-glow-color: var(--alert-color-critical);animation:markerPulse .85s ease-in-out infinite}.node-marker--idle{animation:none}.node-marker-wrapper--info{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--alert-color-info) 45%,transparent))}.node-marker-wrapper--notice{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--alert-color-notice) 55%,transparent))}.node-marker-wrapper--alert{filter:drop-shadow(0 0 16px color-mix(in srgb,var(--alert-color-alert) 60%,transparent))}.node-marker-wrapper--critical{filter:drop-shadow(0 0 20px color-mix(in srgb,var(--alert-color-critical) 70%,transparent))}@keyframes markerPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--marker-glow-color) 60%,transparent);transform:scale(1)}55%{box-shadow:0 0 0 16px color-mix(in srgb,var(--marker-glow-color) 0%,transparent);transform:scale(1.05)}to{box-shadow:0 0 color-mix(in srgb,var(--marker-glow-color) 0%,transparent);transform:scale(1)}}.node-radius{stroke-width:2;stroke-opacity:.9;fill-opacity:.12;transition:stroke .2s ease,fill .2s ease,stroke-opacity .2s ease,fill-opacity .2s ease}.node-radius--idle{animation:none}.node-radius--info{animation:radiusGlowInfo 2s ease-in-out infinite}.node-radius--notice{animation:radiusGlowNotice 1.8s ease-in-out infinite}.node-radius--alert{animation:radiusGlowAlert 1.4s ease-in-out infinite}.node-radius--critical{animation:radiusGlowCritical 1.1s ease-in-out infinite}@keyframes radiusGlowInfo{0%{stroke-opacity:.85;fill-opacity:.3}50%{stroke-opacity:.35;fill-opacity:.12}to{stroke-opacity:.85;fill-opacity:.3}}@keyframes radiusGlowAlert{0%{stroke-opacity:.9;fill-opacity:.4}50%{stroke-opacity:.35;fill-opacity:.18}to{stroke-opacity:.9;fill-opacity:.4}}@keyframes radiusGlowNotice{0%{stroke-opacity:.85;fill-opacity:.35}50%{stroke-opacity:.32;fill-opacity:.15}to{stroke-opacity:.85;fill-opacity:.35}}@keyframes radiusGlowCritical{0%{stroke-opacity:.95;fill-opacity:.45}40%{stroke-opacity:.4;fill-opacity:.2}to{stroke-opacity:.95;fill-opacity:.45}}.drone-marker-wrapper{display:flex;align-items:center;justify-content:center;width:64px;height:80px}.drone-marker{position:relative;width:56px;height:56px}.drone-marker:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:999px;background:rgba(var(--drone-marker-accent-rgb, 105, 240, 174),.22);box-shadow:0 0 25px rgba(var(--drone-marker-accent-rgb, 105, 240, 174),.65),0 0 50px rgba(var(--drone-marker-accent-rgb, 105, 240, 174),.35);filter:blur(2px);z-index:0}.drone-marker__icon{width:100%;height:100%;display:block;animation:dronePulse 3s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));position:relative;z-index:1}.drone-marker__label{position:absolute;left:50%;bottom:-.4rem;transform:translate(-50%,100%);background:#050908eb;color:var(--drone-marker-accent, #69f0ae);padding:.18rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.03em;border:1px solid color-mix(in srgb,var(--drone-marker-accent, #69f0ae) 70%,transparent);text-transform:uppercase;text-shadow:0 0 4px rgba(0,0,0,.45)}.drone-operator-wrapper{display:flex;align-items:center;justify-content:center;width:52px;height:68px}.drone-operator-marker{position:relative;width:44px;height:44px}.drone-operator-marker:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;background:rgba(var(--drone-operator-accent-rgb, 105, 240, 174),.2);box-shadow:0 0 20px rgba(var(--drone-operator-accent-rgb, 105, 240, 174),.6),0 0 36px rgba(var(--drone-operator-accent-rgb, 105, 240, 174),.35);filter:blur(2px);z-index:0}.drone-operator-marker__icon{width:100%;height:100%;display:block;filter:drop-shadow(0 5px 12px rgba(0,0,0,.45));animation:controllerPulse 3.5s ease-in-out infinite;position:relative;z-index:1}.drone-operator-marker__label{position:absolute;left:50%;bottom:-.25rem;transform:translate(-50%,100%);background:#0d110ff2;color:var(--drone-operator-accent, #69f0ae);padding:.15rem .45rem;border-radius:999px;font-size:.6rem;font-weight:600;border:1px solid color-mix(in srgb,var(--drone-operator-accent, #69f0ae) 65%,transparent);letter-spacing:.04em}@keyframes dronePulse{0%,to{transform:scale(1);box-shadow:0 0 0 3px #f973164d}50%{transform:scale(1.08);box-shadow:0 0 0 6px #f9731626}}.drone-operator-wrapper,.drone-marker-wrapper{will-change:transform}@keyframes controllerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.leaflet-tooltip,.leaflet-tooltip-top,.leaflet-tooltip-bottom,.leaflet-tooltip-left,.leaflet-tooltip-right{background:#050708e6!important;color:#fff!important;white-space:normal!important;max-width:360px;word-break:normal;overflow-wrap:break-word;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 18px 36px #00000073!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;text-shadow:none!important;border-radius:.75rem!important}.leaflet-tooltip a{color:#8df4ff!important;text-decoration:underline!important}.drone-tooltip,.drone-operator-tooltip{min-width:200px;max-width:340px;font-size:.8rem;display:block;line-height:1.45;word-break:normal;overflow-wrap:break-word}.leaflet-tooltip.tooltip--drone{background:#050708cc;color:#fff;min-width:220px;max-width:360px;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 36px #00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:none}.leaflet-tooltip.tooltip--drone a{color:#8df4ff;text-decoration:underline}.leaflet-tooltip.tooltip--drone .drone-tooltip,.leaflet-tooltip.tooltip--drone .drone-operator-tooltip{color:inherit}.drone-tooltip strong,.drone-operator-tooltip strong{color:#f97316;font-weight:700}.adsb-tooltip-header{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start}.adsb-tooltip-callsign{display:block}.drone-floating-card{position:static;display:none;width:100%;max-height:none;flex-direction:column;gap:0;background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:.85rem;box-shadow:0 4px 12px #00000026;padding:.9rem 1rem 1rem;margin-top:1rem;opacity:1;pointer-events:auto;z-index:600}.drone-floating-card--visible{display:flex}.drone-floating-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(148,163,184,.2)}.drone-floating-card__header h3{margin:0;font-size:1.1rem;font-weight:600}.drone-floating-card__body{flex:1 1 auto;overflow:hidden;margin-top:.75rem;display:flex;flex-direction:column}.drone-floating-card__list{flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column;gap:.65rem}.drone-floating-card__section-title{font-weight:600;font-size:.9rem;color:var(--color-text)}.drone-floating-card__status-summary{display:flex;flex-wrap:wrap;gap:.35rem}.drone-floating-card__table-wrapper{flex:1 1 auto;overflow-x:auto;overflow-y:auto;border:1px solid var(--color-panel-border);border-radius:.85rem;background:color-mix(in srgb,var(--color-panel) 90%,rgba(15,23,42,.9));padding:.5rem}.adsb-floating-card__table-wrapper{max-height:320px}.drone-floating-card__table{width:100%;border-collapse:collapse;font-size:.82rem}.drone-floating-card__table th{text-align:left;padding:.35rem .5rem;font-weight:600;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);position:sticky;top:0;background:color-mix(in srgb,var(--color-panel) 92%,rgba(0,0,0,.8))}.drone-floating-card__table td{padding:.45rem .5rem;border-bottom:1px solid rgba(148,163,184,.15)}.drone-floating-card__table tbody tr{cursor:pointer;transition:background .15s ease}.drone-floating-card__table tbody tr:hover{background:#94a3b814}.drone-floating-card__table tbody tr.is-active{background:#25d3661a}.drone-floating-card__table tbody tr.is-hostile{border-left:3px solid #ef4444}.drone-floating-card__table tbody tr.is-most-recent{background:#22c55e1f;border-left:3px solid #22c55e}.drone-floating-card__table tbody tr.is-most-recent:hover{background:#22c55e2e}.drone-floating-card__status-select{min-width:130px}.drone-floating-card__table .muted{font-size:.75rem}@media(max-width:1200px){.adsb-floating-card__table-wrapper{max-height:280px}}@media(max-width:900px){.adsb-floating-card__table-wrapper{max-height:220px}}@media(max-width:640px){.drone-floating-card__table{font-size:.75rem}.drone-floating-card__table th,.drone-floating-card__table td{white-space:nowrap}}.drone-floating-card__table-wrapper{max-height:400px}@media(max-width:1400px){.drone-floating-card__table-wrapper{max-height:320px}}.adsb-tooltip-photo{margin-top:.35rem;max-width:220px}.adsb-tooltip-photo img{display:block;width:100%;height:auto;border-radius:.35rem}@media(max-width:900px){.adsb-tooltip-photo{max-width:160px}}@media(max-width:1366px){.leaflet-tooltip.tooltip--drone{overflow:visible}}.terminal-entry__tag--drone{color:#f97316;font-weight:600}.chat-page{display:flex;flex-direction:column;gap:1rem}.chat-controls{display:flex;align-items:center;gap:.6rem;justify-content:flex-end;flex-wrap:nowrap}.chat-controls .chat-key{display:flex;align-items:center;gap:.4rem}.chat-body{display:flex;flex-direction:column;gap:.75rem;min-height:60vh}.chat-messages{flex:1 1 auto;overflow-y:auto;border:1px solid var(--color-panel-border);border-radius:.85rem;padding:.75rem;background:color-mix(in srgb,var(--color-panel) 92%,rgba(15,23,42,.6))}.chat-message{padding:.55rem .65rem;border-radius:.75rem;margin-bottom:.35rem;background:#b4963c26;max-width:92%;width:fit-content;align-self:flex-start}.chat-message--self{background:#3c64d233;margin-left:auto;align-self:flex-end}.chat-message__meta{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted);margin-bottom:.25rem}.chat-message__role{padding:.1rem .4rem;border-radius:999px;border:1px solid rgba(var(--color-accent-rgb),.3);font-size:.7rem}.chat-message__time{margin-left:auto;font-size:.78rem}.chat-message__text{white-space:pre-wrap;word-break:break-word}.chat-compose{display:flex;gap:.6rem;align-items:flex-end}.chat-compose textarea{flex:1 1 auto;min-height:70px;max-height:180px;border-radius:.75rem;border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);padding:.55rem .65rem}.chat-compose textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.2)}.chat-compose button{align-self:stretch}.chat-popups{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000}.chat-popup{background:#0f172ae6;color:#e2e8f0;border:1px solid rgba(148,163,184,.25);border-radius:.75rem;padding:.75rem .9rem;box-shadow:0 8px 30px #00000073;width:min(320px,90vw)}.chat-popup__meta{display:flex;gap:.5rem;font-size:.85rem;color:#a5b4c1}.chat-popup__meta strong{color:#f8fafc}.chat-popup__text{margin-top:.35rem;margin-bottom:.5rem;white-space:pre-wrap}.chat-popup__action{background:#22c55e26;border:1px solid rgba(34,197,94,.35);color:#bbf7d0;padding:.25rem .65rem;border-radius:.6rem;cursor:pointer}.target-marker-wrapper{display:flex;align-items:center;justify-content:center}.target-marker{background:#dc2626e0;color:#fff;padding:.25rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;box-shadow:0 8px 18px #dc262666}.target-marker--triangulated{background:#a855f7;box-shadow:0 0 0 6px #a855f738,0 0 22px #a855f7b3;animation:targetTriangulatedPulse .85s ease-in-out infinite}.target-marker--triangulated span{text-transform:uppercase}.target-marker--triangulated{--target-tri-color: #a855f7}.adsb-marker-wrapper{display:flex;align-items:center;justify-content:center}.adsb-marker,.acars-marker{display:flex;flex-direction:column;align-items:center;gap:.2rem;color:#fff}.acars-marker__icon{width:32px;height:32px;line-height:1;display:block;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--acars-color, #f59e0b) 65%,transparent))}.acars-marker__icon svg{width:32px;height:32px;display:block}.acars-marker__label{line-height:1.2;background:color-mix(in srgb,var(--acars-color, #f59e0b) 82%,#0b1321 18%);padding:.18rem .55rem;border-radius:.55rem;font-size:.72rem;font-weight:700;box-shadow:0 6px 12px color-mix(in srgb,var(--acars-color, #f59e0b) 35%,transparent)}.adsb-marker__icon{width:32px;height:32px;line-height:1;display:block;transform:rotate(var(--adsb-rotation, 0deg));filter:drop-shadow(0 0 8px color-mix(in srgb,var(--adsb-color, #06b6d4) 65%,transparent))}.adsb-marker__icon svg{width:32px;height:32px;display:block}.adsb-marker__label{line-height:1.2;background:color-mix(in srgb,var(--adsb-color, #06b6d4) 82%,#0b1321 18%);padding:.18rem .55rem;border-radius:.55rem;font-size:.72rem;font-weight:700;box-shadow:0 6px 12px color-mix(in srgb,var(--adsb-color, #06b6d4) 35%,transparent);display:inline-flex;align-items:center;gap:.25rem}.adsb-marker__acars-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;color:#f59e0b;filter:drop-shadow(0 0 3px rgba(245,158,11,.8));animation:acarsPulse 2s ease-in-out infinite}@keyframes acarsPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.adsb-marker--heli{box-shadow:0 8px 18px #a855f759}.legend-swatch--adsb-plane{background:color-mix(in srgb,#06b6d4 80%,#0b1321 20%)}.legend-swatch--adsb-heli{background:color-mix(in srgb,#a855f7 80%,#0b1321 20%)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .35rem;border-radius:999px;font-size:.68rem;font-weight:600}.badge--inline{background:#94a3b826;color:#e2e8f0;border:1px solid rgba(226,232,240,.25);margin-bottom:.25rem}.map-legend{display:flex;align-items:center;gap:1rem;margin-top:.35rem;color:#e5e7eb;font-size:.8rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem}.legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-swatch--adsb{background:#06b6d4;box-shadow:0 0 10px #06b6d480}@keyframes targetTriangulatedPulse{0%{transform:scale(1);box-shadow:0 0 0 6px #a855f738,0 0 18px #a855f7a6}50%{transform:scale(1.06);box-shadow:0 0 0 12px #a855f714,0 0 26px #a855f7d9}to{transform:scale(1);box-shadow:0 0 0 6px #a855f738,0 0 18px #a855f7a6}}.target-tooltip{max-width:220px;font-size:.75rem;display:grid;gap:.15rem}.node-tooltip{max-width:420px;font-size:.8rem;display:grid;gap:.2rem;white-space:normal}.tracking-marker{background:transparent!important;border:none!important}.tracking-marker__pulse{display:block;width:18px;height:18px;border-radius:50%;border:2px solid #a855f7;background:#a855f759;box-shadow:0 0 12px #a855f773;animation:trackingPulse 1.6s ease-out infinite}@keyframes trackingPulse{0%{transform:scale(.5);opacity:.9}70%{transform:scale(1.7);opacity:0}to{opacity:0}}.tracking-tooltip{display:grid;gap:.15rem;font-size:.8rem}.table-sort{display:inline-flex;align-items:center;gap:.25rem;font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.table-sort:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.table-sort__icon{font-size:.75rem;color:var(--color-text-muted)}.inventory-table{overflow-x:auto;border-radius:.8rem;border:1px solid var(--color-panel-border)}.inventory-table table{width:100%;border-collapse:collapse;min-width:720px}.inventory-table th{background:var(--color-panel);text-align:left;padding:.75rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.inventory-table td{padding:.75rem;font-size:.88rem;border-top:1px solid var(--color-panel-border)}.table-actions{display:inline-flex;flex-wrap:wrap;gap:.4rem}.inventory-table tbody tr:hover{background:var(--color-table-row-hover)}.inventory-table .flag{display:inline-block;margin-right:.4rem;padding:.2rem .55rem;border-radius:999px;font-size:.7rem;background:var(--color-chip-bg);color:var(--color-chip-text)}.nodes-table{overflow-x:auto;border-radius:.8rem;border:1px solid var(--color-panel-border)}.nodes-table table{width:100%;border-collapse:collapse;min-width:720px}.nodes-table th{background:var(--color-panel);text-align:left;padding:.75rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.nodes-table td{padding:.75rem;font-size:.88rem;border-top:1px solid var(--color-panel-border);vertical-align:top}.node-cell{display:flex;flex-direction:column;gap:.15rem}.node-id{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.node-meta{display:flex;flex-direction:column;gap:.1rem}.muted{color:var(--color-text-muted);font-size:.75rem}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:.2rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-online{background:#10b98126;color:#10b981}.status-offline{background:#f8717126;color:#f87171}.last-message-cell{max-width:280px;white-space:normal;word-break:break-word}.targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:980px;gap:1rem;margin-top:1rem}.target-card{border:1px solid var(--color-panel-border);border-radius:.9rem;background:var(--color-panel);display:flex;flex-direction:column;padding:1rem;gap:.75rem;box-shadow:0 8px 18px var(--color-panel-shadow)}.target-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.target-card__header h2{margin:0;font-size:1rem;font-weight:600}.target-card__meta{font-size:.7rem;color:var(--color-text-muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;margin-left:.5rem}.status-active{background:#22c55e33;color:#bbf7d0}.status-triangulating{background:#facc1533;color:#facc15}.status-connected{background:#22c55e33;color:#bbf7d0}.status-connecting{background:rgba(var(--color-accent-rgb),.2);color:#bfdbfe}.status-disabled,.status-not_configured{background:#94a3b833;color:#e2e8f0}.status-error{background:#ef444433;color:#fecaca}.status-resolved{background:#94a3b840;color:#cbd5f5}.config-subcard--active-runtime{border:1px solid rgba(var(--color-accent-rgb),.35);box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),.12)}.target-card__body{display:grid;gap:.5rem;font-size:.88rem}.coordinate-row{display:flex;gap:.75rem;font-family:JetBrains Mono,monospace;font-size:.78rem}.target-notes{margin:0;font-size:.8rem;color:var(--color-text)}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.target-card__footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.target-card__footer select{flex:1;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.6rem;padding:.4rem .6rem;color:var(--color-text)}.panel__section{margin-top:2rem;border-top:1px solid var(--color-panel-border);padding-top:1.5rem}.panel__section-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.target-form{display:flex;flex-direction:column;gap:.85rem}.target-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.target-form__row label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--color-text-muted);font-weight:600}.target-form__actions{display:flex;justify-content:flex-end}.form-success{color:var(--color-success);font-size:.75rem}.form-hint{color:var(--color-text-muted);font-size:.75rem}.console-layout{display:flex;flex-direction:column;gap:1.5rem;margin-top:.75rem}.console-templates{width:100%;border:1px solid var(--color-panel-border);border-radius:.75rem;padding:1rem;background:var(--color-panel);display:flex;flex-direction:column;gap:1rem}.console-templates h2{text-align:left;margin:0;font-size:.95rem;font-weight:600}.template-list{display:flex;flex-direction:column;gap:.75rem}.template-card{width:100%;border:1px solid var(--color-panel-border);border-radius:.6rem;background:var(--color-bg);padding:.75rem .85rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 10px 24px #0f172a40}.template-card.is-editing{border-color:rgba(var(--color-accent-rgb),.6);box-shadow:0 12px 28px rgba(var(--color-accent-rgb),.35)}.template-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.template-card__header strong{display:block;font-size:.88rem}.template-card__header span{display:block;font-size:.7rem;color:var(--color-text-muted)}.template-card p{margin:0;font-size:.78rem;color:var(--color-text-muted);line-height:1.35}.template-card__actions{display:flex;align-items:center;gap:.45rem}.template-card__actions button{padding:.35rem .7rem;border-radius:.55rem;background:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb),.5);color:var(--color-accent-contrast);font-size:.75rem;cursor:pointer;transition:background .15s ease}.template-card__actions button:hover{background:rgba(var(--color-accent-rgb),.9)}.template-card__actions .template-delete{background:#ef4444;border-color:#dc2626;color:#fff;padding:.35rem .7rem;border-radius:.55rem}.template-card__actions .template-delete:hover{background:#dc2626}.template-card__actions .template-card__delete{margin-left:auto}.template-card__actions-right{display:flex;align-items:center}.template-empty{margin:0;font-size:.8rem;color:var(--color-text-muted);text-align:center}.console-form{position:relative;border:1px solid var(--color-panel-border);border-radius:.8rem;padding:1.25rem 1.5rem;background:var(--color-panel);display:flex;flex-direction:column;gap:1.1rem;align-self:flex-start;max-width:860px;width:100%}.form-row{display:flex;flex-direction:column;gap:.45rem}.form-row label{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.console-form .form-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:.9rem;align-items:flex-start}.console-form .form-row>label{justify-self:start;padding-top:.35rem;text-align:left}.console-form .form-row.forever-toggle,.console-form .form-row.form-row--actions,.console-form .template-save{grid-template-columns:minmax(0,1fr);justify-items:start}.console-form textarea{width:100%}.form-divider{width:100%;height:1px;background:#94a3b859;margin:1rem 0 1.25rem;border-radius:999px}.console-form input,.console-form select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.6rem;padding:.6rem .75rem;color:var(--color-text);font-size:.88rem}.console-form input:focus,.console-form select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.command-selector-wrapper{position:relative;display:inline-block}.command-selector{display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:linear-gradient(135deg,rgba(var(--color-accent-rgb),.35),#0ea5e940);border:1px solid rgba(var(--color-accent-rgb),.45);border-radius:.65rem;padding:.55rem .7rem;color:var(--color-accent-contrast);cursor:pointer}.command-selector__group{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffffbf}.command-selector__chevron{font-size:.7rem;opacity:.75}.command-menu{position:absolute;top:100%;margin-top:.45rem;left:0;right:auto;width:clamp(320px,45vw,520px);max-height:440px;overflow-y:auto;background:var(--color-panel);border:1px solid rgba(148,163,184,.25);border-radius:.85rem;padding:.75rem;box-shadow:0 16px 36px #0f172a40;z-index:1100;display:grid;gap:.75rem}.command-menu__group{display:flex;flex-direction:column;gap:.35rem}.command-menu__title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.command-menu__item{background:rgba(var(--color-accent-rgb),.3);border:1px solid rgba(148,163,184,.25);border-radius:.6rem;padding:.55rem;text-align:left;display:flex;flex-direction:column;gap:.25rem;color:var(--color-text);cursor:pointer;transition:border .15s ease,background .15s ease}.command-menu__item:hover{border-color:rgba(var(--color-accent-rgb),.45);background:rgba(var(--color-accent-rgb),.45)}.command-menu__item.is-active{border-color:rgba(var(--color-accent-rgb),.75);background:rgba(var(--color-accent-rgb),.55)}.command-menu__item-name{font-weight:600;font-size:.88rem}.command-menu__item-desc{font-size:.75rem;color:var(--color-text-muted)}.exports-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:1.25rem}.export-card{border:1px solid var(--color-panel-border);border-radius:1rem;background:var(--color-panel);display:flex;flex-direction:column;min-height:100%;box-shadow:0 14px 32px #0f172a2e}.export-card__header{padding:1.25rem 1.5rem .75rem;display:flex;justify-content:space-between;gap:1rem}.export-card__header h2{margin:0;font-size:1.05rem;font-weight:600}.export-card__header p{margin:.35rem 0 0;font-size:.88rem;line-height:1.45;color:var(--color-text-muted)}.export-card__body{flex:1;padding:0 1.5rem 1.1rem;display:flex;flex-direction:column;gap:1.1rem}.export-card__body .form-control{display:flex;flex-direction:column;gap:.45rem}.export-card__body .form-control span{font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.export-daterange{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.export-card__footer{padding:.85rem 1.5rem 1.25rem;display:flex;align-items:center;gap:1rem;margin-top:auto}.export-card__footer .submit-button{min-width:140px}.export-status{font-size:.78rem}.export-status--success{color:#15803d}.export-status--error{color:#b91c1c}.export-status--loading,.export-status--idle{color:var(--color-text-muted)}.command-description{margin:0;font-size:.82rem;color:var(--color-text-muted);line-height:1.35}.form-parameters{display:grid;gap:.75rem}.parameter-field{display:flex;flex-direction:column;gap:.35rem}.parameter-label{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--color-text-muted);font-weight:600}.parameter-control{display:flex;align-items:center;gap:.45rem}.parameter-control input{flex:1}.parameter-suffix{font-size:.75rem;color:var(--color-text-muted);padding:.3rem .6rem;border-radius:.55rem;background:#94a3b82e}.parameter-required{color:var(--color-error);font-size:.75rem}.parameter-field small{color:var(--color-text-muted);font-size:.7rem}.template-save__controls{display:flex;gap:.5rem;align-items:center}.template-save__controls input{flex:1}.template-save__controls button{padding:.45rem .9rem;border-radius:.55rem;border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.template-save__controls .template-cancel{background:transparent;border:1px solid rgba(148,163,184,.4);color:var(--color-text-muted)}.custom-command{display:flex;flex-direction:column;gap:.5rem}.custom-command__input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:.6rem;padding:.6rem .75rem;color:var(--color-text);font-size:.88rem;resize:vertical;min-height:96px}.custom-command__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.secondary-button{align-self:flex-start;padding:.45rem .85rem;border-radius:.55rem;background:transparent;border:1px solid rgba(var(--color-accent-rgb),.4);color:var(--color-accent);cursor:pointer;transition:background .15s ease,color .15s ease}.secondary-button:hover{background:rgba(var(--color-accent-rgb),.45);color:var(--color-accent-contrast)}.form-error{color:var(--color-error);font-size:.75rem}.forever-toggle{display:flex;align-items:center;gap:.6rem}.forever-toggle label{display:flex;align-items:center;gap:.45rem;font-weight:500;color:var(--color-text)}.forever-toggle span{font-size:.75rem;color:var(--color-text-muted)}.example-chips{display:flex;flex-wrap:wrap;gap:.45rem}.example-chips button{border:1px solid rgba(var(--color-accent-rgb),.45);background:rgba(var(--color-accent-rgb),.3);color:var(--color-accent-contrast);border-radius:999px;padding:.3rem .7rem;font-size:.75rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.example-chips button:hover{transform:translateY(-1px);background:rgba(var(--color-accent-rgb),.45)}.preview-line{display:inline-block;padding:.45rem .7rem;background:var(--color-panel);border-radius:.5rem;border:1px solid var(--color-panel-border);font-family:JetBrains Mono,Fira Code,monospace;font-size:.88rem}.submit-button{align-self:flex-start;padding:.5rem 1.1rem;border-radius:.6rem;background:var(--color-accent);color:var(--color-accent-contrast);border:none;cursor:pointer;font-size:.9rem;box-shadow:0 8px 18px rgba(var(--color-accent-rgb),.28)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-text{color:var(--color-error);font-size:.8rem}.success-text{color:var(--color-success);font-size:.8rem}.terminal-drawer{border-left:1px solid var(--color-panel-border);background:var(--color-terminal-bg);color:#e2e8f0;display:flex;flex-direction:column;position:relative}.terminal-drawer--collapsed{border:none;background:transparent;width:0;min-width:0;padding:0}.terminal-drawer__edge-toggle{position:absolute;top:1rem;left:-44px;writing-mode:vertical-rl;transform:rotate(180deg);background:var(--color-terminal-bg);border:1px solid var(--color-terminal-border);border-radius:.5rem .5rem 0 0;padding:.5rem .4rem;font-size:.78rem;color:#e2e8f0;cursor:pointer;z-index:10}.terminal-drawer__edge-toggle:hover,.terminal-drawer__edge-toggle:focus-visible{background:color-mix(in srgb,var(--color-terminal-bg) 90%,#ffffff 10%)}.terminal-drawer__header{padding:.75rem 1rem;border-bottom:1px solid var(--color-terminal-border);display:flex;align-items:center;justify-content:space-between}.terminal-drawer__list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.terminal-drawer__list--scroll{max-height:40rem}.terminal-entry{border-left:3px solid transparent;background:color-mix(in srgb,var(--color-terminal-bg) 88%,#020303 12%);border-radius:.5rem;padding:.6rem .75rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem}.terminal-entry--alert{border-color:#f97316}.terminal-entry--notice{border-color:#34d399}.terminal-entry--critical{border-color:var(--color-error)}.terminal-entry__meta{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:#e2e8f0b3}.terminal-entry__tag{display:inline-flex;align-items:center;gap:.25rem;padding:0 .35rem;border-radius:.375rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background-color:#94a3b81a;color:#94a3b8;position:relative}.terminal-entry__tag:before{content:"[";margin-right:.15rem}.terminal-entry__tag:after{content:"]";margin-left:.15rem}.terminal-entry__tag--alert{color:#fb923c}.terminal-entry__tag--notification{color:#4ade80}.terminal-entry__tag--command{color:#60a5fa}.terminal-entry__tag--inventory,.terminal-entry__tag--target{color:#f472b6}.terminal-entry__tag--raw{color:#94a3b8}.terminal-entry__message{margin:.3rem 0 0;font-size:.82rem;white-space:pre-wrap;word-break:break-word}.terminal-entry__link{margin:.15rem 0 0;font-size:.78rem}.terminal-entry__link a{color:#60a5fa;text-decoration:underline}.control-chip--danger{color:#ef4444;border-color:#ef4444}.control-chip--danger:is(:hover,:focus-visible){background:#ef4444;color:#fff}@media(max-width:1366px){.panel__header{padding:.75rem .9rem}.panel__title{font-size:1.2rem}.panel__subtitle{font-size:.9rem}.config-card{padding:.75rem .9rem;gap:.5rem}.config-card header h2{font-size:.95rem}.config-card header p{font-size:.82rem}.config-card__body{gap:.5rem}.config-row span{font-size:.82rem}.submit-button{padding:.45rem .95rem;font-size:.85rem}.control-chip{padding:.4rem .75rem;font-size:.85rem;gap:.45rem}.config-menu__item{padding:.65rem .75rem}.config-menu__label{font-size:.95rem}.config-menu__description{font-size:.8rem}.adsb-log-table th,.adsb-log-table td{padding:.4rem .6rem;font-size:.82rem}.adsb-tooltip-photo{margin-top:.25rem;float:right;max-width:160px;margin-left:.6rem}.drone-tooltip,.drone-operator-tooltip{display:block;max-width:340px}.config-grid{gap:1rem;grid-template-columns:1fr}.config-card__body{gap:.45rem}.adsb-log-table-wrapper{max-height:320px}.leaflet-tooltip.tooltip--drone{max-width:300px;min-width:200px}.leaflet-tooltip.tooltip--drone .drone-tooltip,.leaflet-tooltip.tooltip--drone .drone-operator-tooltip{gap:.15rem}}@media(max-width:1400px){.drone-floating-card{position:static;display:none;width:100%;max-height:none;border-radius:.85rem;padding:.9rem 1rem 1rem;margin-top:1rem;transform:none;opacity:1;pointer-events:auto;box-shadow:none}.drone-floating-card--visible{display:flex}.drone-floating-card__table-wrapper{max-height:260px}}@media(max-width:1180px){.app-content{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto 320px}.terminal-drawer{grid-column:span 2}.console-layout{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{display:none}.app-content{grid-template-columns:1fr}.terminal-drawer{display:none}}.config-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start}.config-grid--single{grid-template-columns:1fr}.file-upload{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.file-upload__button{position:relative;cursor:pointer}.file-upload__button input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-upload__name{font-size:.9rem;color:var(--color-text-muted)}.adsb-log-table-wrapper{width:100%;max-height:60vh;overflow:auto}.adsb-log-table{width:max-content;min-width:100%;border-collapse:collapse}.adsb-log-table th,.adsb-log-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-panel-border);font-size:.9rem}.adsb-log-table th{position:sticky;top:0;background:var(--color-panel);z-index:1}.config-card{border:1px solid var(--color-panel-border);border-radius:.75rem;background:var(--color-panel);box-shadow:0 6px 20px var(--color-panel-shadow);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.config-card header h2{margin:0;font-size:1rem}.config-card header p{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.88rem}.config-card__body{display:flex;flex-direction:column;gap:.75rem}.serial-actions{display:flex;flex-wrap:wrap;gap:.5rem}.serial-device-picker{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:.5rem;width:100%}.serial-device-picker select,.serial-device-picker input{width:100%}.config-row span{font-size:.88rem;color:var(--color-text);font-weight:600}.checkbox-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--color-text)}.checkbox-label input{margin:0}.config-row{display:flex;flex-direction:column;gap:.45rem}.config-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.config-row input,.config-row select{background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-text);border-radius:.6rem;padding:.6rem .75rem;font-size:.88rem}.config-row select:focus,.config-row input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.control-chip.is-active{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent);box-shadow:0 8px 18px rgba(var(--color-accent-rgb),.28)}.alarm-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:980px}.alarm-level-card{padding:.85rem;border:1px solid var(--color-panel-border);border-radius:.75rem;background:var(--color-bg);display:flex;flex-direction:column;gap:.6rem}.alarm-header h3{margin:0;font-size:.95rem;font-weight:600}.alarm-header span{display:block;margin-top:.25rem;font-size:.75rem;color:var(--color-text-muted)}.alarm-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem}.alarm-controls input[type=range]{accent-color:var(--color-accent)}.alarm-sound-row{display:flex;flex-direction:column;gap:.5rem}.sound-file{font-size:.75rem;color:var(--color-text-muted)}.sound-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sound-actions .control-chip{border-radius:.6rem}.config-subcard{border:1px solid var(--color-panel-border);border-radius:.75rem;padding:.8rem;display:flex;flex-direction:column;gap:.6rem;background:var(--color-panel)}.config-value{display:flex;flex-direction:column;gap:.1rem}.config-row textarea{background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-text);border-radius:.6rem;padding:.6rem .75rem;font-size:.88rem;resize:vertical}.mqtt-password-row{display:flex;gap:.5rem;align-items:center}.mqtt-password-row input{flex:1}.site-color-row{display:flex;gap:.5rem;align-items:center}.site-color-row input[type=color]{width:3rem;min-width:3rem;padding:0;border:none;background:transparent;cursor:pointer}.site-color-row input[type=text],.site-color-row input:not([type]){flex:1}.site-chip{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600;background:rgba(var(--color-accent-rgb),.18);color:var(--color-text)}.scheduler{display:flex;flex-direction:column;gap:1.5rem}.scheduler-controls{display:flex;align-items:center;gap:.75rem}.scheduler-status{padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.scheduler-status.is-active{background:#22c55e26;color:#22c55e}.scheduler-status.is-stopped{background:#f8717126;color:#f87171}.scheduler-toggle{padding:.45rem .9rem;border-radius:.55rem;border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.scheduler-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.scheduler-week-nav button,.scheduler-week-actions button{padding:.35rem .75rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.35);background:var(--color-panel);color:var(--color-text);cursor:pointer}.scheduler-week-range{font-size:.88rem;color:var(--color-text-muted);margin-left:.75rem}.scheduler-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.scheduler-day{border:1px solid var(--color-panel-border);border-radius:.75rem;background:var(--color-panel);display:flex;flex-direction:column}.scheduler-day__header{padding:.75rem .9rem;border-bottom:1px solid var(--color-panel-border);display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.scheduler-day__header h2{margin:0;font-size:1rem}.scheduler-day__header span{display:block;font-size:.75rem;color:var(--color-text-muted)}.scheduler-day__actions{display:flex;flex-direction:column;gap:.45rem}.scheduler-day__actions button{opacity:.5;transition:opacity .2s ease}.scheduler-day__actions button:hover,.scheduler-day__actions button:focus{opacity:.65}.scheduler-day__events{list-style:none;margin:0;padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.scheduler-day__empty{font-size:.8rem;color:var(--color-text-muted);text-align:center}.scheduler-event{border:1px solid rgba(var(--color-accent-rgb),.2);border-radius:.6rem;background:rgba(var(--color-accent-rgb),.12);padding:.55rem .65rem;display:flex;justify-content:space-between;gap:.6rem;font-size:.8rem}.scheduler-event strong{display:block;font-size:.9rem}.scheduler-event__actions{display:flex;flex-direction:column;gap:.35rem}.scheduler-event__actions button{padding:.3rem .55rem;border-radius:.5rem;border:1px solid rgba(var(--color-accent-rgb),.35);background:rgba(var(--color-accent-rgb),.15);color:var(--color-accent-contrast);font-size:.72rem;cursor:pointer}.scheduler-event__actions button:last-child{border-color:#dc2626;background:#ef4444}.scheduler-dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:40}.scheduler-dialog__body{background:var(--color-panel);border-radius:.85rem;border:1px solid var(--color-panel-border);padding:1.2rem 1.4rem;width:min(480px,90vw);display:flex;flex-direction:column;gap:.8rem}.scheduler-dialog__form{display:grid;gap:.75rem}.scheduler-dialog__form label{display:flex;flex-direction:column;font-size:.8rem;color:var(--color-text-muted);gap:.35rem}.scheduler-dialog__form input,.scheduler-dialog__form select{padding:.45rem .6rem;border-radius:.55rem;border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text)}.scheduler-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem}.scheduler-dialog__actions button{padding:.45rem .85rem;border-radius:.55rem;border:none;background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.scheduler-dialog__actions button:last-child{background:#94a3b833;color:var(--color-text)}.scheduler-logs{border:1px solid var(--color-panel-border);border-radius:.75rem;background:var(--color-panel);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.scheduler-logs__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.scheduler-logs ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.scheduler-log{padding:.6rem .75rem;border-radius:.55rem;background:#94a3b81f;font-size:.78rem}.scheduler-log--success{background:#22c55e2e;color:#22c55e}.scheduler-log--error{background:#ef444433;color:#ef4444}.scheduler-log__empty{font-size:.8rem;color:var(--color-text-muted);text-align:center}@media(max-width:768px){.scheduler-toolbar{flex-direction:column;align-items:flex-start}.scheduler-grid{grid-template-columns:1fr}}.targets-table{overflow-x:auto;border:1px solid var(--color-panel-border);border-radius:.8rem;background:var(--color-panel)}.targets-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}.targets-table th,.targets-table td{padding:.6rem .75rem;text-align:left;vertical-align:top}.targets-table thead th{background:var(--color-panel);font-size:.8rem;font-weight:600}.targets-table thead th:first-child{border-top-left-radius:.8rem}.targets-table thead th:last-child{border-top-right-radius:.8rem}.targets-table tbody tr{border-bottom:1px solid var(--color-panel-border)}.targets-table tbody tr:nth-child(odd){background:color-mix(in srgb,var(--color-panel) 94%,rgba(255,255,255,.08))}.targets-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-panel) 88%,rgba(255,255,255,.12))}.targets-table tbody tr:last-child td:first-child{border-bottom-left-radius:.8rem}.targets-table tbody tr:last-child td:last-child{border-bottom-right-radius:.8rem}.targets-table tbody tr:hover{background:rgba(var(--color-accent-rgb),.08)}.targets-table .empty{text-align:center;padding:1.5rem;color:var(--color-text-muted)}.mac-cell{display:flex;flex-direction:column}.mac-cell .mac{font-weight:600}.mac-cell .hits{font-size:.75rem;color:var(--color-text-muted)}.comment-input{width:100%;resize:vertical;min-height:48px;border-radius:.5rem;border:1px solid rgba(148,163,184,.35);padding:.45rem .6rem;font-family:inherit}.actions-cell{display:flex;flex-direction:column;gap:.35rem}.tracking-row{background:#dc26261a}.comment-input:focus{outline:none;border-color:rgba(var(--color-accent-rgb),.5);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.15)}.target-marker--tracking{background:#ef4444e6!important;color:#fff!important}.target-marker--tracking span{color:#fff}.target-direction{display:block;font-size:.65rem;margin-top:.15rem;opacity:.85}.target-tooltip .tracking-label{margin-top:.45rem;font-weight:600;color:#ef4444}.target-tooltip .target-comment{margin-top:.35rem;font-style:italic}.app-shell.is-blurred{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9f0,#e2e8f0db),#94a3b833;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem}.auth-overlay__panel{width:min(540px,100%);background:#fff;color:#0f172a;border-radius:20px;border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 60px #0f172a1f,0 8px 18px #0f172a1a;padding:2.75rem 2.5rem;display:flex;flex-direction:column;gap:1.5rem}.auth-overlay__header{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.auth-overlay__logo-mark{width:min(320px,82%);height:auto;display:block;margin:0 auto;filter:brightness(1.05)}.auth-overlay__error{background:#f8717129;border:1px solid rgba(248,113,113,.4);color:#b91c1c;border-radius:12px;padding:.75rem 1rem;font-size:.9rem}.auth-overlay__loading{text-align:center;padding:1.5rem 0;font-size:1rem;color:#1f2937}.auth-overlay__form{display:flex;flex-direction:column;gap:1rem}.auth-overlay__form label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:#334155}.auth-overlay__form input[type=email],.auth-overlay__form input[type=password],.auth-overlay__form input[type=text],.auth-overlay__form input[type=checkbox]{font-family:inherit}.auth-overlay__form input[type=email],.auth-overlay__form input[type=password]{border-radius:.75rem;border:1px solid rgba(148,163,184,.65);background:#fff;color:#0f172a;padding:.7rem .9rem;box-shadow:inset 0 1px 2px #0f172a0d}.auth-overlay__form input[type=email]::placeholder,.auth-overlay__form input[type=password]::placeholder{color:#94a3b8}.auth-overlay__form input[type=email]:focus,.auth-overlay__form input[type=password]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb),.15);border-radius:1rem}.auth-overlay__disclaimer{max-height:260px;overflow:auto;padding:1.1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.45);background:#f1f5f9e6;font-size:.9rem;line-height:1.55;color:#1f2937}.auth-overlay__disclaimer pre{white-space:pre-wrap;font-family:inherit}.auth-overlay__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.auth-overlay__checkbox{display:flex;gap:.65rem;align-items:flex-start;font-size:.92rem;color:#334155}.auth-overlay__checkbox input{margin-top:.25rem}.auth-overlay .submit-button{align-self:flex-end}.auth-overlay--tactical{background:radial-gradient(circle at top,#0a1014eb,#030507f5),#05080af2}.auth-overlay--tactical .auth-overlay__panel{background:#080c0ef5;color:#f5f7f2;border-radius:18px;border:1px solid rgba(77,181,120,.22);box-shadow:0 30px 80px #00000094,0 0 40px #46c07726}.auth-overlay--tactical .auth-overlay__logo-mark{filter:brightness(0) invert(1) drop-shadow(0 14px 22px rgba(0,0,0,.35))}.auth-overlay--tactical .auth-overlay__error{background:#f871711f;border:1px solid rgba(248,113,113,.4);color:#fecaca}.auth-overlay--tactical .auth-overlay__loading{color:#ffffffd9}.auth-overlay--tactical .auth-overlay__form label{color:#e3e6ebe6}.auth-overlay--tactical .auth-overlay__form input[type=email],.auth-overlay--tactical .auth-overlay__form input[type=password]{border:1px solid rgba(92,107,119,.75);background:#0a0e11e6;color:#f7fbf4;box-shadow:inset 0 1px 2px #0006}.auth-overlay--tactical .auth-overlay__form input[type=email]::placeholder,.auth-overlay--tactical .auth-overlay__form input[type=password]::placeholder{color:#94a3b8a6}.auth-overlay--tactical .auth-overlay__form input[type=email]:focus,.auth-overlay--tactical .auth-overlay__form input[type=password]:focus{border-color:#6cdea2cc;box-shadow:0 0 0 3px #6cdea22e}.auth-overlay--tactical .auth-overlay__disclaimer{border:1px solid rgba(60,72,81,.6);background:#0c1014e6;color:#e0e5ebeb}@media(max-width:640px){.auth-overlay{padding:1.5rem}.auth-overlay__panel{padding:2.25rem 1.75rem}}.user-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:999px;background:var(--color-input-bg);border:1px solid var(--color-input-border);font-size:.88rem}.user-pill__label{font-weight:500}.user-pill__role{font-size:.7rem;text-transform:uppercase;opacity:.7}.user-pill .icon-button{margin:0;width:2rem;height:2rem}.page-stack{display:flex;flex-direction:column;gap:1.5rem}.account-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:1.5rem;align-items:flex-start}.account-profile{position:relative}.account-section--hidden{display:none}.account-menu-rail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:6.5rem;align-self:start}.account-menu-rail__title{display:flex;flex-direction:column;gap:.35rem}.account-menu-rail__heading{font-size:1.6rem;font-weight:700;margin:0}.account-menu-rail__copy{margin:0;font-size:.9rem;color:var(--color-text-muted);max-width:24ch}.account-menu-rail__menu{width:100%;position:static}.account-content{display:flex;flex-direction:column;gap:1.5rem}@media(max-width:1024px){.account-layout,.account-layout--admin{grid-template-columns:1fr}.account-menu-rail{position:static}}@media(min-width:1200px){.account-layout--admin{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-field,.form-grid label{display:flex;flex-direction:column;gap:.45rem}.form-field span,.form-grid label span{font-size:.88rem;font-weight:600;color:color-mix(in srgb,var(--color-text) 94%,transparent)}.form-field .control-input,.form-grid .control-input{width:100%}.account-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.account-menu{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.account-menu .control-chip{margin:0}.account-header__title{display:flex;flex-direction:column;gap:.25rem}.account-profile .form-grid{gap:1.2rem}.account-profile .form-row.form-row--actions{margin-top:.5rem;align-items:center}.section-heading{grid-column:1 / -1;margin:0;font-size:1rem;font-weight:600}.section-divider{grid-column:1 / -1;height:1px;background:#94a3b859;margin:1.5rem 0}.form-row{display:flex;align-items:center;gap:1rem}.form-row.stacked{flex-direction:column;align-items:flex-start;gap:.5rem}.form-row--actions{justify-content:space-between}.form-label{font-weight:600;color:var(--color-text)}.radio-group{display:flex;flex-wrap:wrap;gap:.75rem}.radio-option{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.form-feedback{color:var(--color-accent);font-size:.9rem}.control-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.table-scroll{overflow-x:auto;margin-top:1rem}.data-table{width:100%;border-collapse:collapse;min-width:560px}.data-table th,.data-table td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid rgba(148,163,184,.35)}.data-table th{font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;color:#0f172aa6}.data-table tr.is-inactive{opacity:.55}.admin-create-user{margin-top:1rem}@media(max-width:640px){.form-row{flex-direction:column;align-items:flex-start}}.admin-user-manage{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.35)}.button-group{display:flex;align-items:center;gap:.75rem}.admin-panel{display:flex;flex-direction:column;gap:1.5rem}.admin-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.35);display:flex;flex-direction:column;gap:.75rem}.mail-password-row{display:flex;align-items:center;gap:.75rem}.mail-password-row input{flex:1}.field-hint{display:block;font-size:.88rem;opacity:.75;margin-top:.3rem}.alert-color-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:980px}.theme-color-section{margin-bottom:2rem}.theme-color-section h3{margin:0 0 .5rem}.theme-preset-section{margin-bottom:2rem}.theme-preset-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.theme-preset-card{border:1px solid rgba(15,23,42,.12);border-radius:.85rem;background:#0f172a04;color:inherit;text-align:left;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}body.theme-dark .theme-preset-card{border-color:#94a3b840;background:#0f172a59}.theme-preset-card:hover:not(:disabled),.theme-preset-card:focus-visible{border-color:var(--color-accent);box-shadow:0 6px 18px #0f172a2e;transform:translateY(-1px)}.theme-preset-card.is-selected{border-color:var(--color-accent);box-shadow:0 8px 20px #0f172a33}.theme-preset-card:disabled{opacity:.75;cursor:not-allowed}.theme-preset-card__header{display:flex;justify-content:space-between;gap:.5rem}.theme-preset-card__header h4{margin:0;font-size:1rem}.theme-preset-card__header p{margin:.15rem 0 0;font-size:.85rem;color:var(--color-text-muted)}.theme-preset-card__swatches{display:flex;gap:.5rem}.theme-preset-card__swatches div{flex:1;height:36px;border-radius:.5rem;border:1px solid rgba(15,23,42,.15)}body.theme-dark .theme-preset-card__swatches div{border-color:#94a3b840}.theme-preset-badge{align-self:flex-start;font-size:.7rem;padding:.2rem .5rem;border-radius:999px;background:var(--color-accent);color:var(--color-accent-contrast);text-transform:uppercase;letter-spacing:.04em}.theme-color-groups{display:flex;flex-direction:column;gap:1.5rem}.theme-color-section h4{margin:0 0 .45rem;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.theme-category{border:1px solid rgba(15,23,42,.08);border-radius:.75rem;padding:1rem;background:#0f172a04}body.theme-dark .theme-category{border-color:#94a3b833;background:#0f172a59}.theme-category h4{margin-top:0}.color-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(15,23,42,.08)}body.theme-dark .color-row{border-color:#94a3b833}.theme-category .color-row:last-child,.alert-color-list .color-row:last-child{border-bottom:0;padding-bottom:0}.color-row-details{flex:1}.color-row-controls{display:flex;align-items:center;gap:.75rem}.color-row-controls input[type=color]{width:48px;height:36px;border:none;background:transparent;padding:0;cursor:pointer}.alert-color-list{display:flex;flex-direction:column;gap:.25rem;border:1px solid rgba(15,23,42,.08);border-radius:.75rem;padding:.75rem 1rem;background:#0f172a04}body.theme-dark .alert-color-list{border-color:#94a3b833;background:#0f172a59}.alert-color-item{display:flex;gap:1rem;align-items:center;padding:.75rem;border:1px solid rgba(15,23,42,.08);border-radius:.75rem;background:#0f172a05}body.theme-dark .alert-color-item{border-color:#94a3b833;background:#0f172a3d}.alert-color-preview input[type=color]{width:48px;height:36px;border:none;padding:0;background:transparent;cursor:pointer}.alert-color-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.alert-color-details label{font-weight:600}.alert-color-code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.88rem;letter-spacing:.02em}.alert-color-actions{display:flex;gap:.5rem;margin-top:.35rem}.admin-section__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.feature-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-flag{display:flex;align-items:flex-start;gap:.75rem}.feature-flag__label{font-weight:600}.feature-flag__description{font-size:.88rem;opacity:.75}.invitation-list,.audit-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.audit-timestamp{font-size:.88rem;opacity:.7;margin-right:.5rem}.audit-action{font-weight:600;margin-right:.5rem}.audit-entity{font-size:.88rem;opacity:.8}.token-preview{font-family:Source Code Pro,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.88rem;opacity:.75}.site-add-row{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.config-shell{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:1.5rem;align-items:flex-start}.config-rail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:6.5rem;align-self:start}.config-rail__title{display:flex;flex-direction:column;gap:.35rem}.config-rail__heading{font-size:1.6rem;font-weight:700;margin:0}.config-rail__copy{margin:0;font-size:.9rem;color:var(--color-text-muted);max-width:28ch}.config-menu{display:flex;flex-direction:column;gap:.75rem}.config-menu__item{border:1px solid var(--color-panel-border);border-radius:.75rem;background:var(--color-panel);box-shadow:0 6px 18px var(--color-panel-shadow);padding:.85rem 1rem;text-align:left;display:flex;flex-direction:column;gap:.4rem;font-size:.92rem;color:var(--color-text);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.config-menu__item:hover,.config-menu__item:focus-visible{border-color:var(--color-accent);box-shadow:0 10px 26px #00000029;transform:translateY(-2px);outline:none}.config-menu__item--active{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent)}.config-menu__label{font-weight:600;font-size:.95rem}.config-menu__description{font-size:.78rem;color:var(--color-text-muted)}.config-content{display:flex;flex-direction:column;gap:1.5rem}.config-card--hidden{display:none}@media(max-width:1024px){.config-shell{grid-template-columns:1fr}.config-menu{flex-direction:row;flex-wrap:wrap;gap:.5rem}.config-rail{position:static}.config-menu__item{flex:1 1 160px}}.strategy-layout{display:grid;grid-template-columns:240px 1fr;gap:1.25rem;align-items:start}.strategy-page{background:transparent;border:none;box-shadow:none;padding:0}.strategy-page .panel__header{margin-bottom:.75rem}.strategy-page .strategy-content{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:.75rem;padding:1rem}.strategy-page .strategy-map__canvas{border-radius:.75rem;border:1px solid var(--color-panel-border)}.strategy-menu-column{position:sticky;top:5.5rem;align-self:start}.strategy-menu{display:flex;flex-direction:column;gap:.5rem}.strategy-menu__item{border:1px solid var(--color-panel-border);border-radius:.75rem;padding:.85rem 1rem;background:var(--color-panel);display:flex;flex-direction:column;gap:.2rem;text-align:left;color:var(--color-text);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.strategy-menu__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.strategy-menu__item:hover,.strategy-menu__item.is-active{border-color:var(--color-accent);box-shadow:0 8px 16px rgba(var(--color-accent-rgb),.15);background:rgba(var(--color-accent-rgb),.12)}.strategy-menu__label{font-weight:600}.strategy-menu__hint{font-size:.78rem;color:var(--color-text-muted)}.strategy-content{display:flex;flex-direction:column;gap:1.25rem}.strategy-panels{display:grid;gap:1rem}.strategy-panel{display:flex;flex-direction:column;gap:1rem}.strategy-panel--hidden{display:none}.form-section{border:1px solid var(--color-panel-border);border-radius:.75rem;padding:1rem;background:var(--color-panel);display:flex;flex-direction:column;gap:.5rem}.form-section .form-hint{margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem}.geofence-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto;padding:.25rem 0}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.checkbox-row input{accent-color:var(--color-accent)}.anchor-form{display:flex;flex-direction:column;gap:.75rem}.anchor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem}.anchor-actions{display:flex;justify-content:flex-end}.strategy-anchor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.strategy-anchor-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;border-bottom:1px solid var(--color-panel-border)}.strategy-anchor-list li:last-child{border-bottom:none}.strategy-obstacles__actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.strategy-summary{border:1px solid var(--color-panel-border);border-radius:.75rem;padding:1rem;background:var(--color-panel)}.strategy-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0}.strategy-summary dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.strategy-summary dd{font-weight:600;margin:0}.strategy-map{display:flex;flex-direction:column;gap:1rem}.strategy-map__canvas{height:480px;width:100%;border-radius:.75rem;overflow:hidden;border:1px solid var(--color-panel-border)}.strategy-map__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.strategy-anchor-marker{width:20px;height:20px;border-radius:4px;background:#0ea5e9;color:#0f172a;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;box-shadow:0 0 0 3px #0f172a26}.strategy-anchor-wrapper{color:inherit}.strategy-control{display:inline-flex;align-items:center;gap:.35rem}.strategy-control--stacked{flex-direction:column;align-items:flex-start;gap:.4rem}.strategy-control__input{width:100%;max-width:80px}.strategy-control__range{width:180px;max-width:100%}.strategy-control--stacked .strategy-control__input{max-width:72px}.strategy-control__suffix{font-size:.75rem;color:var(--color-text-muted)}.strategy-row-actions{display:flex;gap:.5rem;align-items:center}.control-chip--ghost{background:transparent;border:1px solid var(--color-panel-border)}.strategy-node-inspector{position:static;width:100%;max-width:100%;border-radius:.75rem;background:var(--color-panel);border:1px solid var(--color-panel-border);box-shadow:0 20px 45px #0f172a40;display:flex;flex-direction:column;gap:.75rem;padding:1rem;z-index:1}.strategy-node-inspector__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.strategy-node-inspector__header h2{margin:0;font-size:1.05rem}.strategy-node-inspector__header p{margin:0;font-size:.8rem;color:var(--color-text-muted)}.strategy-node-inspector__body{display:flex;flex-direction:column;gap:.5rem}.strategy-node-inspector__footer{display:flex;justify-content:flex-end}.strategy-map .leaflet-tooltip{background:#050708cc;color:#fff;border-radius:.75rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 36px #00000073}.strategy-warnings{margin-top:1.5rem;border:1px solid var(--color-panel-border);border-radius:.75rem;padding:1rem;background:var(--color-panel)}.strategy-warnings h2{margin:0 0 .5rem}.strategy-warning-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}.strategy-inventory{margin-top:1.5rem}.strategy-inventory table{width:100%;border-collapse:collapse}.strategy-inventory th,.strategy-inventory td{border-bottom:1px solid var(--color-panel-border);padding:.5rem;text-align:left}.strategy-inventory th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.strategy-inventory__row--warning td{color:var(--color-error);font-weight:600}.strategy-table{margin-top:1.5rem}.strategy-table h2{margin:0 0 .75rem;font-size:1rem}.strategy-table table{width:100%;border-collapse:collapse}.strategy-table th,.strategy-table td{border-bottom:1px solid var(--color-panel-border);padding:.5rem;text-align:left}.strategy-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.strategy-table__row--selected{background:#facc1529}body.theme-dark .strategy-table__row--selected{background:#facc1540}.strategy-table__row--override td{color:var(--color-accent);font-weight:600}.strategy-node-marker{color:var(--color-panel);font-weight:700;font-size:.95rem;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #0000001a}.strategy-node-wrapper{color:inherit}@media(max-width:1024px){.strategy-layout{grid-template-columns:1fr}.strategy-menu-column{position:static}.strategy-menu{flex-direction:row;flex-wrap:wrap}.strategy-menu__item{flex:1 1 160px}.form-grid{grid-template-columns:1fr}}@media(max-width:768px){.strategy-node-inspector{left:1rem;right:1rem;bottom:1rem;width:auto}}.firewall-log-viewer{margin-top:1.5rem;border:1px solid var(--color-panel-border);border-radius:.75rem;background:var(--color-panel);box-shadow:0 12px 24px var(--color-panel-shadow)}.firewall-log-viewer__toolbar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.firewall-log-viewer summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.1rem;font-weight:600}.firewall-log-viewer summary::-webkit-details-marker{display:none}.firewall-log-viewer[open] summary{border-bottom:1px solid var(--color-panel-border)}.firewall-log-viewer__summary-meta{font-size:.82rem;color:var(--color-text-muted);font-weight:500}.firewall-log-viewer__body{padding:1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.firewall-log-viewer__toolbar{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.firewall-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.firewall-log-entry{border:1px solid var(--color-panel-border);border-radius:.75rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.75rem}.firewall-log-entry--blocked{border-left:3px solid #ef4444;background:#ef44440a}.firewall-log-entry__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.firewall-log-entry__ip{font-weight:600;font-family:var( --font-mono, "Fira Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace );font-size:.95rem}.firewall-log-entry__badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.firewall-log-entry__badge--blocked,.firewall-log-entry__badge--default_deny,.firewall-log-entry__badge--geo_block{background:#ef444426;color:#ef4444}.firewall-log-entry__badge--auth_failure{background:#fbbf242e;color:#f59e0b}.firewall-log-entry__badge--auth_success,.firewall-log-entry__badge--allowed{background:#22c55e2e;color:#16a34a}.firewall-log-entry__meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.82rem;color:var(--color-text-muted)}.firewall-log-entry__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1.25rem}.firewall-log-entry__grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.2rem}.firewall-log-entry__grid dd{margin:0;font-weight:600}.firewall-log-entry__ua{grid-column:1 / -1}.firewall-jail-table{width:100%;border-collapse:collapse;margin-top:.75rem}.firewall-jail-table th,.firewall-jail-table td{padding:.4rem .5rem;border-bottom:1px solid var(--color-panel-border);text-align:left;font-size:.9rem}.firewall-jail-table th{text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--color-text-muted)}.config-header-controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.config-header-controls__pair{display:flex;gap:.5rem}.config-header-controls__pair .control-chip{flex:1 1 auto}.config-header-controls>.control-chip{flex:0 1 220px}.webhooks-stack,.alerts-stack{grid-template-columns:1fr}.addon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.addon-card{align-items:center;text-align:center;gap:1rem}.addon-card__logo{width:72px;height:72px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);margin:0 auto}.addon-card__logo--alerts{background:#0ea5e933;color:#0ea5e9}.addon-card__logo--scheduler{background:#22c55e2e;color:#22c55e}.addon-card__notice{width:100%;border-radius:.6rem;background:#facc151f;color:#facc15;padding:.5rem .75rem;font-weight:600}.addon-card__actions{display:flex;justify-content:center;width:100%;margin-top:auto}.serial-card-controls{margin-bottom:1rem}.targets-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.targets-header__summary{font-size:.85rem;color:var(--color-text-muted)}.targets-header__buttons{display:inline-flex;gap:.5rem;flex-wrap:wrap}.alerts-panel{display:flex;flex-direction:column;gap:1.5rem}.alerts-header{display:flex;flex-direction:column;gap:1.25rem}.alerts-header__intro h1{margin:0;font-size:1.4rem}.alerts-header__intro p{margin:.4rem 0 0;color:var(--color-text-muted);max-width:620px}.alerts-header__intro--centered{align-items:center;text-align:center;display:flex;flex-direction:column}.alerts-header__controls{align-items:flex-end}.alerts-header__controls .control-chip{min-width:140px}.alerts-header__controls .control-chip.control-chip--ghost{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.alerts-header__search{display:flex;flex-direction:column;gap:.35rem;flex:1 1 320px}.alerts-header__search span{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.alerts-header__search input{border-radius:.6rem;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:color-mix(in srgb,var(--color-panel) 85%,transparent);color:var(--color-text);padding:.5rem .75rem;font-size:.95rem}.alerts-shell{margin-top:1.5rem}.alerts-content{flex:1;display:flex;flex-direction:column;gap:1.5rem}.alerts-rules-card .config-menu__item{width:100%}.alerts-menu__meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}.alerts-menu-empty{padding:1rem;color:var(--color-text-muted)}.alerts-content{display:flex;flex-direction:column;gap:1.25rem}.alerts-form .config-card{box-shadow:var(--elevation)}.alerts-form .toggle-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.75rem}.alerts-form .toggle-row label{display:inline-flex;align-items:center;gap:.35rem;font-weight:500}.alerts-form input:not([type=checkbox]):not([type=radio]),.alerts-form select,.alerts-form textarea{background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-text);border-radius:.6rem;padding:.4rem .65rem;font-size:.88rem}.alerts-form input:not([type=checkbox]):not([type=radio]):focus,.alerts-form select:focus,.alerts-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.alerts-form textarea{resize:vertical}.alerts-events-card .alerts-events__actions{display:flex;justify-content:flex-end;margin-bottom:.75rem}.alerts-events-card table{width:100%;border-collapse:collapse}.alerts-events-card th,.alerts-events-card td{padding:.6rem .5rem;border-bottom:1px solid var(--color-border);text-align:left}.alerts-events-card th{text-transform:uppercase;font-size:.75rem;color:var(--color-text-muted);letter-spacing:.04em}.alerts-events-card .empty-state{text-align:center;color:var(--color-text-muted)}.alerts-inline-search{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.alerts-inline-search input[type=search]{width:100%;margin-top:.4rem}.alerts-inline-search .search-results{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.alerts-inline-search .search-results button{justify-content:space-between;background:var(--color-surface-elevated);border-radius:6px;padding:.35rem .65rem;font-size:.85rem}.alerts-inline-search .search-results button span{color:var(--color-text-muted);font-size:.75rem}.webhook-event-picker{margin-top:1rem;display:flex;flex-direction:column;gap:.4rem}.webhook-event-picker__list{display:flex;flex-wrap:wrap;gap:.75rem}.webhook-event-picker__list label{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem}.webhook-events-cell{white-space:normal;max-width:320px}.webhook-security{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem}.webhook-security h4{margin:0;font-size:1rem}.webhook-tls-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.webhook-tls-grid textarea{min-height:90px;resize:vertical;font-family:JetBrains Mono,Fira Code,Menlo,monospace}.alerts-webhook-picker{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.alerts-webhook-picker__list{display:flex;flex-direction:column;gap:.4rem}.alerts-webhook-picker__list label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.inventory-analytics{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center}.inventory-analytics__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,black 65%,transparent);border:0;padding:0;cursor:pointer}.inventory-analytics__modal{position:relative;background:var(--color-panel);border-radius:1rem;border:1px solid var(--color-panel-border);box-shadow:0 24px 60px #0000008c;width:min(100%,1440px);max-height:90vh;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.inventory-analytics__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.inventory-analytics__header h2{margin:0}.inventory-analytics__header p{margin:.25rem 0 0;color:var(--color-text-muted)}.inventory-analytics__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.inventory-analytics__metrics article{border:1px solid var(--color-panel-border);border-radius:.75rem;padding:.85rem;background:color-mix(in srgb,var(--color-panel) 90%,transparent);display:flex;flex-direction:column;gap:.2rem}.inventory-analytics__metrics strong{font-size:.85rem;color:var(--color-text-muted)}.inventory-analytics__metrics span{font-size:1.35rem;font-weight:700}.inventory-analytics__section-header{margin-bottom:.5rem}.inventory-analytics__section-header h3{margin:0}.inventory-analytics__section-header p{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.9rem}.inventory-analytics__channels{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0}.inventory-analytics__channel-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.inventory-analytics__progress{width:100%;height:8px;border-radius:999px;background:color-mix(in srgb,var(--color-panel-border) 40%,transparent);overflow:hidden}.inventory-analytics__progress span{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 80%,transparent))}.inventory-analytics__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.inventory-analytics__list{list-style:none;margin:0;padding:0;border:1px solid var(--color-panel-border);border-radius:.75rem;background:color-mix(in srgb,var(--color-panel) 90%,transparent)}.inventory-analytics__list li{display:flex;justify-content:space-between;align-items:center;padding:.6rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--color-panel-border) 70%,transparent)}.inventory-analytics__list li:last-child{border-bottom:none}.inventory-analytics__list--inline{flex-wrap:wrap;display:flex;border:none;gap:.5rem;background:transparent}.inventory-analytics__list--inline li{border:1px solid var(--color-panel-border);border-radius:.65rem;padding:.5rem .75rem;background:var(--color-panel);gap:.85rem}.inventory-analytics__list span{font-size:.9rem;color:var(--color-text-muted)}.inventory-analytics__list strong{font-size:1rem}.inventory-selection{margin-top:.75rem;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:8px;padding:.75rem}.inventory-selection ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.inventory-selection li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.inventory-selection li span{display:flex;flex-direction:column;font-weight:500}.inventory-selection li small{font-weight:400;color:var(--color-text-muted)}.inventory-selection li button{font-size:.75rem;padding:.2rem .45rem}.inventory-actions{display:flex;flex-direction:column;gap:.35rem;align-items:stretch}.inventory-actions .control-chip{width:100%;margin:0;justify-content:center}.inventory-analytics__controls{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.inventory-analytics__controls select{margin-left:.5rem;padding:.25rem .5rem}.inventory-analytics__chart-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.inventory-analytics__legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.inventory-analytics__legend li{display:flex;align-items:center;gap:.5rem}.inventory-analytics__legend-swatch{width:12px;height:12px;border-radius:2px}.sparkline-chart{width:100%;max-width:500px}.sparkline-chart__line{fill:none;stroke:#3b82f6;stroke-width:3;stroke-linejoin:round}.sparkline-chart__area{fill:#3b82f64d;stroke:none}.inventory-analytics__sparkline{display:flex;flex-direction:column;gap:.5rem}.inventory-analytics__sparkline-legend{display:flex;justify-content:space-between;font-size:.8rem;opacity:.7}.inventory-analytics__sparkline-hours{display:flex;flex-wrap:nowrap;gap:.35rem;justify-content:space-between;margin-top:.1rem;opacity:.65;font-size:.7rem;overflow-x:auto;padding-bottom:.1rem}.inventory-analytics__sparkline-hours span{min-width:2.5ch;text-align:center}.inventory-analytics__sparkline-anchor{font-weight:600}.donut-chart{position:relative;border-radius:50%;min-width:140px;min-height:140px;display:flex;align-items:center;justify-content:center}.donut-chart:after{content:"";position:absolute;width:55%;height:55%;border-radius:50%;background:var(--color-panel-bg)}.donut-chart__label{position:relative;text-align:center;z-index:1;display:flex;flex-direction:column;gap:.1rem}.donut-chart--empty{background:#ffffff0d;color:#ffffffb3}.app-header__triangulation{display:flex;align-items:center;gap:.4rem;justify-content:center;flex:1;color:#9ca3af;font-weight:600}.app-header__triangulation-label{text-transform:uppercase;letter-spacing:.05em}.app-header__triangulation-countdown{background:#9ca3af26;border:1px solid rgba(156,163,175,.4);padding:.1rem .35rem;border-radius:6px;font-variant-numeric:tabular-nums}.geofence-table table tbody tr:nth-child(odd),.nodes-table table tbody tr:nth-child(odd),.inventory-table table tbody tr:nth-child(odd){background:color-mix(in srgb,var(--color-panel) 94%,rgba(255,255,255,.08))}.geofence-table table tbody tr:nth-child(2n),.nodes-table table tbody tr:nth-child(2n),.inventory-table table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-panel) 88%,rgba(255,255,255,.12))}.geofence-table table tbody tr:hover,.nodes-table table tbody tr:hover,.inventory-table table tbody tr:hover{background:rgba(var(--color-accent-rgb),.08)}.addon-card__body{display:flex;flex-direction:column;gap:.5rem;min-height:12rem}.alerts-header__actions{display:flex;flex-direction:column;gap:.5rem;margin-left:auto}.alerts-rules-layout{display:grid;grid-template-columns:1fr 280px;gap:1rem;align-items:start}.alerts-actions .config-card__body{display:flex;flex-direction:column;gap:.75rem}.alerts-rules-card__header{display:flex;align-items:flex-start;gap:.5rem}.alerts-rules-card__header h2{margin:0}.alerts-rules-card__header p{margin:0;color:var(--color-muted)}.alerts-rules-actions{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,black 65%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{position:relative;background:var(--color-panel);border-radius:.75rem;border:1px solid var(--color-panel-border);box-shadow:0 24px 60px #0000008c;padding:1.5rem;max-width:90vw;max-height:90vh;overflow-y:auto}.triangulation-dialog{width:min(100%,420px);display:flex;flex-direction:column;gap:1rem}.triangulation-dialog h3{margin:0;font-size:1.25rem;font-weight:600}.triangulation-dialog__target{margin:0;padding:.5rem .75rem;background:var(--color-muted-bg, rgba(255, 255, 255, .05));border-radius:.375rem;font-size:.9rem}.triangulation-dialog__target strong{font-weight:600;font-family:monospace}.triangulation-dialog__field{display:flex;flex-direction:column;gap:.375rem}.triangulation-dialog__field label{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.triangulation-dialog__field input,.triangulation-dialog__field select{padding:.5rem .75rem;border:1px solid var(--color-panel-border);border-radius:.375rem;background:var(--color-input-bg, var(--color-panel));color:var(--color-text);font-size:.95rem}.triangulation-dialog__field input:focus,.triangulation-dialog__field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.2)}.triangulation-dialog__field small{font-size:.75rem;color:var(--color-text-muted)}.triangulation-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-panel-border)}.control-chip--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.control-chip--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 85%,white)}.control-chip--battery{display:inline-flex;align-items:center;gap:.35rem}.control-chip--battery svg{flex-shrink:0}.node-actions-wrapper{display:flex;align-items:center;gap:.5rem}.actions-cell--nodes{min-width:200px}.battery-saver-dialog{max-width:440px;width:100%}.battery-saver-dialog__header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem}.battery-saver-dialog__header-icon{flex-shrink:0;width:28px;height:28px;color:#f59e0b}.battery-saver-dialog__header h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--color-text)}.battery-saver-dialog__target{margin:0;font-size:.85rem;color:var(--color-text-muted)}.battery-saver-dialog__target strong{color:var(--color-text)}.battery-saver-dialog__info{padding:.875rem;background:rgba(var(--color-accent-rgb),.08);border-radius:.5rem;margin-bottom:1.25rem}.battery-saver-dialog__info p{margin:0;font-size:.85rem;line-height:1.5;color:var(--color-text-muted)}.battery-saver-dialog__section{margin-bottom:1.25rem}.battery-saver-dialog__label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem}.battery-saver-dialog__interval-row{display:flex;align-items:center;gap:1rem}.battery-saver-dialog__slider{flex:1;height:6px;border-radius:3px;background:var(--color-panel-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.battery-saver-dialog__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-panel);box-shadow:0 2px 6px #0003;transition:transform .15s ease}.battery-saver-dialog__slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.battery-saver-dialog__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-panel);box-shadow:0 2px 6px #0003}.battery-saver-dialog__interval-display{min-width:60px;font-size:1rem;font-weight:600;color:var(--color-accent);text-align:right}.battery-saver-dialog__hint{display:block;margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.battery-saver-dialog__result{padding:.75rem 1rem;border-radius:.5rem;font-size:.85rem;margin-bottom:1rem}.battery-saver-dialog__result--success{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25)}.battery-saver-dialog__result--error{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.battery-saver-dialog__actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.battery-saver-dialog__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.85rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.battery-saver-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.battery-saver-dialog__btn--start{background:#10b9811f;color:#10b981;border-color:#10b9814d}.battery-saver-dialog__btn--start:hover:not(:disabled){background:#10b981;color:#fff}.battery-saver-dialog__btn--stop{background:#ef44441f;color:#ef4444;border-color:#ef44444d}.battery-saver-dialog__btn--stop:hover:not(:disabled){background:#ef4444;color:#fff}.battery-saver-dialog__btn--status{background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);border-color:rgba(var(--color-accent-rgb),.3)}.battery-saver-dialog__btn--status:hover:not(:disabled){background:var(--color-accent);color:#fff}.battery-saver-dialog__footer{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-panel-border)}:root{--device-mode: desktop}@media(max-width:1024px){:root{--device-mode: tablet}.app-content{grid-template-columns:72px minmax(0,1fr)}.panel{padding:1rem 1.25rem}.controls-row{flex-wrap:wrap;gap:.5rem}}@media(max-width:768px){:root{--device-mode: mobile}html,body{background:#020617;overflow-x:hidden}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:30;padding:.65rem 1rem;border-bottom:1px solid rgba(15,23,42,.25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;align-items:flex-start;gap:.6rem}.app-header__brand{width:100%;justify-content:flex-start;gap:.2rem}.app-header__brand-icon{margin-right:.2rem}.app-header__actions{gap:.4rem;width:100%;flex-wrap:nowrap;align-items:center}.app-header__actions .user-pill{flex:1 1 auto;min-width:0;justify-content:space-between}.app-header__actions .connection-indicator,.app-header__actions .icon-button{flex:0 0 auto}.app-header__actions .user-pill__label{overflow:hidden;text-overflow:ellipsis}.app-content{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);padding-bottom:4.5rem}.sidebar{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:auto;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom,0)) .4rem;flex-direction:row;align-items:center;justify-content:space-between;border-right:none;border-top:1px solid rgba(148,163,184,.18);background:#05080ff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1010;overflow-x:auto}.sidebar::-webkit-scrollbar{display:none}.nav-link{flex-direction:column;gap:.15rem;width:auto!important;flex:1 1 0;min-width:58px;padding:.35rem .45rem;font-size:.7rem;border-radius:.65rem;text-align:center}.nav-link--mobile-hidden{display:none!important}.nav-icon{font-size:1.1rem}.terminal-drawer{position:fixed;left:0;right:0;bottom:calc(3.8rem + env(safe-area-inset-bottom,0));max-height:40vh;border-left:none;border-top:1px solid var(--color-terminal-border);z-index:25;background:#080c14f7}.terminal-drawer__list{max-height:32vh}.app-main{padding:.75rem}.panel{padding:.85rem 1rem;margin-bottom:1rem}.panel__title{font-size:1.1rem}.panel__subtitle{font-size:.8rem}.panel__header{flex-direction:column;align-items:flex-start;gap:.65rem}.controls-row{width:100%;display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:.25rem}.controls-row .control-chip{flex:0 1 calc(50% - .4rem);width:calc(50% - .4rem);max-width:calc(50% - .4rem);min-width:0;justify-content:center}.controls-row .control-chip:last-child:nth-child(odd){flex-basis:100%;max-width:100%}.map-canvas{height:60vh;border-radius:1.25rem;overflow:hidden}.map-footer{flex-direction:column;gap:.75rem}.command-selector-wrapper{width:100%;display:block}.command-selector{width:100%}.command-menu{left:50%;right:auto;transform:translate(-50%);width:min(100%,420px);max-width:100%}.account-layout{flex-direction:column;gap:1rem;width:100%}.account-menu-rail,.account-content{width:100%;min-width:0}.account-menu-rail__menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.account-menu-rail__menu button{width:100%;justify-content:space-between;padding:.5rem .65rem;font-size:.85rem;border-radius:.75rem;box-sizing:border-box}.config-header-controls{flex-direction:column;gap:.6rem;width:100%}.config-header-controls__pair{width:100%;display:flex;gap:.75rem}.config-header-controls__pair .control-chip{flex:1 1 0;justify-content:center}.config-header-controls>.control-chip{width:100%;justify-content:center}.admin-panel .toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.admin-panel .toolbar .control-input{width:100%}.admin-panel{overflow-x:hidden}.admin-panel .form-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.admin-panel .form-grid .button-group{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}.serial-actions{flex-direction:column;gap:.5rem}.serial-actions>.control-chip{width:100%}.serial-device-picker{display:flex;flex-direction:column;gap:.4rem}.admin-panel .admin-user-layout{flex-direction:column;gap:1rem}.admin-panel .data-table{display:block;width:100%;overflow-x:auto}.admin-panel .data-table table{width:100%;border-collapse:separate;border-spacing:0}.admin-panel .data-table th,.admin-panel .data-table td{font-size:.85rem;word-break:break-word}.admin-panel .data-table thead{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.admin-panel .data-table tbody,.admin-panel .data-table tr,.admin-panel .data-table td{display:block;width:100%}.admin-panel .data-table tr{border-bottom:1px solid rgba(148,163,184,.25);border-radius:0;padding:.5rem 0;background:transparent;margin-bottom:.25rem}.admin-panel .data-table tr:last-child{border-bottom:none;margin-bottom:0}.admin-panel .data-table td{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.35rem 0;box-sizing:border-box}.admin-panel .data-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);text-transform:none;font-size:.78rem}.admin-panel .data-table .table-select,.admin-panel .data-table .control-chip{width:100%}.admin-panel .data-table .button-group{width:100%;display:flex;flex-direction:column;gap:.35rem}.admin-panel .feature-grid{grid-template-columns:1fr}.map-footer__views,.map-footer__actions{width:100%}.map-footer__actions{flex-direction:column}.map-footer__actions .control-chip,.map-footer__actions button,.map-footer__actions .submit-button{width:100%;justify-content:center}.map-footer__views-controls{flex-direction:column;gap:.5rem}.map-footer__views-list{flex-wrap:wrap}.strategy-layout{display:flex;flex-direction:column;gap:1rem}.strategy-menu-column{position:sticky;top:4.6rem;z-index:20;padding:.4rem;border-radius:1rem;border:1px solid rgba(148,163,184,.2);background:#050911e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-x:auto}.strategy-menu{display:flex;gap:.35rem}.strategy-menu button{flex:1;min-width:130px}.strategy-map__canvas{min-height:60vh}.strategy-node-inspector{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:70vh;border-radius:1.2rem 1.2rem 0 0;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0));z-index:34;background:#070b13fa;border:1px solid rgba(37,99,235,.25)}.strategy-node-inspector__body{overflow-y:auto;max-height:calc(70vh - 5.5rem)}.strategy-node-inspector__footer{flex-wrap:wrap;gap:.4rem}.strategy-node-inspector__footer .control-chip,.strategy-node-inspector__footer button{flex:1;min-width:140px;justify-content:center}.plan-warnings h2{font-size:.95rem}.strategy-table table{font-size:.82rem}.strategy-table th,.strategy-table td{padding:.4rem .3rem}.map-footer__views .map-footer__views-list{overflow-x:auto;gap:.4rem}.terminal-drawer__actions .control-chip{padding:.35rem .5rem;flex:1}.leaflet-touch .leaflet-bar a{width:40px;height:40px;line-height:40px}.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom{margin:.3rem}.leaflet-control-layers{margin-top:0;margin-right:0;border-radius:.75rem}.leaflet-control-attribution{margin-bottom:.2rem}.geofence-panel{gap:1rem;padding-bottom:1rem}.geofence-list{display:flex;flex-direction:column;gap:1rem;margin:0}.geofence-card{width:100%}.geofence-card__header{flex-direction:column;align-items:flex-start;gap:.5rem}.geofence-card__actions{width:100%;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-start}.geofence-card__actions button,.geofence-card__actions .switch{flex:1 1 140px;justify-content:center}.map-controls-row{display:flex;gap:.25rem;justify-content:space-between}.map-controls-row>.control-chip{flex:1;min-width:0;min-height:2.45rem;font-size:.88rem;padding-inline:.35rem}.adsb-log-table-wrapper{overflow-x:auto}.adsb-log-table{width:100%;border-collapse:separate;border-spacing:0}.adsb-log-table thead{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.adsb-log-table tbody,.adsb-log-table tr,.adsb-log-table td{display:block;width:100%}.adsb-log-table tr{border-bottom:1px solid rgba(148,163,184,.25);padding:.5rem 0;margin-bottom:.35rem}.adsb-log-table tr:last-child{border-bottom:none;margin-bottom:0}.adsb-log-table td{display:flex;justify-content:space-between;gap:.35rem;padding:.25rem 0;font-size:.9rem;box-sizing:border-box}.adsb-log-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);text-transform:none;font-size:.82rem}}.terminal-drawer__list--page{max-height:none}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
