:root{--map-glass-bg:#181e2894;--map-glass-bg-hover:#181e28b8;--map-glass-bg-strong:#181e28d1;--map-glass-border:#ffffff38;--bg-primary:#3d4751;--bg-secondary:#4a5562;--bg-tertiary:#2a3139;--bg-card:#d4cfc1;--bg-card-hover:#c4bfb1;--bg-card-active:#b4afa1;--text-primary:#fff;--text-secondary:#fffc;--text-muted:#fff9;--text-on-card:#333;--text-on-card-secondary:#555;--text-on-card-muted:#666;--accent-primary:#ff6b35;--accent-primary-hover:#e55a2a;--accent-primary-glow:#ff6b3566;--accent-secondary:#d4a520;--status-new:#32cd32;--status-new-bg:#d4f4dd;--status-new-bg-hover:#c4e4cd;--status-new-glow:#32cd3266;--status-emergency:#e02020;--status-emergency-bg:#f7c9c9;--status-emergency-bg-hover:#f0b4b4;--status-emergency-text:#5c0d0d;--status-emergency-glow:#e0202073;--status-military:silver;--status-military-bg:#d8d8d8;--status-military-bg-hover:#c8c8c8;--status-military-text:#333;--status-selected:#ff6b35;--status-selected-bg:#ffd580;--status-selected-bg-hover:#ffc060;--status-no-position-bg:#b8c4d0;--status-no-position-bg-hover:#a8b4c0;--status-not-regular:#ff6b35;--status-connected:#28a745;--status-disconnected:#dc3545;--status-error-bg:#f8d7da;--status-error-text:#721c24;--status-connected-bg:#d4edda;--status-connected-text:#155724;--status-warning:#ffc107;--status-warning-bg-transparent:#ffc10726;--status-warning-text:#856404;--status-warning-glow:#ffc10799;--border-light:#ffffff1a;--border-medium:#fff3;--border-on-card:#bfbaac;--border-on-card-light:#ccc;--stats-bg:#2d374880;--stats-bg-hover:#374152b3;--stats-text:#fff;--stats-label:#ffffffeb;--shadow-sm:0 1px 3px #0003;--shadow-md:0 2px 8px #00000040;--shadow-lg:0 4px 20px #0000004d;--table-header-bg:#3d4751;--table-header-text:#fff;--table-header-border:#ff6b35;--table-body-bg:#d4cfc1;--table-body-text:#333;--table-body-text-secondary:#555;--table-row-hover:#c4bfb1;--table-row-border:#bfbaac;--table-row-alt:#ccc7b9;--summary-table-bg:#2d3748;--summary-table-header-bg:#1a202c;--summary-table-text:#e2e8f0;--summary-table-text-secondary:#a0aec0;--summary-table-border:#374151;--summary-table-hover:#374151;--aircraft-icon-filter:brightness(0) saturate(100%) brightness(0.3);--aircraft-icon-filter-light:brightness(0) invert(1) opacity(0.9);--badge-new-bg:#28a745;--badge-new-text:#fff;--badge-regular-bg:#f59e0b;--badge-regular-text:#fff;--badge-military-bg:#6b7280;--badge-military-text:#fff;--badge-vehicle-bg:#ff9800;--badge-vehicle-text:#fff;--ground-vehicle-color:#000;--mobile-controls-bg:linear-gradient(180deg,#4a5562,#3d4751);--mobile-tab-active:#ff6b35;--altitude-chart-bg:linear-gradient(180deg,#1a1a2e,#16213e);--chart-s1:#d95926;--chart-s2:#3987e5;--chart-s3:#199e70;--chart-s4:#c98500;--chart-s5:#9085e9;--chart-s6:#e66767;--chart-seq:#e55a25;--chart-grid:var(--summary-table-border);--chart-axis-text:var(--summary-table-text-secondary);--chart-label-text:var(--summary-table-text);--chart-tooltip-bg:#10151d;--chart-tooltip-border:#3d4a5c;--chart-tooltip-text:#f4f6f8;--chart-tooltip-label:#a7b2c0;--chart-crosshair:#ffffff52;--chart-hover-ring:var(--summary-table-bg);--chart-band-opacity:0.18;--chart-dash-2:none;--chart-dash-3:none;--chart-dash-4:none;--chart-dash-5:none;--chart-dash-6:none;color-scheme:dark}[data-theme=mono]{--status-disconnected:#8a8a8a;--status-error-bg:#d8d8d8;--status-error-text:#333;--status-emergency:#c41010;--status-emergency-bg:#f0cccc;--status-emergency-bg-hover:#e6b8b8;--status-emergency-text:#4a0a0a;--chart-s1:#f0f0f0;--chart-s2:#c2c2c2;--chart-s3:#9a9a9a;--chart-s4:#767676;--chart-s5:#dcdcdc;--chart-s6:#a8a8a8;--chart-seq:#d0d0d0;--chart-dash-2:6 3;--chart-dash-3:2 3;--chart-dash-4:8 3 2 3;--chart-dash-5:4 2;--chart-dash-6:1 3}[data-theme=light]{color-scheme:light}[data-theme=dark],[data-theme=mono]{color-scheme:dark}.flag{filter:none;filter:var(--flag-filter,none)}.App,.App-content,.App-header,.data-table-container,.mobile-controls-bar,.settings-card,.settings-page,body{transition:background-color .3s ease,color .3s ease}.status-badge{border-radius:2px;color:#fff;color:var(--badge-military-text,#fff);display:inline-block;font-size:9px;font-weight:500;line-height:1;padding:2px 5px;text-transform:uppercase;vertical-align:middle}.status-badge.new{background:#28a745;background:var(--badge-new-bg,#28a745);color:#fff;color:var(--badge-new-text,#fff)}.status-badge.regular{background:#f59e0b;background:var(--badge-regular-bg,#f59e0b);color:#fff;color:var(--badge-regular-text,#fff)}.status-badge.mil,.status-badge.military{background:#6b7280;background:var(--badge-military-bg,#6b7280);color:#fff;color:var(--badge-military-text,#fff)}.status-badge.vehicle{background:#ff9800;background:var(--badge-vehicle-bg,#ff9800);color:#fff;color:var(--badge-vehicle-text,#fff)}.ground-vehicle-cell,.ground-vehicle-icon{color:#000;color:var(--ground-vehicle-color,#000)}.ground-vehicle-cell{align-items:center;display:flex;gap:3px}.ground-vehicle-cell>span:first-child{color:inherit}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}#root{min-height:100vh;min-height:-webkit-fill-available;overflow-x:hidden;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[role=button],a,button,input,select,textarea{touch-action:manipulation}.scrollable,[data-scrollable]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}[role=button]:active,button:active{opacity:.85}@media (hover:none) and (pointer:coarse){.clickable,[role=button],button,select{min-height:44px}.btn-back,.btn-edit-receiver,.btn-expand,.btn-view,.mobile-filter-btn,.mobile-tab,.perf-pill,.quicklink,.tab-button,.view-map-btn{min-height:44px!important}.quicklinks .quicklink{padding-bottom:10px;padding-top:10px}.clickable:active,[role=button]:active,a:active,button:active{opacity:.7;transform:scale(.98);transition:transform .1s ease,opacity .1s ease}[role=button],button{-webkit-user-select:none;user-select:none}input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{font-size:16px;min-height:44px;padding:12px}}@media (max-width:479px){body{font-size:14px}}@media (max-width:1023px){.btn+.btn,button+button{margin-left:8px}}.App{display:flex;flex-direction:column;height:100vh;margin:0;padding:env(safe-area-inset-top) 0 0}.App.has-side-rail{padding-left:calc(64px + env(safe-area-inset-left))}.App-header{align-items:center;background-color:var(--bg-primary);box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;flex-shrink:0;gap:30px;height:80px;padding:0 30px}.App-header.mobile{background:linear-gradient(180deg,#4a5562,#3d4751);background:var(--mobile-controls-bg,linear-gradient(180deg,#4a5562 0,#3d4751 100%));gap:12px;height:44px;justify-content:space-between;padding:0 12px}.App-header.mobile .websocket-status{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.App-header.mobile .header-avatar-btn{flex-shrink:0;position:relative;z-index:5}.App-header.mobile .logo-container{display:flex}.App-header.mobile .app-logo{height:24px}.App-header.mobile .header-right{gap:8px;margin-left:0}.logo-container{align-items:center;display:flex;flex-shrink:0}.app-logo{filter:none;filter:var(--logo-filter,none);height:50px;width:auto}.App-header .header-right{margin-left:auto}.header-right{align-items:center;display:flex;gap:20px}.user-email{color:var(--text-secondary)}.logout-button,.user-email{font-size:14px;font-weight:400}.logout-button{background-color:initial;border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);cursor:pointer;padding:8px 20px;transition:all .2s ease}.logout-button:hover{background-color:var(--border-light);border-color:var(--border-medium)}.mobile-controls-bar{align-items:center;background:var(--mobile-controls-bg);border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:5px 10px}.mobile-autozoom-select,.mobile-receiver-select{appearance:none;background:#00000040;background:var(--mobile-select-bg,#00000040);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 8 2 4h8z'/%3E%3C/svg%3E");background-image:var(--mobile-select-arrow,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 8 2 4h8z'/%3E%3C/svg%3E"));background-position:right 10px center;background-repeat:no-repeat;border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;min-height:40px;outline:none;padding:6px 28px 6px 10px}.mobile-receiver-select{flex:1 1;max-width:160px}.mobile-autozoom-select{width:90px}.mobile-autozoom-select option,.mobile-receiver-select option{background:var(--bg-primary);color:var(--text-primary)}.mobile-filter-buttons{display:flex;flex:1 1;gap:4px;justify-content:center}.mobile-filter-btn{background:#0000;border:1px solid var(--border-medium);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;min-height:32px;padding:6px 10px;transition:all .2s;white-space:nowrap}.mobile-filter-btn:active{background:var(--border-light)}.mobile-filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.mobile-filter-btn.filter-btn-new.active{background:#28a745;background:var(--status-new,#28a745);border-color:#28a745;border-color:var(--status-new,#28a745)}.mobile-filter-btn.filter-btn-not-regular.active{background:#6366f1;background:var(--status-not-regular,#6366f1);border-color:#6366f1;border-color:var(--status-not-regular,#6366f1)}.mobile-filter-btn.filter-btn-military.active{background:var(--status-military);border-color:var(--status-military);color:#333;color:var(--status-military-text,#333)}.mobile-filter-btn.filter-btn-ground.active{background:#ff9800;border-color:#ff9800;color:#333}.mobile-view-tabs{background:#0000004d;background:var(--mobile-tabs-bg,#0000004d);border-radius:8px;display:flex;gap:2px;padding:3px}.mobile-tab{background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;min-height:36px;padding:8px 18px;transition:all .2s ease}.mobile-tab.active{background:var(--mobile-tab-active);box-shadow:0 2px 8px var(--accent-primary-glow);color:var(--text-primary)}.mobile-tab:not(.active):active{background:var(--border-light)}.map-watermark{left:12px;pointer-events:none;position:absolute;top:10px;z-index:450}.watermark-logo{filter:brightness(1) drop-shadow(0 1px 3px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,255,255,.3));filter:var(--logo-filter,brightness(1)) drop-shadow(0 1px 3px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,255,255,.3));height:42px;opacity:.7;width:auto}.App-content.mobile-layout{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.App-content.mobile-layout .App-map,.App-content.mobile-layout .App-table{flex:1 1;height:100%;min-height:0}.App-content{display:flex;flex:1 1;overflow:hidden}.App-map{align-items:center;display:flex;justify-content:center}.App-map,.App-table{background-color:var(--bg-tertiary)}.App-table{overflow:hidden}.App-footer{background-color:var(--bg-primary);border-top:1px solid var(--border-light);color:var(--text-secondary);flex-shrink:0;height:100px;overflow-y:auto;padding:10px 20px}.debug-log{font-family:Courier New,monospace;font-size:12px;line-height:1.4}.debug-log div{margin-bottom:2px}.logout-button:active{background-color:#fff3;background-color:var(--button-secondary-bg,#fff3);transform:scale(.98)}.App-header{transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity}.App-header.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.mobile-controls-bar{transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity}.mobile-controls-bar.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.App.fullscreen-mode .App-content{inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;z-index:1000}.App.fullscreen-mode .App-map{height:100%!important;inset:0!important;position:absolute!important;width:100%!important}.map-fab-container{bottom:110px;display:flex;flex-direction:column;gap:10px;position:absolute;right:12px;z-index:850}.map-fab-container.fullscreen{bottom:20px}.map-fab{align-items:center;background:var(--bg-primary);border:none;border-radius:50%;box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s ease;width:48px}.map-fab:active{background:var(--bg-secondary);transform:scale(.95)}.map-fab.active{background:var(--accent-primary)}.map-fab-list{position:relative}.fab-badge{border-radius:10px;box-shadow:var(--shadow-sm);font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-4px;top:-4px}.fab-badge,.list-fab-map{align-items:center;background:var(--accent-primary);color:var(--text-primary);display:flex}.list-fab-map{border:none;border-radius:24px;bottom:72px;box-shadow:0 3px 12px var(--accent-primary-glow);cursor:pointer;font-size:14px;font-weight:600;gap:8px;height:48px;padding:0 16px 0 12px;position:fixed;right:16px;transition:all .2s ease;z-index:850}.list-fab-map:active{background:var(--accent-primary-hover);transform:scale(.95)}@media (hover:none) and (pointer:coarse){.map-fab{min-height:48px;min-width:48px}.map-fab:hover{background:var(--bg-primary)}.list-fab-map:hover,.map-fab.active:hover{background:var(--accent-primary)}}@media (orientation:landscape) and (max-height:500px){.App-header{height:44px;padding:0 10px}.mobile-controls-bar{height:36px;padding:4px 10px}.mobile-tab{padding:4px 12px}.mobile-autozoom-select,.mobile-receiver-select,.mobile-tab{font-size:12px;min-height:28px}.map-fab-container{bottom:56px;gap:6px;right:8px}.map-fab-container.fullscreen{bottom:12px}.map-fab{height:40px;width:40px}.list-fab-map{bottom:56px;font-size:13px;height:40px;padding:0 12px 0 10px}.App-content{padding-bottom:48px}}@media (max-width:1024px){.App-header{gap:8px;height:56px;padding:0 12px}.logo-container{display:none}.app-logo{height:32px}.header-right{gap:10px}.user-email{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{font-size:13px;min-height:40px;padding:8px 14px}.resize-divider{display:none!important}}@media (max-width:768px){.App-header{gap:6px;height:52px;padding:0 10px}.header-right{gap:8px}.user-email{display:none}.logout-button{font-size:12px;min-height:38px;padding:6px 12px}.App-content{padding-bottom:56px}.App.has-side-rail .App-content{padding-bottom:0}.mobile-receiver-select{font-size:13px;max-width:130px}.mobile-autozoom-select{font-size:13px;width:80px}.mobile-filter-btn{font-size:10px;min-height:30px;padding:5px 8px}.mobile-tab{font-size:13px;padding:8px 14px}}@media (max-width:480px){.App-header{gap:4px;height:48px;padding:0 8px}.logout-button{font-size:11px;min-height:34px;padding:4px 10px}.mobile-controls-bar{gap:6px;padding:6px 8px}.mobile-receiver-select{font-size:12px;max-width:110px;padding:6px 24px 6px 8px}.mobile-autozoom-select{font-size:12px;padding:6px 24px 6px 8px;width:70px}.mobile-filter-buttons{gap:3px}.mobile-filter-btn{font-size:9px;min-height:28px;padding:4px 6px}.mobile-tab{font-size:12px;padding:6px 12px}.map-watermark{left:8px;top:8px}.watermark-logo{height:34px}}@media (max-width:1024px){.App-content.mobile-layout{flex:1 1;min-height:0;overflow:hidden}.App-content.mobile-layout .App-map{flex:1 1;height:100%;min-height:0}}@media (hover:none) and (pointer:coarse){.logout-button,button{min-height:44px;min-width:44px}.logout-button:hover{background-color:initial;border-color:var(--border-medium)}.logout-button:active{background-color:var(--border-light);transform:scale(.98)}.mobile-tab:active{transform:scale(.97)}.mobile-autozoom-select:active,.mobile-receiver-select:active{background-color:var(--accent-primary-glow)}.mobile-autozoom-select,.mobile-receiver-select{-webkit-tap-highlight-color:transparent;font-size:16px!important;pointer-events:auto!important;touch-action:manipulation;user-select:none;-webkit-user-select:none}.mobile-controls-bar{pointer-events:auto!important;touch-action:auto;z-index:900}.mobile-filter-btn,.mobile-tab{touch-action:manipulation}.mobile-filter-btn{-webkit-tap-highlight-color:transparent;min-height:36px}.mobile-filter-btn:active{transform:scale(.97)}}.back-to-receivers{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:4px;box-shadow:0 1px 4px #0000004d;color:var(--text-on-card);cursor:pointer;font-size:.85rem;font-weight:600;left:12px;padding:6px 12px;position:absolute;top:12px;z-index:1000}.back-to-receivers:hover{background:var(--bg-card-hover)}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.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{box-sizing:border-box;height:0;width:0;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{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.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;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.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{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{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:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width: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{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.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);height:36px;width: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{height:44px;width: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{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;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{border-top:1px solid #ddd;height:0;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{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.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{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.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{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-loading{align-items:center;color:#ffffffb3;color:var(--text-muted,#ffffffb3);display:flex;font-size:18px;height:100%;justify-content:center;width:100%}.leaflet-top.leaflet-left .leaflet-control-zoom{margin-top:50px}.dark-tiles{filter:brightness(.6) contrast(1.1) saturate(.9)}.leaflet-container{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none}.leaflet-marker-icon{cursor:pointer!important;pointer-events:auto!important}.leaflet-marker-pane{pointer-events:none!important}.leaflet-notamPane-pane svg,.leaflet-overlay-pane,.leaflet-overlay-pane canvas,.leaflet-overlay-pane svg{pointer-events:none}.leaflet-notamPane-pane svg path,.notam-marker-icon{cursor:pointer;pointer-events:auto!important}.leaflet-popup-content-wrapper{pointer-events:auto}.leaflet-tooltip{pointer-events:none!important}@media (hover:none) and (pointer:coarse){.leaflet-control-zoom{display:none!important}.leaflet-bottom{bottom:0}.App.fullscreen-mode .leaflet-bottom{bottom:env(safe-area-inset-bottom,0)}.leaflet-control-attribution{font-size:9px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.map-ctl-stack{align-items:flex-end;display:flex;flex-direction:column;gap:8px;position:absolute;right:10px;top:10px;z-index:1000}.map-ctl-btn{align-items:center;background:var(--map-glass-bg);border:1px solid #ffffff38;border-radius:11px;box-shadow:0 4px 14px #00000038;color:#ffffffe6;cursor:pointer;display:flex;height:38px;justify-content:center;position:relative;transition:background .15s,color .15s;width:38px}.map-ctl-btn.open,.map-ctl-btn:hover{background:var(--map-glass-bg-hover);color:#fff}.map-ctl-btn-wide{flex:0 0 auto;gap:7px;min-width:38px;padding:0 11px;width:auto}.map-ctl-label{color:var(--text-primary);font-size:11.5px;font-weight:600;letter-spacing:.2px;max-width:min(150px,42vw);min-width:4.5ch;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #00000080;white-space:nowrap}@media (max-width:600px){.map-ctl-label{font-size:10.5px;max-width:min(160px,46vw)}.map-ctl-btn-wide{gap:5px;padding:0 9px}}.map-ctl-stack{max-width:calc(100vw - 20px)}.map-ctl-btn.active{border-color:#ff6b3599;color:#ff6b35}.map-ctl-badge{background:#ff6b35;border-radius:8px;color:#fff;font-size:9px;font-weight:700;height:16px;line-height:16px;min-width:16px;padding:0 4px;position:absolute;right:-5px;text-align:center;top:-5px}.map-ctl-dot{background:#ffffff40;border-radius:50%;box-sizing:border-box;flex-shrink:0;height:8px;margin-left:auto;position:relative;width:8px}.map-ctl-dot.is-active{background:var(--status-connected);box-shadow:0 0 5px var(--status-connected)}.map-ctl-dot.is-stalled{background:#0000;border:2px solid var(--status-warning)}.map-ctl-dot.is-offline{background:#0000;border:2px solid var(--status-disconnected)}.map-ctl-dot.is-offline:after{background:var(--status-disconnected);content:"";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.map-ctl-icon{flex-shrink:0}.map-ctl-icon.is-active{color:var(--status-connected)}.map-ctl-icon.is-stalled{color:var(--status-warning)}.map-ctl-icon.is-offline{color:var(--status-disconnected)}.map-ctl-btn-wide .map-ctl-dot{margin-left:1px}.map-filter-option-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-filter-backdrop{background:#0000;inset:0;position:absolute;z-index:1000}.map-filter-panel{background:var(--map-glass-bg-strong);border:1px solid #ffffff38;border-radius:14px;box-shadow:0 8px 28px #00000059;max-height:calc(100% - 20px);min-width:180px;overflow-y:auto;padding:8px;position:absolute;right:56px;top:10px;z-index:1001}.map-filter-title{color:#ffffff8c;font-size:9px;font-weight:700;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.map-filter-option{align-items:center;background:#0000;border:none;border-radius:6px;color:#ffffffd9;cursor:pointer;display:flex;font-size:12.5px;gap:8px;padding:8px;text-align:left;width:100%}.map-filter-option:hover{background:#ffffff14}.map-filter-option.active{color:#fff;font-weight:600}.map-filter-radio{border:1.5px solid #ffffff80;border-radius:50%;flex-shrink:0;height:12px;width:12px}.map-filter-option.active .map-filter-radio{background:radial-gradient(circle,#ff6b35 0 4px,#0000 4.5px);border-color:#ff6b35}.map-filter-check{border:1.5px solid #ffffff80;border-radius:3px;flex-shrink:0;height:12px;width:12px}.map-filter-option.active .map-filter-check{background:#ff6b35;border-color:#ff6b35}.map-filter-divider{background:#ffffff1f;height:1px;margin:6px 4px}@media (hover:none) and (pointer:coarse){.map-ctl-btn{height:42px;width:42px}.map-ctl-btn-wide{width:auto}.map-filter-panel{right:62px}.map-filter-option{font-size:13.5px;padding:11px 8px}}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform}.aircraft-marker{background:#0000!important;border:none!important;cursor:pointer!important;pointer-events:auto!important;z-index:1000!important}.aircraft-marker>div{position:relative}.aircraft-marker>div:after{bottom:-15px;content:"";left:-15px;pointer-events:auto;position:absolute;right:-15px;top:-15px}.aircraft-tooltip{background-color:#00000040!important;border:none!important;border-radius:4px!important;box-shadow:0 2px 4px #0000004d!important;padding:2px 6px!important;pointer-events:none!important}.aircraft-tooltip:before{border-top-color:#00000040!important}.tooltip-content{align-items:center;display:flex;gap:6px;line-height:1.2}.tooltip-airline-logo{filter:none;filter:var(--airline-logo-filter,none);height:14px;max-width:40px;object-fit:contain;vertical-align:middle}.tooltip-content .tooltip-flag{border-radius:2px;flex:none;height:13px;width:20px}.tooltip-seq{font-feature-settings:"tnum";background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:9px;box-sizing:border-box;color:#fff;flex:none;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 4px;text-align:center}.tooltip-label{color:#fff;color:var(--text-primary,#fff);font-size:12px;font-weight:700;white-space:nowrap}@keyframes anomaly-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}@media (hover:none) and (pointer:coarse){.aircraft-marker:before{bottom:-12px;left:-12px;right:-12px;top:-12px}.tooltip-label{font-size:11px}.tooltip-airline-logo{height:12px;max-width:36px}.tooltip-content .tooltip-flag{height:10px;width:16px}}span.flag{display:inline-block;height:17px;width:26px}img.flag{width:20px}.flag{background:url(/static/media/flags_responsive.8cecbb24336ed13b5497.png) no-repeat;background-size:100%}.flag-ad{background-position:0 .413223%}.flag-ae{background-position:0 .826446%}.flag-af{background-position:0 1.239669%}.flag-ag{background-position:0 1.652893%}.flag-ai{background-position:0 2.066116%}.flag-al{background-position:0 2.479339%}.flag-am{background-position:0 2.892562%}.flag-an{background-position:0 3.305785%}.flag-ao{background-position:0 3.719008%}.flag-aq{background-position:0 4.132231%}.flag-ar{background-position:0 4.545455%}.flag-as{background-position:0 4.958678%}.flag-at{background-position:0 5.371901%}.flag-au{background-position:0 5.785124%}.flag-aw{background-position:0 6.198347%}.flag-az{background-position:0 6.61157%}.flag-ba{background-position:0 7.024793%}.flag-bb{background-position:0 7.438017%}.flag-bd{background-position:0 7.85124%}.flag-be{background-position:0 8.264463%}.flag-bf{background-position:0 8.677686%}.flag-bg{background-position:0 9.090909%}.flag-bh{background-position:0 9.504132%}.flag-bi{background-position:0 9.917355%}.flag-bj{background-position:0 10.330579%}.flag-bm{background-position:0 10.743802%}.flag-bn{background-position:0 11.157025%}.flag-bo{background-position:0 11.570248%}.flag-br{background-position:0 11.983471%}.flag-bs{background-position:0 12.396694%}.flag-bt{background-position:0 12.809917%}.flag-bv{background-position:0 13.22314%}.flag-bw{background-position:0 13.636364%}.flag-by{background-position:0 14.049587%}.flag-bz{background-position:0 14.46281%}.flag-ca{background-position:0 14.876033%}.flag-cc{background-position:0 15.289256%}.flag-cd{background-position:0 15.702479%}.flag-cf{background-position:0 16.115702%}.flag-cg{background-position:0 16.528926%}.flag-ch{background-position:0 16.942149%}.flag-ci{background-position:0 17.355372%}.flag-ck{background-position:0 17.768595%}.flag-cl{background-position:0 18.181818%}.flag-cm{background-position:0 18.595041%}.flag-cn{background-position:0 19.008264%}.flag-co{background-position:0 19.421488%}.flag-cr{background-position:0 19.834711%}.flag-cu{background-position:0 20.247934%}.flag-cv{background-position:0 20.661157%}.flag-cx{background-position:0 21.07438%}.flag-cy{background-position:0 21.487603%}.flag-cz{background-position:0 21.900826%}.flag-de{background-position:0 22.31405%}.flag-dj{background-position:0 22.727273%}.flag-dk{background-position:0 23.140496%}.flag-dm{background-position:0 23.553719%}.flag-do{background-position:0 23.966942%}.flag-dz{background-position:0 24.380165%}.flag-ec{background-position:0 24.793388%}.flag-ee{background-position:0 25.206612%}.flag-eg{background-position:0 25.619835%}.flag-eh{background-position:0 26.033058%}.flag-er{background-position:0 26.446281%}.flag-es{background-position:0 26.859504%}.flag-et{background-position:0 27.272727%}.flag-fi{background-position:0 27.68595%}.flag-fj{background-position:0 28.099174%}.flag-fk{background-position:0 28.512397%}.flag-fm{background-position:0 28.92562%}.flag-fo{background-position:0 29.338843%}.flag-fr{background-position:0 29.752066%}.flag-ga{background-position:0 30.165289%}.flag-gd{background-position:0 30.578512%}.flag-ge{background-position:0 30.991736%}.flag-gf{background-position:0 31.404959%}.flag-gh{background-position:0 31.818182%}.flag-gi{background-position:0 32.231405%}.flag-gl{background-position:0 32.644628%}.flag-gm{background-position:0 33.057851%}.flag-gn{background-position:0 33.471074%}.flag-gp{background-position:0 33.884298%}.flag-gq{background-position:0 34.297521%}.flag-gr{background-position:0 34.710744%}.flag-gs{background-position:0 35.123967%}.flag-gt{background-position:0 35.53719%}.flag-gu{background-position:0 35.950413%}.flag-gw{background-position:0 36.363636%}.flag-gy{background-position:0 36.77686%}.flag-hk{background-position:0 37.190083%}.flag-hm{background-position:0 37.603306%}.flag-hn{background-position:0 38.016529%}.flag-hr{background-position:0 38.429752%}.flag-ht{background-position:0 38.842975%}.flag-hu{background-position:0 39.256198%}.flag-id{background-position:0 39.669421%}.flag-ie{background-position:0 40.082645%}.flag-il{background-position:0 40.495868%}.flag-in{background-position:0 40.909091%}.flag-io{background-position:0 41.322314%}.flag-iq{background-position:0 41.735537%}.flag-ir{background-position:0 42.14876%}.flag-is{background-position:0 42.561983%}.flag-it{background-position:0 42.975207%}.flag-jm{background-position:0 43.38843%}.flag-jo{background-position:0 43.801653%}.flag-jp{background-position:0 44.214876%}.flag-ke{background-position:0 44.628099%}.flag-kg{background-position:0 45.041322%}.flag-kh{background-position:0 45.454545%}.flag-ki{background-position:0 45.867769%}.flag-km{background-position:0 46.280992%}.flag-kn{background-position:0 46.694215%}.flag-kp{background-position:0 47.107438%}.flag-kr{background-position:0 47.520661%}.flag-kw{background-position:0 47.933884%}.flag-ky{background-position:0 48.347107%}.flag-kz{background-position:0 48.760331%}.flag-la{background-position:0 49.173554%}.flag-lb{background-position:0 49.586777%}.flag-lc{background-position:0 50%}.flag-li{background-position:0 50.413223%}.flag-lk{background-position:0 50.826446%}.flag-lr{background-position:0 51.239669%}.flag-ls{background-position:0 51.652893%}.flag-lt{background-position:0 52.066116%}.flag-lu{background-position:0 52.479339%}.flag-lv{background-position:0 52.892562%}.flag-ly{background-position:0 53.305785%}.flag-ma{background-position:0 53.719008%}.flag-mc{background-position:0 54.132231%}.flag-md{background-position:0 54.545455%}.flag-me{background-position:0 54.958678%}.flag-mg{background-position:0 55.371901%}.flag-mh{background-position:0 55.785124%}.flag-mk{background-position:0 56.198347%}.flag-ml{background-position:0 56.61157%}.flag-mm{background-position:0 57.024793%}.flag-mn{background-position:0 57.438017%}.flag-mo{background-position:0 57.85124%}.flag-mp{background-position:0 58.264463%}.flag-mq{background-position:0 58.677686%}.flag-mr{background-position:0 59.090909%}.flag-ms{background-position:0 59.504132%}.flag-mt{background-position:0 59.917355%}.flag-mu{background-position:0 60.330579%}.flag-mv{background-position:0 60.743802%}.flag-mw{background-position:0 61.157025%}.flag-mx{background-position:0 61.570248%}.flag-my{background-position:0 61.983471%}.flag-mz{background-position:0 62.396694%}.flag-na{background-position:0 62.809917%}.flag-nc{background-position:0 63.22314%}.flag-ne{background-position:0 63.636364%}.flag-nf{background-position:0 64.049587%}.flag-ng{background-position:0 64.46281%}.flag-ni{background-position:0 64.876033%}.flag-nl{background-position:0 65.289256%}.flag-no{background-position:0 65.702479%}.flag-np{background-position:0 66.115702%}.flag-nr{background-position:0 66.528926%}.flag-nu{background-position:0 66.942149%}.flag-nz{background-position:0 67.355372%}.flag-om{background-position:0 67.768595%}.flag-pa{background-position:0 68.181818%}.flag-pe{background-position:0 68.595041%}.flag-pf{background-position:0 69.008264%}.flag-pg{background-position:0 69.421488%}.flag-ph{background-position:0 69.834711%}.flag-pk{background-position:0 70.247934%}.flag-pl{background-position:0 70.661157%}.flag-pm{background-position:0 71.07438%}.flag-pn{background-position:0 71.487603%}.flag-pr{background-position:0 71.900826%}.flag-pt{background-position:0 72.31405%}.flag-pw{background-position:0 72.727273%}.flag-py{background-position:0 73.140496%}.flag-qa{background-position:0 73.553719%}.flag-re{background-position:0 73.966942%}.flag-ro{background-position:0 74.380165%}.flag-rs{background-position:0 74.793388%}.flag-ru{background-position:0 75.206612%}.flag-rw{background-position:0 75.619835%}.flag-sa{background-position:0 76.033058%}.flag-sb{background-position:0 76.446281%}.flag-sc{background-position:0 76.859504%}.flag-sd{background-position:0 77.272727%}.flag-se{background-position:0 77.68595%}.flag-sg{background-position:0 78.099174%}.flag-sh{background-position:0 78.512397%}.flag-si{background-position:0 78.92562%}.flag-sj{background-position:0 79.338843%}.flag-sk{background-position:0 79.752066%}.flag-sl{background-position:0 80.165289%}.flag-sm{background-position:0 80.578512%}.flag-sn{background-position:0 80.991736%}.flag-so{background-position:0 81.404959%}.flag-sr{background-position:0 81.818182%}.flag-ss{background-position:0 82.231405%}.flag-st{background-position:0 82.644628%}.flag-sv{background-position:0 83.057851%}.flag-sy{background-position:0 83.471074%}.flag-sz{background-position:0 83.884298%}.flag-tc{background-position:0 84.297521%}.flag-td{background-position:0 84.710744%}.flag-tf{background-position:0 85.123967%}.flag-tg{background-position:0 85.53719%}.flag-th{background-position:0 85.950413%}.flag-tj{background-position:0 86.363636%}.flag-tk{background-position:0 86.77686%}.flag-tl{background-position:0 87.190083%}.flag-tm{background-position:0 87.603306%}.flag-tn{background-position:0 88.016529%}.flag-to{background-position:0 88.429752%}.flag-tp{background-position:0 88.842975%}.flag-tr{background-position:0 89.256198%}.flag-tt{background-position:0 89.669421%}.flag-tv{background-position:0 90.082645%}.flag-tw{background-position:0 90.495868%}.flag-ty{background-position:0 90.909091%}.flag-tz{background-position:0 91.322314%}.flag-ua{background-position:0 91.735537%}.flag-ug{background-position:0 92.14876%}.flag-gb,.flag-uk{background-position:0 92.561983%}.flag-um{background-position:0 92.975207%}.flag-us{background-position:0 93.38843%}.flag-uy{background-position:0 93.801653%}.flag-uz{background-position:0 94.214876%}.flag-va{background-position:0 94.628099%}.flag-vc{background-position:0 95.041322%}.flag-ve{background-position:0 95.454545%}.flag-vg{background-position:0 95.867769%}.flag-vi{background-position:0 96.280992%}.flag-vn{background-position:0 96.694215%}.flag-vu{background-position:0 97.107438%}.flag-wf{background-position:0 97.520661%}.flag-ws{background-position:0 97.933884%}.flag-ye{background-position:0 98.347107%}.flag-za{background-position:0 98.760331%}.flag-zm{background-position:0 99.173554%}.flag-zr{background-position:0 99.586777%}.flag-zw{background-position:0 100%}.receiver-marker{pointer-events:auto;z-index:500!important}.receiver-marker img,.receiver-marker>div{pointer-events:none}.airport-marker{pointer-events:auto;z-index:100!important}.airport-marker img,.airport-marker>div{pointer-events:none}.airport-tooltip{background:#3d4751!important;background:var(--bg-primary,#3d4751)!important;border:1px solid #fff!important;border:1px solid var(--text-primary,#fff)!important;border-radius:6px!important;box-shadow:0 4px 12px #0000004d!important;padding:0!important}.airport-tooltip:before{border-top-color:#3d4751!important;border-top-color:var(--bg-primary,#3d4751)!important}.airport-tooltip-content{color:#fff;color:var(--text-primary,#fff);min-width:200px}.airport-tooltip-header{align-items:center;background:#ff6b351a;background:var(--accent-primary-glow-light,#ff6b351a);border-bottom:1px solid #ff6b354d;border-bottom:1px solid var(--accent-primary-glow,#ff6b354d);display:flex;gap:12px;justify-content:space-between;padding:8px 12px}.airport-code-large{color:#fff;color:var(--text-primary,#fff);font-size:22px;font-weight:700;letter-spacing:4px}.airport-code-large,.airport-icao-header{font-family:Courier New,Consolas,monospace;text-transform:uppercase}.airport-icao-header{color:#ffffffb3;color:var(--text-muted,#ffffffb3);font-size:17px;font-weight:600;letter-spacing:2px;margin-left:auto}.airport-tooltip-icon{height:24px;opacity:.8;width:24px}.airport-tooltip-details{padding:8px 12px;text-align:center}.airport-name{color:#fffffff2;color:var(--text-secondary,#fffffff2);font-size:13px;font-weight:600;margin-bottom:4px}.airport-location{color:#ffffffb3;color:var(--text-muted,#ffffffb3);font-size:11px}.leaflet-furthestDistancePane-pane{pointer-events:auto!important}.furthest-distance-dot{background:#0000}.furthest-distance-dot,.furthest-distance-dot>div{cursor:pointer!important;pointer-events:auto!important}.aircraft-info-popup{background-color:#fffffff7;background-color:var(--bg-card,#fffffff7);border-radius:8px;bottom:20px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;left:20px;max-height:calc(100vh - 100px);overflow:hidden;position:absolute;width:320px;z-index:1000}.popup-header{align-items:center;background-color:#3d4751;background-color:var(--table-header-bg,#3d4751);border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--table-header-border,#ff6b35);display:flex;gap:12px;padding:12px 48px 12px 16px;position:relative}.aircraft-icon{flex-shrink:0}.header-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.popup-close-btn{align-items:center;background:#ffffff26;background:var(--popup-close-btn-bg,#ffffff26);border:none;border-radius:50%;color:#fff;color:var(--table-header-text,#fff);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:0;position:absolute;right:8px;top:8px;transition:background-color .2s ease;width:32px}.popup-close-btn:hover{background:#ffffff40;background:var(--popup-close-btn-hover-bg,#ffffff40)}.popup-close-btn:active{background:#ffffff59;background:var(--popup-close-btn-active-bg,#ffffff59);transform:scale(.95)}.popup-close-btn svg{height:16px;width:16px}.callsign-registration{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px}.callsign{font-size:18px;font-weight:700}.callsign,.registration-small{color:#fff;color:var(--table-header-text,#fff)}.registration-small{font-size:13px;font-weight:400;opacity:.9}.icao-hex{color:#fff;color:var(--table-header-text,#fff);font-size:12px;font-weight:500;letter-spacing:.5px;opacity:.85}.popup-content{flex:1 1;overflow-y:auto;padding:12px 16px}.info-row,.popup-content{color:#333;color:var(--text-on-card,#333)}.info-row{margin-bottom:8px}.info-row.airline-name-row{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-on-card-light,#e0e0e0);color:#1a1a1a;color:var(--text-on-card,#1a1a1a);display:flex;font-size:15px;gap:10px;margin-bottom:10px;padding-bottom:8px}.airline-logo-inline{background-color:#fff;background-color:var(--bg-input,#fff);border-radius:4px;display:block;flex-shrink:0;height:32px;max-height:32px;max-width:140px;object-fit:contain;padding:4px 8px}.country-value{align-items:center;display:flex;gap:6px}.country-flag{border:1px solid #ddd;border:1px solid var(--border-on-card-light,#ddd);border-radius:2px;flex-shrink:0}.aircraft-full-name{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-on-card-light,#e0e0e0);color:#444;color:var(--text-on-card-secondary,#444);display:block;font-size:14px;font-weight:500;margin-bottom:10px;padding-bottom:8px}.aircraft-type-code{font-family:monospace;font-size:12px;font-weight:400;margin-left:6px;opacity:.75}.section-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-on-card-light,#e0e0e0);color:#ff6b35;color:var(--accent-primary,#ff6b35);font-size:13px;font-size:10px;font-weight:700;letter-spacing:.5px;letter-spacing:.8px;margin-bottom:8px;margin-top:14px;padding-bottom:4px;text-transform:uppercase}.info-row .label{color:#555;color:var(--text-on-card-secondary,#555);flex-shrink:0;font-weight:600;margin-right:8px;min-width:80px}.info-row .value{color:#333;color:var(--text-on-card,#333);font-weight:400}.identity-meta{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-on-card-light,#e0e0e0);color:#555;color:var(--text-on-card-secondary,#555);display:flex;flex-wrap:wrap;font-size:13px;gap:6px 10px;margin-bottom:10px;padding-bottom:10px}.identity-type{align-items:baseline;display:inline-flex;gap:6px;min-width:0}.identity-country{align-items:center;display:inline-flex;gap:6px;white-space:nowrap}.identity-type+.identity-country:before{background:#c9c3b5;background:var(--border-on-card,#c9c3b5);content:"";height:11px;margin-right:4px;width:1px}.coords-row .coords{color:#555;color:var(--text-on-card-secondary,#555);font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:12px}.metrics{display:flex;flex-direction:column;gap:12px;margin-top:14px}.metric-row{grid-gap:8px 10px;display:grid;gap:8px 10px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric{display:flex;flex-direction:column;gap:1px;min-width:0}.metric-label{color:#666;color:var(--text-on-card-muted,#666);font-size:9px;letter-spacing:.5px;text-transform:uppercase}.metric-label,.metric-value{font-weight:600;white-space:nowrap}.metric-value{font-feature-settings:"tnum";color:#333;color:var(--text-on-card,#333);font-size:15px;font-variant-numeric:tabular-nums;line-height:1.2}.metric-unit{font-size:10px;font-weight:500;margin-left:2px}.coords-footer,.metric-unit{color:#666;color:var(--text-on-card-muted,#666)}.coords-footer{align-items:baseline;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-on-card-light,#e0e0e0);display:flex;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:11px;gap:10px;justify-content:space-between;margin-top:2px;padding-top:9px}.coords-pos{min-width:0;white-space:nowrap}.coords-eta{align-items:baseline;display:inline-flex;flex-shrink:0;gap:5px;white-space:nowrap}.coords-eta-label{color:#666;color:var(--text-on-card-muted,#666);font-family:inherit;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.coords-eta-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.photo-section{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-on-card-light,#e0e0e0);margin-top:12px;padding-top:12px}.photo-link{border-radius:6px;cursor:pointer;display:block;overflow:hidden;transition:transform .2s ease}.photo-link:hover{transform:scale(1.02)}.aircraft-photo{border-radius:6px;display:block;height:auto;width:100%}.photo-credit{color:var(--text-on-card-muted,#666)}.photo-link:active{opacity:.9;transform:scale(.99)}@media (max-width:1023px){.aircraft-info-popup{width:300px}}@media (max-width:768px){.aircraft-info-popup{bottom:70px;left:10px;max-height:calc(100vh - 180px);max-width:320px;width:calc(100% - 20px)}.popup-header{padding:10px 52px 10px 14px}.callsign{font-size:16px}.popup-content{-webkit-overflow-scrolling:touch;padding:10px 14px}.info-row{font-size:13px;min-height:36px;padding:6px 0}.section-header{font-size:12px;margin-top:10px}.photo-link{margin:-4px;padding:4px}}@media (max-width:480px){.aircraft-info-popup{bottom:66px;left:8px;max-height:calc(100vh - 160px);width:calc(100% - 16px)}.popup-header{padding:8px 48px 8px 12px}.callsign{font-size:15px}.registration-small{font-size:12px}.popup-content{padding:8px 12px}.airline-logo-inline{height:24px;max-height:24px;max-width:100px}.info-row{min-height:32px}}@media (hover:none) and (pointer:coarse){.photo-link:hover{transform:none}.photo-link:active{transform:scale(.98)}.popup-content{-webkit-overflow-scrolling:touch}.popup-close-btn{height:44px;right:4px;top:4px;touch-action:manipulation;width:44px}.popup-close-btn svg{height:20px;width:20px}.popup-close-btn:hover{background:#ffffff26;background:var(--popup-close-btn-bg,#ffffff26)}.aircraft-info-popup{touch-action:auto}}.popup-content::-webkit-scrollbar{width:6px}.popup-content::-webkit-scrollbar-track{background:#f1f1f1;background:var(--border-on-card-light,#f1f1f1);border-radius:3px}.popup-content::-webkit-scrollbar-thumb{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:3px}.popup-content::-webkit-scrollbar-thumb:hover{background:#ff8c42;background:var(--accent-primary-hover,#ff8c42)}.range-new-badge{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:4px;color:#fff;color:var(--text-primary,#fff);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;margin-top:10px;padding:6px 12px;text-transform:uppercase}@media (max-width:768px){.range-record-popup{max-width:300px;width:calc(100% - 24px)}.range-record-popup .popup-header{padding:10px 48px 10px 14px}.range-record-popup .popup-content{padding:10px 14px}.range-new-badge{font-size:10px;margin-top:8px;padding:4px 10px}}@media (max-width:480px){.range-record-popup{max-width:280px}.range-record-popup .popup-header{padding:8px 44px 8px 12px}.range-record-popup .callsign{font-size:15px}.range-record-popup .popup-content{padding:8px 12px}.range-record-popup .info-row{font-size:12px;margin-bottom:6px}.range-record-popup .section-header{font-size:11px;margin-top:8px}}@media (max-width:600px){.aircraft-info-popup{bottom:calc(env(safe-area-inset-bottom, 0px) + 96px);font-size:11px;left:8px;max-height:62vh;max-width:min(92vw,340px);width:min(92vw,340px)}.popup-header{padding:6px 40px 6px 10px}.aircraft-icon{height:22px;width:22px}.callsign{font-size:14px}.icao-hex,.registration-small{font-size:10px}.popup-close-btn{height:30px;width:30px}.popup-content{grid-column-gap:10px;grid-row-gap:7px;align-content:start;column-gap:10px;display:grid;grid-template-columns:1fr 1fr;padding:6px 10px 8px;row-gap:7px}.photo-section{border-top:none;margin-bottom:8px;margin-top:0;order:-1;padding-top:0}.airline-name-row,.detected-type-row,.identity-meta,.info-line,.info-row-wide,.metrics,.photo-section,.section-header{grid-column:1/-1}.popup-content{align-items:start}.identity-meta{font-size:12px;margin-bottom:8px;padding-bottom:8px}.metrics{gap:10px;margin-top:12px}.metric-value{font-size:14px}.coords-footer{font-size:10.5px}.info-row{align-items:flex-start;flex-direction:column;font-size:11px;gap:1px;margin-bottom:0;min-height:0;padding:0}.info-row .label{color:#666;color:var(--text-on-card-muted,#666);font-size:9px;font-weight:600;letter-spacing:.3px;margin-right:0;min-width:0;text-transform:uppercase;white-space:nowrap}.info-row .value{font-feature-settings:"tnum";font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.25;text-align:left;white-space:nowrap}.info-row.airline-name-row{align-items:center;flex-direction:row;margin-bottom:4px;padding-bottom:6px}.aircraft-full-name,.info-row .info-value{font-size:11px}.section-header{border-bottom-width:1px;font-size:10px;margin-bottom:0;margin-top:2px;padding-bottom:3px}.airline-logo-inline{height:22px;max-height:22px;max-width:100px}.aircraft-photo{max-height:132px;object-fit:cover}.photo-credit{font-size:9px}}.popup-emergency-banner{align-items:center;background:var(--status-emergency);color:#fff;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;line-height:1.3;padding:7px 12px}.popup-emergency-banner svg{flex-shrink:0}.popup-emergency-code{font-feature-settings:"tnum";border:1.5px solid #ffffffd9;border-radius:4px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:1px;padding:1px 6px}.popup-emergency-label{font-weight:800;letter-spacing:.6px;text-transform:uppercase}.popup-emergency-desc{font-size:11px;opacity:.95}.aircraft-info-popup.emergency-popup{box-shadow:0 0 0 2px var(--status-emergency),0 8px 28px #00000059}.detected-type-row{align-items:center;border-top:1px solid #ccc;border-top:1px solid var(--border-on-card-light,#ccc);display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-top:12px;padding-top:12px}.detected-type-row.detected-type-inset{margin:0 12px 10px;padding-top:10px}.detected-type-hint{color:#666;color:var(--text-on-card-muted,#666);font-style:italic}.detected-type-label{color:#333;color:var(--text-on-card,#333);font-weight:600}.detected-type-conflict-hint{color:#856404;color:var(--status-warning-text,#856404);flex-basis:100%;font-style:normal;font-weight:600}.detected-type-btn{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;min-width:0;padding:8px 16px;transition:background .15s ease}.detected-type-btn:hover:not(:disabled){background:#e55a2a;background:var(--accent-primary-hover,#e55a2a)}.detected-type-btn:disabled{cursor:default;opacity:.6}.detected-type-saved{color:#555;color:var(--text-on-card-secondary,#555);font-weight:600}.detected-type-error{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border-radius:3px;color:#721c24;color:var(--status-error-text,#721c24);font-size:11px;padding:2px 6px}@media (max-width:600px){.detected-type-row{font-size:11px;margin-top:8px;padding-top:8px}.detected-type-row.detected-type-inset{margin:0 12px 10px;padding-top:8px}.detected-type-btn{font-size:11px;padding:6px 10px}}.airport-stand-marker{background:#0000;border:none}.stand-label{align-items:center;background:#282828d9;background:var(--stand-label-bg,#282828d9);border:1px solid #fff6;border:1px solid var(--stand-label-border,#fff6);border-radius:3px;box-shadow:0 1px 3px #0006;color:#fff;color:var(--text-primary,#fff);display:flex;font-family:Consolas,Monaco,monospace;font-size:9px;font-weight:600;height:18px;justify-content:center;letter-spacing:.5px;line-height:1;min-width:20px;padding:0 4px;text-align:center}.runway-number-marker{background:#0000;border:none}.runway-number{align-items:center;background:#4a4a4ae6;background:var(--runway-label-bg,#4a4a4ae6);border:1px solid #fff;border:1px solid var(--runway-label-border,#fff);border-radius:2px;box-shadow:0 1px 3px #0006;color:#fff;color:var(--runway-label-text,#fff);display:flex;font-family:Arial Black,Helvetica Neue,sans-serif;font-size:11px;font-weight:700;height:18px;justify-content:center;letter-spacing:1px;min-width:28px;padding:0 3px;text-shadow:0 0 2px #00000080}.airport-feature-tooltip{font-size:12px;line-height:1.4}.airport-feature-tooltip strong{color:#333;color:var(--text-on-card,#333);display:block;margin-bottom:2px}.airport-feature-tooltip div{color:#666;color:var(--text-on-card-muted,#666);font-size:11px}@media (max-width:768px){.stand-label{font-size:8px;height:16px;min-width:18px;padding:0 3px}.runway-number{font-size:10px;height:16px;letter-spacing:.5px;min-width:24px}}@media (hover:none) and (pointer:coarse){.stand-label{font-size:10px;height:20px;min-width:24px;padding:0 5px}.runway-number{font-size:12px;height:20px;min-width:30px}}.data-table-container{height:100%;overflow:auto}.data-table,.data-table-container{background-color:var(--bg-card);background-color:var(--table-body-bg,var(--bg-card));width:100%}.data-table{border-collapse:collapse;color:var(--text-on-card);color:var(--table-body-text,var(--text-on-card));font-size:11px}.reg-column{white-space:nowrap}.data-table thead{background-color:var(--table-header-bg);color:var(--table-header-text);position:sticky;top:0;z-index:1}.data-table th{border-bottom:2px solid var(--table-header-border);font-weight:600;line-height:1.2;padding:5px 8px;text-align:left;white-space:nowrap}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sort-indicator{display:inline-block;font-size:10px;margin-left:4px;opacity:.5;vertical-align:middle}.sort-indicator.active{color:var(--accent-primary);opacity:1}.data-table th.sortable:hover{background-color:#61dafb1a;background-color:var(--table-header-hover-bg,#61dafb1a)}.data-table th.sortable:active{background-color:var(--accent-primary-glow)}.data-table td{border-bottom:1px solid var(--table-row-border,var(--border-on-card));line-height:1.1;padding:3px 8px}.data-table td.numeric-column,.data-table th.numeric-column{text-align:right}.data-table tbody tr{cursor:pointer;transition:background-color .15s ease}.data-table tbody tr:hover{background-color:var(--bg-card-hover);background-color:var(--table-row-hover,var(--bg-card-hover))}.data-table tbody tr:active{background-color:var(--bg-card-active)}.data-table tbody tr.military-aircraft{background-color:var(--status-military-bg)}.data-table tbody tr.military-aircraft:active,.data-table tbody tr.military-aircraft:hover{background-color:var(--status-military-bg-hover)}.data-table tbody tr.new-aircraft{background-color:var(--status-new-bg)}.data-table tbody tr.new-aircraft:active,.data-table tbody tr.new-aircraft:hover{background-color:var(--status-new-bg-hover)}.data-table tbody tr.selected-aircraft{background-color:var(--status-selected-bg);font-weight:600}.data-table tbody tr.selected-aircraft:active,.data-table tbody tr.selected-aircraft:hover{background-color:var(--status-selected-bg-hover)}.data-table tbody tr.no-position-aircraft{background-color:var(--status-no-position-bg);color:var(--text-on-card-secondary)}.data-table tbody tr.no-position-aircraft:active,.data-table tbody tr.no-position-aircraft:hover{background-color:var(--status-no-position-bg-hover)}.data-table tbody tr.emergency-aircraft{background-color:var(--status-emergency-bg);color:var(--status-emergency-text);font-weight:700}.data-table tbody tr.emergency-aircraft:active,.data-table tbody tr.emergency-aircraft:hover{background-color:var(--status-emergency-bg-hover)}.data-table tbody tr.emergency-aircraft td[data-col=squawk]{color:var(--status-emergency);font-weight:800;letter-spacing:.5px}.data-table tbody tr.no-position-aircraft.new-aircraft{background-color:var(--status-new-bg);opacity:.8}.data-table tbody tr.no-position-aircraft.new-aircraft:hover{background-color:var(--status-new-bg-hover)}.data-table tbody tr.no-position-aircraft.selected-aircraft{background-color:var(--status-selected-bg);opacity:.8}.data-table tbody tr.no-position-aircraft.selected-aircraft:hover{background-color:var(--status-selected-bg-hover)}.verifying-position{font-size:10px}.no-data,.verifying-position{color:var(--text-on-card-muted);font-style:italic}.no-data{padding:20px;text-align:center}.airline-logo{filter:none;filter:var(--airline-logo-filter,none);height:20px;max-width:60px}.airline-text{color:var(--text-on-card-muted);font-size:11px}.military-icon{height:17px;width:26px}@media (max-width:1024px){.data-table-container{height:100%;overflow-x:auto;overflow-y:auto}.data-table{font-size:11px;min-width:800px}.data-table td,.data-table th{padding:6px 8px}.data-table th{position:sticky;top:0}.data-table tbody tr,.data-table th{min-height:44px}}@media (max-width:768px){.data-table{font-size:11px;min-width:750px}.data-table th{min-height:44px;padding:10px 6px}.data-table td{padding:8px 6px}.data-table tbody tr{min-height:44px}}@media (max-width:480px){.data-table{font-size:10px;min-width:700px}.data-table td,.data-table th{padding:6px 4px}.airline-logo{height:16px;max-width:40px}}@media (hover:none) and (pointer:coarse){.data-table th.sortable:hover{background-color:initial}.data-table tbody tr:hover{background-color:inherit}.data-table tbody tr.military-aircraft:hover{background-color:var(--status-military-bg)}.data-table tbody tr.new-aircraft:hover{background-color:var(--status-new-bg)}.data-table tbody tr.selected-aircraft:hover{background-color:var(--status-selected-bg)}.data-table th.sortable:active{background-color:var(--accent-primary-glow)}.data-table tbody tr:active{background-color:var(--bg-card-active)}.data-table tbody tr{min-height:44px}.data-table th.sortable{min-height:44px;position:relative}.data-table th.sortable:after{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--table-header-text);content:"";height:0;opacity:.4;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:0}.data-table th.sortable.sorted-asc:after{border-bottom:4px solid var(--accent-primary);border-top:none;opacity:.8}.data-table th.sortable.sorted-desc:after{border-top:4px solid var(--accent-primary);opacity:.8}}.mobile-card-view{background:var(--bg-tertiary);display:flex;flex-direction:column;height:100%}.mobile-sort-bar{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;gap:8px;padding:8px 12px}.sort-label{color:var(--text-muted);font-size:12px;font-weight:500}.mobile-sort-select{appearance:none;background:#0000004d;background:var(--mobile-select-bg,#0000004d);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath fill='%23fff' d='M5 7 1 3h8z'/%3E%3C/svg%3E");background-image:var(--mobile-select-arrow,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath fill='%23fff' d='M5 7 1 3h8z'/%3E%3C/svg%3E"));background-position:right 8px center;background-repeat:no-repeat;font-size:13px;font-weight:500;min-height:36px;outline:none;padding:6px 24px 6px 10px}.mobile-sort-select,.sort-direction-btn{border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer}.sort-direction-btn{align-items:center;background:#0000004d;background:var(--mobile-select-bg,#0000004d);display:flex;font-size:16px;height:36px;justify-content:center;transition:background-color .2s;width:36px}.sort-direction-btn:active{background:var(--accent-primary-glow)}.aircraft-count{color:var(--text-muted);font-size:12px;font-weight:500;margin-left:auto}.cards-container{display:flex;flex:1 1;flex-direction:column;gap:5px;overflow-y:auto;padding:8px 8px calc(80px + env(safe-area-inset-bottom))}.no-data-card{color:var(--text-muted);font-size:14px;padding:40px 20px;text-align:center}.aircraft-card{background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-sm);cursor:pointer;flex-shrink:0;overflow:hidden;transition:box-shadow .15s ease}.aircraft-card:active{background:var(--bg-card-active);box-shadow:var(--shadow-sm)}.aircraft-card.military{background:var(--status-military-bg)}.aircraft-card.new{background:var(--status-new-bg)}.aircraft-card.selected{background:var(--status-selected-bg);box-shadow:0 2px 8px var(--accent-primary-glow)}.aircraft-card.emergency{background:var(--status-emergency-bg);border-left:4px solid var(--status-emergency);box-shadow:0 2px 8px var(--status-emergency-glow);color:var(--status-emergency-text)}.aircraft-card.no-position{background:var(--status-no-position-bg)}.aircraft-card.expanded{box-shadow:var(--shadow-md)}.card-main{align-items:center;display:flex;gap:10px;padding:6px 12px}.card-flag{display:flex;flex-shrink:0;justify-content:center;width:24px}.flag-placeholder{color:var(--text-on-card-muted);font-size:14px}.card-callsign{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.card-callsign .primary{color:var(--text-on-card);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-callsign .secondary{color:var(--text-on-card-muted);font-size:11px}.card-type{align-items:center;display:flex;flex-shrink:0;gap:4px}.aircraft-sprite{background-repeat:no-repeat;display:inline-block;filter:brightness(0) saturate(100%) brightness(.3);filter:var(--aircraft-sprite-filter,brightness(0) saturate(100%) brightness(.3))}.type-code{color:var(--text-on-card-secondary);font-size:12px;font-weight:500}.card-altitude{align-items:baseline;display:flex;flex-shrink:0;gap:2px;justify-content:flex-end;min-width:70px}.card-metric{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;min-width:62px}.alt-value,.metric-value{font-feature-settings:"tnum";color:var(--text-on-card);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.alt-unit{font-size:10px}.alt-unit,.metric-unit{color:var(--text-on-card-muted)}.metric-unit{font-size:9px;font-weight:600;letter-spacing:.3px;line-height:1.2;text-transform:uppercase}.alt-trend{font-size:14px;margin-left:2px}.alt-trend.climbing{color:#10b981;color:var(--status-climbing,#10b981)}.alt-trend.descending{color:#ef4444;color:var(--status-descending,#ef4444)}.card-status{display:flex;flex-shrink:0;gap:4px}.new-badge{background:var(--status-new);color:var(--text-primary)}.mil-badge{background:var(--status-military);color:var(--text-on-card)}.card-expanded{background:#0000000d;background:var(--card-expanded-bg,#0000000d);border-top:1px solid #0000001a;border-top:1px solid var(--card-expanded-border,#0000001a);padding:8px 12px 12px}.expanded-row{border-bottom:1px solid #0000000d;border-bottom:1px solid var(--card-expanded-divider,#0000000d);display:flex;justify-content:space-between;padding:4px 0}.expanded-row:last-of-type{border-bottom:none}.expanded-row .label{color:var(--text-on-card-muted);font-size:12px}.expanded-row .value{color:var(--text-on-card);font-size:12px;font-weight:500}.card-select-btn{background:var(--accent-primary);border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;margin-top:10px;padding:10px;transition:background-color .2s;width:100%}.card-select-btn:active{background:var(--accent-primary-hover)}@media (max-width:768px){.mobile-card-view .data-table{display:none}}@media (hover:none) and (pointer:coarse){.aircraft-card{min-height:44px}.aircraft-card:hover{box-shadow:var(--shadow-sm);transform:none}.aircraft-card.selected:hover{box-shadow:0 2px 8px var(--accent-primary-glow)}.mobile-sort-select:active,.sort-direction-btn:active{background:var(--accent-primary-glow)}.card-select-btn{min-height:44px}}.websocket-status{align-items:center;border-radius:16px;display:flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-indicator{border-radius:50%;height:8px;width:8px}.status-text{font-size:13px;font-weight:600}.status-connected{background:#d4edda;background:var(--status-connected-bg,#d4edda);color:#155724;color:var(--status-connected-text,#155724)}.status-connected .status-indicator{background:#28a745;background:var(--status-connected,#28a745);box-shadow:0 0 8px #28a74599;box-shadow:0 0 8px var(--status-new-glow,#28a74599)}.status-connecting{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);color:#856404;color:var(--status-warning-text,#856404)}.status-connecting .status-indicator{animation:pulse 1.5s ease-in-out infinite;background:#ffc107;background:var(--status-warning,#ffc107)}.status-disconnected{background:#e9ecef;background:var(--status-disconnected-bg,#e9ecef);color:#495057;color:var(--status-disconnected-text,#495057)}.status-disconnected .status-indicator{background:#6c757d;background:var(--status-disconnected,#6c757d)}.status-error{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.status-error .status-indicator{background:#dc3545;background:var(--status-error,#dc3545)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.conn-banner{align-items:center;animation:conn-banner-in .18s ease-out;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:10px;bottom:24px;box-shadow:0 6px 22px #00000052;color:var(--text-primary);display:flex;font-size:13px;gap:10px;left:50%;line-height:1.35;max-width:min(560px,calc(100vw - 24px));padding:10px 14px;position:fixed;transform:translateX(-50%);z-index:2000}.conn-banner.lost{border-color:var(--status-disconnected)}.conn-banner.restored{border-color:var(--status-connected)}.conn-banner-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.conn-banner.lost .conn-banner-dot{animation:conn-banner-pulse 1.4s ease-in-out infinite;background:var(--status-disconnected)}.conn-banner.restored .conn-banner-dot{background:var(--status-connected)}.conn-banner-text{min-width:0}.conn-banner-action{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:7px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:5px 11px}.conn-banner-action:hover{border-color:var(--accent-primary);color:var(--accent-primary)}@media (hover:none) and (pointer:coarse){.conn-banner{bottom:calc(68px + env(safe-area-inset-bottom, 0px));font-size:12.5px;padding:9px 12px}.App.fullscreen-mode .conn-banner{bottom:calc(env(safe-area-inset-bottom, 0px) + 12px)}}@keyframes conn-banner-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes conn-banner-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.conn-banner,.conn-banner.lost .conn-banner-dot{animation:none}}.login-container{align-items:center;background:linear-gradient(135deg,#3d4751,#2a3139);background:var(--auth-gradient,linear-gradient(135deg,#3d4751 0,#2a3139 100%));display:flex;justify-content:center;min-height:100vh}.login-box{background:#3d4751;background:var(--bg-primary,#3d4751);border:1px solid #4a5562;border:1px solid var(--border-medium,#4a5562);border-radius:12px;box-shadow:0 10px 40px #0006;color:#ffffffe6;color:var(--text-secondary,#ffffffe6);max-width:400px;padding:40px;width:100%}.login-logo{margin-bottom:8px;text-align:center}.login-logo img{height:60px;width:auto}.login-subtitle{color:#ffffffb3;color:var(--text-muted,#ffffffb3);font-size:14px;margin:0 0 32px;text-align:center}.login-form{display:flex;flex-direction:column}.form-group label{color:#ffffffb3;color:var(--text-muted,#ffffffb3)}.email-input{background:#ffffff14;background:var(--bg-tertiary,#ffffff14);border:1px solid #fff3;border:1px solid var(--border-light,#fff3);border-radius:6px;box-sizing:border-box;color:#fff;color:var(--text-primary,#fff);font-size:16px;padding:12px 16px;transition:border-color .2s,background-color .2s;width:100%}.email-input::placeholder{color:#ffffff80;color:var(--text-muted,#ffffff80)}.email-input:focus{background:#ffffff1f;background:var(--bg-secondary,#ffffff1f);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.error-message{background-color:#f8d7da;background-color:var(--status-error-bg,#f8d7da);border-radius:4px;padding:8px 12px}.login-button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.login-button:hover{background:#ff7d4d;background:var(--accent-primary-light,#ff7d4d);box-shadow:0 4px 12px #ff6b3566;box-shadow:0 4px 12px var(--accent-primary-glow,#ff6b3566);transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.register-link-container{margin-top:20px;text-align:center}.register-text{color:#ffffffb3;color:var(--text-muted,#ffffffb3);font-size:14px;margin:0}.register-link{background:none;border:none;color:#ff6b35;color:var(--accent-primary,#ff6b35);cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.register-link:hover{color:#ff7d4d;color:var(--accent-primary-light,#ff7d4d)}.register-link:active{opacity:.7}.login-button:focus-visible,.register-link:focus-visible{outline:2px solid #ff6b35;outline:2px solid var(--accent-primary,#ff6b35);outline-offset:2px}.login-footer{border-top:1px solid #ffffff1a;border-top:1px solid var(--border-light,#ffffff1a);margin-top:20px;padding-top:16px;text-align:center}.login-footer-link{background:none;border:none;color:#ffffff80;color:var(--text-muted,#ffffff80);cursor:pointer;font-size:12px;padding:0;text-decoration:none;transition:color .2s}.login-footer-link:hover{color:#fffc;color:var(--text-secondary,#fffc);text-decoration:underline}@media (max-width:1023px){.login-box{padding:32px}}@media (max-width:768px){.login-container{padding:20px}.login-box{border-radius:8px;max-width:none;padding:24px;width:100%}.login-logo img{height:50px}.email-input{padding:14px 16px}.email-input,.login-button{font-size:16px;min-height:48px}.login-button{padding:14px 24px}.captcha-container{margin:16px 0}}@media (max-width:480px){.login-container{padding:12px}.login-box{padding:20px}.login-logo img{height:45px}.login-subtitle{font-size:13px;margin-bottom:24px}.form-group label,.register-link,.register-text{font-size:13px}}@media (hover:none) and (pointer:coarse){.login-button{min-height:48px}.login-button:hover{background:#ff6b35;background:var(--accent-primary,#ff6b35);box-shadow:none;transform:none}.login-button:active{background:#e55a25;background:var(--accent-primary-hover,#e55a25);transform:scale(.98)}.register-link:hover{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.email-input{font-size:16px}}.passkey-button{background:#0000;border:1px solid #e67e22;border:1px solid var(--accent-color,#e67e22);color:#e67e22;color:var(--accent-color,#e67e22);margin-top:10px}.passkey-button:hover:not(:disabled){background:#e67e221a}.code-verification-container{align-items:center;background:linear-gradient(135deg,#3d4751,#2a3139);background:var(--auth-gradient,linear-gradient(135deg,#3d4751 0,#2a3139 100%));display:flex;justify-content:center;min-height:100vh}.code-verification-box{background:#fff;background:var(--bg-card,#fff);border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:40px;width:100%}.code-verification-box h1{color:#333;color:var(--text-on-card,#333);font-size:28px;margin:0 0 8px;text-align:center}.code-message{color:#666;color:var(--text-on-card-muted,#666);font-size:14px;line-height:1.5;margin:0 0 32px;text-align:center}.code-message strong{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.code-form{flex-direction:column}.code-form,.code-inputs{align-items:center;display:flex}.code-inputs{gap:10px;margin-bottom:32px}.code-input{background:#fff;background:var(--bg-input,#fff);border:2px solid #e0e0e0;border:2px solid var(--border-on-card,#e0e0e0);border-radius:8px;color:#333;color:var(--text-on-card,#333);font-size:28px;font-weight:600;height:60px;text-align:center;text-transform:uppercase;transition:border-color .2s;width:50px}.code-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);box-shadow:0 0 0 3px #667eea1a;box-shadow:0 0 0 3px var(--accent-primary-glow,#667eea1a);outline:none}.code-separator{color:#666;color:var(--text-on-card-muted,#666);font-size:24px;font-weight:600;margin:0 5px}.button-group{display:flex;gap:12px;margin-bottom:12px;width:100%}.verify-button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s,opacity .2s}.verify-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.verify-button:active:not(:disabled){transform:translateY(0)}.verify-button:disabled{cursor:not-allowed;opacity:.5}.clear-button{background:#f5f5f5;background:var(--bg-card-hover,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border-on-card,#e0e0e0);border-radius:6px;color:#666;color:var(--text-on-card-muted,#666);cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .2s,border-color .2s}.clear-button:hover{background-color:#e0e0e0;background-color:var(--bg-card-active,#e0e0e0);border-color:#ccc;border-color:var(--border-on-card-light,#ccc)}.back-button{background:#0000;border:2px solid #ff6b35;border:2px solid var(--accent-primary,#ff6b35);color:#ff6b35;color:var(--accent-primary,#ff6b35);font-size:14px;transition:background-color .2s,color .2s;width:100%}.back-button:hover{background-color:#ff6b35;background-color:var(--accent-primary,#ff6b35);color:#fff;color:var(--text-primary,#fff)}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;border:2px solid var(--spinner-track,#ffffff4d);border-top-color:var(--text-primary,#fff);display:inline-block;height:14px;margin-right:8px;vertical-align:middle;width:14px}.clear-button:disabled{cursor:not-allowed;opacity:.5}.registration-container{align-items:center;background:linear-gradient(135deg,#3d4751,#2a3139);background:var(--auth-gradient,linear-gradient(135deg,#3d4751 0,#2a3139 100%));display:flex;justify-content:center;min-height:100vh}.registration-box{background:#fff;background:var(--bg-card,#fff);border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;padding:40px;width:100%}.registration-box h1{color:#333;color:var(--text-on-card,#333);font-size:32px;margin:0 0 8px;text-align:center}.registration-subtitle{color:#666;color:var(--text-on-card-muted,#666);font-size:14px;margin:0 0 32px;text-align:center}.registration-form{display:flex;flex-direction:column}.text-input{background:#fff;background:var(--bg-input,#fff);border:2px solid #e0e0e0;border:2px solid var(--border-on-card,#e0e0e0);border-radius:6px;box-sizing:border-box;color:#333;color:var(--text-on-card,#333);font-size:16px;padding:12px 16px;transition:border-color .2s;width:100%}.text-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.register-button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:16px;font-weight:600;margin-bottom:12px;padding:12px 24px;transition:transform .2s,box-shadow .2s}.register-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.register-button:active{transform:translateY(0)}.register-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.back-button{background:#6c757d;background:var(--status-muted,#6c757d);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background .2s}.back-button:hover{background:#5a6268;background:var(--status-muted-hover,#5a6268)}.back-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--status-error-border,#f5c6cb);border-radius:6px;color:#721c24;color:var(--status-error-text,#721c24);font-size:14px;margin-bottom:16px;padding:12px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#333;color:var(--text-on-card,#333);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.captcha-container{align-items:center;display:flex;justify-content:center;margin:20px 0;min-height:65px}.back-button:active:not(:disabled){opacity:.9;transform:scale(.98)}.back-button:focus-visible,.register-button:focus-visible{outline:2px solid #ff6b35;outline:2px solid var(--accent-primary,#ff6b35);outline-offset:2px}@media (max-width:1023px){.registration-box{padding:32px}}@media (max-width:768px){.registration-container{padding:20px}.registration-box{border-radius:8px;max-width:none;padding:24px;width:100%}.registration-box h1{font-size:26px}.text-input{font-size:16px;min-height:48px;padding:14px 16px}.back-button,.register-button{font-size:16px;min-height:48px;padding:14px 24px}.captcha-container{margin:16px 0}}@media (max-width:480px){.registration-container{padding:12px}.registration-box{padding:20px}.registration-box h1{font-size:22px}.registration-subtitle{font-size:13px;margin-bottom:24px}.form-group label{font-size:13px}}@media (hover:none) and (pointer:coarse){.back-button,.register-button{min-height:48px}.register-button:hover{box-shadow:none;transform:none}.register-button:active:not(:disabled){background:#e55a25;background:var(--accent-primary-hover,#e55a25);transform:scale(.98)}.back-button:hover{background:#6c757d;background:var(--status-muted,#6c757d)}.back-button:active:not(:disabled){background:#5a6268;background:var(--status-muted-hover,#5a6268);transform:scale(.98)}.text-input{font-size:16px}}.navigation{position:relative}.nav-items,.navigation{align-items:center;display:flex;gap:5px}.hamburger-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;display:none;gap:8px;min-height:44px;padding:8px 12px;transition:background-color .2s ease}.hamburger-btn:active{background-color:var(--accent-primary-glow)}.hamburger-icon{display:flex;flex-direction:column;gap:4px;height:20px;justify-content:center;width:20px}.hamburger-line{background-color:var(--text-primary);border-radius:1px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:100%}.hamburger-line.open:first-child{transform:translateY(6px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.current-page-label{color:var(--text-primary);font-size:14px;font-weight:500}.nav-items.mobile-dropdown{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:0 0 8px 8px;border-top:none;box-shadow:var(--shadow-lg);display:none;flex-direction:column;gap:0;left:0;min-width:180px;padding:8px 0;position:absolute;right:auto;top:100%;z-index:1000}.nav-items.mobile-dropdown.open{display:flex}.mobile-menu-backdrop{background:#0000004d;background:var(--modal-overlay-bg,#0000004d);inset:0;position:fixed;z-index:999}.nav-item{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:15px;font-weight:400;gap:8px;padding:10px 20px;position:relative;transition:all .2s ease}.nav-item:hover{background-color:var(--border-light);color:var(--text-primary)}.nav-item:active{background-color:var(--accent-primary-glow);transform:scale(.98)}.nav-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.nav-item.active{color:var(--text-primary);font-weight:500}.nav-item.active:after{background-color:var(--accent-primary);border-radius:2px 2px 0 0;bottom:0;content:"";height:3px;left:20px;position:absolute;right:20px}.nav-icon{filter:brightness(0) invert(1) opacity(.8);filter:var(--nav-icon-filter,brightness(0) invert(1) opacity(.8));height:18px;transition:filter .2s ease;width:18px}.nav-item.active .nav-icon,.nav-item:active .nav-icon,.nav-item:hover .nav-icon{filter:brightness(0) invert(1) opacity(1);filter:var(--nav-icon-filter-active,brightness(0) invert(1) opacity(1))}.nav-label{font-weight:inherit}@media (max-width:1024px){.nav-label{display:none}.nav-item{justify-content:center;min-height:44px;min-width:44px;padding:8px 12px}.nav-icon{height:20px;width:20px}.nav-item.active:after{left:8px;right:8px}}@media (max-width:768px){.navigation{gap:2px}.hamburger-btn{display:flex}.nav-items:not(.mobile-dropdown){display:none}.nav-item.mobile-menu-item{border-bottom:1px solid var(--border-light);border-radius:0;gap:12px;justify-content:flex-start;padding:12px 16px;width:100%}.nav-item.mobile-menu-item:last-child{border-bottom:none}.nav-item.mobile-menu-item .nav-label{display:inline}.nav-item.mobile-menu-item .nav-icon{height:20px;width:20px}.nav-item.mobile-menu-item.active{background-color:var(--accent-primary-glow)}.nav-item.mobile-menu-item.active:after{display:none}.nav-item.mobile-menu-item:active{background-color:var(--accent-primary-glow)}}@media (max-width:480px){.navigation{gap:0}.hamburger-btn{gap:6px;padding:8px 10px}.current-page-label{font-size:13px}.nav-items.mobile-dropdown{min-width:160px}.nav-item.mobile-menu-item{padding:10px 14px}.nav-item{min-height:36px;min-width:36px;padding:4px 8px}.nav-icon{height:16px;width:16px}}@media (hover:none) and (pointer:coarse){.nav-item:hover{background-color:initial;color:var(--text-secondary)}.nav-item:hover .nav-icon{filter:brightness(0) invert(1) opacity(.8)}.nav-item:active{background-color:var(--accent-primary-glow)}.nav-item.active:hover{color:var(--text-primary)}.hamburger-btn:hover{background-color:initial}.hamburger-btn:active{background-color:var(--accent-primary-glow)}.nav-item.mobile-menu-item{min-height:48px}.nav-item.mobile-menu-item:hover{background-color:initial}.nav-item.mobile-menu-item.active:hover,.nav-item.mobile-menu-item:active{background-color:var(--accent-primary-glow)}}.bottom-nav{align-items:stretch;background:linear-gradient(180deg,#4a5562,#3d4751);background:var(--mobile-controls-bg,linear-gradient(180deg,#4a5562 0,#3d4751 100%));border-top:1px solid #ffffff1a;border-top:1px solid var(--border-light,#ffffff1a);bottom:0;box-shadow:0 -2px 10px #0000004d;box-shadow:var(--shadow-md,0 -2px 10px #0000004d);display:flex;height:56px;justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:900}.bottom-nav-item{align-items:center;background:#0000;border:none;color:#fff9;color:var(--text-muted,#fff9);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center;min-height:44px;padding:6px 4px;position:relative;touch-action:manipulation;transition:all .2s ease}.bottom-nav-item:active{background:#ff6b3533;background:var(--accent-primary-glow,#ff6b3533)}.bottom-nav-item.active{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.bottom-nav-item.active:before,.bottom-nav-item.more-open:before{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:0 0 3px 3px;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:32px}.bottom-nav-icon{filter:brightness(0) invert(1) opacity(.6);filter:var(--nav-icon-filter,brightness(0) invert(1) opacity(.6));height:22px;transition:filter .2s ease;width:22px}.bottom-nav-item.active .bottom-nav-icon{filter:brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(1284%) hue-rotate(343deg) brightness(101%) contrast(101%);filter:var(--nav-icon-filter-active,brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(1284%) hue-rotate(343deg) brightness(101%) contrast(101%))}.bottom-nav-icon-svg{height:22px;opacity:.6;transition:opacity .2s ease;width:22px}.bottom-nav-item.active .bottom-nav-icon-svg,.bottom-nav-item.more-open .bottom-nav-icon-svg{color:#ff6b35;color:var(--accent-primary,#ff6b35);opacity:1}.bottom-nav-label{font-size:10px;font-weight:500;letter-spacing:.2px}.bottom-nav-item.active .bottom-nav-label{font-weight:600}.bottom-nav-item.more-open{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.more-sheet-backdrop{-webkit-tap-highlight-color:transparent;background:#0006;inset:0;position:fixed;z-index:890}.more-sheet{background:#2a3139;background:var(--bg-primary,#2a3139);border-top:1px solid #ffffff1a;border-top:1px solid var(--border-light,#ffffff1a);bottom:56px;bottom:calc(56px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0006;display:flex;flex-wrap:wrap;gap:4px;left:0;opacity:0;padding:12px 16px;pointer-events:none;position:fixed;right:0;transform:translateY(100%);transition:transform .25s ease,opacity .25s ease;z-index:895}.more-sheet.open{opacity:1;pointer-events:auto;transform:translateY(0)}.more-sheet-item{align-items:center;background:#ffffff0d;background:var(--bg-secondary,#ffffff0d);border:1px solid #ffffff1a;border:1px solid var(--border-light,#ffffff1a);border-radius:8px;color:#ffffffb3;color:var(--text-secondary,#ffffffb3);cursor:pointer;display:flex;flex-basis:calc(50% - 2px);flex-grow:1;flex-shrink:1;gap:12px;min-height:48px;padding:14px 16px;touch-action:manipulation;transition:all .15s ease}.more-sheet-item:active{background:#ff6b3533;background:var(--accent-primary-glow,#ff6b3533);transform:scale(.98)}.more-sheet-item.active{background:#ff6b351a;border-color:#ff6b3566;color:#ff6b35;color:var(--accent-primary,#ff6b35)}.more-sheet-icon{filter:brightness(0) invert(1) opacity(.6);filter:var(--nav-icon-filter,brightness(0) invert(1) opacity(.6));flex-shrink:0;height:20px;width:20px}.more-sheet-item.active .more-sheet-icon{filter:brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(1284%) hue-rotate(343deg) brightness(101%) contrast(101%);filter:var(--nav-icon-filter-active,brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(1284%) hue-rotate(343deg) brightness(101%) contrast(101%))}.more-sheet-label{font-size:14px;font-weight:500}@media (hover:none) and (pointer:coarse){.bottom-nav-item:hover{background:#0000;color:#fff9;color:var(--text-muted,#fff9)}.bottom-nav-item.active:hover{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.bottom-nav-item:active{background:#ff6b3540;background:var(--accent-primary-glow,#ff6b3540);transform:scale(.95)}.more-sheet-item:hover{background:#ffffff0d;background:var(--bg-secondary,#ffffff0d)}.more-sheet-item.active:hover{background:#ff6b351a}}@media (max-width:380px){.bottom-nav{height:52px}.bottom-nav-icon,.bottom-nav-icon-svg{height:20px;width:20px}.bottom-nav-label{font-size:9px}.more-sheet{bottom:52px;bottom:calc(52px + env(safe-area-inset-bottom));padding:10px 12px}.more-sheet-item{padding:12px 14px}}@media (orientation:landscape) and (max-height:500px){.bottom-nav{height:48px}.bottom-nav-item{flex-direction:row;gap:6px;padding:4px 8px}.bottom-nav-icon,.bottom-nav-icon-svg{height:18px;width:18px}.bottom-nav-label{font-size:11px}.bottom-nav-item.active:before,.bottom-nav-item.more-open:before{height:2px;width:24px}.more-sheet{bottom:48px;bottom:calc(48px + env(safe-area-inset-bottom))}}.side-rail{background:linear-gradient(180deg,#4a5562,#3d4751);background:var(--mobile-controls-bg,linear-gradient(180deg,#4a5562 0,#3d4751 100%));border-right:1px solid #ffffff1a;border-right:1px solid var(--border-light,#ffffff1a);bottom:0;box-shadow:2px 0 10px #0003;box-shadow:var(--shadow-md,2px 0 10px #0003);display:flex;flex-direction:column;left:0;overflow-y:auto;padding:8px 0 8px env(safe-area-inset-left);position:fixed;scrollbar-width:none;top:0;width:64px;z-index:800}.side-rail::-webkit-scrollbar{display:none}.side-rail-section{display:flex;flex-direction:column;gap:2px}.side-rail-spacer{flex:1 1;min-height:12px}.side-rail-item{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:8px;color:#fff9;color:var(--text-muted,#fff9);cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;margin:0 6px;min-height:56px;padding:10px 4px;position:relative;transition:background .15s ease,color .15s ease,transform .1s ease}.side-rail-item:hover{background:#ffffff0d;color:#fff;color:var(--text-primary,#fff)}.side-rail-item:active{transform:scale(.96)}.side-rail-item.active{background:#ff6b351f;background:var(--accent-primary-glow,#ff6b351f);color:#ff6b35;color:var(--accent-primary,#ff6b35)}.side-rail-item.active:before{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:0 3px 3px 0;content:"";height:28px;left:-6px;position:absolute;top:50%;transform:translateY(-50%);width:3px}.side-rail-icon{filter:brightness(0) invert(1) opacity(.6);filter:var(--nav-icon-filter,brightness(0) invert(1) opacity(.6));height:22px;transition:filter .15s ease;width:22px}.side-rail-item.active .side-rail-icon{filter:brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(1284%) hue-rotate(343deg) brightness(101%) contrast(101%);filter:var(--nav-icon-filter-active,brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(1284%) hue-rotate(343deg) brightness(101%) contrast(101%))}.side-rail-label{font-size:10px;font-weight:500;letter-spacing:.2px;line-height:1.2;text-align:center}.side-rail-item.active .side-rail-label{font-weight:600}@media (max-width:600px),(min-width:1025px){.side-rail{display:none}}.header-avatar-wrap{position:relative}.header-avatar-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a3139;background:var(--bg-tertiary,#2a3139);border:1px solid #fff3;border:1px solid var(--border-medium,#fff3);border-radius:50%;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;height:36px;justify-content:center;letter-spacing:.5px;touch-action:manipulation;transition:background .15s ease,border-color .15s ease,transform .1s ease;width:36px}.header-avatar-btn.open,.header-avatar-btn:hover{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.header-avatar-btn:active{transform:scale(.96)}.header-avatar-menu{animation:header-avatar-menu-in .15s ease;background:#3d4751;background:var(--bg-primary,#3d4751);border:1px solid #ffffff26;border:1px solid var(--border-medium,#ffffff26);border-radius:8px;box-shadow:0 10px 30px #00000073;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:950}@keyframes header-avatar-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-avatar-menu-id{background:#2a3139;background:var(--bg-tertiary,#2a3139);border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-light,#ffffff1a);padding:12px 16px}.header-avatar-menu-name{color:#fff;color:var(--text-primary,#fff);font-size:13px;font-weight:600}.header-avatar-menu-email,.header-avatar-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-avatar-menu-email{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:11px;margin-top:2px}.header-avatar-menu-item{background:#0000;border:none;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:block;font-size:14px;min-height:44px;padding:12px 16px;text-align:left;transition:background .1s ease;width:100%}.header-avatar-menu-item:focus-visible,.header-avatar-menu-item:hover{background:#4a5562;background:var(--bg-secondary,#4a5562);outline:none}.header-avatar-menu-item:active{background:#ff6b3533;background:var(--accent-primary-glow,#ff6b3533)}.header-avatar-menu-item-danger{border-top:1px solid #ffffff14;border-top:1px solid var(--border-light,#ffffff14);color:#d9534f;color:var(--danger,#d9534f)}.header-avatar-menu-item-danger:focus-visible,.header-avatar-menu-item-danger:hover{background:#d9534f1f}.account-page{background:var(--bg-secondary);height:100%;overflow-y:auto;padding:20px;width:100%}.account-container{margin:0 auto;max-width:800px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.account-title{font-size:28px;margin:0}.account-title,.btn-edit{color:var(--text-primary);font-weight:600}.btn-edit{background:var(--accent-primary);border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background .2s}.btn-edit:hover{background:var(--accent-primary-hover)}.account-card{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);padding:32px}.account-section{margin-bottom:32px}.account-section:last-child{margin-bottom:0}.account-page .section-title{color:var(--text-on-card);font-size:18px;font-weight:600;margin:0 0 16px}.account-field{margin-bottom:20px}.account-field:last-child{margin-bottom:0}.field-label{color:var(--text-on-card-muted);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.field-value{background:var(--bg-card-hover);border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card)}.field-input,.field-value{font-size:16px;padding:12px 16px}.field-input{background:var(--bg-card)}.field-input.disabled-field{background-color:var(--bg-card-hover);color:var(--text-on-card-muted);cursor:not-allowed}.field-note{color:var(--text-on-card-muted);font-size:12px}.section-note{margin-top:-12px}.brightness-slider-container{padding:8px 0}.brightness-label{font-size:13px;min-width:40px}.brightness-label:first-child{text-align:right}.brightness-slider{background:linear-gradient(to right,var(--bg-tertiary) 0,var(--bg-card-hover) 100%);cursor:pointer}.brightness-slider::-webkit-slider-thumb{border:2px solid var(--text-primary)}.brightness-slider::-moz-range-thumb{border:2px solid var(--text-primary)}.brightness-slider:hover::-webkit-slider-thumb{background:var(--accent-primary-hover)}.brightness-slider:hover::-moz-range-thumb{background:var(--accent-primary-hover)}.btn-save{background:var(--accent-primary);border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s,opacity .2s}.btn-save:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-save:disabled{cursor:not-allowed;opacity:.5}.status-indicators{display:flex;flex-wrap:wrap;gap:12px}.account-status{align-items:center;border-radius:16px;display:flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.account-status .status-dot{border-radius:50%;height:8px;width:8px}.account-status.active{background:var(--status-connected-bg);color:var(--status-connected-text)}.account-status.active .status-dot{background:var(--status-connected);box-shadow:0 0 8px #28a74599}.account-status.inactive{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.account-status.inactive .status-dot{background:#dc3545;background:var(--status-error,#dc3545)}.account-status.verified{background:var(--status-connected-bg);color:var(--status-connected-text)}.account-status.verified .status-dot{background:var(--status-connected);box-shadow:0 0 8px #28a74599}.account-status.admin{background:#e8daef;background:var(--status-admin-bg,#e8daef);color:#6c3483;color:var(--status-admin-text,#6c3483)}.account-status.admin .status-dot{background:#8e44ad;background:var(--status-admin,#8e44ad);box-shadow:0 0 8px #8e44ad99}.account-status.unverified{background:var(--status-warning-bg);color:var(--status-warning-text)}.account-status.unverified .status-dot{background:var(--status-warning)}.loading-message{color:var(--text-on-card-muted);font-size:16px;padding:40px 20px;text-align:center}.status-message{border-radius:6px;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 20px;text-align:center}.status-message.status-success{background-color:#28a7451a;background-color:var(--status-connected-bg-transparent,#28a7451a);border:1px solid #28a7454d;border:1px solid var(--status-connected-border-transparent,#28a7454d);color:var(--status-connected)}.status-message.status-error{background-color:#dc35451a;background-color:var(--status-error-bg-transparent,#dc35451a);border:1px solid #dc35454d;border:1px solid var(--status-error-border-transparent,#dc35454d);color:#dc3545;color:var(--status-error,#dc3545)}.status-message.status-info{background-color:var(--accent-primary-glow);border:1px solid #ff6b354d;border:1px solid var(--accent-primary-glow,#ff6b354d);color:var(--accent-primary)}.btn-edit:active,.btn-save:active:not(:disabled){opacity:.9;transform:scale(.98)}.btn-edit:focus-visible,.btn-save:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (max-width:1023px){.account-page{padding:16px}.account-card{padding:24px}}@media (max-width:768px){.account-page{-webkit-overflow-scrolling:touch;padding:12px 12px 72px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.account-title{font-size:24px}.btn-edit{font-size:15px;min-height:44px;width:100%}.account-card{border-radius:8px;padding:20px}.account-page .section-title,.field-input{font-size:16px}.field-input{min-height:44px;padding:12px 14px}.field-value{font-size:15px;padding:10px 14px}.btn-save{font-size:15px;min-height:44px;width:100%}.status-indicators{gap:8px}.account-status{font-size:12px;padding:5px 10px}.account-status .status-dot{height:6px;width:6px}}@media (max-width:480px){.account-page{padding:8px}.account-title{font-size:20px}.account-card{padding:16px}.field-label{font-size:12px}.field-input,.field-value{font-size:14px}.account-section{margin-bottom:24px}}@media (hover:none) and (pointer:coarse){.btn-edit:hover,.btn-save:hover:not(:disabled){background:var(--accent-primary)}.btn-edit:active,.btn-save:active:not(:disabled){background:var(--accent-primary-hover);transform:scale(.98)}.btn-edit,.btn-save,.field-input{min-height:44px}.field-input{font-size:16px}}.passkey-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.btn-revoke-passkey{background:#0000;border:1px solid #e74c3c;border:1px solid var(--error-color,#e74c3c);border-radius:4px;color:#e74c3c;color:var(--error-color,#e74c3c);cursor:pointer;padding:4px 12px}.btn-add-passkey{margin-top:8px}.field-input{-webkit-text-fill-color:var(--text-on-card);color-scheme:light}.field-input:-webkit-autofill,.field-input:-webkit-autofill:focus,.field-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-on-card);-webkit-box-shadow:0 0 0 1000px var(--bg-card) inset}select.field-input{-webkit-text-fill-color:var(--text-on-card);color:var(--text-on-card)}select.field-input option{background:var(--bg-card);color:var(--text-on-card)}.receivers-page{background:var(--bg-secondary);height:100%;overflow-y:auto;padding:20px;width:100%}.receivers-container{margin:0 auto;max-width:1200px}.receivers-container--wide{max-width:none}.receivers-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.receivers-title{color:var(--text-primary);font-size:28px;font-weight:600;margin:0 0 8px}.receivers-summary{color:var(--text-secondary);font-size:14px}.btn-add{background:var(--accent-primary);border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s;white-space:nowrap}.btn-add:hover{background:var(--accent-primary-hover)}.receivers-loading{color:var(--text-muted);font-size:18px;padding:60px 20px;text-align:center}.no-receivers{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);padding:60px 40px;text-align:center}.no-receivers p{font-size:16px;margin:0 0 12px}.help-text,.no-receivers p{color:var(--text-on-card-muted)}.help-text{font-size:14px}.receivers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.receiver-card{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);padding:24px;transition:transform .2s ease,box-shadow .2s ease}.receiver-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.receiver-card-header{border-bottom:1px solid var(--border-on-card);gap:12px;margin-bottom:16px;padding-bottom:16px}.receiver-card-header,.receiver-header{align-items:flex-start;display:flex;justify-content:space-between}.receiver-header{flex:1 1}.btn-edit-receiver{background:var(--accent-primary);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 16px;transition:background .2s;white-space:nowrap}.btn-edit-receiver:hover{background:var(--accent-primary-hover)}.receiver-info{flex:1 1}.receiver-name{color:var(--text-on-card);font-size:20px;font-weight:600;margin:0 0 8px}.receiver-location{color:var(--text-on-card-muted);font-size:14px}.receiver-status{border-radius:16px;font-size:13px;padding:6px 12px}.receiver-status.online{background:var(--status-connected-bg);color:var(--status-connected-text)}.receiver-status.offline{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.status-dot{border-radius:50%;height:8px;width:8px}.receiver-status.online .status-dot{background:var(--status-connected);box-shadow:0 0 8px #28a74599}.receiver-details{background:var(--bg-card-hover);border-radius:6px;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px}.detail-item{display:flex;font-size:13px;gap:8px}.detail-label{min-width:80px}.uuid-value{font-family:Courier New,monospace;font-size:12px}.receiver-notes{border-top:1px solid var(--border-on-card);margin-top:16px;padding-top:16px}.notes-label{color:var(--text-on-card-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.notes-text{color:var(--text-on-card-secondary);font-size:14px;line-height:1.5}.receiver-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.receiver-stats .stat-item{background:var(--bg-card-hover);border-radius:8px;padding:16px}.receiver-stats .stat-label{color:var(--text-on-card-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.receiver-stats .stat-value{color:var(--text-on-card);font-size:20px;font-weight:700}.receiver-stats .stat-value.highlight{color:var(--accent-primary)}.receiver-name-input{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:4px;color:var(--text-on-card);font-size:20px;font-weight:600;padding:4px 8px;transition:border-color .2s;width:100%}.receiver-name-input:focus{border-color:var(--accent-primary);outline:none}.btn-save-receiver{background:var(--accent-primary);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 16px;transition:background .2s,opacity .2s;white-space:nowrap}.btn-save-receiver:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-save-receiver:disabled{background:var(--accent-primary);cursor:not-allowed;opacity:.5}.receiver-basic-info{background:var(--bg-card-hover);border-radius:6px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px}.info-row{align-items:center;display:flex;font-size:13px;gap:8px}.info-row label{color:var(--text-on-card-muted);font-weight:600;min-width:80px}.info-input{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:4px;color:var(--text-on-card);flex:1 1;font-size:13px;padding:4px 8px}.info-input:focus{border-color:var(--accent-primary);outline:none}.btn-expand{background:var(--bg-card-hover);border:1px solid var(--border-on-card);border-radius:4px;color:var(--accent-primary);cursor:pointer;font-size:13px;font-weight:600;margin-bottom:12px;padding:8px;transition:background .2s;width:100%}.btn-expand:hover{background:var(--bg-card-active)}.receiver-edit-section{background:var(--bg-card-hover);border-radius:6px;margin-bottom:16px;padding:12px}.receiver-edit-section h4{color:var(--text-on-card);font-size:14px;font-weight:600;margin:0 0 12px}.form-row-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px}.form-field{display:flex;flex-direction:column}.form-field label{color:var(--text-on-card-muted);font-size:12px;font-weight:600;margin-bottom:4px}.form-field input,.form-field select,.form-field textarea{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:4px;color:var(--text-on-card);font-family:inherit;font-size:13px;padding:6px 8px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent-primary);outline:none}.form-field textarea{resize:vertical}.btn-location-picker-compact{background:var(--accent-primary);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px;transition:background .2s;width:100%}.btn-location-picker-compact:hover{background:var(--accent-primary-hover)}.receivers-table-container{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);overflow-x:auto}.receivers-table{border-collapse:collapse;min-width:1500px;width:100%}.receivers-table td:last-child,.receivers-table td:nth-last-child(2),.receivers-table th:last-child,.receivers-table th:nth-last-child(2){min-width:90px;white-space:nowrap}.receivers-table thead{background:var(--bg-card-hover);border-bottom:2px solid var(--border-on-card)}.receivers-table th{color:var(--text-on-card-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 8px;text-align:left;text-transform:uppercase}.receivers-table tbody tr{border-bottom:1px solid var(--border-on-card);transition:background .2s}.receivers-table tbody tr:hover{background:var(--bg-card-hover);cursor:pointer}.receivers-table tbody tr:last-child{border-bottom:none}.receivers-table td{color:var(--text-on-card);font-size:13px;padding:10px 8px}.receiver-name-cell{color:var(--accent-primary);font-weight:600}.software-badge{border-radius:3px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:lowercase}.software-badge.fresh{background:#2ecc7126;border:1px solid #2ecc71;border:1px solid var(--success,#2ecc71);color:#2ecc71;color:var(--success,#2ecc71)}.software-badge.stale{background:#0000;border:1px solid var(--border-medium);color:var(--text-secondary)}.muted{color:var(--text-secondary);opacity:.6}.receivers-mobile-list{display:flex;flex-direction:column;gap:10px}.receiver-mcard{-webkit-tap-highlight-color:transparent;background:#d4cfc1;background:var(--bg-card,#d4cfc1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:12px;color:#333;color:var(--text-on-card,#333);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:14px;transition:transform .1s ease,box-shadow .15s ease}.receiver-mcard:active{box-shadow:0 2px 8px #00000026;transform:scale(.99)}.receiver-mcard-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.receiver-mcard-title{align-items:center;display:flex;gap:8px;min-width:0}.receiver-mcard-dot{background:#888;background:var(--text-on-card-muted,#888);border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.receiver-mcard-dot.online{background:#2ecc71;background:var(--status-new,#2ecc71);box-shadow:0 0 6px #2ecc7199;box-shadow:0 0 6px var(--status-new-glow,#2ecc7199)}.receiver-mcard-dot.connected{background:#f1c40f;background:var(--status-warning,#f1c40f)}.receiver-mcard-dot.offline{background:#b0b0b0}.receiver-mcard-name{color:#333;color:var(--text-on-card,#333);font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receiver-mcard-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.receiver-mcard-meta-item{background:#0000000d;border-radius:3px;color:#555;color:var(--text-on-card-secondary,#555);font-size:12px;padding:2px 8px}.receiver-mcard-stats{grid-gap:6px;border-bottom:1px solid #ccc;border-bottom:1px solid var(--border-on-card-light,#ccc);border-top:1px solid #ccc;border-top:1px solid var(--border-on-card-light,#ccc);display:grid;gap:6px;grid-template-columns:repeat(4,1fr);padding:10px 0}@media (max-width:380px){.receiver-mcard-stats{grid-template-columns:repeat(2,1fr)}}.receiver-mcard-stat{align-items:center;display:flex;flex-direction:column;min-width:0;text-align:center}.receiver-mcard-stat-value{font-feature-settings:"tnum";color:#333;color:var(--text-on-card,#333);font-size:18px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.receiver-mcard-stat-value-text{font-size:12px;font-weight:500}.receiver-mcard-stat-label{color:#666;color:var(--text-on-card-muted,#666);font-size:10px;letter-spacing:.4px;margin-top:4px;text-transform:uppercase}.receiver-mcard-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.receiver-mcard-action{-webkit-tap-highlight-color:transparent;background:#0000;border:1px solid #ff6b35;border:1px solid var(--accent-primary,#ff6b35);border-radius:8px;color:#ff6b35;color:var(--accent-primary,#ff6b35);cursor:pointer;font-size:14px;font-weight:600;min-height:48px;padding:0 12px;transition:background .15s ease,transform .1s ease}.receiver-mcard-action:active:not(.disabled){background:#ff6b35;background:var(--accent-primary,#ff6b35);color:#fff;transform:scale(.98)}.receiver-mcard-action.disabled{border-color:#ccc;border-color:var(--border-on-card-light,#ccc);color:#888;color:var(--text-on-card-muted,#888);cursor:not-allowed;opacity:.65}.receiver-mcard-view{background:#2a3139;background:var(--bg-tertiary,#2a3139);border:none;border-radius:8px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:500;min-height:44px}.receiver-mcard-view:active{background:#4a5562;background:var(--bg-secondary,#4a5562)}.quicklinks{display:inline-flex;flex-wrap:wrap;gap:6px}.quicklink{background:#0000;border:1px solid #2c7be5;border:1px solid var(--accent-primary,#2c7be5);border-radius:3px;color:#2c7be5;color:var(--accent-primary,#2c7be5);cursor:pointer;font-size:11px;padding:3px 8px;white-space:nowrap}.quicklink:hover:not(.disabled){background:#2c7be5;background:var(--accent-primary,#2c7be5);color:#fff}.quicklink.disabled{border-color:var(--border-medium);color:var(--text-secondary);cursor:not-allowed;opacity:.5}.status-badge-inline{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:4px 12px;text-transform:uppercase}.status-badge-inline.online{background:var(--status-connected-bg);border:1px solid var(--status-connected);color:var(--status-connected-text)}.status-badge-inline.online:before{color:var(--status-connected);content:"✓";font-size:14px;font-weight:700}.status-badge-inline.connected{background:#ffc10726;background:var(--status-warning-bg-transparent,#ffc10726);border:1px solid #ffc107;border:1px solid var(--status-warning,#ffc107);color:#856404;color:var(--status-warning-text,#856404)}.status-badge-inline.connected:before{color:#ffc107;color:var(--status-warning,#ffc107);content:"●";font-size:14px}.status-badge-inline.offline{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:1px solid #dc3545;border:1px solid var(--status-error,#dc3545);color:#721c24;color:var(--status-error-text,#721c24)}.status-badge-inline.offline:before{color:#dc3545;color:var(--status-error,#dc3545);content:"●";font-size:14px}.protocol-badges{display:flex;flex-wrap:wrap;gap:6px}.protocol-badge{align-items:center;background:var(--bg-card-hover);border:1px solid var(--border-on-card);border-radius:10px;color:var(--text-on-card-muted);display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 10px;white-space:nowrap}.protocol-badge.acars.active,.protocol-badge.adsb.active{background:#15803d;border-color:#16a34a;color:#fff}.protocol-badge-none{color:var(--text-muted);font-size:11px}.socket-rate-cell{white-space:nowrap}.socket-rates{display:flex;flex-wrap:wrap;gap:4px}.rate-badge{align-items:center;border-radius:8px;display:inline-flex;font-family:Courier New,monospace;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;white-space:nowrap}.rate-badge.beast{background:#15803d26;border:1px solid #16a36a4d;color:#16a34a}.rate-badge.acars{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6}.rate-badge.other{background:#eab30826;border:1px solid #ca8a044d;color:#ca8a04}.rate-badge.idle{color:var(--text-muted);font-family:inherit}.btn-view{background:var(--accent-primary);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:background .2s}.btn-view:hover{background:var(--accent-primary-hover)}.btn-back{background:#6c757d;background:var(--status-muted,#6c757d);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;margin-right:16px;padding:8px 16px;transition:background .2s}.btn-back:hover{background:#5a6268;background:var(--status-muted-hover,#5a6268)}.btn-add:active,.btn-back:active,.btn-edit-receiver:active,.btn-expand:active,.btn-location-picker-compact:active,.btn-save-receiver:active:not(:disabled),.btn-view:active{opacity:.9;transform:scale(.98)}.btn-add:focus-visible,.btn-back:focus-visible,.btn-edit-receiver:focus-visible,.btn-expand:focus-visible,.btn-location-picker-compact:focus-visible,.btn-save-receiver:focus-visible,.btn-view:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.receivers-table tbody tr:active{background:var(--bg-card-active)}.receiver-card:active{box-shadow:var(--shadow-sm);transform:translateY(0)}@media (max-width:1023px){.receivers-page{padding:16px}.receivers-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.receiver-card{padding:20px}.receivers-table td,.receivers-table th{padding:12px}}@media (max-width:768px){.receivers-page{-webkit-overflow-scrolling:touch;padding:12px 12px 72px}.receivers-grid{grid-template-columns:1fr}.receivers-header{align-items:flex-start;flex-direction:column;gap:12px}.receivers-title{font-size:24px}.btn-add{font-size:15px;min-height:44px;width:100%}.receiver-card{padding:16px}.receiver-name{font-size:18px}.receiver-stats{grid-template-columns:1fr}.receivers-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.receivers-table{min-width:600px}.receivers-table td,.receivers-table th{font-size:13px;padding:12px 8px}.btn-back,.btn-edit-receiver,.btn-view{min-height:40px;padding:8px 14px}.btn-expand{font-size:14px;min-height:44px}.form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:40px;padding:10px}.info-input{font-size:16px;min-height:40px}.receiver-name-input{font-size:18px;min-height:44px}}@media (max-width:480px){.receivers-page{padding:8px}.receivers-header{margin-bottom:16px}.receivers-title{font-size:20px}.receivers-summary{font-size:13px}.receiver-card{border-radius:8px;padding:12px}.receiver-card-header{flex-direction:column;gap:12px}.btn-edit-receiver,.receiver-header{width:100%}.detail-item{flex-direction:column;gap:2px}.detail-label{min-width:auto}.form-row-compact{grid-template-columns:1fr}}@media (hover:none) and (pointer:coarse){.receiver-card:hover{box-shadow:var(--shadow-md);transform:none}.receivers-table tbody tr:hover{background:#0000}.receiver-card:active,.receivers-table tbody tr:active{background:var(--bg-card-active)}.btn-add,.btn-back,.btn-edit-receiver,.btn-expand,.btn-location-picker-compact,.btn-save-receiver,.btn-view{min-height:44px}.receivers-table tbody tr{min-height:60px}.form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:44px}}.receivers-header-actions{gap:10px}.receivers-controls,.receivers-header-actions{align-items:center;display:flex;flex-wrap:wrap}.receivers-controls{gap:12px;margin-bottom:12px}.receivers-scope,.receivers-status-filter{display:inline-flex;gap:6px}.receivers-scope{border-right:1px solid var(--border-medium);padding-right:12px}.receivers-owner-filter{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);font-size:.85rem;max-width:320px;padding:6px 10px}.receivers-error{color:var(--status-error-text);font-size:.85rem}.receivers-layout{grid-gap:16px;grid-gap:var(--spacing-lg,16px);align-items:start;display:grid;gap:16px;gap:var(--spacing-lg,16px);grid-template-columns:minmax(300px,32%) minmax(0,1fr)}.receivers-map-col{position:sticky;top:0}.receivers-layout .admin-map-wrap{margin-bottom:0}.receivers-layout .admin-map{height:calc(100vh - 240px);min-height:320px}.receivers-list-col{max-height:calc(100vh - 200px);min-width:0;overflow:auto}.receivers-list-col .receivers-table-container{overflow:visible}.receivers-list-col .receivers-table thead th{background:var(--bg-card-hover);box-shadow:inset 0 -2px 0 var(--border-on-card);position:sticky;top:0;z-index:1}@media (max-width:1100px){.receivers-layout{grid-template-columns:1fr}.receivers-map-col{position:static}.receivers-layout .admin-map{height:380px}.receivers-list-col{max-height:none;overflow:visible}.receivers-list-col .receivers-table-container{overflow-x:auto}}.receivers-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.receivers-table th.sortable:hover{background:var(--bg-card-hover);color:var(--text-on-card)}.receivers-table td.num-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.receivers-table .receiver-owner-cell{color:var(--text-on-card-secondary);font-size:.85rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receivers-table .receiver-actions-cell{white-space:nowrap}.receivers-table .receiver-actions-cell .btn-view+.btn-view{margin-left:6px}.receiver-mcard-group{background:var(--bg-tertiary);border-radius:6px;padding:8px 12px}.software-badge.declared{background:#0000;border:1px dashed var(--border-medium);color:var(--text-secondary)}.protocol-badge.active{background:var(--status-connected);border-color:var(--status-connected);color:#fff;color:var(--text-primary,#fff)}.location-airport{color:var(--text-on-card-muted);font-family:monospace;font-size:.75rem;margin-left:6px}.update-badge{background:var(--status-warning-bg-transparent);border:1px solid var(--status-warning);border-radius:3px;color:var(--status-warning-text);cursor:pointer;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.update-badge:hover{background:var(--status-warning);color:#fff;color:var(--text-primary,#fff)}.update-current{color:var(--text-on-card-muted);font-size:.75rem}.quicklink.stale{opacity:.7}.receivers-header.receiver-detail-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.receiver-detail-title{flex:1 1 auto;font-size:20px;line-height:1.25;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receiver-detail-header .btn-back{align-items:center;border-radius:6px;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:600;gap:6px;padding:6px 12px}.receiver-detail-header .btn-view{flex:0 0 auto}@media (max-width:600px){.receivers-header.receiver-detail-header{gap:8px;margin-bottom:12px}.receiver-detail-title{font-size:17px}.receiver-detail-header .btn-back-text{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.receiver-detail-header .btn-back{font-size:15px;padding:6px 10px}}.receiver-detail{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-md,0 2px 8px #0000001a);padding:24px}.detail-header{border-bottom:2px solid #e1e4e8;border-bottom:2px solid var(--border-on-card,#e1e4e8);justify-content:flex-start;margin-bottom:24px;padding-bottom:16px}.receiver-status-large{align-items:center;border-radius:14px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.receiver-status-large.online{background:#d4edda;background:var(--status-connected-bg,#d4edda);border:2px solid #c3e6cb;border:2px solid var(--status-connected-border,#c3e6cb);color:#155724;color:var(--status-connected-text,#155724)}.receiver-status-large.online:before{color:#28a745;color:var(--status-connected,#28a745);content:"✓";font-size:13px;font-weight:700}.receiver-status-large.offline{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:2px solid #f5c6cb;border:2px solid var(--status-error-border,#f5c6cb);color:#721c24;color:var(--status-error-text,#721c24)}.receiver-status-large.offline:before{color:#dc3545;color:var(--status-error,#dc3545);content:"●";font-size:13px}.receiver-status-large.pending{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);border:2px solid #ffeaa7;border:2px solid var(--status-warning-border,#ffeaa7);color:#856404;color:var(--status-warning-text,#856404)}.receiver-status-large.pending:before{color:#ffc107;color:var(--status-warning,#ffc107);content:"+";font-size:13px;font-weight:700}.btn-save-detail{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:background .2s,opacity .2s}.btn-save-detail:hover:not(:disabled){background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.btn-save-detail:disabled{cursor:not-allowed;opacity:.5}.form-actions-bottom,.form-actions-header{display:flex;gap:12px}.form-actions-bottom{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border-radius:8px;justify-content:flex-end;margin-top:24px;padding:24px}.uuid-field-container{align-items:center;display:flex;gap:8px}.uuid-field-container .uuid-input{flex:1 1}.btn-copy-uuid{align-items:center;background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:10px 12px;transition:background .2s}.btn-copy-uuid:hover{background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.btn-copy-uuid svg{display:block}.btn-cancel-detail{background:#6c757d;background:var(--status-muted,#6c757d);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:background .2s}.btn-cancel-detail:hover{background:#5a6268;background:var(--status-muted-hover,#5a6268)}.btn-delete{background:#dc3545;background:var(--status-error,#dc3545);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:16px;font-weight:600;margin-top:24px;padding:12px 32px;transition:background .2s}.btn-delete:hover{background:#c82333;background:var(--status-error-hover,#c82333)}.detail-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.stat-card{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border:1px solid #e1e4e8;border:1px solid var(--border-on-card,#e1e4e8);border-left:3px solid #0000;border-radius:6px;gap:2px;min-height:0;padding:10px 12px}.stat-card.highlight-card{border-left-color:#ff6b35;border-left-color:var(--accent-primary,#ff6b35)}.stat-card.highlight-card .stat-value-large{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.stat-card.highlight-card-success{border-left-color:#28a745;border-left-color:var(--status-connected,#28a745)}.stat-card.highlight-card-success .stat-value-large{color:#28a745;color:var(--status-connected,#28a745)}.stat-card .stat-label{color:#666;color:var(--text-on-card-muted,#666);font-size:10px;font-weight:600;letter-spacing:.5px;line-height:1.2;text-transform:uppercase}.stat-value-large{font-feature-settings:"tnum";color:#333;color:var(--text-on-card,#333);font-size:22px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15}.stat-value-large.stat-value-text{font-size:14px;font-weight:600}.detail-sections{display:flex;flex-direction:column;gap:24px}.detail-section{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border-radius:8px;padding:24px}.detail-section h3{border-bottom:2px solid #e1e4e8;border-bottom:2px solid var(--border-on-card,#e1e4e8);color:#333;color:var(--text-on-card,#333);font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.detail-field{display:flex;flex-direction:column}.detail-field label{color:#666;color:var(--text-on-card-muted,#666);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.field-input{border:1px solid #d1d5db;border:1px solid var(--border-on-card,#d1d5db);box-sizing:border-box;color:#333;color:var(--text-on-card,#333);font-family:inherit;line-height:1.5;transition:border-color .2s}.field-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.field-input.disabled{background-color:#e8e8e8;background-color:var(--bg-card-active,#e8e8e8);border-color:silver;border-color:var(--border-on-card-light,silver);color:#666;color:var(--text-on-card-muted,#666);cursor:not-allowed;font-family:Courier New,monospace;font-size:13px;line-height:1.5}.field-textarea{background:#fff;background:var(--bg-input,#fff);border:1px solid #d1d5db;border:1px solid var(--border-on-card,#d1d5db);border-radius:6px;box-sizing:border-box;color:#333;color:var(--text-on-card,#333);font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;transition:border-color .2s;width:100%}.field-textarea:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.field-note{color:#666;color:var(--text-on-card-muted,#666);font-size:11px;font-style:italic}.error-message,.field-note{display:block;margin-top:4px}.error-message{font-size:12px;font-weight:500}.field-input.error{border-color:#dc3545;border-color:var(--status-error,#dc3545);border-width:2px}.btn-location-full{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:12px;transition:background .2s;width:100%}.btn-location-full:hover{background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.config-instructions{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border:1px solid #dee2e6;border:1px solid var(--border-on-card,#dee2e6);border-radius:6px;margin-top:20px;padding:16px}.config-instructions label{color:#333;color:var(--text-on-card,#333);display:block;font-size:14px;font-weight:600;margin-bottom:12px}.instructions-content{background:#fff;background:var(--bg-input,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-on-card,#e5e7eb);border-radius:4px;padding:16px}.instructions-content ol{margin:0;padding-left:24px}.instructions-content li{color:#333;color:var(--text-on-card,#333);font-size:14px;margin-bottom:12px}.instructions-content li:last-child{margin-bottom:0}.instruction-item{display:flex;flex-direction:column;gap:8px;padding:4px 0}.instruction-text{line-height:1.6}.command-block{align-items:center;background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border:1px solid #e5e7eb;border:1px solid var(--border-on-card,#e5e7eb);border-radius:4px;display:flex;gap:8px;margin-top:4px;padding:8px 12px}.instructions-content .command{color:#06c;color:var(--accent-link,#06c);flex:1 1;font-family:Courier New,Courier,monospace;font-size:13px;font-style:italic;word-break:break-all}.btn-copy{align-items:center;background:#0000;border:none;border-radius:4px;color:#616161;color:var(--text-on-card-muted,#616161);cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:4px;transition:color .2s,background-color .2s;width:24px}.btn-copy:hover{background-color:#f3f3f3;background-color:var(--bg-card-active,#f3f3f3);color:#1a1a1a;color:var(--text-on-card,#1a1a1a)}.btn-copy:active{background-color:#e8e8e8;background-color:var(--bg-card-active,#e8e8e8)}.btn-copy svg{display:block}.coming-soon-message{padding:24px 16px;text-align:center}.coming-soon-message p:first-child{color:#ff6b35;color:var(--accent-primary,#ff6b35);font-size:18px;font-weight:600;margin:0 0 8px}.coming-soon-hint{color:#666;color:var(--text-on-card-muted,#666);font-size:14px;margin:0}.modal-overlay{background:#00000080;background:var(--overlay-bg,#00000080);z-index:1000}.delete-confirm-modal{background:#fff;background:var(--bg-card,#fff);border-radius:12px;box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg,0 4px 20px #0000004d);max-width:500px;width:90%}.modal-header{border-bottom:1px solid #e1e4e8;border-bottom:1px solid var(--border-on-card,#e1e4e8);padding:24px 24px 16px}.modal-header h2{font-size:24px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;color:var(--text-on-card-muted,#666);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-button:hover{background:#f0f0f0;background:var(--bg-card-hover,#f0f0f0);color:#333;color:var(--text-on-card,#333)}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e1e4e8;border-top:1px solid var(--border-on-card,#e1e4e8);padding:16px 24px 24px}.api-error-banner{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:2px solid #f5c6cb;border:2px solid var(--status-error-border,#f5c6cb);border-radius:8px;margin-bottom:20px;padding:16px 20px}.api-error-banner,.api-error-banner h4{color:#721c24;color:var(--status-error-text,#721c24)}.api-error-banner h4{font-size:16px;font-weight:600;margin:0 0 12px}.api-error-banner ul{list-style-type:disc;margin:0;padding-left:20px}.api-error-banner li{font-size:14px;line-height:1.5;margin-bottom:6px}.api-error-banner li:last-child{margin-bottom:0}.api-success-banner{background:#d4edda;background:var(--status-connected-bg,#d4edda);border:2px solid #c3e6cb;border:2px solid var(--status-connected-border,#c3e6cb);border-radius:8px;margin-bottom:20px;padding:16px 20px}.api-success-banner,.api-success-banner h4{color:#155724;color:var(--status-connected-text,#155724)}.api-success-banner h4{font-size:16px;font-weight:600;margin:0}.checkbox-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-field.checkbox-field{align-items:flex-start;flex-direction:row;padding:0}.checkbox-label{align-items:flex-start;color:#333;color:var(--text-on-card,#333);cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:10px;letter-spacing:normal;text-transform:none}.checkbox-label input[type=checkbox]{accent-color:#ff6b35;accent-color:var(--accent-primary,#ff6b35);cursor:pointer;height:18px;margin-top:2px;min-width:18px;width:18px}.checkbox-label span{line-height:1.4}.detail-field.full-width{grid-column:1/-1}.save-footer{background:linear-gradient(0deg,#d4cfc1 60%,#0000);background:linear-gradient(to top,var(--bg-card,#d4cfc1) 60%,#0000);bottom:0;display:flex;justify-content:center;left:0;margin-top:24px;padding:24px 0 8px;position:sticky;right:0;z-index:10}.save-footer .btn-save-detail{box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md,0 4px 12px #00000026);min-width:200px}.save-footer .btn-save-detail:disabled{background:#9ca3af;background:var(--status-muted,#9ca3af);box-shadow:none}@media (max-width:768px){.detail-grid{grid-template-columns:1fr}.save-footer{padding:16px 0 8px}.save-footer .btn-save-detail{max-width:300px;width:100%}}@media (max-width:480px){.detail-stats{gap:8px;grid-template-columns:1fr 1fr}.detail-stats .stat-card:last-child:nth-child(odd){grid-column:1/-1}.stat-card{padding:8px 10px}.stat-value-large{font-size:19px}}.debug-type-badge{border-radius:3px;font-size:10px;font-weight:600;padding:1px 6px;text-transform:uppercase}.debug-type-beast_data{background:#1a3a4a;background:var(--accent-bg,#1a3a4a);color:#4fc3f7;color:var(--accent-color,#4fc3f7)}.debug-type-uuid_binary,.debug-type-uuid_text{background:#1a3a1a;background:var(--success-bg,#1a3a1a);color:#4caf50;color:var(--success-color,#4caf50)}.debug-type-connection,.debug-type-connection_attempt,.debug-type-first_beast_message,.debug-type-uuid_received{background:#1a2a3a;background:var(--info-bg,#1a2a3a);color:#64b5f6;color:var(--info-color,#64b5f6)}.debug-type-disconnect,.debug-type-disconnected{background:#3a2a1a;background:var(--warning-bg,#3a2a1a);color:#ff9800;color:var(--warning-color,#ff9800)}.debug-type-unknown,.debug-type-uuid_invalid{background:#3a1a1a;background:var(--error-bg,#3a1a1a);color:#ef5350;color:var(--error-color,#ef5350)}.debug-type-stats{background:#1a3a1a;background:var(--success-bg,#1a3a1a);color:#4caf50;color:var(--success-color,#4caf50)}.debug-type-cfg-ack,.debug-type-cfg-current,.debug-type-cfg-ver,.debug-type-host,.debug-type-update-ack{background:#3a321a;background:var(--accent-secondary-bg,#3a321a);color:#d4a520;color:var(--accent-secondary,#d4a520)}.debug-type-acars,.debug-type-airband,.debug-type-loc,.debug-type-text{background:#1a2a3a;background:var(--info-bg,#1a2a3a);color:#64b5f6;color:var(--info-color,#64b5f6)}.debug-buffer-table tr:hover{background:#ffffff08;background:var(--bg-hover,#ffffff08)}.airport-content-tabs{-webkit-overflow-scrolling:touch;background:#4a5562;background:var(--bg-secondary,#4a5562);display:flex;flex-shrink:0;gap:4px;overflow-x:auto;padding:0 12px;position:relative;scrollbar-width:none}.airport-content-tabs:after{background:#fff3;background:var(--border-medium,#fff3);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;z-index:0}.airport-content-tabs::-webkit-scrollbar{display:none}@media (min-width:900px){.detail-stats{gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stat-value-large{font-size:24px}}@media (min-width:1600px){.receiver-detail{margin-left:auto;margin-right:auto;max-width:1500px}}@media (max-width:600px){.receiver-detail{border-radius:8px;padding:12px}.detail-section{padding:12px}.detail-sections{gap:12px}}.location-picker-modal{max-width:800px}.location-picker-content{padding:24px}.search-section{display:flex;gap:12px;margin-bottom:16px}.address-input{background:#fff;background:var(--bg-input,#fff);border:1px solid #d1d5db;border:1px solid var(--border-on-card,#d1d5db);border-radius:6px;color:#333;color:var(--text-on-card,#333);flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px}.address-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.btn-search{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s;white-space:nowrap}.btn-search:hover:not(:disabled){background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.btn-search:disabled{cursor:not-allowed;opacity:.6}.instruction-text{color:#666;color:var(--text-on-card-muted,#666);font-size:13px;line-height:1.5;margin-bottom:16px}.coordinates-display{background:#f0f9ff;background:var(--coordinates-bg,#f0f9ff);border:1px solid #bae6fd;border:1px solid var(--coordinates-border,#bae6fd);border-radius:6px;color:#333;color:var(--text-on-card,#333);font-size:14px;margin-bottom:16px;padding:12px}.coordinates-display strong{color:#0369a1;color:var(--coordinates-accent,#0369a1)}.map-container{border:2px solid #e5e7eb;border:2px solid var(--border-on-card,#e5e7eb);border-radius:8px;margin-bottom:24px;overflow:hidden}.form-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel{background:#6b7280;background:var(--status-muted,#6b7280);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.btn-cancel:hover{background:#4b5563;background:var(--status-muted-hover,#4b5563)}.btn-confirm{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.btn-confirm:hover{background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.location-picker-container{margin-top:16px}.viewer-management{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border-radius:8px;padding:24px}.viewer-header{align-items:center;border-bottom:2px solid #e1e4e8;border-bottom:2px solid var(--border-on-card,#e1e4e8);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.viewer-header h3{color:#333;color:var(--text-on-card,#333);font-size:18px;font-weight:600;margin:0}.viewer-count{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:12px;color:#fff;color:var(--text-primary,#fff);font-size:13px;font-weight:600;padding:4px 12px}.add-viewer-form{background:#fff;background:var(--bg-input,#fff);border:1px solid #e1e4e8;border:1px solid var(--border-on-card,#e1e4e8);border-radius:6px;margin-bottom:20px;padding:16px}.add-viewer-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.viewer-email-input{background:#fff;background:var(--bg-input,#fff);border:1px solid #d1d5db;border:1px solid var(--border-on-card,#d1d5db);border-radius:6px;color:#333;color:var(--text-on-card,#333);flex:1 1;font-family:inherit;font-size:14px;min-width:200px;padding:10px 12px;transition:border-color .2s}.viewer-email-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.viewer-email-input:disabled{background-color:#f0f0f0;background-color:var(--bg-card-hover,#f0f0f0);cursor:not-allowed}.history-checkbox-label{align-items:center;color:#333;color:var(--text-on-card,#333);cursor:pointer;display:flex;font-size:14px;gap:6px;white-space:nowrap}.history-checkbox-label input[type=checkbox]{accent-color:#ff6b35;accent-color:var(--accent-primary,#ff6b35);cursor:pointer;height:16px;width:16px}.btn-add-viewer{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s;white-space:nowrap}.btn-add-viewer:hover:not(:disabled){background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.btn-add-viewer:disabled{cursor:not-allowed;opacity:.5}.add-viewer-hint{color:#666;color:var(--text-on-card-muted,#666);font-size:12px;font-style:italic;margin:12px 0 0}.viewer-limit-message{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);border:1px solid #ffeaa7;border:1px solid var(--status-warning-border,#ffeaa7);border-radius:6px;color:#856404;color:var(--status-warning-text,#856404);font-size:14px;margin-bottom:16px;padding:12px 16px}.no-viewers-message,.viewer-loading{color:#666;color:var(--text-on-card-muted,#666);font-size:14px;padding:20px;text-align:center}.viewer-success-banner{background:#d4edda;background:var(--status-connected-bg,#d4edda);border:1px solid #c3e6cb;border:1px solid var(--status-connected-border,#c3e6cb);border-radius:6px;color:#155724;color:var(--status-connected-text,#155724)}.viewer-error-banner,.viewer-success-banner{font-size:14px;font-weight:500;margin-bottom:16px;padding:10px 16px}.viewer-error-banner{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--status-error-border,#f5c6cb);border-radius:6px;color:#721c24;color:var(--status-error-text,#721c24)}.viewers-table{background:#fff;background:var(--bg-input,#fff);border:1px solid #e1e4e8;border:1px solid var(--border-on-card,#e1e4e8);border-radius:6px;overflow:hidden}.viewers-table-header{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa);border-bottom:2px solid #e1e4e8;border-bottom:2px solid var(--border-on-card,#e1e4e8);color:#666;color:var(--text-on-card-muted,#666);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.viewer-row,.viewers-table-header{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 80px 120px 80px;padding:12px 16px}.viewer-row{align-items:center;border-bottom:1px solid #e1e4e8;border-bottom:1px solid var(--border-on-card,#e1e4e8);font-size:14px}.viewer-row:last-child{border-bottom:none}.viewer-row:hover{background:#f8f9fa;background:var(--bg-card-hover,#f8f9fa)}.viewer-col-email{color:#333;color:var(--text-on-card,#333);word-break:break-word}.viewer-col-history{text-align:center}.viewer-col-last-active{color:#666;color:var(--text-on-card-muted,#666);font-size:13px}.viewer-col-actions{text-align:right}.history-toggle{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;transition:all .2s}.history-toggle.enabled{background:#d4edda;background:var(--status-connected-bg,#d4edda);color:#155724;color:var(--status-connected-text,#155724)}.history-toggle.enabled:hover{background:#c3e6cb;background:var(--status-connected-border,#c3e6cb)}.history-toggle.disabled{background:#e1e4e8;background:var(--bg-card-active,#e1e4e8);color:#666;color:var(--text-on-card-muted,#666)}.history-toggle.disabled:hover{background:#d1d5db;background:var(--border-on-card,#d1d5db)}.btn-remove-viewer{background:#0000;border:1px solid #dc3545;border:1px solid var(--status-error,#dc3545);border-radius:4px;color:#dc3545;color:var(--status-error,#dc3545);cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .2s}.btn-remove-viewer:hover{background:#dc3545;background:var(--status-error,#dc3545);color:#fff;color:var(--text-primary,#fff)}@media (max-width:768px){.add-viewer-inputs{align-items:stretch;flex-direction:column}.viewer-email-input{min-width:auto;width:100%}.history-checkbox-label{padding:8px 0}.btn-add-viewer{width:100%}.viewers-table-header{display:none}.viewer-row{display:flex;flex-direction:column;gap:8px;padding:16px}.viewer-col-email{font-weight:500}.viewer-col-actions,.viewer-col-history,.viewer-col-last-active{text-align:left}.viewer-col-history:before{content:"History: "}.viewer-col-history:before,.viewer-col-last-active:before{color:#666;color:var(--text-on-card-muted,#666);font-size:12px}.viewer-col-last-active:before{content:"Last Active: "}}.cfg-form{color:#333;color:var(--text-on-card,#333);display:flex;flex-direction:column;gap:16px;padding:8px}.cfg-form-empty,.cfg-form-loading{color:var(--text-secondary);padding:24px;text-align:center}.cfg-form-meta{grid-gap:8px 16px;background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:6px;color:#333;color:var(--text-on-card,#333);display:grid;gap:8px 16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:10px 12px}.cfg-meta-row{display:flex;flex-direction:column;font-size:12px}.cfg-meta-label{color:#666;color:var(--text-on-card-muted,#666);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.cfg-meta-value{color:#333;color:var(--text-on-card,#333);font-weight:600}.cfg-meta-pending{color:#d2a106;color:var(--warning,#d2a106);font-weight:400;margin-left:4px}.cfg-online{color:#2e7d32;color:var(--success,#2e7d32)}.cfg-offline{color:#666;color:var(--text-on-card-muted,#666)}.cfg-awaiting{color:#856404;color:var(--status-warning-text,#856404)}.cfg-awaiting-banner{background:#ffc10726;background:var(--status-warning-bg-transparent,#ffc10726);border-left:4px solid #ffc107;border-left:4px solid var(--status-warning,#ffc107);color:#333;color:var(--text-on-card,#333)}.cfg-awaiting-banner,.cfg-lastknown-banner{border-radius:6px;font-size:.92rem;line-height:1.45;margin:0 0 14px;padding:10px 14px}.cfg-lastknown-banner{border-left:4px solid #dc3545;border-left:4px solid var(--status-disconnected,#dc3545)}.cfg-lastknown-banner,.cfg-stale-badge{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.cfg-stale-badge{border:1px solid #dc3545;border:1px solid var(--status-disconnected,#dc3545);border-radius:3px;font-size:9px;letter-spacing:.5px;margin-left:6px;padding:1px 5px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.cfg-ok{color:#2e7d32;color:var(--success,#2e7d32)}.cfg-err{color:#d9534f;color:var(--danger,#d9534f)}.cfg-updating{color:#d2a106;color:var(--warning,#d2a106)}.cfg-meta-time{margin-left:6px}.cfg-meta-hint,.cfg-meta-time{color:#666;color:var(--text-on-card-muted,#666);font-weight:400}.cfg-meta-hint{font-size:.92em}.cfg-meta-error{background:var(--bg-card);border-left:3px solid #d9534f;border-left:3px solid var(--danger,#d9534f);font-size:12px;grid-column:1/-1;padding:6px 10px;white-space:pre-wrap}.cfg-banner{border-radius:4px;font-size:13px;padding:8px 12px}.cfg-banner-error{background:var(--bg-card);border-left:3px solid #d9534f;border-left:3px solid var(--danger,#d9534f);color:#d9534f;color:var(--danger,#d9534f)}.cfg-banner-info{background:var(--bg-card);border-left:3px solid #17a2b8;border-left:3px solid var(--info,#17a2b8);color:var(--text-primary)}.cfg-section{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:4px;color:#333;color:var(--text-on-card,#333)}.cfg-section-header{background:#3d4751;background:var(--table-header-bg,#3d4751);border:none;border-radius:4px 4px 0 0;color:#fff;color:var(--table-header-text,#fff);cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:8px 12px;text-align:left;width:100%}.cfg-section-toggle{font-size:14px;opacity:.8}.cfg-section-body{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:12px}.cfg-field{display:flex;flex-direction:column;gap:4px}.cfg-field-label{align-items:center;color:#333;color:var(--text-on-card,#333);display:flex;font-size:12px;font-weight:500;gap:6px}.cfg-bool{align-items:center;display:inline-flex;gap:6px}.cfg-default-badge{background:#eee;background:var(--bg-secondary,#eee);border:1px solid #ccc;border:1px solid var(--border-medium,#ccc);border-radius:3px;color:#666;color:var(--text-secondary,#666)}.cfg-default-badge,.cfg-restart-badge{font-size:9px;letter-spacing:.5px;padding:1px 5px;text-transform:uppercase}.cfg-restart-badge{background:#fff3cd;background:var(--warning-bg,#fff3cd);border:1px solid #ffeeba;border:1px solid var(--warning-border,#ffeeba);border-radius:3px;color:#856404;color:var(--warning,#856404)}.cfg-meta-software{align-items:flex-start;gap:6px}.cfg-update-badge{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);border:1px solid #ffc107;border:1px solid var(--status-warning,#ffc107);border-radius:3px;color:#856404;color:var(--status-warning-text,#856404);display:inline-block;font-size:10px;font-weight:600;margin-left:6px;padding:1px 6px;vertical-align:middle}.cfg-update-uptodate{color:#666;color:var(--text-on-card-muted,#666);font-size:10px;font-weight:400;margin-left:6px}.cfg-update-btn{align-self:flex-start;margin-top:2px}a.cfg-update-btn{display:inline-block;text-decoration:none}.cfg-update-status{color:#666;color:var(--text-on-card-muted,#666);font-size:11px;font-weight:500}.cfg-field input[type=number],.cfg-field input[type=text],.cfg-field select{background:#fff;background:var(--bg-input,#fff);border:1px solid #999;border:1px solid var(--border-medium,#999);border-radius:3px;color:#333;color:var(--text-on-card,#333);font-size:13px;padding:5px 8px}.cfg-field input[type=checkbox]{align-self:flex-start;height:16px;width:16px}.cfg-field-help{color:#666;color:var(--text-on-card-muted,#666);font-size:11px}.cfg-field-disabled .cfg-field-help,.cfg-field-disabled .cfg-field-label{opacity:.55}.cfg-field-disabled input[type=number],.cfg-field-disabled input[type=text],.cfg-field-disabled select{background:#ece8de;background:var(--bg-card-hover,#ece8de);color:#888;color:var(--text-on-card-muted,#888);cursor:not-allowed}.cfg-field-disabled-reason{color:#666;color:var(--text-on-card-muted,#666);font-style:italic}.cfg-form-actions{display:flex;gap:8px;justify-content:flex-end;padding:8px 0}.cfg-btn{border:1px solid var(--border-medium);border-radius:3px;cursor:pointer;font-size:13px;padding:6px 14px}.cfg-btn[disabled]{cursor:not-allowed;opacity:.55}.cfg-btn-primary{background:#2c7be5;background:var(--accent,#2c7be5);border-color:#2c7be5;border-color:var(--accent,#2c7be5);color:#fff}.cfg-btn-secondary{background:#fff;background:var(--bg-input,#fff);color:#333;color:var(--text-on-card,#333)}.cfg-autoupdate-toggle{align-items:flex-start;color:#333;color:var(--text-on-card,#333);cursor:pointer;display:flex;font-weight:400;gap:8px}.cfg-autoupdate-toggle input[type=checkbox]{cursor:pointer;flex:0 0 auto;height:16px;margin:1px 0 0;width:16px}.cfg-autoupdate-toggle input[type=checkbox]:disabled{cursor:progress}.cfg-autoupdate-toggle input[type=checkbox]:disabled+span{color:#666;color:var(--text-on-card-muted,#666)}.requires-aviotrack-banner{background:#ffc10726;background:var(--status-warning-bg-transparent,#ffc10726);border-left:4px solid #ffc107;border-left:4px solid var(--status-warning,#ffc107);border-radius:6px;color:#333;color:var(--text-on-card,#333);font-size:.92rem;line-height:1.45;margin:0 0 14px;padding:10px 14px}.requires-aviotrack-banner a{color:var(--accent-primary);font-weight:600;text-decoration:underline}.perf-charts{color:#333;color:var(--text-on-card,#333);gap:12px;padding:8px}.perf-charts,.perf-charts-header{display:flex;flex-direction:column}.perf-charts-header{gap:4px}.perf-charts-controls{gap:16px}.perf-charts-controls,.perf-control-group{align-items:center;display:flex;flex-wrap:wrap}.perf-control-group{gap:6px;min-width:0}.perf-control-label{color:#666;color:var(--text-on-card-muted,#666);font-size:11px;letter-spacing:.5px;margin-right:4px;text-transform:uppercase}.perf-pill{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:12px;color:#333;color:var(--text-on-card,#333);cursor:pointer;font-size:12px;padding:3px 10px}.perf-pill.active{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);color:#fff}.perf-pill[disabled]{cursor:not-allowed;opacity:.55}.perf-charts-meta{color:#666;color:var(--text-on-card-muted,#666);font-size:11px}.perf-charts-error{color:#d9534f;color:var(--danger,#d9534f)}.perf-anchored-banner{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border-left:4px solid #dc3545;border-left:4px solid var(--status-disconnected,#dc3545);border-radius:6px;color:#721c24;color:var(--status-error-text,#721c24);font-size:.92rem;line-height:1.45;margin:0 0 12px;padding:10px 14px}.perf-charts-live-stale{border-color:#dc3545;border-color:var(--status-disconnected,#dc3545);border-style:dashed}.perf-charts-live{grid-gap:8px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.perf-charts-live,.perf-freshness-panel{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:6px;color:#333;color:var(--text-on-card,#333);display:grid;gap:8px;padding:10px 12px}.perf-freshness-panel{grid-gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:8px}.perf-freshness-cell{border-left:3px solid #0000;padding:0 8px;text-align:left}.perf-freshness-label{color:#666;color:var(--text-on-card-muted,#666);font-size:10px;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.perf-freshness-value{font-feature-settings:"tnum";color:#333;color:var(--text-on-card,#333);font-size:14px;font-variant-numeric:tabular-nums;font-weight:500}.perf-freshness-indicator{display:inline-block;font-weight:700;margin-right:6px}.perf-freshness-fresh{border-left-color:#2ecc71;border-left-color:var(--success,#2ecc71)}.perf-freshness-fresh .perf-freshness-indicator{color:#2ecc71;color:var(--success,#2ecc71)}.perf-freshness-stale{border-left-color:#d9534f;border-left-color:var(--danger,#d9534f)}.perf-freshness-stale .perf-freshness-indicator{color:#d9534f;color:var(--danger,#d9534f)}.perf-live-stat{text-align:center}.perf-live-stat-value{color:#333;color:var(--text-on-card,#333);font-size:20px;font-weight:600}.perf-live-stat-label{color:#666;color:var(--text-on-card-muted,#666);font-size:10px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.perf-charts-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.perf-chart{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:4px;color:#333;color:var(--text-on-card,#333);display:flex;flex-direction:column;gap:4px;padding:8px}.perf-chart-header{color:#666;color:var(--text-on-card-muted,#666);display:flex;font-size:12px;justify-content:space-between;letter-spacing:.5px;text-transform:uppercase}.perf-chart-title{color:#333;color:var(--text-on-card,#333);font-weight:600}.perf-chart-svg{height:auto;width:100%}.perf-chart-empty{align-items:center;color:#666;color:var(--text-on-card-muted,#666);display:flex;font-size:12px;height:80px;justify-content:center}.perf-chart .chart-gridline{stroke:#00000026;stroke:var(--border-on-card,#00000026);stroke-width:.6;stroke-dasharray:4 4}.perf-chart .chart-axis-label{fill:#2c3e50;fill:var(--text-on-card,#2c3e50);font-family:inherit;font-size:11px;font-weight:500}.perf-chart-line{stroke-width:1.8;fill:none}.perf-chart-line-primary{stroke:#2c7be5}.perf-chart-line-secondary{stroke:#6c757d}.perf-chart-line-muted{stroke:#8e8c87;stroke-dasharray:3 2}.perf-chart-line-danger{stroke:#d9534f;stroke:var(--danger,#d9534f)}.perf-chart-legend{color:#2c3e50;color:var(--text-on-card,#2c3e50);display:flex;flex-wrap:wrap;font-size:11px;font-weight:500;gap:12px;margin-top:4px}.perf-chart-legend-item:before{background:currentColor;content:"";display:inline-block;height:2px;margin-right:4px;vertical-align:middle;width:12px}.perf-chart-legend-primary{color:#2c7be5}.perf-chart-legend-secondary{color:#6c757d}.perf-chart-legend-muted{color:#8e8c87}.perf-chart-legend-danger{color:#d9534f;color:var(--danger,#d9534f)}.perf-events-section{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:6px;color:#333;color:var(--text-on-card,#333);margin-top:16px;padding:12px}.perf-events-title{font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.perf-events-count,.perf-events-title{color:#666;color:var(--text-on-card-muted,#666)}.perf-events-count{font-weight:400;margin-left:4px}.perf-events-empty{color:#666;color:var(--text-on-card-muted,#666);font-size:12px;font-style:italic}.perf-events-table-wrapper{border-top:1px solid #ccc;border-top:1px solid var(--border-on-card-light,#ccc);max-height:320px;overflow-y:auto}.perf-events-table{font-feature-settings:"tnum";border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;width:100%}.perf-events-table td,.perf-events-table th{border-bottom:1px solid #ccc;border-bottom:1px solid var(--border-on-card-light,#ccc);padding:5px 8px;text-align:left;vertical-align:top}.perf-events-table th{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);color:#666;color:var(--text-on-card-muted,#666);font-size:10px;font-weight:600;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0}.perf-events-src,.perf-events-when{color:#666;color:var(--text-on-card-muted,#666);white-space:nowrap}.perf-events-src{font-family:monospace}.perf-events-msg{color:#333;color:var(--text-on-card,#333)}.perf-events-type{font-weight:600;white-space:nowrap}.perf-events-type-good{color:#2ecc71;color:var(--success,#2ecc71)}.perf-events-type-warn{color:#e0a800}.perf-events-type-bad{color:#d9534f;color:var(--danger,#d9534f)}@media (max-width:1023px){.perf-charts-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:600px){.perf-charts{gap:10px;padding:8px 10px}.perf-charts-controls{gap:8px}.perf-pill{font-size:13px;min-height:36px;padding:6px 14px}.perf-control-label{margin-bottom:2px;margin-right:0;width:100%}.perf-control-group{width:100%}.perf-freshness-panel{gap:6px;grid-template-columns:1fr 1fr;padding:10px}.perf-freshness-value{font-size:13px}.perf-freshness-label{font-size:9px}.perf-charts-live{padding:10px}.perf-live-stat-value{font-size:16px}.perf-charts-grid{gap:10px;grid-template-columns:1fr!important}.perf-events-section{margin-top:12px;padding:10px}.perf-events-table-wrapper{border-top:none;max-height:50vh}.perf-events-table thead{display:none}.perf-events-table,.perf-events-table tbody,.perf-events-table td,.perf-events-table tr{display:block;width:100%}.perf-events-table tr{background:#ffffff05;border:1px solid var(--border-medium);border-radius:6px;margin-bottom:8px;padding:8px 10px}.perf-events-table td{border:none;font-size:12px;padding:2px 0}.perf-events-table td.perf-events-when{color:var(--text-secondary);font-size:11px}.perf-events-table td.perf-events-type{display:inline-block;font-size:12px;margin-left:8px}.perf-events-table td.perf-events-src{font-size:11px}.perf-events-table td.perf-events-msg{color:var(--text-primary);font-size:13px;margin-top:4px;white-space:normal}}.perf-chart-wide{grid-column:1/-1}.perf-chart-marker-line{stroke:#888;stroke:var(--text-secondary,#888);stroke-width:1;stroke-dasharray:3 3;opacity:.75;pointer-events:none}.perf-chart-marker-label{fill:#888;fill:var(--text-secondary,#888);font-size:8px;opacity:.9;pointer-events:none}.perf-anchored-banner{max-width:72ch}@media (max-width:600px){.perf-anchored-banner{font-size:.82rem;line-height:1.4;padding:9px 11px}}@media (min-width:900px){.perf-charts-live{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.perf-freshness-panel{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.perf-charts-controls{gap:24px}}.admin-map-wrap{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-md,8px);margin-bottom:16px;margin-bottom:var(--spacing-lg,16px);overflow:hidden}.admin-map{height:380px;width:100%}@media (max-width:600px){.admin-map{height:260px}}.admin-map-legend{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-medium);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.85rem;font-size:var(--font-size-sm,.85rem);gap:12px;gap:var(--spacing-md,12px);padding:8px 12px;padding:var(--spacing-sm,8px) var(--spacing-md,12px)}.adm-legend-item{align-items:center;display:inline-flex;gap:6px}.adm-legend-note{color:var(--text-muted);font-style:italic}.admin-map-empty{background:var(--bg-secondary);border:1px dashed var(--border-medium);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-muted);margin-bottom:16px;margin-bottom:var(--spacing-lg,16px);padding:16px;padding:var(--spacing-lg,16px);text-align:center}.adm-marker{align-items:center;border:2px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 1px var(--border-medium);box-sizing:border-box;display:inline-flex;height:16px;justify-content:center;width:16px}.adm-marker-active{background:var(--status-connected)}.adm-marker-core{background:var(--bg-primary);border-radius:50%;height:5px;width:5px}.adm-marker-inactive{background:var(--status-disconnected)}.adm-marker-label{align-items:flex-start;background:var(--bg-card);border:1px solid var(--border-medium);border-left-width:3px;border-radius:4px;box-shadow:0 1px 3px #00000040;color:var(--text-on-card);display:flex;flex-direction:column;gap:0;padding:2px 6px;pointer-events:none;white-space:nowrap}.adm-marker-label.is-active{border-left-color:var(--status-connected)}.adm-marker-label.is-inactive{border-left-color:var(--status-disconnected)}.adm-label-name{font-size:.72rem;font-weight:700;line-height:1.15}.adm-label-status{color:var(--text-on-card-muted);font-size:.6rem;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}.adm-marker-label:before{display:none}.adm-leader{stroke:var(--border-medium);stroke-width:1;stroke-dasharray:2 2;fill:none;opacity:.85}.adm-popup{color:var(--text-on-card);min-width:210px}.adm-popup-title{font-size:.95rem;font-size:var(--font-size-md,.95rem);font-weight:700;margin-bottom:2px}.adm-popup-status{border-radius:4px;border-radius:var(--radius-sm,4px);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-bottom:8px;margin-bottom:var(--spacing-sm,8px);padding:1px 6px;text-transform:uppercase}.adm-popup-status.active{background:var(--status-connected);color:var(--bg-primary)}.adm-popup-status.inactive{background:var(--status-disconnected);color:var(--bg-primary)}.adm-popup-facts{grid-gap:2px 8px;grid-gap:2px var(--spacing-sm,8px);display:grid;font-size:.85rem;font-size:var(--font-size-sm,.85rem);gap:2px 8px;gap:2px var(--spacing-sm,8px);grid-template-columns:auto 1fr;margin:0 0 8px;margin:0 0 var(--spacing-sm,8px) 0}.adm-popup-facts dt{color:var(--text-on-card-muted);white-space:nowrap}.adm-popup-facts dd{color:var(--text-on-card);margin:0;word-break:break-word}.adm-popup-actions{display:flex;flex-wrap:wrap;gap:6px}.adm-popup-actions button{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;border-radius:var(--radius-sm,4px);color:var(--text-primary);cursor:pointer;flex:1 1 auto;font-size:.75rem;padding:4px 8px}.adm-popup-actions button:hover{background:var(--bg-card-hover);color:var(--text-on-card)}.admin-map-empty-hint{color:var(--text-muted);font-size:.8rem;margin-top:6px}.history-page{background:#4a5562;background:var(--bg-secondary,#4a5562);display:flex;flex-direction:column;height:100%;width:100%}.history-header{align-items:center;background:#3d4751;background:var(--bg-primary,#3d4751);border-bottom:1px solid #353c47;border-bottom:1px solid var(--border-light,#353c47);color:#fff;color:var(--text-primary,#fff);display:flex;justify-content:space-between;padding:12px 20px}.history-controls{align-items:center;display:flex;gap:20px}.control-group{align-items:center;display:flex;gap:8px}.control-group label{color:#ccc;color:var(--text-secondary,#ccc);font-size:14px;font-weight:500}.date-picker,.receiver-select{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;padding:8px 12px}.date-picker:focus,.receiver-select:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.date-picker{color-scheme:inherit}.date-display{color:#fff;color:var(--text-primary,#fff);font-size:14px;font-weight:600}.history-stats{align-items:center;display:flex;gap:16px}.history-stats .stat-item{align-items:center;display:flex;gap:6px}.history-stats .stat-label{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:12px;font-weight:500}.history-stats .stat-value{color:#fff;color:var(--text-primary,#fff);font-size:16px;font-weight:700;min-width:32px;text-align:left}.history-stats .stat-value.new-highlight{color:var(--status-new);text-shadow:0 0 8px #0f06;text-shadow:0 0 8px var(--status-new-glow,#0f06)}.history-stats .stat-value.regular-highlight{color:#f59e0b;color:var(--status-not-regular,#f59e0b);text-shadow:0 0 8px #f59e0b66;text-shadow:0 0 8px var(--status-new-glow,#f59e0b66)}.history-filters{align-items:center;border-left:1px solid #5a6570;border-left:1px solid var(--border-medium,#5a6570);display:flex;gap:8px;margin-left:16px;padding-left:16px}.filter-label{color:#ffffffb3;color:var(--text-secondary,#ffffffb3)}.filter-btn{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);color:#ccc;color:var(--text-secondary,#ccc)}.filter-btn:hover{background:#3d4751;background:var(--bg-secondary,#3d4751)}.filter-btn.active,.filter-btn:hover{color:#fff;color:var(--text-primary,#fff)}.filter-btn.active{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.filter-btn-military.active{background:#6b7280;background:var(--status-military,#6b7280);border-color:#6b7280;border-color:var(--status-military,#6b7280)}.filter-separator{color:#4a5568;color:var(--text-muted,#4a5568);font-weight:300;margin:0 8px}.filter-btn-heatmap{background:#0000;border:1px solid #e55a25;border:1px solid var(--accent-primary,#e55a25);color:#e55a25;color:var(--accent-primary,#e55a25)}.filter-btn-heatmap:hover{background:#e55a251a;background:var(--accent-primary-glow,#e55a251a)}.filter-btn-heatmap.active{background:#e55a25;background:var(--accent-primary,#e55a25);border-color:#e55a25;border-color:var(--accent-primary,#e55a25);color:#fff;color:var(--text-primary,#fff)}.auto-zoom-select{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);min-width:100px;padding:6px 10px}.auto-zoom-select:focus{outline:none}.auto-zoom-select option,.flight-search-input{background:#2d3748;background:var(--bg-tertiary,#2d3748)}.flight-search-input{border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:4px;color:#fff;color:var(--text-primary,#fff);font-size:13px;min-width:140px;padding:6px 10px}.flight-search-input::placeholder{color:#ffffff80;color:var(--text-secondary,#ffffff80)}.flight-search-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.flight-search-clear{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:4px;color:#ffffffb3;color:var(--text-secondary,#ffffffb3);cursor:pointer;font-size:14px;line-height:1;padding:4px 8px}.flight-search-clear:hover{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);color:#ff6b35;color:var(--accent-primary,#ff6b35)}.heatmap-range-marker{background:#0000!important;border:none!important}.heatmap-range-label{background:#0000;color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:10px;font-weight:400;padding:0;text-shadow:1px 1px 1px #00000080;white-space:nowrap}.history-content{display:flex;flex:1 1;overflow:hidden}.history-map{display:flex;flex:1 1;flex-direction:column;height:100%;min-width:40%;position:relative}.history-map .leaflet-container{flex:1 1}@media (hover:none) and (pointer:coarse){.history-map .leaflet-bottom{bottom:0}}.altitude-profile{background:linear-gradient(180deg,#1a1a2e,#16213e);background:var(--altitude-chart-bg,linear-gradient(to bottom,#1a1a2e,#16213e));border-top:1px solid #333;border-top:1px solid var(--border-medium,#333);height:120px}.altitude-profile-svg{cursor:crosshair;height:100%;width:100%}.altitude-profile .axis-label{fill:#ffffffb3;fill:var(--text-secondary,#ffffffb3);font-size:11px}.altitude-profile .axis-label,.altitude-profile .unit-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.altitude-profile .unit-label{fill:#ffffff80;fill:var(--text-muted,#ffffff80);font-size:10px}.altitude-profile .hover-label{fill:#fff;fill:var(--text-primary,#fff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;font-weight:600}.hover-position-marker{background:#fff;background:var(--text-primary,#fff);border:3px solid #e55a25;border:3px solid var(--accent-primary,#e55a25);border-radius:50%;box-shadow:0 0 8px #00000080;box-shadow:var(--shadow-md,0 0 8px #00000080);height:16px;width:16px}.hover-position-icon{background:#0000!important;border:none!important}.history-table-container{background:#4a5562;background:var(--bg-secondary,#4a5562);min-width:350px;width:40%}.history-table-container,.table-section{display:flex;flex-direction:column;overflow:hidden}.table-section{flex:1 1}.table-title{align-items:center;background:#3d4751;background:var(--bg-primary,#3d4751);border-bottom:1px solid #353c47;border-bottom:1px solid var(--border-light,#353c47);color:#fff;color:var(--text-primary,#fff);display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin:0;padding:8px 12px}.table-scroll{-webkit-overflow-scrolling:touch;flex:1 1;overflow:auto}.tracks-table-scroll{max-height:200px}@media (max-width:600px){.tracks-table-scroll{max-height:none}}.history-table{background-color:#d4cfc1;background-color:var(--table-body-bg,#d4cfc1);border-collapse:collapse;color:#333;color:var(--table-body-text,#333);font-size:11px;width:100%}.history-table thead{background-color:#3d4751;background-color:var(--table-header-bg,#3d4751);color:#fff;color:var(--table-header-text,#fff);position:sticky;top:0;z-index:1}.history-table th{border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--table-header-border,#ff6b35);font-size:10px;font-weight:600;line-height:1.1;padding:6px;text-align:left;white-space:nowrap}.history-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.history-table th.sortable:hover{background-color:#61dafb1a;background-color:var(--bg-card-hover,#61dafb1a)}.history-table td{border-bottom:1px solid #bfbaac;border-bottom:1px solid var(--table-row-border,#bfbaac);line-height:1.1;padding:4px 6px}.history-table td.numeric-column,.history-table th.numeric-column{text-align:right}.history-table tbody tr{cursor:pointer;transition:background-color .15s ease}.history-table tbody tr:hover{background-color:#c4bfb1;background-color:var(--table-row-hover,#c4bfb1)}.history-table tbody tr.military-aircraft{background-color:var(--status-military-bg)}.history-table tbody tr.military-aircraft:hover{background-color:var(--status-military-bg-hover)}.history-table tbody tr.new-aircraft{background-color:var(--status-new-bg)}.history-table tbody tr.new-aircraft:hover{background-color:var(--status-new-bg-hover)}.history-table tbody tr.selected-aircraft,.history-table tbody tr.selected-track{background-color:var(--status-selected-bg);font-weight:600}.history-table tbody tr.selected-aircraft:hover,.history-table tbody tr.selected-track:hover{background-color:var(--status-selected-bg-hover)}.aircraft-details{background:#fffffff7;background:var(--bg-card,#fffffff7);color:#333;color:var(--text-on-card,#333);display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.aircraft-detail-header-compact{align-items:center;background:#3d4751;background:var(--table-header-bg,#3d4751);border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--table-header-border,#ff6b35);display:flex;gap:12px;padding:10px 14px}.back-button-small{background:#ffffff26;background:var(--popup-close-btn-bg,#ffffff26);border:none;border-radius:6px;color:#fff;color:var(--table-header-text,#fff);cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .2s;width:auto}.back-button-small:hover{background:#ffffff40;background:var(--popup-close-btn-hover-bg,#ffffff40)}.back-button-small:active{background:#ffffff59;background:var(--popup-close-btn-active-bg,#ffffff59);transform:scale(.98)}.aircraft-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.aircraft-title{font-size:18px;font-weight:700}.aircraft-reg-small,.aircraft-title{color:#fff;color:var(--table-header-text,#fff)}.aircraft-reg-small{font-size:14px;font-weight:400;opacity:.9}.aircraft-detail-body{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px}.aircraft-info-column{flex:1 1;min-width:180px}.info-line{color:#333;color:var(--text-on-card,#333);font-size:15px;margin-bottom:8px}.info-line.airline-line{align-items:center;display:flex;font-size:16px;font-weight:600;gap:10px}.info-line.type-line{border-bottom:1px solid #c4bfb1;border-bottom:1px solid var(--border-on-card-light,#c4bfb1);color:#555;color:var(--text-on-card-secondary,#555);font-size:14px;margin-bottom:10px;padding-bottom:8px}.airline-logo-small{max-height:20px;max-width:60px;object-fit:contain}.info-line.airline-line .military-icon{height:20px;width:20px}.airline-name{color:#333;color:var(--text-on-card,#333);font-weight:600}.info-grid-compact{grid-gap:6px 16px;display:grid;gap:6px 16px;grid-template-columns:repeat(2,1fr)}.info-item{display:flex;font-size:14px;gap:6px}.info-key{color:#777;color:var(--text-on-card-muted,#777);font-weight:500}.info-val{align-items:center;color:#333;color:var(--text-on-card,#333);display:flex;font-weight:600;gap:4px}.country-flag-small{border:1px solid #ddd;border:1px solid var(--border-on-card-light,#ddd);border-radius:1px}.aircraft-photo-column{flex-shrink:0;width:280px}.photo-link-compact{border-radius:4px;display:block;overflow:hidden}.photo-link-compact:hover{opacity:.9}.aircraft-photo-compact{border-radius:4px;display:block;height:auto;width:100%}.photo-credit-small{color:#888;color:var(--text-on-card-muted,#888);font-size:9px;margin-top:2px;text-align:center}.photo-credit{font-size:11px;font-style:italic;margin-top:6px;text-align:center}.info-label,.photo-credit{color:#666;color:var(--text-on-card-secondary,#666)}.info-label{flex-shrink:0;font-weight:600;width:100px}.info-value,.tracks-title{color:#333;color:var(--text-on-card,#333)}.tracks-title{font-size:14px;font-weight:600;margin:0 0 8px}.no-tracks{color:#666;color:var(--text-on-card-secondary,#666);font-style:italic;padding:12px 0}.tracks-table{font-size:11px}.aircraft-end-marker{background:#0000!important;border:none!important}.error-message,.loading-message,.no-data{align-items:center;color:#666;color:var(--text-muted,#666);display:flex;font-size:16px;height:100%;justify-content:center}.error-message{color:#dc3545;color:var(--status-error,#dc3545)}.airline-logo{background-color:initial;height:16px;max-width:48px;object-fit:contain;padding:0;vertical-align:middle}.airline-text{color:#333;color:var(--text-on-card,#333);font-size:10px}.military-icon{display:inline-block;height:14px;object-fit:contain;vertical-align:middle;width:22px}.receiver-marker,.track-marker{background:#0000!important;border:none!important}@media (max-width:1200px){.history-table-container{width:45%}}@media (max-width:1023px){.history-content{flex-direction:column;padding-bottom:56px}.history-map{height:40vh;min-height:250px;min-width:100%}.altitude-profile{height:100px}.history-table-container{flex:1 1;min-width:100%;width:100%}.history-controls{flex-wrap:wrap;gap:12px}.history-stats{gap:12px}.history-stats .stat-label{font-size:11px}.history-stats .stat-value{font-size:14px}}@media (max-width:768px){.history-header{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 16px}.history-controls{justify-content:space-between;width:100%}.control-group{align-items:flex-start;flex-direction:column;gap:4px}.date-picker,.receiver-select{font-size:16px;min-height:44px;width:100%}.history-stats{flex-wrap:wrap;gap:10px;justify-content:space-around;width:100%}.history-stats .stat-item{gap:4px}.history-stats .stat-label{font-size:10px}.history-stats .stat-value{font-size:13px;min-width:24px}.history-filters{border-left:none;flex-wrap:wrap;justify-content:flex-start;margin-left:0;padding-left:0;width:100%}.history-table{font-size:11px;min-width:700px}.history-table td,.history-table th{padding:4px 6px}}@media (max-width:480px){.history-header{padding:10px 12px}.aircraft-count,.date-display{font-size:12px}.history-map{height:35vh;min-height:200px}.altitude-profile{height:80px}}@media (hover:none) and (pointer:coarse){.date-picker,.receiver-select{font-size:16px;min-height:44px}.history-table tbody tr,.history-table th.sortable{min-height:44px}}.statistics-section{background:#4a5562;background:var(--bg-secondary,#4a5562);color:#fff;color:var(--text-primary,#fff);display:flex;flex-direction:column;gap:12px;padding:12px}.chart-section{padding:0}.chart-section h4,.history-page .section-title,.statistics-section .section-title,.statistics-section h4.section-title{color:#fff;color:var(--text-primary,#fff);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.activity-chart-wrapper{background:#2a3139;background:var(--bg-tertiary,#2a3139);border-radius:4px;overflow:hidden}.activity-chart-svg{display:block;height:140px;width:100%}.chart-gridline{stroke:#ffffff1a;stroke:var(--border-light,#ffffff1a);stroke-width:.5;stroke-dasharray:4 4}.chart-axis-label{fill:#fff9;fill:var(--text-muted,#fff9);font-family:inherit;font-size:9px}.chart-dist-label{fill:#63b3ed;font-family:inherit;font-size:8px}.chart-bar-high{fill:#ff6b35;fill:var(--accent-primary,#ff6b35);opacity:.85;transition:opacity .15s}.chart-bar-group:hover .chart-bar-high{opacity:1}.chart-bar-low{fill:#ff6b35;fill:var(--accent-primary,#ff6b35);opacity:.3}.chart-dist-line{stroke:#63b3ed;stroke-width:1.5;stroke-linejoin:round}.chart-placeholder{align-items:center;background:#2a3139;background:var(--bg-tertiary,#2a3139);border-radius:4px;color:#fff9;color:var(--text-muted,#fff9);display:flex;font-size:13px;height:140px;justify-content:center}.summary-tables-row{display:flex;gap:12px}.summary-table-container{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border-radius:4px;box-shadow:0 1px 3px #0003;box-shadow:var(--shadow-sm,0 1px 3px #0003);flex:1 1;min-width:0;overflow:hidden}.summary-table-container.full-width{width:100%}.summary-table-title{background:#3d4751;background:var(--table-header-bg,#3d4751);color:#fff;color:var(--table-header-text,#fff);font-size:11px;font-weight:700;letter-spacing:.5px;margin:0;padding:8px 10px 4px;text-transform:uppercase}.summary-table{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border-collapse:collapse;color:#333;color:var(--table-body-text,#333);font-size:11px;width:100%}.summary-table thead{background:#3d4751;background:var(--table-header-bg,#3d4751)}.summary-table th{border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--table-header-border,#ff6b35);color:#fff;color:var(--table-header-text,#fff);font-size:10px;font-weight:500;letter-spacing:.3px;padding:4px 8px 6px;text-align:left;text-transform:uppercase}.summary-table th:last-child{padding-right:10px}.summary-table th.numeric-column{text-align:right}.summary-table td{border-bottom:1px solid #bfbaac;border-bottom:1px solid var(--border-on-card,#bfbaac);color:#333;color:var(--table-body-text,#333);max-width:150px;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.summary-table td:last-child{padding-right:10px}.summary-table td.numeric-column{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.summary-table td:first-child,.summary-table th:first-child{width:60%}.summary-table td.numeric-column,.summary-table th.numeric-column{min-width:45px;width:20%}.summary-table tbody tr{transition:background-color .15s}.summary-table tbody tr:hover{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1)}.summary-table tbody tr:last-child td{border-bottom:none}.summary-table tbody tr.clickable-row{cursor:pointer}.summary-table tbody tr.clickable-row:hover{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1)}.summary-cell-with-logo{align-items:center;display:flex;gap:6px}.summary-airline-logo{flex-shrink:0;height:16px;max-width:40px;object-fit:contain}.summary-flag{flex-shrink:0;transform:scale(.8)}.summary-text{overflow:hidden;text-overflow:ellipsis}.no-data-cell{color:#666;color:var(--text-on-card-muted,#666);font-style:italic;padding:12px!important;text-align:center}.interest-tags{align-items:center;display:flex;flex-wrap:nowrap;gap:3px}.interest-tag{border-radius:2px;display:inline-block;font-size:9px;font-weight:600;line-height:14px;padding:1px 5px;text-transform:uppercase}.interest-tag-new{background:#28a745;background:var(--badge-new-bg,#28a745);color:#fff;color:var(--badge-new-text,#fff)}.interest-tag-mil{background:#6b7280;background:var(--badge-military-bg,#6b7280);color:#fff;color:var(--badge-military-text,#fff)}.interest-tag-far{background:#3b82f6;background:var(--tag-far,#3b82f6);color:#fff}.interest-tag-rare{background:#8b5cf6;background:var(--tag-rare,#8b5cf6);color:#fff}.interest-tag-exotic{background:#f59e0b;background:var(--badge-regular-bg,#f59e0b);color:#fff;color:var(--badge-regular-text,#fff)}.interest-tag-intl{background:#ec4899;background:var(--tag-intl,#ec4899);color:#fff}@media (max-width:1023px){.summary-tables-row{flex-direction:column;gap:12px}}@media (max-width:768px){.statistics-section{gap:10px;padding:10px}.activity-chart-svg{height:120px}.summary-table{font-size:10px}.summary-table td,.summary-table th{padding:4px 6px}}@media (max-width:480px){.statistics-section{gap:8px;padding:8px}.activity-chart-svg{height:100px}.summary-table{font-size:9px}.summary-table-title{font-size:10px;padding:6px 8px}}.history-header-mobile{align-items:center;background:#3d4751;background:var(--table-header-bg,#3d4751);border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--table-header-border,#ff6b35);display:flex;flex-wrap:nowrap;gap:4px;padding:4px 8px}.compact-receiver-select{cursor:pointer;flex:1 1;max-width:120px;min-width:80px}.compact-date-picker,.compact-receiver-select{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:4px;color:#fff;color:var(--text-primary,#fff);font-size:11px;padding:4px 6px}.compact-date-picker{color-scheme:dark;width:100px}.filter-dropdown{position:relative}.filter-dropdown-btn{align-items:center;background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:10px;font-weight:500;gap:4px;justify-content:center;min-width:50px;padding:4px 8px;transition:all .2s ease}.filter-dropdown-btn:hover{background:#3d4751;background:var(--bg-input-hover,#3d4751)}.filter-dropdown-btn.has-filter{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.filter-dropdown-menu{background:#2d3748;background:var(--bg-card,#2d3748);border:1px solid #4a5568;border:1px solid var(--border-medium,#4a5568);border-radius:8px;box-shadow:0 4px 16px #0006;box-shadow:var(--shadow-lg,0 4px 16px #0006);left:0;min-width:140px;overflow:hidden;position:absolute;top:calc(100% + 4px);z-index:200}.filter-dropdown-menu button{background:#0000;border:none;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background .15s ease;width:100%}.filter-dropdown-menu button:hover{background:#ffffff1a;background:var(--border-light,#ffffff1a)}.filter-dropdown-menu button.active{background:#ff6b35;background:var(--accent-primary,#ff6b35);color:#fff;color:var(--text-primary,#fff)}.filter-dropdown-menu button:not(:last-child){border-bottom:1px solid #4a5568;border-bottom:1px solid var(--border-medium,#4a5568)}.options-dropdown{position:relative}.options-btn{align-items:center;background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.options-btn:hover{background:#3d4751;background:var(--bg-input-hover,#3d4751)}.options-btn.has-options{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.options-dropdown-menu{background:#2d3748;background:var(--bg-card,#2d3748);border:1px solid #4a5568;border:1px solid var(--border-medium,#4a5568);border-radius:8px;box-shadow:0 4px 16px #0006;box-shadow:var(--shadow-lg,0 4px 16px #0006);min-width:180px;overflow:hidden;padding:8px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.option-item{align-items:center;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px}.option-item:hover{background:#ffffff0d;background:var(--border-light,#ffffff0d)}.option-item input[type=checkbox]{accent-color:#ff6b35;accent-color:var(--accent-primary,#ff6b35);height:18px;width:18px}.compact-auto-zoom{background:#1a202c;background:var(--bg-tertiary,#1a202c);border:1px solid #4a5568;border:1px solid var(--border-medium,#4a5568);border-radius:4px;color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:13px;margin-left:auto;padding:6px 8px}.history-content-tabs{-webkit-overflow-scrolling:touch;background:#4a5562;background:var(--bg-secondary,#4a5562);display:flex;flex-shrink:0;gap:4px;overflow-x:auto;padding:0 12px;position:relative;scrollbar-width:none}.history-content-tabs:after{background:#fff3;background:var(--border-medium,#fff3);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;z-index:0}.history-content-tabs::-webkit-scrollbar{display:none}.content-tab{background:none;border:none;color:#fff9;color:var(--text-muted,#fff9);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;position:relative;transition:all .2s;white-space:nowrap;z-index:1}.content-tab:after{background:#0000;bottom:0;content:"";height:2px;left:0;position:absolute;right:0;z-index:2}.content-tab:hover{color:#fff;color:var(--text-primary,#fff)}.content-tab.active{color:#ff6b35;color:var(--accent-primary,#ff6b35)}.content-tab.active:after{background:#ff6b35;background:var(--accent-primary,#ff6b35)}@media (max-width:1024px){.history-page{display:flex;flex-direction:column;height:calc(100vh - 56px)}.history-map{flex-shrink:0;height:55vh;max-height:500px;min-height:350px}.history-table-container{background:#4a5562;background:var(--bg-secondary,#4a5562);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.statistics-section{flex:1 1;overflow-y:auto;padding-bottom:60px}.table-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.table-section .table-title{display:none}.table-scroll{flex:1 1;overflow-y:auto;padding-bottom:60px}.summary-tables-row{flex-direction:column;gap:12px}.summary-table-container{min-width:100%}.content-tab{font-size:13px;padding:8px 12px}}@media (hover:none) and (pointer:coarse){.content-tab{min-height:40px;padding:12px 6px}.filter-dropdown-menu button,.option-item{min-height:44px;padding:12px 16px}.compact-date-picker,.compact-receiver-select{font-size:14px;min-height:32px}.filter-dropdown-btn{min-height:28px}.history-table tbody tr{min-height:36px}.summary-table tbody tr{min-height:32px}.history-table td{padding:4px 6px}.summary-table td{padding:3px 6px}}@media (max-width:480px){.history-header-mobile{gap:4px;padding:4px 6px}.compact-receiver-select{font-size:10px;max-width:90px;padding:3px 5px}.compact-date-picker{font-size:10px;padding:3px 5px;width:85px}.filter-dropdown-btn{font-size:11px;min-width:50px;padding:5px 8px}.options-btn{height:32px;width:32px}.options-btn svg{height:16px;width:16px}.content-tab{font-size:11px;padding:8px 4px}.history-map{height:40vh;max-height:300px;min-height:200px}}.history-list-bar{flex-wrap:wrap;gap:6px;padding:6px 8px}.history-list-bar .mobile-sort-select{flex:1 1 96px;min-width:0;padding-left:8px}.history-list-bar .sort-direction-btn{flex:0 0 36px;width:36px}.history-list-bar input[type=text].flight-search-input{flex:1 1 60px;font-size:16px;min-height:36px;min-width:0;padding:6px 8px}.history-card .card-metric{align-items:flex-start;min-width:54px}.history-card .card-operator{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:20px}.history-card .card-operator img,.history-card .card-operator-logo{max-height:16px;max-width:20px;object-fit:contain}.history-card .card-operator .flag{display:none}@media (max-width:359px){.history-card .card-operator{display:none}}.history-card .primary-row{align-items:center;display:flex;gap:5px;min-width:0}.history-card .primary-row .primary{min-width:0}.history-list-bar:has(.flight-search-input:focus) .mobile-sort-select,.history-list-bar:has(.flight-search-input:focus) .sort-direction-btn{display:none}.mobile-list-filters{align-items:center;background:#4a5562;background:var(--bg-secondary,#4a5562);border-bottom:1px solid #353c47;border-bottom:1px solid var(--border-light,#353c47);display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px}.mobile-list-filters .filter-btn{background:#0000;border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s;white-space:nowrap}.mobile-list-filters .flight-search-input{flex:1 1 100%;min-width:0}.mobile-list-filters .filter-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.mobile-list-filters .filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.mobile-list-filters .filter-btn-new.active{background:#28a745;background:var(--status-new,#28a745);border-color:#28a745;border-color:var(--status-new,#28a745)}.mobile-list-filters .filter-btn-military.active{background:var(--status-military);border-color:var(--status-military)}@media (orientation:landscape) and (max-height:500px){.history-map{height:40vh;min-height:150px}.history-content-tabs{padding:0}.content-tab{font-size:11px;padding:8px 6px}}@media (max-width:768px){.history-table-container .cards-container{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.history-table-container .history-cards{padding-bottom:8px}.history-table-container .mobile-sort-bar{flex-shrink:0}}@media (max-width:600px){.history-table-container{min-height:0;overflow:hidden}.table-scroll{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.history-map .map-hud{bottom:auto;position:absolute;top:6px}.history-table{background:#0000;border-collapse:initial;border-spacing:0;display:block;min-width:0!important;width:100%}.history-table thead{display:none}.history-table tbody,.history-table tr{display:block;width:100%}.history-table tbody tr{grid-column-gap:10px;grid-row-gap:1px;background:#d4cfc1;background:var(--bg-card,#d4cfc1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:10px;column-gap:10px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:6px;padding:7px 10px;row-gap:1px}.history-table tbody tr.selected-aircraft{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);box-shadow:0 0 0 1px #ff6b35;box-shadow:0 0 0 1px var(--accent-primary,#ff6b35)}.history-table td{align-items:flex-start;border:none!important;color:#333;color:var(--text-on-card,#333);display:flex;flex-direction:column;font-size:12px!important;gap:0;line-height:1.3;min-height:0;min-width:0;padding:2px 0!important}.history-table td[data-label]:before{color:#666;color:var(--text-on-card-muted,#666);content:attr(data-label);flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.history-table td[data-label=Callsign]{grid-column:1/-1}.history-table .numeric-column,.history-table .stat-value{text-align:left}.summary-table-container{overflow-x:auto}.summary-table{font-size:11px}}@media (max-width:1024px){.aircraft-title{font-size:16px}.aircraft-reg-small{font-size:13px}.aircraft-detail-body{flex-direction:column;gap:8px;padding:10px 14px}.aircraft-info-column{min-width:0;width:100%}.aircraft-photo-column{width:100%}.info-line{font-size:13px;margin-bottom:6px}.info-line.airline-line{font-size:14px}.info-line.type-line{font-size:12px}.info-grid-compact{gap:4px 12px;grid-template-columns:1fr}.info-item{font-size:13px}.history-page.aircraft-sheet-open .history-map{flex:1 1;height:100%;max-height:none;min-height:0}.history-page.aircraft-sheet-open .history-table-container{animation:history-detail-sheet-up .28s ease;border-top-left-radius:14px;border-top-right-radius:14px;bottom:calc(56px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #0006;left:0;max-height:58vh;min-width:0;overflow:hidden;position:fixed;right:0;width:100%;z-index:860}@keyframes history-detail-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.history-page.aircraft-sheet-open .aircraft-details{border-radius:14px 14px 0 0;max-height:58vh}.sheet-handle{display:none}.history-page.aircraft-sheet-open .sheet-handle{align-items:center;background:#3d4751;background:var(--table-header-bg,#3d4751);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:8px 0 4px}.history-page.aircraft-sheet-open .sheet-handle:before{background:#ffffff80;background:var(--text-muted,#ffffff80);border-radius:2px;content:"";height:4px;width:36px}}@media (max-width:768px){.history-page.aircraft-sheet-open .history-map{flex:0 0 50%;height:50%;max-height:none;min-height:0}.history-page.aircraft-sheet-open .history-table-container{animation:none;border-radius:0;bottom:auto;box-shadow:none;flex:1 1 auto;max-height:none;min-height:0;position:static;width:auto;z-index:auto}.history-page.aircraft-sheet-open .aircraft-details{-webkit-overflow-scrolling:touch;border-radius:0;display:block;height:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-bottom:16px}.history-page.aircraft-sheet-open .aircraft-detail-header-compact{position:sticky;top:0;z-index:2}.aircraft-details .table-scroll,.aircraft-details .tracks-table-scroll{flex:none;max-height:none;overflow:visible}.history-page.aircraft-sheet-open .sheet-handle{display:none}.aircraft-details .info-grid-compact{gap:6px 12px;grid-template-columns:1fr 1fr}}.track-rows{display:flex;flex-direction:column;gap:4px;padding:0 12px 4px}.track-row-group{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:8px;overflow:hidden}.track-row-group.open{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.track-row{align-items:center;background:#0000;border:none;color:#333;color:var(--text-on-card,#333);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;width:100%}.track-row-chevron{color:#666;color:var(--text-on-card-muted,#666);flex-shrink:0;transition:transform .15s ease;width:10px}.track-row-group.open .track-row-chevron{transform:rotate(90deg)}.track-row-times{font-feature-settings:"tnum";flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.track-row-callsign{color:#555;color:var(--text-on-card-secondary,#555);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-row-duration{font-feature-settings:"tnum";color:#666;color:var(--text-on-card-muted,#666);flex-shrink:0;font-variant-numeric:tabular-nums;margin-left:auto}.track-row-detail{border-top:1px solid #bfbaac;border-top:1px solid var(--border-on-card,#bfbaac);padding:4px 10px 8px}.track-row-detail .altitude-profile{border-radius:6px;border-top:none;height:110px;margin-top:8px;overflow:hidden}.App.has-side-rail .history-content{padding-bottom:0}.App.has-side-rail .history-page.aircraft-sheet-open .history-map{flex:1 1 auto;height:auto;min-height:240px}.App.has-side-rail .history-page .altitude-profile{flex-shrink:0}.App.has-side-rail .history-page.aircraft-sheet-open .history-table-container{animation:none;bottom:auto;box-shadow:0 -6px 18px #00000052;flex:0 1 auto;height:clamp(240px,40vh,460px);max-height:none;min-height:180px;position:static;transform:none;z-index:auto}.App.has-side-rail .history-page.aircraft-sheet-open .aircraft-details{height:100%;max-height:none}.track-row-group.emergency{background:var(--status-emergency-bg);border-color:var(--status-emergency);border-width:2px}.track-row-group.emergency .track-row{color:var(--status-emergency-text);font-weight:700}.track-row-emergency{font-feature-settings:"tnum";background:var(--status-emergency);border-radius:4px;color:#fff;flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.8px;margin-left:auto;padding:1px 6px}.track-detail-emergency{align-items:baseline;background:var(--status-emergency-bg-hover);border-left:3px solid var(--status-emergency);border-radius:4px;color:var(--status-emergency-text);display:flex;flex-wrap:wrap;font-size:12px;gap:4px 8px;margin-bottom:8px;padding:6px 8px}.track-detail-emergency strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.5px}.track-detail-emergency-at{opacity:.85}.map-hud{-webkit-overflow-scrolling:touch;align-items:stretch;background:var(--map-glass-bg);border:1px solid var(--map-glass-border);border-radius:10px;box-shadow:0 4px 18px #00000038;display:flex;left:50%;max-width:calc(100% - 12px);overflow-x:auto;pointer-events:auto;position:absolute;scrollbar-width:none;top:6px;transform:translateX(-50%);width:max-content;z-index:800}.map-hud::-webkit-scrollbar{display:none}.map-hud-item{align-items:center;display:flex;flex-direction:column;gap:1px;justify-content:center;padding:3px 8px;white-space:nowrap}.map-hud-item+.map-hud-item{border-left:1px solid #ffffff1f}.map-hud-v{font-feature-settings:"tnum";color:#fff;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;min-width:3ch;text-align:center}.map-hud-l,.map-hud-v{line-height:1;text-shadow:0 1px 2px #00000080}.map-hud-l{color:#ffffffc7;font-size:7px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.map-hud-tabs{align-items:center;border-right:1px solid #ffffff1f;display:flex;gap:2px;padding:3px 5px}.map-hud-tab{background:#0000;border:none;border-radius:4px;color:#fff9;cursor:pointer;font-size:8px;font-weight:700;letter-spacing:.4px;line-height:1;padding:4px 6px;text-transform:uppercase}.map-hud-tab.active{background:#ffffff2e;color:#fff}.map-hud-item.new .map-hud-v{color:#4ade80}.map-hud-item.muted .map-hud-v{color:#ffffff80}@media (min-width:1440px){.map-hud-item{padding:5px 11px}.map-hud-v{font-size:14px;min-width:3ch}.map-hud-l,.map-hud-tab{font-size:9px}.map-hud-tab{padding:5px 9px}.map-hud-tabs{padding:4px 6px}}@media (min-width:1920px){.map-hud{border-radius:12px}.map-hud-item{padding:7px 14px}.map-hud-v{font-size:17px}.map-hud-l{font-size:10.5px;letter-spacing:.5px}.map-hud-tab{font-size:10.5px;padding:6px 11px}.map-hud-tabs{padding:5px 7px}}@media (max-width:600px){.map-hud{bottom:calc(env(safe-area-inset-bottom, 0px) + 64px);position:fixed;top:auto}.App.fullscreen-mode .map-hud{bottom:calc(env(safe-area-inset-bottom, 0px) + 26px)}.map-hud-item{padding:3px 7px}}.predictions-screen{background:#4a5562;background:var(--bg-secondary,#4a5562);color:#fff;color:var(--text-primary,#fff);display:flex;flex-direction:column;height:100%;width:100%}.predictions-controls{align-items:center;background:#3d4751;background:var(--bg-primary,#3d4751);border-bottom:1px solid #353c47;border-bottom:1px solid var(--border-light,#353c47);display:flex;flex-wrap:wrap;gap:12px;padding:7px 14px}.predictions-controls .control-group{align-items:center;display:flex;gap:8px}.predictions-controls .control-group label{color:#ccc;color:var(--text-secondary,#ccc);font-size:14px;font-weight:500}.predictions-controls .airport-select,.predictions-controls .date-picker{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;padding:8px 12px}.predictions-controls .airport-select:focus,.predictions-controls .date-picker:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.predictions-filters{align-items:center;border-left:1px solid #5a6570;border-left:1px solid var(--border-medium,#5a6570);display:flex;flex-wrap:wrap;gap:8px;margin-left:16px;padding-left:16px}.predictions-filters .filter-label{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:12px;font-weight:500}.predictions-filters .filter-btn{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #5a6570;border:1px solid var(--border-medium,#5a6570);border-radius:4px;color:#ccc;color:var(--text-secondary,#ccc);cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s}.predictions-filters .filter-btn:hover{background:#3d4751;background:var(--bg-secondary,#3d4751);color:#fff;color:var(--text-primary,#fff)}.predictions-filters .filter-btn.active{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);color:#fff;color:var(--text-primary,#fff)}.predictions-filters .filter-separator{color:#4a5568;color:var(--text-muted,#4a5568);font-weight:300;margin:0 8px}.predictions-content{display:flex;flex:1 1;flex-direction:row;overflow:hidden}.predictions-map{flex:1 1;min-height:300px;min-width:0;position:relative}.predictions-table-container{background:#4a5562;background:var(--bg-secondary,#4a5562);flex-shrink:0;max-width:none;overflow-x:auto;overflow-y:auto}@media (max-width:1280px){.predictions-content{flex-direction:column}.predictions-table-container{border-left:none;border-top:1px solid #353c47;border-top:1px solid var(--border-light,#353c47);max-height:50vh;max-width:none;width:100%!important}.predictions-content .resize-divider{display:none!important}}.onground-split{display:flex;flex:1 1;flex-direction:row;min-height:0}.onground-map{border-right:1px solid #444;border-right:1px solid var(--border-medium,#444);flex:0 0 50%;min-height:240px;min-width:0;position:relative}@media (max-width:600px){.predictions-table-container{max-height:none;overflow-y:visible}.onground-split{flex-direction:column}.onground-map{border-bottom:1px solid #444;border-bottom:1px solid var(--border-medium,#444);border-right:none;flex:0 0 auto;height:38vh;min-height:200px;width:100%}.predictions-table{display:block;width:100%}.predictions-table thead{display:none}.predictions-table tbody,.predictions-table tr{display:block;width:100%}.predictions-table tbody tr{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:10px;margin-bottom:8px;padding:10px 12px}.predictions-table tbody tr.expanded{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.predictions-table td{align-items:center;border:none!important;color:#333;color:var(--text-on-card,#333);display:flex;font-size:13px!important;gap:12px;justify-content:space-between;padding:4px 0!important;text-align:left!important}.predictions-table td[data-label]:before{color:#666;color:var(--text-on-card-muted,#666);content:attr(data-label);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.predictions-table td.numeric{text-align:right}.predictions-table tr.prediction-events-row td{display:block;padding:8px 4px!important}.prediction-stats-overlay,.predictions-table tr.prediction-events-row td:before{display:none}}.prediction-stats-overlay{background:#000000c7;border-radius:6px;box-shadow:0 2px 8px #0006;display:flex;gap:12px;left:50%;padding:8px 14px;pointer-events:none;position:absolute;top:12px;transform:translateX(-50%);z-index:1000}.prediction-stats-overlay .stat-item{align-items:center;display:flex;flex-direction:column;min-width:60px}.prediction-stats-overlay .stat-value{color:#fff;color:var(--text-primary,#fff);font-size:18px;font-weight:700;line-height:1.1}.prediction-stats-overlay .stat-label{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:10px;margin-top:2px;text-transform:uppercase}.predictions-table{border-collapse:collapse;color:#333;color:var(--table-body-text,#333);font-size:12px;width:100%}.predictions-table thead{position:sticky;top:0;z-index:10}.predictions-table th{background:#3d4751;background:var(--table-header-bg,#3d4751);border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--table-header-border,#ff6b35);color:#fff;color:var(--table-header-text,#fff);cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.02em;padding:5px 6px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none}.predictions-table th:hover{filter:brightness(1.1)}.predictions-table td.numeric,.predictions-table th.numeric{text-align:right}.predictions-table tbody tr{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border-bottom:1px solid #bfbaac;border-bottom:1px solid var(--table-row-border,#bfbaac);color:#333;color:var(--table-body-text,#333);cursor:pointer;transition:background .15s}.predictions-table tbody tr:nth-child(2n){background:#ccc7b9;background:var(--table-row-alt,#ccc7b9)}.predictions-table tbody tr:hover{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1)}.predictions-table tbody tr.expanded,.predictions-table tbody tr.expanded:nth-child(2n){background:#2d3748!important;background:var(--summary-table-bg,#2d3748)!important;color:#fff!important;color:var(--summary-table-text,#fff)!important;font-weight:600}.predictions-table tbody tr.expanded .pt-l2,.predictions-table tbody tr.expanded .pt-muted,.predictions-table tbody tr.expanded td{color:#fff;color:var(--summary-table-text,#fff)}.predictions-table td{padding:4px 6px;vertical-align:top;white-space:nowrap}.predictions-table .expand-cell{color:#555;color:var(--table-body-text-secondary,#555);font-size:10px;text-align:center;width:24px}.predictions-table tbody tr.expanded .expand-cell{color:#fff;color:var(--summary-table-text,#fff)}.prediction-events-row{background:#b8b3a4!important;background:var(--table-row-hover,#b8b3a4)!important;cursor:default!important}.prediction-events-row,.prediction-events-row>td{color:#333!important;color:var(--table-body-text,#333)!important}.prediction-events-row>td{padding:8px 16px!important}.prediction-events-table{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border:1px solid #8a8475;border:1px solid var(--table-row-border,#8a8475);border-collapse:collapse;color:#333;color:var(--table-body-text,#333);font-size:12px;margin:4px 0;width:100%}.status-cell{white-space:nowrap}.status-live{align-items:center;color:#28a745;color:var(--status-connected,#28a745);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.5px}.status-live .status-dot{animation:status-pulse 1.6s ease-in-out infinite;background:#28a745;background:var(--status-connected,#28a745);border-radius:50%;box-shadow:0 0 0 0 #22c55eb3;display:inline-block;height:8px;width:8px}@keyframes status-pulse{0%{box-shadow:0 0 0 0 #22c55eb3}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 0 0 #22c55e00}}.status-landed{align-items:center;display:inline-flex;font-weight:600;gap:4px}.status-landed,.status-landed .status-check{color:#28a745;color:var(--status-connected,#28a745)}.status-landed .status-check{font-weight:700}.status-unknown{color:#888;color:var(--table-body-text-secondary,#888);font-weight:400}.status-power-on,.status-takeoff,.status-taxiing{align-items:center;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.5px;white-space:nowrap}.status-power-on{color:var(--status-warning)}.status-taxiing{color:var(--accent-secondary)}.status-takeoff{color:var(--status-connected)}.status-power-on .status-dot,.status-takeoff .status-dot,.status-taxiing .status-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.status-power-on .status-dot{background:var(--status-warning)}.status-taxiing .status-dot{background:var(--accent-secondary)}.status-takeoff .status-dot{animation:status-pulse 1.6s ease-in-out infinite;background:var(--status-connected)}.active-runway-badge{align-items:center;background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:4px;color:var(--text-primary);display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.3px;padding:2px 8px}.active-runway-badge strong{color:var(--accent-primary);font-weight:700;letter-spacing:.5px}.heavy-badge{background:var(--accent-secondary);border-radius:3px;color:var(--text-primary);display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;margin-left:4px;padding:1px 6px}.predictions-tabs{background:var(--bg-primary);border-bottom:1px solid var(--border-light);display:flex;gap:4px;padding:5px 14px 0}.predictions-tab{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.3px;padding:5px 14px;transition:background .2s,color .2s,border-color .2s}.predictions-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.predictions-tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.departures-resize{background:var(--border-medium);cursor:ew-resize;flex-shrink:0;width:6px}.departures-resize.active,.departures-resize:hover{background:var(--accent-primary)}.departures-error{color:var(--status-warning);padding:20px}.departures-empty{color:var(--text-muted);padding:20px}.liftoff-row{font-weight:700}.err-good,.liftoff-row{color:var(--status-connected)}.err-warn{color:var(--status-warning)}.err-bad{color:var(--accent-primary)}.err-very-bad{color:var(--accent-primary-hover)}.err-none{color:var(--text-muted)}.prediction-live-aircraft-icon{background:#0000;border:none}.prediction-live-aircraft{align-items:center;display:flex;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.6));height:28px;justify-content:center;width:28px}.actual-landing-banner{align-items:center;background:#3d4751;border:1px solid #2a3038;border-bottom:none;color:#fff;display:flex;font-size:12px;gap:8px;margin:4px 0 0;padding:6px 10px}.actual-landing-banner .label{color:#a8b3bd;font-size:11px;font-weight:600;text-transform:uppercase}.actual-landing-banner .value{color:#22c55e;font-weight:700}.prediction-events-table th{background:#3d4751;background:var(--table-header-bg,#3d4751);border-bottom:1px solid #2a3038;color:#fff;color:var(--table-header-text,#fff);font-size:11px;font-weight:600;padding:6px 8px;text-align:left;text-transform:uppercase}.prediction-events-table td.numeric,.prediction-events-table th.numeric{text-align:right}.prediction-events-table td{border-bottom:1px solid #bfbaac;border-bottom:1px solid var(--table-row-border,#bfbaac);color:#333;color:var(--table-body-text,#333);padding:5px 8px}.prediction-events-table tbody tr:nth-child(2n){background:#ccc7b9;background:var(--table-row-alt,#ccc7b9)}.prediction-events-table tbody tr:hover{background:#b8b3a4;background:var(--table-row-hover,#b8b3a4)}.predictions-table-container .error-message,.predictions-table-container .loading-message,.predictions-table-container .no-data{color:#ccc;color:var(--text-secondary,#ccc);font-size:14px;padding:32px 20px;text-align:center}.predictions-table-container .error-message{color:#ef4444;color:var(--status-error,#ef4444)}.prediction-airport-icon{background:#0000;border:none}.prediction-airport-marker{background:#0000;color:#1a1a1a;font-size:12px;font-weight:700;padding:0;text-align:center;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;white-space:nowrap}.prediction-events-table tr.prediction-event-landed{background:#22c55e1f}.prediction-events-table tr.prediction-event-landed td{border-bottom:1px solid #22c55e80;border-top:1px solid #22c55e80}.prediction-events-table td.landed-cell{font-weight:600;text-align:left}.prediction-events-table .landed-badge{background:#22c55e;border-radius:3px;color:#fff;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;margin-right:8px;padding:2px 8px}.prediction-events-table .landed-text{color:#cbd5e1;color:var(--text-secondary,#cbd5e1);font-weight:500}.predictions-live-marker-icon{background:#0000!important;border:none!important}.predictions-live-marker{align-items:center;display:flex;gap:4px;pointer-events:auto}.predictions-live-dot{background:#3b82f6;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0006;flex:0 0 auto;height:10px;width:10px}.predictions-live-label{background:#111827e0;border:1px solid #ffffff1f;border-radius:3px;color:#e5e7eb;font-size:10px;font-weight:600;line-height:1.3;padding:1px 6px;white-space:nowrap}.predictions-live-label .flt{color:#fff;margin-right:4px}.predictions-live-label .eta{color:#22c55e}.predictions-filters .filter-select{background:#1f2937;background:var(--surface-2,#1f2937);border:1px solid #374151;border:1px solid var(--border,#374151);border-radius:4px;color:#e5e7eb;color:var(--text-primary,#e5e7eb);cursor:pointer;font-size:12px;margin-right:6px;padding:4px 8px}.predictions-filters .airport-clock{font-feature-settings:"tnum";color:#e5e7eb;color:var(--text-primary,#e5e7eb);font-size:13px;font-variant-numeric:tabular-nums;padding:0 6px}.predictions-table th{font-size:11px;line-height:1.2;padding:6px;vertical-align:bottom;white-space:nowrap}.predictions-table th.eta-time-col{font-size:12px}.predictions-table td.eta-time-cell{color:#333;color:var(--table-body-text,#333);font-size:14px;font-weight:700;text-align:left}.predictions-table td.eta-time-cell .eta-time-value{font-feature-settings:"tnum";display:inline-block;font-variant-numeric:tabular-nums;letter-spacing:.3px;min-width:3.4em}.predictions-table td.eta-time-cell .status-check{color:#28a745;color:var(--status-connected,#28a745);font-weight:700;margin-right:2px}.predictions-table .model-version-tag{background:#00000014;background:var(--bg-card-hover,#00000014);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:3px;color:#555;color:var(--text-on-card-secondary,#555);display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:1px 6px;white-space:nowrap}.runway-label-icon{background:#0000!important;border:none!important}.runway-label-icon .runway-label{background:#ffffffeb;border:1px solid #444;border-radius:3px;box-shadow:0 1px 2px #0006;color:#111;display:inline-block;font-family:Consolas,Menlo,monospace;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:2px 6px;pointer-events:none;white-space:nowrap}.predictions-table tr.prediction-group-divider td{background:#3d4751;background:var(--bg-primary,#3d4751);border-bottom:1px solid #fff3;border-bottom:1px solid var(--border-medium,#fff3);border-left:3px solid #ff6b35;border-left:3px solid var(--accent-primary,#ff6b35);color:#fff;color:var(--text-primary,#fff);font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 12px;text-transform:uppercase;white-space:nowrap}.predictions-table tr.prediction-group-divider.landed td{border-left-color:#28a745;border-left-color:var(--status-connected,#28a745);cursor:pointer}.predictions-table tr.prediction-group-divider:hover td{filter:brightness(1.12)}.predictions-table tr.prediction-group-divider .grp-count{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:9px;color:#fff;display:inline-block;font-size:10px;margin-left:7px;padding:0 7px;vertical-align:middle}.predictions-table tr.prediction-group-divider.landed .grp-count{background:#28a745;background:var(--status-connected,#28a745)}.predictions-table tr.prediction-group-divider .grp-caret{opacity:.85}.eta-seq-badge{color:#d4a520;color:var(--accent-secondary,#d4a520);font-size:11px;font-weight:600}@media (min-width:601px) and (max-width:1280px){.predictions-table td:nth-child(10),.predictions-table td:nth-child(11),.predictions-table td:nth-child(12),.predictions-table td:nth-child(6),.predictions-table th:nth-child(10),.predictions-table th:nth-child(11),.predictions-table th:nth-child(12),.predictions-table th:nth-child(6){display:none}}.predictions-controls{gap:10px;padding:8px 16px;position:relative}.predictions-tabs{padding:6px 16px 0}.predictions-tab{padding:6px 16px}.predictions-tools-popover{align-items:center;background:#3d4751;background:var(--bg-primary,#3d4751);border:1px solid #fff3;border:1px solid var(--border-medium,#fff3);border-radius:8px;box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg,0 4px 20px #0000004d);display:flex;flex-wrap:wrap;gap:8px;max-width:440px;padding:10px 12px;position:absolute;right:12px;top:calc(100% + 4px);z-index:1200}.predictions-tools-popover .filter-label{color:#ccc;color:var(--text-secondary,#ccc)}@media (max-width:600px){.predictions-tools-popover{left:8px;max-width:none;right:8px}}.leaflet-tooltip.pe-eta-label{background:#2d3748d9;border:none;border-radius:3px;box-shadow:0 1px 2px #0006;color:#fff;font-size:10px;font-weight:700;padding:0 4px}.leaflet-tooltip.pe-eta-label:before{display:none}.predictions-table td.seq-cell,.predictions-table th.seq-col{text-align:center;width:36px}.predictions-table .seq-num{font-feature-settings:"tnum";background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:9px;color:#fff;display:inline-block;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;min-width:20px;padding:1px 5px}.predictions-table .seq-landed{color:#28a745;color:var(--status-connected,#28a745);font-weight:700}.predictions-table .landing-confidence{color:#666;color:var(--text-on-card-muted,#666);font-size:.85em}.predictions-zoom-control{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:6px;box-shadow:0 1px 4px #00000059;display:flex;gap:2px;padding:3px;position:absolute;right:10px;top:10px;z-index:900}.predictions-zoom-btn{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.2px;padding:4px 10px;transition:background .15s,color .15s,border-color .15s}.predictions-zoom-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.predictions-zoom-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}@media (max-width:600px){.predictions-zoom-control{right:6px;top:6px}.predictions-zoom-btn{font-size:10px;padding:3px 7px}}.predictions-table tbody tr.stale-contact,.predictions-table tbody tr.stale-contact:nth-child(2n){background:repeating-linear-gradient(135deg,#d4cfc1,#d4cfc1 6px,#c4bfb1 0,#c4bfb1 12px);background:repeating-linear-gradient(135deg,var(--table-body-bg,#d4cfc1) 0,var(--table-body-bg,#d4cfc1) 6px,var(--table-row-hover,#c4bfb1) 6px,var(--table-row-hover,#c4bfb1) 12px);color:#555;color:var(--table-body-text-secondary,#555)}.predictions-table tbody tr.stale-contact:hover{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1)}.status-stale{color:var(--status-warning);cursor:help;font-weight:600;white-space:nowrap}.remaining-stale{color:var(--text-muted);cursor:help}.ao-dom-spread{color:var(--text-muted);font-style:italic}.predictions-table .pt-stack{display:flex;flex-direction:column;gap:1px}.predictions-table .pt-l1{line-height:16px;min-height:16px}.predictions-table .pt-l2{color:#555;color:var(--table-body-text-secondary,#555);font-size:10.5px;font-weight:400;line-height:14px;min-height:14px}.predictions-table td.numeric .pt-stack{align-items:flex-end}.predictions-table td.eta-time-cell .pt-stack{align-items:flex-start}.predictions-table .pt-key{font-weight:700}.predictions-table .pt-muted{color:#555;color:var(--table-body-text-secondary,#555);font-weight:400}.predictions-table .pt-inline{align-items:center;display:inline-flex;gap:4px}.predictions-table .pt-gap{margin-left:4px}.predictions-table .pt-link{color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px}.predictions-table .military-badge{background:#8b0000;background:var(--badge-military-bg,#8b0000);color:#fff;color:var(--badge-military-text,#fff)}.predictions-table th.pt-th{padding-bottom:4px;padding-top:4px}.predictions-table th.pt-th .pt-l1{line-height:13px;min-height:13px}.predictions-table th.pt-th .pt-l2{color:#fff;color:var(--table-header-text,#fff);font-size:9px;font-weight:500;line-height:12px;min-height:12px;opacity:.7;text-transform:none}.predictions-table th.pt-th .pt-l2.pt-th-static{cursor:default}.predictions-table th.pt-th.numeric .pt-l1,.predictions-table th.pt-th.numeric .pt-l2{text-align:right}.predictions-table th.pt-th.eta-time-col .pt-l1,.predictions-table th.pt-th.eta-time-col .pt-l2{text-align:left}.predictions-table .pt-err{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.predictions-table tr.expanded .pt-err{color:inherit}.hold-badge{align-items:center;border-radius:3px;display:inline-flex;font-size:10px;font-weight:700;gap:3px;letter-spacing:.3px;line-height:14px;padding:1px 6px;text-transform:uppercase}.hold-badge .hold-glyph{font-size:9px}.hold-badge.hold-holding{background:#f59e0b;background:var(--status-warning,#f59e0b);color:#1a1a1a;color:var(--status-warning-text,#1a1a1a)}.hold-badge.hold-holding .hold-glyph{animation:hold-blink 1.4s ease-in-out infinite}.hold-badge.hold-likely{background:#0000;border:1px dashed #f59e0b;border:1px dashed var(--status-warning,#f59e0b);color:#333;color:var(--table-body-text,#333)}.hold-badge.hold-held{background:#bfbaac;background:var(--table-row-border,#bfbaac);color:#333;color:var(--table-body-text,#333)}@keyframes hold-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.hold-badge.hold-holding .hold-glyph{animation:none}}.predictions-table tbody tr.row-holding>td:first-child{box-shadow:inset 3px 0 0 #f59e0b;box-shadow:inset 3px 0 0 var(--status-warning,#f59e0b)}@media (max-width:600px){.predictions-table .pt-stack{align-items:flex-end;text-align:right}.predictions-table .pt-l2{font-size:11px}}.predictions-table .pt-emergency{font-feature-settings:"tnum";background:#e02020;background:var(--status-emergency,#e02020);border-radius:3px;color:#fff;font-size:10px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.5px;padding:1px 5px}.predictions-table .pt-emergency.ended{background:#0000;border:1px solid #e02020;border:1px solid var(--status-emergency,#e02020);color:#e02020;color:var(--status-emergency,#e02020)}.predictions-table tbody tr.row-emergency>td:first-child{box-shadow:inset 3px 0 0 #e02020;box-shadow:inset 3px 0 0 var(--status-emergency,#e02020)}.prediction-dist-bar{--prediction-dist-bin-rgb:255,107,53;background:#0000000f;background:var(--bg-card-hover,#0000000f);border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:2px;display:block;min-width:80px;overflow:visible;position:relative}.prediction-dist-bar-bins{display:flex;gap:1px;height:100%}.prediction-dist-bin{height:100%;min-width:0;transition:background .12s ease}.prediction-dist-bin:hover{filter:brightness(1.15)}.prediction-dist-marker{bottom:-1px;cursor:help;pointer-events:auto;position:absolute;top:-1px}.prediction-dist-marker-median{background:#333;background:var(--text-on-card,#333);margin-left:-1px;width:2px}.prediction-dist-marker-edge{background:#666;background:var(--text-on-card-muted,#666);margin-left:0;opacity:.8;width:1px}[data-theme=mono] .prediction-dist-bar{--prediction-dist-bin-rgb:120,120,120}[data-theme=dark] .prediction-dist-bar{--prediction-dist-bin-rgb:64,158,255}[data-theme=light] .prediction-dist-bar{--prediction-dist-bin-rgb:12,110,180}.prediction-risk-chip{align-items:center;border-radius:3px;display:inline-flex;font-size:.72rem;font-weight:600;gap:3px;line-height:1.4;margin-left:6px;padding:1px 6px;vertical-align:middle;white-space:nowrap}.prediction-risk-chip.risk-medium{background:#a162072e;border:1px solid #a1620759;color:#a16207}.prediction-risk-chip.risk-high{background:#b91c1c2e;border:1px solid #b91c1c66;color:#b91c1c}.prediction-bucket-bar{font-size:9px;line-height:1;-webkit-user-select:none;user-select:none}.prediction-bucket-bar .bucket-label{color:#fffffff2;display:inline-block;font-weight:700;padding:2px 4px}.ao-early{--ao-c:var(--outlook-early,#4ea3ff)}.ao-ontime{--ao-c:var(--outlook-ontime,#22c55e)}.ao-late{--ao-c:var(--outlook-late,#e0584f)}.ao-bar{align-items:stretch;background:#bfbaac;background:var(--border-on-card,#bfbaac);border-radius:5px;display:inline-flex;flex-shrink:0;height:9px;overflow:hidden;vertical-align:middle;width:92px}.ao-bar-lg{height:12px;width:100%}.ao-seg{background:var(--ao-c);min-width:2px;transition:flex-grow .4s ease}.ao-bar.ao-spread{filter:grayscale(.3);opacity:.55}.ao-compact{align-items:center;display:inline-flex;gap:6px;white-space:nowrap}.ao-dom{font-size:11px;font-weight:600}.ao-dom-late{color:#e0584f;color:var(--outlook-late,#e0584f)}.ao-dom-ontime{color:#1a9c47;color:var(--outlook-ontime,#1a9c47)}.ao-dom-early{color:#2f7fd0;color:var(--outlook-early,#2f7fd0)}.ao-full{display:flex;flex-direction:column;gap:5px;min-width:220px}.ao-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:11px;gap:10px}.ao-lg{color:#333;color:var(--text-on-card,#333);font-weight:600}.ao-lg.ao-early{color:#2f7fd0;color:var(--outlook-early,#2f7fd0)}.ao-lg.ao-ontime{color:#1a9c47;color:var(--outlook-ontime,#1a9c47)}.ao-lg.ao-late{color:#c8453c;color:var(--outlook-late,#c8453c)}.ao-ref{color:#888;color:var(--text-on-card-muted,#888);font-size:10px;margin-left:auto}.ao-trend{font-weight:700;margin-left:3px}.ao-trend-up{color:#e0584f;color:var(--outlook-late,#e0584f)}.ao-trend-down{color:#1a9c47;color:var(--outlook-ontime,#1a9c47)}.ao-trend-flat{color:#999;color:var(--text-on-card-muted,#999)}.ao-spark-base{stroke:#bfbaac;stroke:var(--border-on-card,#bfbaac);stroke-width:1}.ao-spark-line{stroke-width:1.6}.ao-spark-up .ao-spark-dot,.ao-spark-up .ao-spark-line{stroke:#e0584f;stroke:var(--outlook-late,#e0584f);fill:#e0584f;fill:var(--outlook-late,#e0584f)}.ao-spark-down .ao-spark-dot,.ao-spark-down .ao-spark-line{stroke:#22c55e;stroke:var(--outlook-ontime,#22c55e);fill:#22c55e;fill:var(--outlook-ontime,#22c55e)}.ao-spark-flat .ao-spark-dot,.ao-spark-flat .ao-spark-line{stroke:#999;stroke:var(--text-on-card-muted,#999);fill:#999;fill:var(--text-on-card-muted,#999)}.ao-spark-dot{stroke:none}.ao-summary{align-items:center;background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);border-left:3px solid #22c55e;border-left:3px solid var(--outlook-ontime,#22c55e);border-radius:6px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px;padding:8px 10px}.ao-summary .ao-full{flex:1 1 240px}.ao-summary-trend{align-items:center;display:flex;gap:8px}.ao-summary-trend-label{color:#777;color:var(--text-on-card-muted,#777);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.ao-summary-trend-val{font-size:11px;font-weight:600;white-space:nowrap}.ao-rate,.ao-summary-trend-val{color:#333;color:var(--text-on-card,#333)}.ao-rate{font-weight:800;margin-left:3px}.chart-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));margin-bottom:24px}.chart-card-span-full{grid-column:1/-1}.chart-card-span-2{grid-column:span 2}@media (max-width:1200px){.chart-card-span-2{grid-column:auto}}.chart-card{background:var(--summary-table-bg);border:1px solid var(--summary-table-border);border-radius:8px;margin:0;min-width:0;padding:12px 14px;transition:opacity .18s ease}.chart-card-loading{opacity:.55}.chart-card-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chart-card-title{color:var(--chart-label-text);font-size:13px;font-weight:600}.chart-card-note,.chart-card-subtitle{color:var(--chart-axis-text);font-size:11px}.chart-card-note{font-style:italic;margin-left:auto}.chart-card-description{color:var(--chart-axis-text);font-size:12px;line-height:1.55;margin:10px 0 0;max-width:78ch}.chart-card-empty{align-items:center;color:var(--chart-axis-text);display:flex;font-size:13px;height:180px;justify-content:center}.chart-card-body{min-width:0}.chart-plot{min-width:0;position:relative}.chart-svg{display:block;overflow:visible;width:100%}.chart-grid-line{stroke:var(--chart-grid);stroke-width:1}.chart-axis-label{fill:var(--chart-axis-text);font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums}.chart-axis-title{font-weight:600}.chart-value-label{fill:var(--chart-label-text);font-size:11px;font-weight:600}.chart-bar{transition:opacity .1s ease}.chart-band.is-hover .chart-bar{opacity:.78}.chart-hit{fill:#0000;cursor:crosshair;outline:none}.chart-hit:focus-visible{fill:var(--chart-crosshair);fill-opacity:.12;stroke:var(--chart-crosshair);stroke-width:1}.chart-line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-band-fill{opacity:var(--chart-band-opacity)}.chart-crosshair{stroke:var(--chart-crosshair);stroke-width:1}.chart-marker{stroke:var(--chart-hover-ring);stroke-width:2}.chart-card-legend{border-top:1px solid var(--chart-grid);display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding-top:8px}.chart-legend-item{align-items:center;color:var(--chart-axis-text);display:inline-flex;font-size:11px;gap:6px}.chart-legend-key{flex:none;height:8px;width:18px}.chart-tooltip{background:var(--chart-tooltip-bg);border:1px solid var(--chart-tooltip-border);border-radius:6px;box-shadow:0 2px 8px #00000040;box-shadow:var(--shadow-md,0 2px 8px #00000040);max-width:240px;min-width:92px;padding:7px 10px;pointer-events:none;position:absolute;z-index:5}.chart-tooltip-title{color:var(--chart-tooltip-label);font-size:10px;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.chart-tooltip-row{align-items:baseline;display:flex;gap:6px;white-space:nowrap}.chart-tooltip-row+.chart-tooltip-row{margin-top:2px}.chart-tooltip-key{border-radius:1px;flex:none;height:2px;transform:translateY(-3px);width:10px}.chart-tooltip-value{font-feature-settings:"tnum";color:var(--chart-tooltip-text);font-size:13px;font-variant-numeric:tabular-nums;font-weight:700}.chart-tooltip-name{color:var(--chart-tooltip-label);font-size:11px;overflow:hidden;text-overflow:ellipsis}@media (max-width:640px){.chart-grid{gap:12px;grid-template-columns:1fr}.chart-card{padding:10px}}.chart-plot-center{align-items:center;display:flex;flex-direction:column}.chart-cell,.chart-sector{outline:none;transition:opacity .1s ease}.chart-cell:hover,.chart-sector:hover{stroke:var(--chart-hover-ring);stroke-width:2}.chart-cell:focus-visible,.chart-sector:focus-visible{stroke:var(--chart-crosshair);stroke-width:2}.chart-compass-label{fill:var(--chart-axis-text);font-size:12px;font-weight:600}.chart-scale{align-items:center;color:var(--chart-axis-text);display:flex;font-size:10px;gap:6px;margin-top:10px}.chart-scale-label{letter-spacing:.04em;margin-right:2px;text-transform:uppercase}.chart-scale-strip{display:inline-flex;gap:1px}.chart-scale-cell{border-radius:1px;height:10px;width:16px}.chart-scale-end{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-page{box-sizing:border-box;color:var(--text-primary);flex:1 1;height:100%;min-width:0;overflow-y:auto;padding:0 16px 40px}.stats-filter-row{background:var(--bg-secondary);border-bottom:1px solid var(--border-medium);gap:10px 18px;margin-bottom:6px;padding:10px 0 12px;position:sticky;top:0;z-index:4}.stats-filter-group,.stats-filter-row{align-items:center;display:flex;flex-wrap:wrap}.stats-filter-group{gap:5px}.stats-filter-right{margin-left:auto}.stats-filter-label{color:var(--text-muted);font-size:10px;letter-spacing:.06em;margin-right:3px;text-transform:uppercase}.stats-filter-meta{font-feature-settings:"tnum";color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.stats-select{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-primary);font-size:13px;max-width:240px;padding:6px 10px}.stats-select:focus{border-color:var(--accent-primary);outline:none}.stats-pill{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:5px 11px;transition:background .15s ease,color .15s ease,border-color .15s ease}.stats-pill:hover:not(:disabled){color:var(--text-primary)}.stats-pill.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.stats-pill:disabled{cursor:default;opacity:.5}.stats-pill-action{background:#0000}.stats-date{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary);font-size:12px;padding:5px 8px}.stats-date.active{border-color:var(--accent-primary);color:var(--text-primary)}.stats-section{margin-bottom:34px;scroll-margin-top:64px}.stats-group-title{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.08em;margin:18px 0 9px;text-transform:uppercase}.stats-rail{display:flex;flex-wrap:wrap;gap:4px;padding:8px 0 14px}.stats-rail-link{background:#0000;border:1px solid #0000;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 10px;text-decoration:none}.stats-rail-link:hover{border-color:var(--border-medium);color:var(--text-primary)}.stats-fresh-panel{grid-gap:1px;background:var(--summary-table-border);border:1px solid var(--summary-table-border);border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:12px;overflow:hidden}.stats-fresh-cell{background:var(--summary-table-bg);padding:9px 14px}.stats-fresh-label{color:var(--summary-table-text-secondary);font-size:10px;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.stats-fresh-value{font-feature-settings:"tnum";color:var(--summary-table-text);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.stats-fresh-mark{margin-right:5px}.stats-fresh-cell.is-fresh .stats-fresh-mark{color:var(--status-connected)}.stats-fresh-cell.is-stale .stats-fresh-mark{color:#e0a030;color:var(--status-warning,#e0a030)}.stats-live-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.stats-live-stat{background:var(--stats-bg);border-radius:6px;flex:1 1 96px;max-width:150px;padding:8px 12px}.stats-live-value{color:var(--stats-text);font-size:19px;font-weight:700;line-height:1.15}.stats-live-label{color:var(--stats-label);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.stats-events{margin-top:6px}.stats-events-toggle{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:7px 0}.stats-events-count{color:var(--text-muted);font-size:11px;font-weight:500}.stats-table-wrap{border:1px solid var(--summary-table-border);border-radius:8px;overflow-x:auto}.stats-table{background:var(--summary-table-bg);border-collapse:collapse;color:var(--summary-table-text);font-size:12px;width:100%}.stats-table thead th{background:var(--summary-table-header-bg);border-bottom:2px solid var(--table-header-border);color:var(--summary-table-text-secondary);font-size:10px;font-weight:600;letter-spacing:.04em;padding:7px 10px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.stats-table td{border-bottom:1px solid var(--summary-table-border);padding:5px 10px}.stats-table tbody tr:hover{background:var(--summary-table-hover)}.stats-table tbody tr:last-child td{border-bottom:none}.stats-td-nowrap{white-space:nowrap}.stats-td-mono{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:11px}.stats-ev-good{color:var(--status-connected)}.stats-ev-warn{color:#e0a030;color:var(--status-warning,#e0a030)}.stats-ev-bad{color:#d9534f;color:var(--status-error,#d9534f)}.stats-td-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.stats-empty,.stats-note{background:var(--stats-bg);border-radius:6px;color:var(--stats-text);font-size:13px;margin-bottom:14px;padding:12px 15px}.stats-error{background:var(--status-warning-bg-transparent);border:1px solid var(--status-warning);border-radius:6px;color:var(--status-warning-text);font-size:13px;margin-bottom:14px;padding:10px 14px}@media (max-width:900px){.stats-filter-row{position:static}.stats-filter-right{margin-left:0}}@media (max-width:480px){.stats-live-stat{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;max-width:none}.stats-fresh-panel{grid-template-columns:1fr 1fr}}.stats-lastknown-banner{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border-left:4px solid #dc3545;border-left:4px solid var(--status-disconnected,#dc3545);border-radius:6px;color:#721c24;color:var(--status-error-text,#721c24);font-size:.92rem;line-height:1.45;margin:0 0 12px;padding:10px 14px}.pred-accuracy{background:var(--bg-primary);flex:1 1;overflow-y:auto;padding:16px 20px 32px}.pred-accuracy-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 10px}.pred-accuracy-label{color:var(--text-secondary);font-size:13px;font-weight:600}.pred-accuracy-pills{background:none;border-bottom:none;padding:0}.pred-accuracy-pills .predictions-tab{border-bottom:1px solid var(--border-medium);border-radius:6px;padding:5px 14px}.pred-accuracy-pills .predictions-tab.active{border-color:var(--accent-primary)}.pred-accuracy-note{color:var(--text-muted);font-size:12px}.pred-accuracy-table-wrap{border:1px solid var(--border-light);border-radius:6px;overflow-x:auto}.pred-accuracy-table{min-width:720px;width:100%}.pred-accuracy-table th{white-space:nowrap}.pred-accuracy-empty-row td{color:#555;color:var(--table-body-text-secondary,#555)}.pred-accuracy-table td.strong{color:#333;color:var(--table-body-text,#333);font-weight:700}.pred-accuracy-table tbody td:first-child{color:#333;color:var(--table-body-text,#333);font-weight:600}.pred-accuracy-boundary{color:var(--accent-secondary);font-size:11px;font-weight:600;letter-spacing:.04em;margin-left:6px;text-transform:uppercase;white-space:nowrap}.pred-accuracy-handover-note{color:#555;color:var(--table-body-text-secondary,#555);font-size:12px;font-style:italic}.pred-accuracy-lead{color:var(--text-muted);font-size:12px;line-height:1.55;margin:0 2px 10px;max-width:88ch}.pred-accuracy-hint{color:var(--text-muted);font-size:12px;line-height:1.5;margin:10px 2px 0;max-width:62ch}.pred-accuracy-error{background:var(--bg-tertiary);border:1px solid var(--status-warning);border-radius:6px;color:var(--text-primary);font-size:13px;margin-bottom:12px;padding:8px 12px}.airport-board{background:var(--bg-secondary);color:var(--text-primary);display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;min-width:0;width:100%}.airport-board-header .airport-board-select{max-width:150px}.airport-board-title{color:var(--text-secondary);flex:1 1;font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-board-refresh{font-size:14px;min-width:32px}.airport-board-tabs .content-tab{flex:1 1;font-size:13px;padding:10px 8px}.airport-board-filters{flex-shrink:0}.airport-board-updated{color:var(--text-muted);font-size:11px;margin-left:auto;white-space:nowrap}.airport-board-list{background:var(--bg-card);flex:1 1;min-height:0;overflow-y:auto}.airport-board-list .error-message,.airport-board-list .loading-message,.airport-board-list .no-data{color:var(--text-on-card-muted);height:auto;padding:32px 16px}.airport-board-list .error-message{color:var(--status-error)}.airport-board-row{align-items:center;background:var(--bg-card);border:none;border-bottom:1px solid var(--border-on-card);color:var(--text-on-card);cursor:pointer;display:flex;font:inherit;gap:10px;padding:8px 12px;text-align:left;width:100%}.airport-board-row:active{background:var(--bg-card-active)}.airport-board-row-logo{align-items:center;display:flex;flex:0 0 48px;justify-content:center}.airport-board-row-logo .airline-logo{height:20px;margin-right:0;max-width:48px}.airport-board-row-logo .airline-text{color:var(--text-on-card-secondary);font-size:11px;font-weight:600}.airport-board-row-logo .ground-vehicle-icon{color:var(--text-on-card-secondary);color:var(--ground-vehicle-color,var(--text-on-card-secondary))}.airport-board-row-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.airport-board-row-primary{align-items:center;display:flex;gap:6px;min-width:0}.airport-board-callsign{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:14px;font-weight:700;white-space:nowrap}.airport-board-flight{color:var(--text-on-card-muted);font-size:11px;white-space:nowrap}.airport-board-row-secondary{align-items:center;color:var(--text-on-card-secondary);display:flex;font-size:11px;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-board-row-status{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:2px;max-width:46%;text-align:right}.airport-board-row-status .status-unknown{color:var(--text-on-card-muted);font-size:11px;font-weight:600}.airport-board-row-detail{color:var(--text-on-card-secondary);font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (orientation:landscape) and (max-height:500px){.airport-board-row{padding:5px 12px}}.messages-page{flex-direction:column;height:100%;overflow:hidden;width:100%}.messages-page,.messages-view-toggle{background:var(--bg-tertiary);display:flex}.messages-view-toggle{border-radius:4px;gap:2px;padding:2px}.messages-view-toggle button{background:#0000;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 12px;transition:all .15s}.messages-view-toggle button.active{background:var(--accent-primary);color:#fff}.messages-view-toggle button:hover:not(.active){color:var(--text-primary)}.messages-content{display:flex;flex:1 1;overflow:hidden}.messages-map-panel{border-right:1px solid var(--border-medium);min-width:300px;position:relative;width:65%}.messages-map-panel .leaflet-container{height:100%;width:100%}.messages-data-panel{background-color:var(--bg-card);background-color:var(--table-body-bg,var(--bg-card));display:flex;flex-direction:column;overflow:hidden;width:35%}.messages-aircraft-list{border-bottom:2px solid var(--table-header-border);flex:0 0 auto;max-height:40%;overflow-y:auto}.messages-aircraft-table{background-color:var(--bg-card);background-color:var(--table-body-bg,var(--bg-card));border-collapse:collapse;color:var(--text-on-card);color:var(--table-body-text,var(--text-on-card));font-size:11px;table-layout:fixed;width:100%}.messages-aircraft-table thead{background-color:var(--table-header-bg);color:var(--table-header-text);position:sticky;top:0;z-index:1}.messages-aircraft-table th{background:var(--table-header-bg);border-bottom:2px solid var(--table-header-border);color:var(--table-header-text);font-size:11px;font-weight:600;line-height:1.2;padding:5px 8px;text-align:left;white-space:nowrap}.messages-aircraft-table td{border-bottom:1px solid var(--table-row-border,var(--border-on-card));color:var(--text-on-card);color:var(--table-body-text,var(--text-on-card));line-height:1.1;padding:3px 8px;white-space:nowrap}.messages-aircraft-table tbody tr{cursor:pointer;transition:background-color .15s ease}.messages-aircraft-table tbody tr:hover{background-color:var(--bg-card-hover);background-color:var(--table-row-hover,var(--bg-card-hover))}.messages-aircraft-table tr.selected{background-color:var(--accent-primary);background-color:var(--status-selected-bg,var(--accent-primary));font-weight:600}.messages-aircraft-table tr.selected td{color:var(--table-body-text)}.messages-aircraft-table tr.has-position td:first-child{border-left:3px solid var(--accent-secondary)}.messages-table-container{flex:1 1;min-height:0;overflow-y:auto}.selected-aircraft-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-medium);color:var(--text-secondary);display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:4px 12px}.close-filter-btn{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:2px 8px}.close-filter-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;color:var(--text-on-accent,#fff)}.messages-table{background-color:var(--bg-card);background-color:var(--table-body-bg,var(--bg-card));border-collapse:collapse;color:var(--text-on-card);color:var(--table-body-text,var(--text-on-card));font-size:11px;table-layout:fixed;width:100%}.messages-table thead{background-color:var(--table-header-bg);color:var(--table-header-text);position:sticky;top:0;z-index:1}.messages-table th{background:var(--table-header-bg);border-bottom:2px solid var(--table-header-border);color:var(--table-header-text);font-size:11px;font-weight:600;line-height:1.2;padding:5px 8px;text-align:left;white-space:nowrap}.messages-table td{border-bottom:1px solid var(--table-row-border,var(--border-on-card));color:var(--text-on-card);color:var(--table-body-text,var(--text-on-card));line-height:1.1;max-width:300px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.messages-table tbody tr{cursor:pointer;transition:background-color .15s ease}.messages-table tbody tr:hover{background-color:var(--bg-card-hover);background-color:var(--table-row-hover,var(--bg-card-hover))}.messages-table tr.expanded{background:var(--bg-card)}.messages-table tr.crc-fail,.messages-table tr.crc-fail+.message-subrow{opacity:.6}.messages-table tr.crc-fail td,.messages-table tr.crc-fail+.message-subrow td{color:var(--text-muted)}.msg-type-position{color:var(--accent-secondary);font-weight:600}.msg-type-text{color:var(--accent-primary);font-weight:600}.msg-type-oooi{color:#e6a817;font-weight:600}.crc-badge{border-radius:3px;display:inline-block;font-size:10px;font-weight:600;padding:1px 4px}.crc-badge.valid{color:#16a34a}.crc-badge.invalid{color:#e74c3c}.message-expanded-row td{padding:0!important}.message-detail{background:var(--bg-tertiary);border-left:3px solid var(--accent-primary);padding:8px 12px}.message-detail-header{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11px;gap:8px 16px;margin-bottom:6px}.message-detail-header span{align-items:center;display:flex;gap:4px}.message-raw-data{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;margin-bottom:6px;padding:8px}.raw-data-label{color:var(--accent-primary);display:block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.raw-data-content{color:var(--text-primary);font-family:Courier New,monospace;font-size:11px;line-height:1.4;margin:0;max-height:150px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.message-decoded-content{background:var(--bg-card);border:1px solid var(--border-light);border-radius:4px;padding:8px}.message-decoded-content h4{color:var(--accent-primary);font-size:11px;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.message-decoded-content ul{list-style:none;margin:0;padding:0}.message-decoded-content li{color:var(--text-primary);font-size:12px;padding:2px 0}.type-badge{border-radius:3px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:1px 5px}.type-badge.acars,.type-badge.vdl2{background:#e67e221f;color:#e67e22}.col-flag{max-width:26px;min-width:26px;padding-left:4px!important;width:26px}.col-flag,.col-status{padding-right:2px!important}.col-status{max-width:28px;min-width:28px;padding-left:2px!important;text-align:center;width:28px}.ag-badge{align-items:center;border-radius:3px;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;line-height:1;width:18px}.ag-badge.airborne{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6}.ag-badge.ground{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.ag-badge.unknown{background:#9ca3af1a;border:1px solid #9ca3af33;color:#9ca3af}.location-icon{align-items:center;display:inline-flex;justify-content:center;vertical-align:middle}.location-icon.empty{color:var(--text-muted);font-size:10px}.location-icon.has-pos{cursor:help}.col-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.col-numeric{text-align:right}.reg-cell{font-weight:600}.flight-cell{font-family:Courier New,monospace;font-size:10px;font-weight:500;white-space:nowrap}.hex-cell{font-family:Courier New,monospace}.hex-cell,.text-cell{color:var(--text-secondary);color:var(--text-on-card-muted,var(--text-secondary));font-size:10px}.text-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis}.messages-aircraft-table .airline-logo,.messages-table .airline-logo{background-color:initial;filter:none;filter:var(--airline-logo-filter,none);height:20px;max-width:60px;object-fit:contain;padding:0;vertical-align:middle}.messages-aircraft-table .airline-text,.messages-table .airline-text{color:var(--text-secondary);color:var(--text-on-card-muted,var(--text-secondary));font-size:11px}.military-badge{background:#64646426;border-radius:3px;color:var(--text-secondary);display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 4px}.messages-aircraft-table .military-icon,.messages-table .military-icon{display:inline-block;height:17px;object-fit:contain;vertical-align:middle;width:26px}.messages-aircraft-table .operator-cell,.messages-table .operator-cell{max-width:80px;min-width:60px}.label-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.label-code{font-family:Courier New,monospace;font-size:10px;font-weight:600}.label-desc{color:var(--text-secondary);color:var(--text-on-card-muted,var(--text-secondary));font-size:10px}.detail-separator{color:var(--border-medium);margin:0 2px}.receiver-cell{color:var(--text-secondary);font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.messages-empty{font-size:14px;height:100%}.messages-empty,.messages-no-map{align-items:center;color:var(--text-muted);display:flex;justify-content:center}.messages-no-map{background:var(--bg-primary);font-size:13px}.signal-bar{background:var(--bg-tertiary);border-radius:2px;display:inline-block;height:8px;overflow:hidden;vertical-align:middle;width:30px}.signal-bar-fill{background:var(--accent-secondary);border-radius:2px;height:100%}.messages-table tbody tr:has(+.message-subrow) td{border-bottom:none}.message-subrow{cursor:pointer}.message-subrow:hover{background-color:var(--bg-card-hover);background-color:var(--table-row-hover,var(--bg-card-hover))}.message-subrow td{background:inherit;border-bottom:1px solid var(--table-row-border,var(--border-on-card));padding:0 8px 3px!important}.message-subrow-content{color:var(--text-secondary);color:var(--text-on-card-muted,var(--text-secondary));font-size:10px;line-height:1.3;overflow:hidden;padding-left:28px;text-overflow:ellipsis;white-space:nowrap}.subrow-decoded{color:var(--accent-primary);font-weight:500}.subrow-decoded-item{white-space:nowrap}.subrow-text{color:var(--text-muted);color:var(--text-on-card-muted,var(--text-muted));font-family:Courier New,monospace}.acars-marker-popup .leaflet-popup-content-wrapper{background:#fff;background:var(--bg-card,#fff);border-radius:8px;box-shadow:0 4px 12px #0000004d;overflow:hidden;padding:0}.acars-marker-popup .leaflet-popup-content{margin:0;min-width:240px}.acars-marker-popup .leaflet-popup-close-button{color:#fff;color:var(--table-header-text,#fff);font-size:18px;right:8px;top:6px;z-index:2}.acars-popup{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.acars-popup-header{align-items:center;background:#3d4751;background:var(--table-header-bg,#3d4751);border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--accent-primary,#ff6b35);display:flex;gap:10px;padding:10px 14px}.acars-popup-header-info{flex:1 1;min-width:0}.acars-popup-reg{font-size:16px;font-weight:700}.acars-popup-hex,.acars-popup-reg{color:#fff;color:var(--table-header-text,#fff)}.acars-popup-hex{font-size:11px;font-weight:500;letter-spacing:.5px;opacity:.85}.acars-popup-body{color:#333;color:var(--text-on-card,#333);padding:10px 14px}.acars-popup-airline{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-on-card-light,#e0e0e0);color:#1a1a1a;color:var(--text-on-card,#1a1a1a);display:flex;font-size:14px;gap:8px;margin-bottom:8px;padding-bottom:6px}.acars-popup-logo{background-color:#fff;background-color:var(--bg-input,#fff);border-radius:4px;flex-shrink:0;height:28px;max-height:28px;max-width:120px;object-fit:contain;padding:3px 6px}.acars-popup-type{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-on-card-light,#e0e0e0);color:#444;color:var(--text-on-card-secondary,#444);font-size:13px;font-weight:500;margin-bottom:8px;padding-bottom:6px}.acars-popup-row{align-items:center;display:flex;font-size:12px;gap:6px;margin-bottom:5px}.acars-popup-label{color:#555;color:var(--text-on-card-secondary,#555);flex-shrink:0;font-weight:600;min-width:70px}.acars-popup-value{color:#333;color:var(--text-on-card,#333)}.acars-marker-tooltip .leaflet-tooltip{font-size:11px;padding:3px 8px}.messages-aircraft-table th:first-child{width:26px}.messages-aircraft-table th:nth-child(2){width:70px}.messages-aircraft-table th:nth-child(3){width:60px}.messages-aircraft-table th:nth-child(4){width:70px}.messages-aircraft-table th:nth-child(5){width:55px}.messages-aircraft-table th:nth-child(6),.messages-aircraft-table th:nth-child(7){width:28px}.messages-aircraft-table th:nth-child(8){width:35px}.messages-aircraft-table th:nth-child(9){width:auto}.messages-aircraft-table th:nth-child(10){width:55px}.messages-aircraft-table td{overflow:hidden;text-overflow:ellipsis}.messages-table th:first-child{width:26px}.messages-table th:nth-child(2){width:70px}.messages-table th:nth-child(3){width:60px}.messages-table th:nth-child(4){width:70px}.messages-table th:nth-child(5){width:55px}.messages-table th:nth-child(6),.messages-table th:nth-child(7){width:28px}.messages-table th:nth-child(8){width:58px}.messages-table th:nth-child(9){width:auto}.messages-table th:nth-child(10){width:55px}.messages-table th:nth-child(11){width:32px}.oooi-timeline{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-medium);display:flex;flex-shrink:0;font-size:11px;gap:4px;overflow-x:auto;padding:4px 12px}.oooi-event{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;display:inline-flex;gap:4px;padding:2px 8px;white-space:nowrap}.oooi-event.out{background:#e6a8171a;border-color:#e6a817}.oooi-event.off{background:#3b82f61a;border-color:#3b82f6}.oooi-event.on{background:#22c55e1a;border-color:#22c55e}.oooi-event.in{background:#a855f71a;border-color:#a855f7}.oooi-event-label{color:var(--text-primary);font-weight:600}.oooi-event-time{font-feature-settings:"tnum";color:var(--text-secondary);font-variant-numeric:tabular-nums}.oooi-event-airport{color:var(--accent-primary);font-family:Courier New,monospace;font-size:10px;font-weight:500}.acars-sprite-icon{background:none!important;border:none!important}@media (max-width:768px){.messages-content{flex-direction:column}.messages-map-panel{border-bottom:1px solid var(--border-medium);border-right:none;height:200px;min-width:0;min-width:auto;width:100%}.messages-data-panel{flex:1 1;min-height:0;width:100%}}@media (max-width:600px){.messages-table{display:block;width:100%}.messages-table thead{display:none}.messages-table tbody,.messages-table tr{display:block;width:100%}.messages-table tbody>tr{background:#ffffff08;border:1px solid var(--border-medium);border-radius:8px;margin-bottom:6px;padding:8px 10px}.messages-table tbody>tr.crc-fail{background:#d9534f0d;border-color:#d9534f80}.messages-table tbody>tr.expanded{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.messages-table td{align-items:center;border:none!important;color:var(--text-primary);display:flex;font-size:12px!important;gap:10px;justify-content:space-between;padding:3px 0!important}.messages-table td[data-label]:before{color:var(--text-secondary);content:attr(data-label);flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.4px;min-width:56px;text-transform:uppercase}.messages-table tr.message-expanded-row td,.messages-table tr.message-subrow td{display:block;padding:6px 0!important}.messages-table tr.message-expanded-row td:before,.messages-table tr.message-subrow td:before{display:none}.messages-table .subrow-decoded,.messages-table .subrow-decoded-item,.messages-table .subrow-text{overflow-wrap:anywhere;white-space:normal}.raw-data-content{overflow-wrap:anywhere}.messages-aircraft-table td:nth-child(4),.messages-aircraft-table td:nth-child(5),.messages-aircraft-table td:nth-child(6),.messages-aircraft-table td:nth-child(9),.messages-aircraft-table th:nth-child(4),.messages-aircraft-table th:nth-child(5),.messages-aircraft-table th:nth-child(6),.messages-aircraft-table th:nth-child(9){display:none}.messages-aircraft-table th:nth-child(10){width:auto}}.dashboard-info{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);color:#fff;color:var(--text-primary,#fff);flex-shrink:0;justify-content:space-between;padding:6px 24px}.dashboard-info,.left-controls{align-items:center;display:flex}.left-controls{gap:16px}.receiver-display{align-items:center;display:flex;gap:10px}.receiver-label{color:var(--text-secondary);font-size:13px;font-weight:500}.receiver-select{appearance:none;background:#ffffff14;background:var(--mobile-select-bg,#ffffff14);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 8 2 4h8z'/%3E%3C/svg%3E");background-image:var(--mobile-select-arrow,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 8 2 4h8z'/%3E%3C/svg%3E"));background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;min-width:150px;outline:none;padding:4px 28px 4px 12px;transition:all .2s}.receiver-select:hover{background-color:var(--bg-card-hover);border-color:var(--border-medium)}.receiver-select:focus{background-color:#ffffff1a;background-color:var(--mobile-select-bg,#ffffff1a);border-color:var(--accent-primary)}.receiver-select:active{background-color:var(--accent-primary-glow);border-color:var(--accent-primary)}.receiver-select option{background:var(--bg-primary);color:var(--text-primary)}.receiver-status{align-items:center;border-radius:12px;display:flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.receiver-status .status-dot{border-radius:50%;height:8px;width:8px}.receiver-status.online{background:#28a74526;background:var(--status-connected-bg-transparent,#28a74526);color:#28a745;color:var(--status-connected,#28a745)}.receiver-status.online .status-dot{background:#28a745;background:var(--status-connected,#28a745);box-shadow:0 0 6px #28a74599;box-shadow:0 0 6px var(--status-connected-glow,#28a74599)}.receiver-status.offline{background:#dc354526;background:var(--status-error-bg-transparent,#dc354526);color:#dc3545;color:var(--status-error,#dc3545)}.receiver-status.offline .status-dot{background:#dc3545;background:var(--status-error,#dc3545)}.receiver-status.partial{background:#ffc10726;background:var(--status-warning-bg-transparent,#ffc10726);color:#ffc107;color:var(--status-warning,#ffc107)}.receiver-status.partial .status-dot{background:#ffc107;background:var(--status-warning,#ffc107);box-shadow:0 0 6px #ffc10799;box-shadow:0 0 6px var(--status-warning-glow,#ffc10799)}.receiver-status.connected{background:#ffc10726;background:var(--status-warning-bg-transparent,#ffc10726);color:#ffc107;color:var(--status-warning,#ffc107)}.receiver-status.connected .status-dot{background:#ffc107;background:var(--status-warning,#ffc107);box-shadow:0 0 6px #ffc10799;box-shadow:0 0 6px var(--status-warning-glow,#ffc10799)}.stats-display{align-items:center;display:flex;gap:16px}.dashboard-info .stat-item{align-items:center;background:none;border-radius:0;display:flex;gap:6px;padding:0}.dashboard-info .stat-label{color:var(--text-secondary);font-size:12px;font-weight:500}.dashboard-info .stat-value{background:none;border:none;border-radius:0;color:var(--text-primary);font-size:16px;font-weight:700;min-width:32px;padding:0;text-align:left}.dashboard-info .stat-value.active-new-highlight{color:#0f0;color:var(--status-new,#0f0);text-shadow:0 0 8px #0f06;text-shadow:0 0 8px var(--status-new-glow,#0f06)}.dashboard-info .stat-value.no-position-count{color:#a0a0a0;color:var(--text-muted,#a0a0a0)}.right-controls{align-items:center;display:flex;gap:8px}.filter-label{font-size:12px;font-weight:500}.filter-btn,.filter-label{color:var(--text-secondary)}.filter-btn{background:#0000;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s;white-space:nowrap}.filter-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.filter-btn-new.active{background:#28a745;background:var(--status-new,#28a745);border-color:#28a745;border-color:var(--status-new,#28a745)}.filter-btn-not-regular.active{background:#6366f1;background:var(--status-not-regular,#6366f1);border-color:#6366f1;border-color:var(--status-not-regular,#6366f1)}.filter-btn-military.active{background:var(--status-military);border-color:var(--status-military)}.filter-btn-ground.active{background:#ff9800;border-color:#ff9800;color:#333}.filter-separator{color:var(--text-muted);margin:0 4px}.auto-zoom-control{align-items:center;display:flex;gap:10px}.auto-zoom-label{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:13px;font-weight:500}.auto-zoom-select{appearance:none;background:#ffffff14;background:var(--mobile-select-bg,#ffffff14);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 8 2 4h8z'/%3E%3C/svg%3E");background-image:var(--mobile-select-arrow,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 8 2 4h8z'/%3E%3C/svg%3E"));background-position:right 8px center;background-repeat:no-repeat;border:1px solid #ffffff1a;border:1px solid var(--border-light,#ffffff1a);border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:13px;font-weight:600;outline:none;padding:4px 28px 4px 12px;transition:all .2s}.auto-zoom-select:hover{background-color:#ffffff1f;background-color:var(--bg-card-hover,#ffffff1f);border-color:#fff3;border-color:var(--border-medium,#fff3)}.auto-zoom-select:focus{background-color:#ffffff1a;background-color:var(--mobile-select-bg,#ffffff1a)}.auto-zoom-select:active,.auto-zoom-select:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.auto-zoom-select:active{background-color:#ff6b3533;background-color:var(--accent-primary-glow,#ff6b3533)}.auto-zoom-select option{background:#3d4751;background:var(--bg-primary,#3d4751);color:#fff;color:var(--text-primary,#fff)}@media (max-width:1023px){.dashboard-info{padding:6px 16px}.left-controls,.stats-display{gap:12px}.right-controls{gap:6px}.filter-btn{font-size:10px;padding:3px 8px}.auto-zoom-select,.receiver-select{font-size:12px;padding:4px 26px 4px 10px}}@media (max-width:768px){.dashboard-info{flex-wrap:wrap;gap:8px;padding:8px 12px}.left-controls{flex:1 1;flex-wrap:wrap;gap:8px}.receiver-display{flex:1 1;min-width:140px}.auto-zoom-label,.filter-label,.receiver-label,.receiver-status .status-label{display:none}.receiver-status{border-radius:50%;padding:6px}.auto-zoom-select,.receiver-select{font-size:14px;min-height:40px;padding:8px 30px 8px 12px}.receiver-select{flex:1 1;min-width:120px}.stats-display{flex-wrap:wrap;gap:10px}.dashboard-info .stat-item{gap:4px}.dashboard-info .stat-label{font-size:10px}.dashboard-info .stat-value{font-size:14px;min-width:24px}.right-controls{flex-wrap:wrap;gap:6px;justify-content:flex-start;width:100%}.filter-btn{font-size:12px;min-height:36px;padding:6px 10px}.filter-separator{display:none}.auto-zoom-control{gap:6px}}@media (max-width:480px){.dashboard-info{padding:6px 8px}.left-controls{justify-content:space-between;width:100%}.receiver-select{min-width:100px}.stats-display{justify-content:space-around;width:100%}.dashboard-info .stat-label{font-size:9px}.dashboard-info .stat-value{font-size:13px}}@media (hover:none) and (pointer:coarse){.auto-zoom-select,.receiver-select{font-size:16px;min-height:44px;touch-action:manipulation}.auto-zoom-select:hover,.receiver-select:hover{background-color:#ffffff14;background-color:var(--mobile-select-bg,#ffffff14);border-color:#ffffff1a;border-color:var(--border-light,#ffffff1a)}.auto-zoom-select:active,.receiver-select:active{background-color:#ff6b3540;background-color:var(--accent-primary-glow,#ff6b3540)}.filter-btn{min-height:44px;padding:8px 12px;touch-action:manipulation}.filter-btn:hover{background:#0000;color:#ffffffb3;color:var(--text-secondary,#ffffffb3)}.filter-btn:active{background:#ff6b3540;background:var(--accent-primary-glow,#ff6b3540)}.filter-btn.active:hover{background:#ff6b35;background:var(--accent-primary,#ff6b35)}.filter-btn-new.active:hover{background:#28a745;background:var(--status-new,#28a745)}.filter-btn-not-regular.active:hover{background:#6366f1;background:var(--status-not-regular,#6366f1)}.filter-btn-military.active:hover{background:#6b7280;background:var(--status-military,#6b7280)}.dashboard-info,.left-controls,.right-controls{touch-action:auto}}.airband-page{background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100%;min-height:0}.airband-controls{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-medium);display:flex;flex-wrap:wrap;gap:16px;padding:10px 14px}.airband-controls .receiver-label{color:var(--text-secondary);font-size:13px;margin-right:6px}.airband-controls .receiver-select,.airband-date-input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-primary);font-size:13px;padding:5px 8px}.airband-refresh{background:var(--accent-primary);border:none;border-radius:6px;color:var(--text-on-accent);cursor:pointer;font-size:13px;margin-left:auto;padding:6px 14px}.airband-refresh:disabled{cursor:default;opacity:.6}.airband-stats{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:22px;padding:12px 16px}.airband-stat{display:flex;flex-direction:column;line-height:1.1}.airband-stat-value{color:var(--text-primary);font-size:20px;font-weight:700}.airband-stat-label{color:var(--text-muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.airband-channel-chips{display:flex;flex-wrap:wrap;gap:8px}.airband-channel-chip{font-feature-settings:"tnum";background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:12px;color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums;padding:3px 10px}.airband-channel-chip b{color:var(--accent-primary);margin-left:4px}.airband-error{color:#e05252;color:var(--status-bad,#e05252);font-size:13px;padding:10px 16px}.airband-table-wrap{flex:1 1;min-height:0;overflow:auto}.airband-table{border-collapse:collapse;font-size:13px;width:100%}.airband-table thead th{background:var(--table-header-bg);border-bottom:2px solid var(--table-header-border);color:var(--table-header-text);font-weight:600;padding:8px 12px;position:sticky;text-align:left;top:0;z-index:1}.airband-table td{background:var(--bg-card);background:var(--table-body-bg,var(--bg-card));border-bottom:1px solid var(--table-row-border);color:var(--text-on-card);color:var(--table-body-text,var(--text-on-card));padding:6px 12px;vertical-align:top}.airband-table tbody tr:hover td{background:var(--table-row-hover)}.airband-table .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.airband-text{white-space:normal;word-break:break-word}.airband-truncated td{opacity:.85}.airband-cut{color:var(--text-muted);font-style:italic}.airband-callsign{font-feature-settings:"tnum";color:var(--accent-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.airband-nomatch{color:var(--text-muted)}.airband-hq-cell{white-space:normal;word-break:break-word}.airband-hq-text{color:var(--accent-primary)}.airband-label-cell{white-space:nowrap}.airband-label-btn{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:12px;padding:3px 9px;white-space:nowrap}.airband-label-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.airband-label-btn.labeled{border-color:#4caf82;border-color:var(--status-good,#4caf82);color:#4caf82;color:var(--status-good,#4caf82)}.airband-label-btn.ignored{color:var(--text-muted)}.airband-label-editor-row td{background:var(--table-row-hover);padding:12px 14px}.airband-label-editor{display:flex;flex-direction:column;gap:10px;max-width:760px}.airband-label-controls{align-items:center;display:flex;gap:16px}.airband-label-play{background:var(--accent-primary);border:none;border-radius:6px;color:var(--text-on-accent);cursor:pointer;font:inherit;padding:5px 12px}.airband-label-speed{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.airband-label-speed select{font:inherit;font-size:13px;padding:4px 6px}.airband-label-speed select,.airband-label-text{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-primary)}.airband-label-text{font:inherit;font-size:15px;line-height:1.5;min-height:64px;padding:9px 11px;resize:vertical;width:100%}.airband-label-actions{align-items:center;display:flex;gap:10px}.airband-label-save{background:var(--accent-primary);border:none;border-radius:6px;color:var(--text-on-accent);cursor:pointer;font:inherit;font-weight:600;padding:6px 16px}.airband-label-cancel,.airband-label-ignore{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-secondary);cursor:pointer;font:inherit;padding:6px 14px}.airband-label-ignore:hover{border-color:#e05252;border-color:var(--status-bad,#e05252);color:#e05252;color:var(--status-bad,#e05252)}.airband-label-cancel:disabled,.airband-label-ignore:disabled,.airband-label-save:disabled{cursor:default;opacity:.6}.airband-label-msg.ok{color:#4caf82;color:var(--status-good,#4caf82);font-size:13px}.airband-label-msg.err{color:#e05252;color:var(--status-bad,#e05252);font-size:13px}.conf-good{color:#4caf82;color:var(--status-good,#4caf82)}.conf-mid{color:var(--text-secondary)}.conf-low{color:#e05252;color:var(--status-bad,#e05252)}.airband-empty td{color:var(--text-muted);font-style:italic;padding:28px 16px;text-align:center}.site-section{margin-bottom:28px}.stats-section-header{align-items:baseline;border-bottom:1px solid var(--border-medium);display:flex;gap:10px;margin:0 0 12px;padding-bottom:6px}.stats-section-heading{color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:.02em;margin:0}.stats-section-sub{color:var(--text-muted);font-size:12px}.site-tile-group{margin-bottom:16px}.site-tile-group-title{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.site-tiles{display:flex;flex-wrap:wrap;gap:10px}.site-tile{background:var(--stats-bg);border-radius:6px;display:flex;flex:1 1 175px;flex-direction:column;gap:2px;max-width:250px;min-width:0;padding:12px 16px}.site-tile-wide{flex:1 1 320px;max-width:420px}.site-tile-value{color:var(--stats-text);font-size:28px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-tile-unit{font-size:14px;margin-left:3px}.site-tile-label,.site-tile-unit{color:var(--stats-label);font-weight:500}.site-tile-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase}.site-tile-hint{color:var(--text-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-info-card{background:var(--summary-table-bg);border:1px solid var(--summary-table-border);border-radius:8px;overflow:hidden}.site-info-header{background:var(--summary-table-header-bg);border-bottom:2px solid var(--table-header-border);color:var(--summary-table-text);font-size:12px;font-weight:600;letter-spacing:.04em;padding:8px 14px;text-transform:uppercase}.site-info-grid{grid-gap:1px;background:var(--summary-table-border);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.site-info-item{background:var(--summary-table-bg);display:flex;flex-direction:column;gap:2px;min-width:0;padding:9px 14px}.site-info-label{color:var(--summary-table-text-secondary);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.site-info-value{color:var(--summary-table-text);font-size:14px;font-weight:500}.site-info-sub,.site-info-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-info-sub{color:var(--summary-table-text-secondary);font-size:10px}@media (max-width:768px){.site-tile{flex:1 1 150px;max-width:none}.site-tile-value{font-size:24px}.site-info-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}@media (max-width:480px){.site-tile{flex-basis:calc(50% - 5px);flex-grow:1;flex-shrink:1;max-width:none}.site-tile-wide{flex:1 1 100%}.site-tile-value{font-size:22px}.site-info-grid{grid-template-columns:repeat(2,1fr)}}.notams-page{background:var(--bg-secondary);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.notams-header{background:var(--bg-primary);border-bottom:1px solid var(--border-medium);flex-shrink:0;gap:8px;justify-content:space-between;padding:8px 16px}.notams-controls,.notams-header{align-items:center;display:flex;flex-wrap:wrap}.notams-controls{gap:10px}.notams-search{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);font-size:12px;padding:5px 10px;width:130px}.notams-search:focus{border-color:var(--accent-primary);outline:none}.notams-search::placeholder{color:var(--text-muted)}.notams-filter-group{align-items:center;display:flex;gap:3px}.notams-filter-btn{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s}.notams-filter-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.notams-filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.notams-country-select{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:11px;max-width:180px;padding:4px 8px}.notams-country-select:focus{border-color:var(--accent-primary);outline:none}.notams-region-select{max-width:140px}.notams-header-right{align-items:center;display:flex;gap:8px;margin-left:auto}.notams-load-btn{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;color:#fff!important}.notams-load-btn:disabled{cursor:wait!important;opacity:.6}.notams-load-status{color:var(--text-secondary);font-size:11px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notams-count{color:var(--text-muted);font-size:12px;white-space:nowrap}.notams-count strong{color:var(--text-primary)}.notams-content{display:flex;flex:1 1;overflow:hidden}.notams-list-panel{background:var(--bg-secondary);border-right:1px solid var(--border-medium);display:flex;flex-direction:column;min-width:300px;overflow:hidden;width:380px}.notams-list{flex:1 1;overflow-y:auto;padding:4px}.notam-card{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;margin:3px 0;padding:8px 10px;transition:all .15s}.notam-card:hover{background:#ffffff14;border-color:var(--border-medium)}.notam-card.selected{background:var(--accent-primary);border-color:var(--accent-primary)}.notam-card.selected .notam-card-dates,.notam-card.selected .notam-card-id,.notam-card.selected .notam-card-location,.notam-card.selected .notam-card-text{color:#fff}.notam-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:3px}.notam-card-id{color:var(--text-primary);font-size:12px;font-weight:700}.notam-type-badge{border-radius:3px;font-size:9px;font-weight:700;line-height:1.3;padding:1px 5px;text-transform:uppercase}.notam-type-badge.type-N{background:#28a74540;color:#28a745}.notam-type-badge.type-R{background:#ffc10733;color:#ffc107}.notam-type-badge.type-C{background:#dc354540;color:#dc3545}.notam-category-badge{border-radius:3px;color:#fff;font-size:9px;font-weight:600;line-height:1.3;padding:1px 5px}.notam-category-badge.cat-closure{background:#e74c3c}.notam-category-badge.cat-obstacle{background:#ff6b35}.notam-category-badge.cat-airspace{background:#d4a520}.notam-category-badge.cat-navaid{background:#3b9dff}.notam-category-badge.cat-other{background:#20c997}.notam-card-location{margin-left:auto;max-width:160px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.notam-card-location,.notam-card-text{color:var(--text-secondary);font-size:11px;overflow:hidden}.notam-card-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.35;margin-bottom:3px}.notam-card-dates{color:var(--text-muted);font-size:10px}.notams-map-panel{flex:1 1;overflow:hidden;position:relative}.notams-map-panel .leaflet-container{height:100%;width:100%}.notam-map-icon{background:none!important;border:none!important}.notams-map-toggles{display:flex;flex-direction:column;gap:4px;position:absolute;right:10px;top:10px;z-index:1000}.notams-map-toggle{align-items:center;background:#2a3139e0;border:1px solid #ffffff26;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:11px;gap:6px;padding:5px 10px;transition:all .15s;white-space:nowrap}.notams-map-toggle:hover{background:#2a3139f2;color:var(--text-primary)}.notams-map-toggle.active{border-color:var(--toggle-color);color:var(--text-primary)}.notams-map-toggle .toggle-dot{background:var(--toggle-color);border:1px solid var(--toggle-stroke);border-radius:50%;flex-shrink:0;height:10px;opacity:.35;transition:opacity .15s;width:10px}.notams-map-toggle.active .toggle-dot{opacity:1}.notams-map-toggle .toggle-label{flex:1 1}.notams-map-toggle .toggle-count{color:var(--text-muted);font-size:10px;min-width:16px;text-align:right}.notams-map-toggle.active .toggle-count{color:var(--text-secondary)}.notams-map-detail{background:#2a3139f0;border:1px solid var(--border-medium);border-radius:6px;bottom:10px;box-shadow:var(--shadow-lg);left:10px;max-height:calc(100% - 20px);overflow-y:auto;padding:14px;position:absolute;width:380px;z-index:1000}.notams-detail-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;position:absolute;right:10px;top:8px;z-index:1}.notams-detail-close:hover{color:var(--text-primary)}.notam-detail-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-right:24px}.notam-detail-id{color:var(--text-primary);font-size:16px;font-weight:700}.notam-detail-section{margin-bottom:10px}.notam-detail-section h4{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.05em;margin:0 0 4px;text-transform:uppercase}.notam-detail-text{background:#0003;border-radius:4px;color:var(--text-primary);font-family:SF Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.45;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.notam-detail-icao{color:var(--text-secondary);font-size:11px}.notam-detail-grid{grid-gap:6px 16px;display:grid;gap:6px 16px;grid-template-columns:1fr 1fr}.notam-detail-field{display:flex;flex-direction:column;gap:1px}.notam-detail-field .field-label{color:var(--text-muted);font-size:10px}.notam-detail-field .field-value{color:var(--text-primary);font-size:12px}.notams-empty,.notams-loading{align-items:center;color:var(--text-muted);display:flex;font-size:13px;height:200px;justify-content:center}@media (max-width:900px){.notams-content{flex-direction:column}.notams-list-panel{border-bottom:1px solid var(--border-medium);border-right:none;max-height:40%;width:100%}.notams-map-panel{flex:1 1;min-height:300px}.notams-map-detail{max-height:50%;width:calc(100% - 20px)}}@media (max-width:600px){.notams-controls{gap:6px}.notams-search{width:100px}.notams-country-select{max-width:140px}.notam-detail-grid{grid-template-columns:1fr}}.settings-page{background:var(--bg-secondary);height:100%;overflow-y:auto;padding:20px;width:100%}.settings-container{margin:0 auto;max-width:1200px}.settings-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.settings-title{color:var(--text-primary);font-size:28px;font-weight:600;margin:0 0 8px}.settings-summary{color:var(--text-secondary);font-size:14px}.settings-card{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);padding:24px}.settings-section{margin-bottom:28px}.settings-section:last-child{margin-bottom:0}.settings-page .section-title{border-bottom:2px solid var(--accent-primary);color:var(--text-on-card);font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.section-note{color:var(--text-on-card-muted);display:block;font-size:12px;font-style:italic;margin-top:8px}.section-note,.settings-field{margin-bottom:16px}.field-label{color:var(--text-on-card-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.field-input{border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card);font-size:14px;padding:10px 12px;transition:border-color .2s,background-color .2s;width:100%}.field-input,.field-input:focus{background:#fff;background:var(--bg-input,#fff)}.field-input:focus{border-color:var(--accent-primary);outline:none}.brightness-slider-container{align-items:center;display:flex;gap:12px}.brightness-slider{appearance:none;background:linear-gradient(90deg,#333,#fff);background:linear-gradient(to right,var(--text-on-card,#333),var(--bg-input,#fff));border-radius:4px;flex:1 1;height:8px;outline:none}.brightness-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);border:2px solid #fff;border:2px solid var(--bg-input,#fff);border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;height:20px;width:20px}.brightness-slider::-moz-range-thumb{background:var(--accent-primary);border:2px solid #fff;border:2px solid var(--bg-input,#fff);border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;height:20px;width:20px}.brightness-label{color:var(--text-on-card-muted);font-size:12px;min-width:35px}.settings-row{align-items:center;border-bottom:1px solid var(--border-on-card-light);display:flex;justify-content:space-between;padding:12px 0}.settings-row:last-of-type{border-bottom:none}.row-label{color:var(--text-on-card-secondary);font-size:14px;font-weight:500;min-width:120px}.row-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.colour-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.colour-field{display:flex;flex-direction:column;gap:6px}.colour-input-wrapper{align-items:center;display:flex;gap:8px}.colour-picker{background:#fff;background:var(--bg-input,#fff);border:1px solid var(--border-on-card);border-radius:6px;cursor:pointer;height:36px;padding:2px;width:44px}.colour-picker::-webkit-color-swatch-wrapper{padding:2px}.colour-picker::-webkit-color-swatch{border:none;border-radius:4px}.colour-text{border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card);flex:1 1;font-family:monospace;font-size:13px;padding:8px 10px;text-transform:uppercase}.colour-text,.colour-text:focus{background:#fff;background:var(--bg-input,#fff)}.colour-text:focus{border-color:var(--accent-primary);outline:none}.colour-picker:disabled,.colour-text:disabled{cursor:not-allowed;opacity:.5}.toggle-field{display:flex;flex-direction:column;gap:6px}.toggle-wrapper{align-items:center;display:flex;gap:12px}.toggle-switch{display:inline-block;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;background-color:var(--border-on-card-light,#ccc);border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;background-color:var(--bg-input,#fff);border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;box-shadow:var(--shadow-sm,0 2px 4px #0003);content:"";height:22px;left:3px;position:absolute;transition:.3s;width:22px}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-label-text{font-size:13px;min-width:50px}.btn-reset,.toggle-label-text{color:var(--text-on-card-muted)}.btn-reset{background:#f0f0f0;background:var(--bg-card-hover,#f0f0f0);border:1px solid var(--border-on-card);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-reset:hover{background:#e0e0e0;background:var(--bg-card-active,#e0e0e0);color:var(--text-on-card)}.compact-select{min-width:140px;padding:8px 12px;width:auto}.unit-info{background:#0000000d;background:var(--card-expanded-bg,#0000000d);border-radius:6px;color:var(--text-on-card-muted);display:flex;font-size:13px;gap:24px;margin-top:8px;padding:8px 12px}.theme-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:12px}.theme-card{background:#f5f5f5;background:var(--bg-card-hover,#f5f5f5);border:2px solid #0000;border-radius:10px;cursor:pointer;padding:16px 12px;text-align:center;transition:all .2s ease}.theme-card:hover{background:#eee;background:var(--bg-card-active,#eee);box-shadow:var(--shadow-md);transform:translateY(-2px)}.theme-card.active{background:#fff;background:var(--bg-card,#fff);border-color:var(--accent-primary);box-shadow:0 2px 8px var(--accent-primary-glow)}.theme-card-preview{border-radius:6px;display:flex;height:40px;margin-bottom:8px;overflow:hidden}.theme-card-preview .preview-header{flex:1 1}.theme-card-preview .preview-content{flex:2 1}.theme-card-name{color:var(--text-on-card);font-size:13px;font-weight:600;margin-bottom:2px}.theme-card-desc{color:var(--text-on-card-muted);font-size:11px}@media (max-width:1023px){.settings-page{padding:16px}.colour-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.settings-page{-webkit-overflow-scrolling:touch;padding:12px 12px 72px}.settings-header{align-items:flex-start;flex-direction:column;gap:12px}.settings-title{font-size:24px}.settings-card{padding:16px}.colour-grid{grid-template-columns:1fr}.field-input{font-size:16px;min-height:40px}}@media (max-width:480px){.settings-page{padding:8px}.settings-header{margin-bottom:16px}.settings-title{font-size:20px}.settings-card{border-radius:8px;padding:12px}}@media (hover:none) and (pointer:coarse){.btn-reset,.field-input{min-height:44px}.colour-text,.field-input{font-size:16px}.colour-text{min-height:40px}}.btn-reset-data{background:#f0f0f0;background:var(--bg-card-hover,#f0f0f0);border:1px solid #ddd;border:1px solid var(--border-on-card,#ddd);border-radius:4px;color:#666;color:var(--text-on-card-muted,#666);cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.btn-reset-data:hover:not(:disabled){background:#e0e0e0;background:var(--bg-card-active,#e0e0e0);color:#333;color:var(--text-on-card,#333)}.btn-reset-data:disabled{cursor:not-allowed;opacity:.5}.btn-reset-data-danger{background:#fff5f5;background:var(--status-error-bg,#fff5f5);border-color:#dc3545;border-color:var(--status-error,#dc3545);color:#dc3545;color:var(--status-error,#dc3545)}.btn-reset-data-danger:hover:not(:disabled){background:#dc3545;background:var(--status-error,#dc3545);color:#fff;color:var(--text-primary,#fff)}.reset-note{background:#00000008;background:var(--bg-card-hover,#00000008);border-radius:4px;color:#888;color:var(--text-on-card-muted,#888);font-size:12px;font-style:italic;margin-top:12px;padding:8px 12px}.modal-overlay{align-items:center;background:#0009;background:var(--overlay-bg,#0009);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.modal-content{animation:modalSlideIn .2s ease-out;background:#fff;background:var(--bg-card,#fff);border-radius:12px;box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow-lg,0 4px 20px #0000004d);max-width:450px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--border-on-card,#eee);display:flex;justify-content:space-between;padding:16px 20px}.modal-title{color:#333;color:var(--text-on-card,#333);font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#999;color:var(--text-on-card-muted,#999);cursor:pointer;font-size:24px;line-height:1;padding:0}.modal-close:hover{color:#333;color:var(--text-on-card,#333)}.modal-body{padding:20px}.modal-warning{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);border:1px solid #ffc107;border:1px solid var(--status-warning,#ffc107);border-radius:8px;margin-bottom:16px;padding:12px 16px}.modal-warning strong{font-size:15px}.modal-warning p,.modal-warning strong{color:#856404;color:var(--status-warning-text,#856404)}.modal-warning p{font-size:13px;margin:4px 0 0}.modal-description{color:#555;color:var(--text-on-card-secondary,#555);font-size:14px;line-height:1.5;margin:0}.modal-error{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--status-error-border,#f5c6cb);border-radius:6px;color:#721c24;color:var(--status-error-text,#721c24);font-size:13px;margin-top:12px;padding:10px 14px}.modal-success{background:#d4edda;background:var(--status-connected-bg,#d4edda);border:1px solid #c3e6cb;border:1px solid var(--status-connected-border,#c3e6cb);border-radius:6px;color:#155724;color:var(--status-connected-text,#155724);font-size:14px;padding:16px;text-align:center}.modal-footer{border-top:1px solid #eee;border-top:1px solid var(--border-on-card,#eee);display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.btn-modal{border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-modal:disabled{cursor:not-allowed;opacity:.6}.btn-modal-cancel{background:#f0f0f0;background:var(--bg-card-hover,#f0f0f0);border:1px solid #ddd;border:1px solid var(--border-on-card,#ddd);color:#666;color:var(--text-on-card-muted,#666)}.btn-modal-cancel:hover:not(:disabled){background:#e0e0e0;background:var(--bg-card-active,#e0e0e0)}.btn-modal-confirm{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:1px solid #ff6b35;border:1px solid var(--accent-primary,#ff6b35);color:#fff;color:var(--text-primary,#fff)}.btn-modal-confirm:hover:not(:disabled){background:#e55a2b;background:var(--accent-primary-hover,#e55a2b)}.btn-modal-danger{background:#dc3545;background:var(--status-error,#dc3545);border-color:#dc3545;border-color:var(--status-error,#dc3545)}.btn-modal-danger:hover:not(:disabled){background:#c82333;background:var(--status-error-hover,#c82333)}.receiver-reset-list{background:#00000008;background:var(--bg-card-hover,#00000008);border:1px solid #ddd;border:1px solid var(--border-on-card,#ddd);border-radius:8px;margin-top:12px;padding:12px}.receiver-reset-list-danger{background:#dc354508;background:var(--status-error-bg-transparent,#dc354508);border-color:#dc354533;border-color:var(--status-error-border-transparent,#dc354533)}.receiver-reset-header{border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-on-card,#ddd);color:#555;color:var(--text-on-card-secondary,#555);font-size:13px;font-weight:600;margin-bottom:10px;padding-bottom:8px}.receiver-reset-list-danger .receiver-reset-header{border-bottom-color:#dc354533;border-bottom-color:var(--status-error-border-transparent,#dc354533);color:#dc3545;color:var(--status-error,#dc3545)}.receiver-reset-row{align-items:center;border-bottom:1px solid #0000000d;border-bottom:1px solid var(--border-on-card-light,#0000000d);display:flex;justify-content:space-between;padding:8px 0}.receiver-reset-row:last-child{border-bottom:none;padding-bottom:0}.receiver-reset-row:first-of-type{padding-top:0}.receiver-name{color:#333;color:var(--text-on-card,#333);font-size:14px;font-weight:500}@media (max-width:768px){.receiver-reset-row{align-items:flex-start;flex-direction:column;gap:8px}.receiver-reset-row .btn-reset-data{width:100%}}.column-config-buttons{display:flex;flex-direction:column;gap:8px;margin-top:12px}.btn-configure{align-items:center;background:#f0f0f0;background:var(--bg-card-hover,#f0f0f0);border:1px solid #ddd;border:1px solid var(--border-on-card,#ddd);border-radius:6px;color:#333;color:var(--text-on-card,#333);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:12px 16px;text-align:left;transition:all .2s;width:100%}.btn-configure:after{color:#999;color:var(--text-on-card-muted,#999);content:">";font-weight:400}.btn-configure:hover{background:#e8e8e8;background:var(--bg-card-active,#e8e8e8);border-color:#ccc;border-color:var(--border-on-card-light,#ccc)}.btn-configure:active{background:#ddd;background:var(--bg-card-active,#ddd)}@media (hover:none) and (pointer:coarse){.btn-configure{min-height:48px;padding:14px 16px}}.about-version-info{background:#0000000d;background:var(--card-expanded-bg,#0000000d);border-radius:6px;margin-bottom:14px;padding:12px 14px}.about-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.about-label{color:var(--text-on-card-muted);font-size:13px}.about-value{color:var(--text-on-card);font-family:monospace;font-size:13px;font-weight:600}.about-actions{display:flex;flex-wrap:wrap;gap:8px}.about-status{align-items:center;border-radius:6px;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:12px;padding:10px 14px}.about-status-ok{background:#d4edda;background:var(--status-connected-bg,#d4edda);border:1px solid #c3e6cb;border:1px solid var(--status-connected-border,#c3e6cb);color:#155724;color:var(--status-connected-text,#155724)}.about-status-update{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);border:1px solid #ffc107;border:1px solid var(--status-warning,#ffc107);color:#856404;color:var(--status-warning-text,#856404)}.about-status-error{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--status-error-border,#f5c6cb);color:#721c24;color:var(--status-error-text,#721c24)}.btn-update-now{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:background .2s;white-space:nowrap}.btn-update-now:hover{background:#e55a2b;background:var(--accent-primary-hover,#e55a2b)}.column-configurator-overlay{align-items:center;background:#0009;background:var(--modal-overlay-bg,#0009);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.column-configurator-modal{background:#2d3748;background:var(--bg-tertiary,#2d3748);border:1px solid #ffffff1a;border:1px solid var(--border-light,#ffffff1a);border-radius:12px;box-shadow:0 10px 40px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:420px;width:100%}.configurator-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-light,#ffffff1a);display:flex;justify-content:space-between;padding:16px 20px}.configurator-header h3{color:#fff;color:var(--text-primary,#fff);font-size:16px;font-weight:600;margin:0}.configurator-header .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#fff9;color:var(--text-muted,#fff9);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.configurator-header .close-btn:hover{background:#ffffff1a;background:var(--border-light,#ffffff1a);color:#fff;color:var(--text-primary,#fff)}.configurator-instructions{border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-subtle,#ffffff0d);color:#fff9;color:var(--text-muted,#fff9);font-size:13px;padding:12px 20px}.columns-list{flex:1 1;max-height:50vh;min-height:200px;overflow-y:auto;padding:12px 16px}.column-item{align-items:center;background:#ffffff0d;background:var(--column-item-bg,#ffffff0d);border:1px solid #0000;border-radius:8px;cursor:grab;display:flex;gap:12px;margin-bottom:4px;padding:10px 12px;transition:background .15s,transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.column-item:hover{background:#ffffff14;background:var(--column-item-hover-bg,#ffffff14)}.column-item:active{cursor:grabbing}.column-item.dragging{background:#ff6b3533;background:var(--accent-primary-glow,#ff6b3533);box-shadow:0 4px 12px #0000004d;opacity:.5;transform:scale(1.02)}.column-item.drag-over{background:#ff6b3526;background:var(--accent-primary-glow-light,#ff6b3526);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.column-item.hidden-column{opacity:.6}.column-item.hidden-column .column-label{color:#fff6;color:var(--text-disabled,#fff6);text-decoration:line-through}.drag-handle{color:#ffffff4d;color:var(--drag-handle-color,#ffffff4d);cursor:grab;flex-shrink:0;font-size:14px}.column-item:active .drag-handle{cursor:grabbing}.column-checkbox{align-items:center;cursor:pointer;display:flex;flex-shrink:0;position:relative}.column-checkbox input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.column-checkbox .checkmark{background:#ffffff1a;background:var(--checkbox-bg,#ffffff1a);border:2px solid #ffffff4d;border:2px solid var(--checkbox-border,#ffffff4d);border-radius:4px;height:20px;transition:all .15s;width:20px}.column-checkbox:hover .checkmark{border-color:#ffffff80;border-color:var(--checkbox-hover-border,#ffffff80)}.column-checkbox input:checked~.checkmark{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.column-checkbox input:checked~.checkmark:after{border:solid #fff;border-bottom:2px solid var(--text-primary,#fff);border-left:0 solid var(--text-primary,#fff);border-right:2px solid var(--text-primary,#fff);border-top:0 solid var(--text-primary,#fff);content:"";height:10px;left:7px;position:absolute;top:3px;transform:rotate(45deg);width:5px}.column-checkbox input:disabled~.checkmark{cursor:not-allowed;opacity:.5}.column-label{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:14px;font-weight:500}.required-badge{background:#ffffff1a;background:var(--badge-bg,#ffffff1a);border-radius:4px;color:#ffffff80;color:var(--text-muted,#ffffff80);font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.configurator-footer{align-items:center;border-top:1px solid #ffffff1a;border-top:1px solid var(--border-light,#ffffff1a);display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.footer-actions{display:flex;gap:8px}.configurator-footer button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background .2s,opacity .2s}.reset-btn{background:#0000;border:1px solid #fff3!important;border:1px solid var(--border-light,#fff3)!important;color:#fff9;color:var(--text-muted,#fff9)}.reset-btn:hover{background:#ffffff0d;background:var(--button-hover-bg,#ffffff0d)}.cancel-btn,.reset-btn:hover{color:#fff;color:var(--text-primary,#fff)}.cancel-btn{background:#ffffff1a;background:var(--button-secondary-bg,#ffffff1a)}.cancel-btn:hover{background:#ffffff26;background:var(--button-secondary-hover-bg,#ffffff26)}.apply-btn{background:#ff6b35;background:var(--accent-primary,#ff6b35);color:#fff;color:var(--text-primary,#fff)}.apply-btn:hover{background:#e55a2a;background:var(--accent-primary-hover,#e55a2a)}@media (max-width:480px){.column-configurator-overlay{padding:10px}.column-configurator-modal{max-height:90vh}.configurator-header{padding:14px 16px}.configurator-header h3{font-size:15px}.columns-list{padding:10px 12px}.column-item{gap:10px;padding:12px 10px}.configurator-footer{flex-direction:column;padding:14px 16px}.reset-btn{margin-top:8px;order:2;width:100%}.footer-actions{order:1;width:100%}.footer-actions button{flex:1 1}}@media (hover:none) and (pointer:coarse){.column-item{min-height:48px;padding:14px 12px}.column-checkbox .checkmark{height:24px;width:24px}.column-checkbox input:checked~.checkmark:after{height:12px;left:8px;top:4px;width:6px}.drag-handle{font-size:18px;padding:4px}.configurator-footer button{min-height:44px;padding:12px 18px}.column-item:hover{background:#ffffff0d;background:var(--column-item-bg,#ffffff0d)}.configurator-header .close-btn:hover{background:none;color:#fff9;color:var(--text-muted,#fff9)}}.downloads-page{background:var(--bg-secondary);height:100%;overflow-y:auto;padding:20px;width:100%}.downloads-container{margin:0 auto;max-width:1400px}.downloads-header{margin-bottom:32px;text-align:center}.downloads-title{color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 12px}.downloads-subtitle{color:var(--text-secondary);font-size:16px;margin:0}.downloads-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.download-card{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.download-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.download-card-header{align-items:center;border-bottom:1px solid var(--border-on-card);display:flex;gap:16px;margin-bottom:16px;padding-bottom:16px}.platform-icon{align-items:center;background:var(--bg-card-hover);border-radius:10px;display:flex;height:48px;justify-content:center;padding:10px;width:48px}.platform-icon img{height:100%;object-fit:contain;width:100%}.download-info{flex:1 1}.download-name{color:var(--text-on-card);font-size:18px;font-weight:600;margin:0 0 4px}.download-version{color:var(--text-on-card-muted);font-size:13px;font-weight:500}.download-description{color:var(--text-on-card-secondary);flex:1 1;font-size:14px;line-height:1.5;margin:0 0 16px}.download-details{background:var(--bg-card-hover);border-radius:8px;margin-bottom:20px;padding:12px}.detail-row{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.detail-row:not(:last-child){border-bottom:1px solid var(--border-on-card)}.detail-label{color:var(--text-on-card-muted);font-size:13px;font-weight:600}.detail-value{color:var(--text-on-card);font-size:13px}.btn-download{align-items:center;background:var(--accent-primary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:background .2s,transform .1s;width:100%}.btn-download:hover{background:var(--accent-primary-hover)}.btn-download:active{transform:scale(.98)}.download-icon{font-size:18px}.downloads-docs{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}.docs-tabs{-webkit-overflow-scrolling:touch;background:var(--bg-card-hover);border-bottom:2px solid var(--border-on-card);display:flex;overflow-x:auto}.docs-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-on-card-secondary);cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:14px 20px;transition:color .2s,border-color .2s;white-space:nowrap}.docs-tab:hover{color:var(--text-on-card)}.docs-tab.active{border-bottom-color:var(--accent-primary);color:var(--accent-primary)}.docs-content{padding:32px}.doc-section h3{color:var(--text-on-card);font-size:22px;font-weight:700;margin:0 0 16px}.doc-section h4{color:var(--text-on-card);font-size:16px;font-weight:600;margin:28px 0 12px}.doc-section h4:first-of-type{margin-top:20px}.doc-section p{line-height:1.7;margin:0 0 12px}.doc-section ol,.doc-section p,.doc-section ul{color:var(--text-on-card-secondary);font-size:14px}.doc-section ol,.doc-section ul{line-height:1.8;margin:0 0 16px;padding-left:24px}.doc-section li{margin-bottom:4px}.doc-section a{color:var(--accent-primary);text-decoration:none}.doc-section a:hover{text-decoration:underline}.doc-section code:not(.instruction-code){background:var(--bg-card-hover);border-radius:4px;color:var(--text-on-card);padding:2px 6px}.doc-section code:not(.instruction-code),.instruction-code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.instruction-code{background:#1e1e2e;background:var(--bg-tertiary,#1e1e2e);border-radius:6px;color:#a6e3a1;color:var(--text-primary,#a6e3a1);display:block;line-height:1.6;margin:8px 0 12px;overflow-x:auto;padding:12px 16px;white-space:pre-wrap;word-break:break-all}.security-callout{background:var(--bg-card-hover);border-left:4px solid #ff9800;border:1px solid var(--border-on-card);border-left:4px solid var(--warning-color,#ff9800);border-radius:6px;margin:16px 0 20px;padding:14px 18px}.security-callout .callout-title{align-items:center;color:var(--text-on-card);display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:8px}.security-callout .callout-icon{font-size:16px;line-height:1}.security-callout p{color:var(--text-on-card-secondary);font-size:14px;margin:0 0 8px}.security-callout ul{margin:0;padding-left:20px}.security-callout li{color:var(--text-on-card-secondary);font-size:14px;margin-bottom:8px}.security-callout li:last-child{margin-bottom:0}.security-callout strong{color:var(--text-on-card)}.security-callout code{background:#1e1e2e;background:var(--bg-tertiary,#1e1e2e);border-radius:4px;color:#a6e3a1;color:var(--text-primary,#a6e3a1);display:block;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12.5px;margin-top:6px;padding:8px 12px;white-space:pre-wrap;word-break:break-all}.docs-table{border-collapse:collapse;font-size:14px;margin:12px 0 20px;width:100%}.docs-table th{background:var(--bg-card-hover);border-bottom:2px solid var(--border-on-card);color:var(--text-on-card);font-weight:600;padding:10px 14px;text-align:left}.docs-table td{border-bottom:1px solid var(--border-on-card);color:var(--text-on-card-secondary);padding:10px 14px;vertical-align:top}.docs-table td code{border-radius:4px;color:var(--text-on-card);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;padding:2px 6px;white-space:nowrap}.docs-table td code,.docs-table tr:hover td{background:var(--bg-card-hover)}@media (max-width:1024px){.downloads-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.downloads-page{padding:12px 12px 72px}.downloads-header{margin-bottom:24px}.downloads-title{font-size:24px}.downloads-subtitle{font-size:14px}.downloads-grid{gap:16px;grid-template-columns:1fr}.download-card{padding:20px}.platform-icon{height:40px;width:40px}.download-name{font-size:16px}.btn-download{font-size:15px;min-height:48px}.docs-tabs{gap:0}.docs-tab{font-size:13px;padding:12px 14px}.docs-content{padding:20px}.docs-table{font-size:13px}.docs-table td,.docs-table th{padding:8px 10px}}@media (max-width:480px){.downloads-page{padding:8px 8px 72px}.downloads-title{font-size:22px}.download-card{padding:16px}.download-card-header{gap:12px}.platform-icon{height:36px;padding:8px;width:36px}.docs-content{padding:16px}.doc-section h3{font-size:18px}}@media (hover:none) and (pointer:coarse){.download-card:hover{box-shadow:var(--shadow-md);transform:none}.btn-download{min-height:48px}}.release-entry{border-left:3px solid #4a90d9;border-left:3px solid var(--accent-primary,#4a90d9);margin-bottom:26px;padding:12px 0 12px 16px}.release-entry-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.release-version{color:#333;color:var(--text-on-card,#333);font-size:1.15rem;font-weight:700}.release-date{color:#666;color:var(--text-on-card-muted,#666);font-size:.88rem}.release-platform{background:#2a3139;background:var(--bg-tertiary,#2a3139);border-radius:10px;color:#fff;color:var(--text-primary,#fff);font-size:.78rem;padding:2px 8px;white-space:nowrap}.release-summary{color:#555;color:var(--text-on-card-secondary,#555);margin:0 0 10px}.release-subhead{color:#333;color:var(--text-on-card,#333);font-size:.95rem;margin:14px 0 6px}.release-list{color:#555;color:var(--text-on-card-secondary,#555);line-height:1.55;margin:0 0 4px;padding-left:20px}.release-list li{margin-bottom:6px}.release-full-link{color:#4a90d9;color:var(--accent-primary,#4a90d9);display:inline-block;font-size:.9rem;margin-top:10px;text-decoration:none}.release-full-link:hover{text-decoration:underline}.privacy-page{background:var(--bg-secondary);height:100%;overflow-y:auto;padding:20px;width:100%}.privacy-container{margin:0 auto;max-width:800px}.privacy-back-btn{background:none;border:none;color:var(--accent-primary);color:var(--text-secondary,var(--accent-primary));cursor:pointer;font-size:14px;margin-bottom:12px;padding:4px 0;transition:color .2s}.privacy-back-btn:hover{color:var(--accent-primary)}.privacy-header{margin-bottom:24px;text-align:center}.privacy-title{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.privacy-updated{color:var(--text-muted);font-size:13px;margin:0}.privacy-card{background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-md);color:var(--text-on-card);padding:32px}.privacy-section{margin-bottom:24px}.privacy-section:last-child{margin-bottom:0}.privacy-section h2{border-bottom:2px solid var(--accent-primary);color:var(--text-on-card);font-size:18px;font-weight:600;margin:0 0 10px;padding-bottom:6px}.privacy-section p{color:var(--text-on-card-secondary);font-size:14px;line-height:1.6;margin:0 0 10px}.privacy-section p:last-child{margin-bottom:0}.privacy-section ul{margin:8px 0 0;padding-left:20px}.privacy-section li{color:var(--text-on-card-secondary);font-size:14px;line-height:1.6;margin-bottom:6px}.privacy-section li strong{color:var(--text-on-card)}.privacy-link{color:var(--accent-primary);text-decoration:none}.privacy-link:hover{text-decoration:underline}@media (max-width:768px){.privacy-page{padding:12px}.privacy-card{padding:20px}.privacy-title{font-size:24px}.privacy-section h2{font-size:16px}}@media (max-width:480px){.privacy-card{border-radius:6px;padding:16px}.privacy-section li,.privacy-section p{font-size:13px}}.admin-page{background:#4a5562;background:var(--bg-secondary,#4a5562);height:100%;overflow-y:auto;padding:20px;width:100%}.admin-page h1{color:#fff;color:var(--text-primary,#fff);font-size:28px;font-weight:600;margin:0 0 20px}.admin-error,.admin-loading{align-items:center;color:#ccc;color:var(--text-secondary,#ccc);display:flex;flex-direction:column;justify-content:center;min-height:200px}.admin-error button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;margin-top:10px;padding:8px 16px}.admin-error button:hover{background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.admin-stats{display:flex;gap:20px;margin-bottom:24px}.stat-card{align-items:center;background:#d4cfc1;background:var(--bg-card,#d4cfc1);border:none;border-radius:8px;display:flex;flex-direction:column;min-width:120px;padding:16px 24px}.stat-value{color:#ff6b35;color:var(--accent-primary,#ff6b35);font-size:32px;font-weight:600}.stat-label{color:#333;color:var(--text-on-card,#333);font-size:13px;margin-top:4px;opacity:.7}.stat-card.clickable{cursor:pointer;transition:all .2s ease}.stat-card.clickable:hover{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);transform:translateY(-2px)}.stat-card.clickable:active{transform:translateY(0)}.admin-tabs{-webkit-overflow-scrolling:touch;border-bottom:2px solid #fff3;border-bottom:2px solid var(--border-medium,#fff3);display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;padding-bottom:0;scroll-snap-type:x proximity;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#fff9;color:var(--text-muted,#fff9);cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;scroll-snap-align:start;transition:all .2s;white-space:nowrap}.tab-button:hover{color:#fff;color:var(--text-primary,#fff)}.tab-button.active{border-bottom-color:#ff6b35;border-bottom-color:var(--accent-primary,#ff6b35);color:#ff6b35;color:var(--accent-primary,#ff6b35)}.admin-table-container{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border:none;border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;color:#333;color:var(--table-body-text,#333);font-size:14px;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #0000001a;border-bottom:1px solid var(--table-row-border,#0000001a);padding:12px 16px;text-align:left}.admin-table th{background:#3d4751;background:var(--table-header-bg,#3d4751);color:#fff;color:var(--table-header-text,#fff);font-weight:600;white-space:nowrap}.admin-table tbody tr:hover{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1)}.admin-table tbody tr:last-child td{border-bottom:none}.user-row.has-receivers{cursor:pointer}.user-row.expanded,.user-row.has-receivers:hover{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1)}.expand-cell{text-align:center;width:30px}.expand-icon{color:#666;color:var(--table-body-text-secondary,#666);font-size:10px}.receivers-row{background:#ccc7b9;background:var(--table-row-alt,#ccc7b9)}.receivers-row td{padding:0}.nested-receivers{padding:12px 16px 12px 46px}.nested-table{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border:1px solid #0000001a;border:1px solid var(--table-row-border,#0000001a);border-collapse:collapse;border-radius:4px;color:#333;color:var(--table-body-text,#333);font-size:13px;width:100%}.nested-table td,.nested-table th{border-bottom:1px solid #0000001a;border-bottom:1px solid var(--table-row-border,#0000001a);padding:8px 12px;text-align:left}.nested-table th{background:#3d4751;background:var(--table-header-bg,#3d4751);color:#fff;color:var(--table-header-text,#fff);font-weight:500}.nested-table tbody tr:last-child td{border-bottom:none}.nested-table tbody tr:hover{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1)}.admin-status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.admin-status-badge.active{background:#d4edda;background:var(--status-connected-bg,#d4edda);color:#155724;color:var(--status-connected-text,#155724)}.admin-status-badge.connected{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);color:#856404;color:var(--status-warning-text,#856404)}.admin-status-badge.inactive{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.uuid-cell{color:#555;color:var(--table-body-text-secondary,#555);font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;word-break:break-all}.view-map-btn{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:12px;padding:6px 12px;white-space:nowrap}.view-map-btn:hover{background:#e55a25;background:var(--accent-primary-hover,#e55a25)}@media (max-width:1024px){.admin-page{padding:16px}.admin-stats{flex-wrap:wrap}.stat-card{flex-basis:calc(33% - 14px);flex-grow:1;flex-shrink:1;min-width:100px}}@media (max-width:768px){.admin-page h1{font-size:20px}.stat-card{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1}.stat-value{font-size:24px}.admin-table td,.admin-table th{font-size:13px;padding:8px 10px}.nested-receivers{padding:8px 8px 8px 30px}.tab-button{font-size:13px;padding:8px 12px}}@media (max-width:480px){.admin-stats{gap:10px}.stat-card{flex:1 1 100%;flex-direction:row;justify-content:space-between;padding:12px 16px}.stat-value{font-size:20px}.stat-label{margin-top:0}}@media (max-width:600px){.admin-table-container{background:#0000;border-radius:0;overflow:visible}.admin-table{background:#0000;border-collapse:initial;border-spacing:0}.admin-table thead{display:none}.admin-table tbody,.admin-table tr{display:block;width:100%}.admin-table tbody tr{border:1px solid #bfbaac;border:1px solid var(--border-on-card,#bfbaac);border-radius:10px;margin-bottom:10px;padding:10px 12px}.admin-table tbody tr,.admin-table tbody tr:hover{background:#d4cfc1;background:var(--bg-card,#d4cfc1)}.admin-table td{align-items:center;border-bottom:1px dashed #00000014;border-bottom:1px dashed var(--border-on-card-light,#00000014);color:#333;color:var(--text-on-card,#333);display:flex;font-size:13px!important;gap:12px;justify-content:space-between;padding:6px 0!important}.admin-table td:last-child{border-bottom:none;padding-top:10px!important}.admin-table td[data-label]:before{color:#666;color:var(--text-on-card-muted,#666);content:attr(data-label);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.4px;max-width:120px;min-width:80px;text-transform:uppercase}.admin-table td[data-label-none]{justify-content:stretch}.admin-table td[data-label-none]>*{flex:1 1}.admin-table td.uuid-cell{align-items:flex-start;flex-direction:column;font-family:monospace;font-size:11px!important;gap:2px;word-break:break-all}.admin-table td.uuid-cell:before{min-width:0}.nested-receivers{background:#0000000a;border-radius:6px;padding:8px 4px}.nested-table{font-size:12px}.nested-table thead{display:none}.nested-table tbody,.nested-table tr{display:block}.nested-table tr{background:#c4bfb1;background:var(--bg-card-hover,#c4bfb1);border-radius:6px;margin-bottom:6px;padding:6px 8px}.nested-table td{border:none!important;display:flex;font-size:12px!important;justify-content:space-between;padding:3px 0!important}.nested-table td[data-label]:before{color:#666;color:var(--text-on-card-muted,#666);content:attr(data-label);font-size:9px;font-weight:600;min-width:70px;text-transform:uppercase}.admin-table .quicklinks{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;width:100%}.admin-table .quicklink{text-align:center;width:100%}.admin-table .view-map-btn{min-height:44px;width:100%}}.tab-badge{align-items:center;background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:10px;color:#fff;color:var(--text-primary,#fff);display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;margin-left:6px;min-width:20px;padding:0 6px}.unknown-empty{font-style:italic;padding:40px 20px;text-align:center}.unknown-empty,.unknown-secondary{color:#666;color:var(--table-body-text-secondary,#666)}.unknown-secondary{font-size:11px;margin-top:2px}.unknown-actions{display:flex;gap:6px;white-space:nowrap}.admin-status-badge.disconnected{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);color:#856404;color:var(--status-warning-text,#856404)}.dismiss-btn{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border:none;border-radius:4px;color:#721c24;color:var(--status-error-text,#721c24);cursor:pointer;font-size:12px;padding:6px 12px;white-space:nowrap}.dismiss-btn:hover{opacity:.85}.dismiss-btn:disabled{cursor:not-allowed;opacity:.5}.action-banner{align-items:center;display:flex;font-size:13px;font-weight:500;justify-content:space-between;padding:10px 16px}.action-banner.success{background:#d4edda;background:var(--status-connected-bg,#d4edda);color:#155724;color:var(--status-connected-text,#155724)}.action-banner.error{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.banner-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.banner-close:hover{opacity:1}.adopt-form-row{background:#ccc7b9;background:var(--table-row-alt,#ccc7b9)}.adopt-form-row td{padding:0}.adopt-form{padding:16px 20px}.adopt-form-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr 1fr;margin-bottom:12px}.adopt-form-fields label{color:#555;color:var(--table-body-text-secondary,#555);display:flex;flex-direction:column;font-size:12px;font-weight:500;gap:4px}.adopt-form-fields input{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border:1px solid #00000026;border:1px solid var(--table-row-border,#00000026);border-radius:4px;color:#333;color:var(--table-body-text,#333);font-size:13px;padding:8px 10px}.adopt-form-fields input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.adopt-form-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end}.adopt-form-hint{color:#666;color:var(--table-body-text-secondary,#666);font-size:12px;font-style:italic}.receiver-event-log{background:#3d4654;background:var(--bg-primary,#3d4654);border-radius:8px;margin-top:24px;padding:16px}.receiver-event-log h3{color:#fff;color:var(--text-primary,#fff);font-size:16px;font-weight:600;margin:0 0 12px}.event-log-container{background:#2d3440;background:var(--bg-tertiary,#2d3440);border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;max-height:600px;overflow-y:auto;padding:8px}.event-log-empty{color:#888;color:var(--text-muted,#888);font-style:italic;padding:20px;text-align:center}.event-entry{grid-gap:8px;align-items:center;border-bottom:1px solid #3d4654;border-bottom:1px solid var(--bg-primary,#3d4654);display:grid;gap:8px;grid-template-columns:70px 90px 70px 130px 140px 1fr;padding:6px 8px}.event-entry:last-child{border-bottom:none}.event-entry:hover{background:#3a4250;background:var(--bg-secondary,#3a4250)}.event-time{color:#888;color:var(--text-muted,#888)}.event-type{border-radius:3px;font-size:11px;font-weight:500;padding:2px 6px;text-align:center}.event-type-connection_attempt{background:#2d5a7b;background:var(--event-connection-bg,#2d5a7b);color:#88c0d0;color:var(--event-connection-text,#88c0d0)}.event-type-uuid_received{background:#3d5a3d;background:var(--event-success-bg,#3d5a3d);color:#a3be8c;color:var(--event-success-text,#a3be8c)}.event-type-uuid_invalid{background:#5a2d2d;background:var(--event-error-bg,#5a2d2d);color:#bf616a;color:var(--event-error-text,#bf616a)}.event-type-first_beast_message{background:#5a4d2d;background:var(--event-warning-bg,#5a4d2d);color:#ebcb8b;color:var(--event-warning-text,#ebcb8b)}.event-type-disconnected{background:#5a3d2d;background:var(--event-disconnect-bg,#5a3d2d);color:#d08770;color:var(--event-disconnect-text,#d08770)}.event-connection{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}.event-ip{color:#88c0d0;color:var(--event-connection-text,#88c0d0)}.event-receiver{color:#a3be8c;color:var(--event-success-text,#a3be8c)}.event-message,.event-receiver{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-message{color:#ccc;color:var(--text-secondary,#ccc)}@media (max-width:1024px){.event-entry{grid-template-columns:70px 80px 60px 100px 1fr}.event-message{display:none}}@media (max-width:768px){.event-entry{grid-template-columns:60px 70px 90px 1fr}.event-connection{display:none}.event-log-container{max-height:200px}}@media (max-width:480px){.event-entry{grid-template-columns:50px 60px 1fr}.event-ip{display:none}}.admin-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;padding:8px 0 12px}.admin-toolbar label{align-items:center;color:#fff;color:var(--text-primary,#fff);display:inline-flex;gap:6px}.admin-toolbar input[type=text],.admin-toolbar select{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border:1px solid #00000026;border:1px solid var(--border-secondary,#00000026);border-radius:4px;color:#2c3e50;color:var(--text-on-card,#2c3e50);padding:4px 6px}.admin-toolbar button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;padding:6px 12px}.admin-toolbar button:hover{background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.admin-toolbar-meta{color:#ccc;color:var(--text-secondary,#ccc);font-size:.9em;margin-left:auto}.admin-action-message{border-radius:4px;font-size:.9em;margin-bottom:8px;padding:8px 12px}.admin-action-success{background:#228b222e;border-left:3px solid #2ecc71;color:#fff;color:var(--text-primary,#fff)}.admin-action-error{background:#dc322f2e;border-left:3px solid #e74c3c;color:#fff;color:var(--text-primary,#fff)}.admin-table .gap{color:#ccc;color:var(--text-secondary,#ccc);font-style:italic;opacity:.6}.admin-edit-form{grid-gap:8px 12px;background:#d4cfc1;background:var(--bg-card,#d4cfc1);border-radius:4px;color:#2c3e50;color:var(--text-on-card,#2c3e50);display:grid;gap:8px 12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:12px}.admin-edit-form label{display:flex;flex-direction:column;font-size:.85em;gap:3px}.admin-edit-form input:not([type]),.admin-edit-form input[type=file],.admin-edit-form input[type=text],.admin-edit-form select,.admin-edit-form textarea{background:#fff;border:1px solid #0003;border:1px solid var(--border-secondary,#0003);border-radius:3px;color:#2c3e50;color:var(--text-on-card,#2c3e50);font-size:.95em;padding:4px 6px}.admin-edit-form-wide{grid-column:1/-1}.admin-edit-form-checkbox{align-items:center;flex-direction:row!important;gap:6px!important}.admin-edit-form-actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.admin-edit-form-actions button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;padding:6px 14px}.admin-edit-form-actions button:nth-child(2){background:#4a5562;background:var(--bg-secondary,#4a5562)}.admin-sprite-picker{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border-radius:4px;display:flex;flex-direction:column;gap:2px;max-width:100%;overflow-x:auto;padding:8px}.admin-sprite-row{display:flex;gap:2px}.admin-sprite-cell{background-color:#fff6;border:1px solid #0000;cursor:pointer;padding:0}.admin-sprite-cell:hover{background-color:#ffffffb3;border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35)}.admin-family-header-row{background:#4a5562;background:var(--bg-secondary,#4a5562);color:#fff;color:var(--text-primary,#fff)}.admin-family-header-row td{border-top:1px solid #ffffff1a;border-top:1px solid var(--border-secondary,#ffffff1a);padding:8px 10px}.admin-family-meta{color:#ccc;color:var(--text-secondary,#ccc);font-size:.9em}.admin-sprite-picker-hint{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border-radius:4px 4px 0 0;color:#2c3e50;color:var(--text-on-card,#2c3e50);font-size:.9em;padding:6px 10px}.admin-suggestion-row td{padding:6px 10px;vertical-align:middle}.admin-suggestion-icao{border-right:1px solid #ffffff1a;border-right:1px solid var(--border-secondary,#ffffff1a);font-size:1.05em;vertical-align:top}.admin-diff-changed{background:#ffa5002e}.admin-diff-new{background:#2ecc712e}.admin-diff-unchanged{opacity:.65}.admin-confidence{border-radius:10px;font-size:.8em;font-weight:600;padding:2px 8px}.admin-confidence-high{background:#2ecc71;color:#fff}.admin-confidence-medium{background:#f39c12;color:#fff}.admin-confidence-low{background:#e74c3c;color:#fff}.admin-suggestion-actions{display:flex;flex-direction:column;gap:4px}.admin-suggestion-actions button{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:3px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:.85em;padding:4px 8px}.admin-suggestion-actions button.admin-reject{background:#4a5562;background:var(--bg-secondary,#4a5562)}.admin-suggestion-notes{background:#0000000a}.admin-suggestion-notes td{color:#ccc;color:var(--text-secondary,#ccc);padding:4px 10px 8px}.admin-receiver-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.admin-owner-filter{border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);font-size:.85rem;max-width:320px}.admin-owner-filter,.owner-group-row td{background:var(--bg-tertiary);padding:6px 10px}.owner-group-row td{border-top:2px solid var(--border-medium)}.owner-group-name{color:var(--text-primary);font-weight:700;margin-right:10px}.owner-group-meta{color:var(--text-secondary);font-size:.85rem}.admin-table td.num-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.backlog-pill{font-feature-settings:"tnum";border-radius:4px;display:inline-block;font-size:.75rem;font-variant-numeric:tabular-nums;padding:1px 6px}.backlog-ok{background:var(--status-connected-bg);color:var(--status-connected-text)}.backlog-warn{background:var(--status-warning-bg-transparent);color:var(--status-warning-text)}.backlog-bad{background:var(--status-error-bg);color:var(--status-error-text)}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-table th.sortable:hover{background:var(--bg-card-hover);color:var(--text-on-card)}.admin-status-filter{display:inline-flex;gap:6px}.admin-table-container{max-height:70vh;max-width:none;overflow-y:auto;width:100%}.admin-table thead th{position:sticky;top:0;z-index:2}.admin-table td.num-cell,.admin-table td[data-label="Last Active"]{white-space:nowrap}.tab-button.tab-button-link{opacity:.9}.airport-features{padding:0;width:100%}.af-search-section{align-items:center;background:#3d4654;background:var(--bg-primary,#3d4654);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px}.af-search-form{display:flex;gap:8px}.af-search-input{background:#2d3440;background:var(--bg-tertiary,#2d3440);border:1px solid #fff3;border:1px solid var(--border-medium,#fff3);border-radius:4px;color:#fff;color:var(--text-primary,#fff);font-size:14px;padding:10px 14px;text-transform:uppercase;width:180px}.af-search-input::placeholder{color:#fff6;color:var(--text-muted,#fff6);text-transform:none}.af-search-input:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.af-search-btn{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.af-search-btn:hover:not(:disabled){background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.af-search-btn:disabled{background:#666;background:var(--status-muted,#666);cursor:not-allowed}.af-actions{display:flex;flex-wrap:wrap;gap:8px}.af-conflicts-btn,.af-sync-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.af-sync-btn{background:#3498db;background:var(--status-info,#3498db);color:#fff;color:var(--text-primary,#fff)}.af-sync-btn:hover:not(:disabled){background:#2980b9;background:var(--status-info-hover,#2980b9)}.af-sync-btn.af-sync-full{background:#9b59b6;background:var(--tag-rare,#9b59b6)}.af-sync-btn.af-sync-full:hover:not(:disabled){background:#8e44ad;background:var(--tag-rare-hover,#8e44ad)}.af-sync-btn:disabled{background:#666;background:var(--status-muted,#666);cursor:not-allowed}.af-conflicts-btn{background:#e67e22;background:var(--status-warning,#e67e22);color:#fff;color:var(--text-primary,#fff)}.af-conflicts-btn:hover{background:#d35400;background:var(--status-warning-hover,#d35400)}.af-error,.af-success{border-radius:4px;font-size:14px;margin-bottom:16px;padding:12px 16px}.af-error{background:#e74c3c33;background:var(--status-error-bg-transparent,#e74c3c33);border:1px solid #e74c3c4d;border:1px solid var(--status-error-border-transparent,#e74c3c4d);color:#e74c3c;color:var(--status-error,#e74c3c)}.af-success{background:#2ecc7133;background:var(--status-success-bg-transparent,#2ecc7133);border:1px solid #2ecc714d;border:1px solid var(--status-success-border-transparent,#2ecc714d);color:#2ecc71;color:var(--status-success,#2ecc71)}.af-filters{flex-wrap:wrap;gap:16px;margin-bottom:16px}.af-filter,.af-filters{align-items:center;display:flex}.af-filter{gap:8px}.af-filter label{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:13px}.af-filter select{background:#3d4654;background:var(--bg-primary,#3d4654);border:1px solid #fff3;border:1px solid var(--border-medium,#fff3);border-radius:4px;color:#fff;color:var(--text-primary,#fff);font-size:13px;padding:6px 12px}.af-filter select:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.af-count{color:#ffffff80;color:var(--text-muted,#ffffff80);font-size:13px;margin-left:auto}.af-table-container{background:#d4cfc1;background:var(--bg-card,#d4cfc1);border-radius:8px;overflow-x:auto}.af-table{border-collapse:collapse;font-size:13px;width:100%}.af-table td,.af-table th{border-bottom:1px solid #0000001a;border-bottom:1px solid var(--border-on-card,#0000001a);padding:10px 12px;text-align:left}.af-table th{background:#c9c4b6;background:var(--bg-card-hover,#c9c4b6);color:#333;color:var(--text-on-card,#333);font-weight:600;position:sticky;top:0;white-space:nowrap}.af-table tbody tr:hover{background:#e8e3d5;background:var(--bg-card-active,#e8e3d5)}.af-table tbody tr:last-child td{border-bottom:none}.af-empty{color:#666;color:var(--text-on-card-muted,#666);font-style:italic;padding:40px 20px!important;text-align:center}.af-type-badge{border-radius:4px;color:#fff;color:var(--text-primary,#fff);display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.af-ref{color:#333;color:var(--text-on-card,#333);font-weight:600}.af-name{color:#666;color:var(--text-on-card-muted,#666);display:block;font-size:11px;margin-top:2px}.af-coord{color:#555;color:var(--text-on-card-secondary,#555);font-family:Consolas,Monaco,Courier New,monospace;font-size:11px}.af-source-badge{border-radius:3px;display:inline-block;font-size:10px;font-weight:600;padding:3px 6px;text-transform:uppercase}.af-source-osm{background:#3498db;background:var(--status-info,#3498db)}.af-source-manual,.af-source-osm{color:#fff;color:var(--text-primary,#fff)}.af-source-manual{background:#9b59b6;background:var(--tag-rare,#9b59b6)}.af-modified{color:#e67e22;color:var(--status-warning,#e67e22);font-weight:600}.af-actions-cell{white-space:nowrap}.af-action-btn{border:none;border-radius:3px;cursor:pointer;font-size:11px;font-weight:500;margin-right:4px;padding:4px 10px;transition:all .2s}.af-edit-btn{background:#3498db;background:var(--status-info,#3498db);color:#fff;color:var(--text-primary,#fff)}.af-edit-btn:hover{background:#2980b9;background:var(--status-info-hover,#2980b9)}.af-delete-btn{background:#e74c3c;background:var(--status-error,#e74c3c);color:#fff;color:var(--text-primary,#fff)}.af-delete-btn:hover{background:#c0392b;background:var(--status-error-hover,#c0392b)}.af-edit-row{background:#e8e3d5!important;background:var(--bg-card-active,#e8e3d5)!important}.af-edit-form{padding:16px}.af-edit-form h4{color:#333;color:var(--text-on-card,#333);font-size:16px;margin:0 0 16px}.af-edit-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:16px}.af-edit-field{display:flex;flex-direction:column;gap:4px}.af-edit-field label{color:#555;color:var(--text-on-card-secondary,#555);font-size:12px;font-weight:500}.af-edit-field input,.af-edit-field select{background:#fff;background:var(--bg-input,#fff);border:1px solid #bbb;border:1px solid var(--border-on-card,#bbb);border-radius:4px;font-size:13px;padding:8px 10px}.af-edit-field input:focus,.af-edit-field select:focus{border-color:#ff6b35;border-color:var(--accent-primary,#ff6b35);outline:none}.af-edit-field.af-checkbox{align-items:center;flex-direction:row}.af-edit-field.af-checkbox label{align-items:center;cursor:pointer;display:flex;gap:6px}.af-edit-field.af-checkbox input[type=checkbox]{height:16px;width:16px}.af-edit-actions{display:flex;gap:8px}.af-cancel-btn,.af-save-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.af-save-btn{background:#2ecc71;background:var(--status-success,#2ecc71);color:#fff;color:var(--text-primary,#fff)}.af-save-btn:hover:not(:disabled){background:#27ae60;background:var(--status-success-hover,#27ae60)}.af-save-btn:disabled{cursor:not-allowed}.af-cancel-btn,.af-save-btn:disabled{background:#95a5a6;background:var(--status-muted,#95a5a6)}.af-cancel-btn{color:#fff;color:var(--text-primary,#fff)}.af-cancel-btn:hover:not(:disabled){background:#7f8c8d;background:var(--status-muted-hover,#7f8c8d)}.af-conflict-overlay{align-items:center;background:#000000b3;background:var(--overlay-bg,#000000b3);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.af-conflict-dialog{background:#4a5562;background:var(--bg-secondary,#4a5562);border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:700px;overflow:hidden;width:100%}.af-conflict-dialog h3{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border-light,#ffffff1a);color:#fff;color:var(--text-primary,#fff);font-size:20px;margin:0;padding:20px}.af-conflict-dialog>p{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:14px;margin:12px 0 0;padding:0 20px}.af-conflict-list{flex:1 1;overflow-y:auto;padding:20px}.af-conflict-item{background:#3d4654;background:var(--bg-primary,#3d4654);border-radius:8px;margin-bottom:16px;padding:16px}.af-conflict-item:last-child{margin-bottom:0}.af-conflict-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.af-conflict-type{background:#ff6b35;background:var(--accent-primary,#ff6b35);border-radius:4px;font-size:12px;padding:4px 8px}.af-conflict-ref,.af-conflict-type{color:#fff;color:var(--text-primary,#fff);font-weight:600}.af-conflict-ref{font-size:16px}.af-conflict-summary{background:#e74c3c33;background:var(--status-error-bg-transparent,#e74c3c33);border-radius:4px;color:#e74c3c;color:var(--status-error,#e74c3c);font-size:13px;margin-bottom:12px;padding:8px 12px}.af-conflict-comparison{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.af-conflict-version{background:#2d3440;background:var(--bg-tertiary,#2d3440);border-radius:6px;padding:12px}.af-conflict-version h5{font-size:13px;font-weight:600;margin:0 0 8px}.af-conflict-version.af-local h5{color:#9b59b6;color:var(--tag-rare,#9b59b6)}.af-conflict-version.af-osm h5{color:#3498db;color:var(--status-info,#3498db)}.af-version-details{color:#ffffffb3;color:var(--text-secondary,#ffffffb3);font-size:12px}.af-version-details div{margin-bottom:4px}.af-conflict-actions{display:flex;gap:8px}.af-resolve-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s}.af-resolve-btn:disabled{cursor:not-allowed;opacity:.5}.af-keep-local{background:#9b59b6;background:var(--tag-rare,#9b59b6);color:#fff;color:var(--text-primary,#fff)}.af-keep-local:hover:not(:disabled){background:#8e44ad;background:var(--tag-rare-hover,#8e44ad)}.af-use-osm{background:#3498db;background:var(--status-info,#3498db);color:#fff;color:var(--text-primary,#fff)}.af-use-osm:hover:not(:disabled){background:#2980b9;background:var(--status-info-hover,#2980b9)}.af-dialog-footer{border-top:1px solid #ffffff1a;border-top:1px solid var(--border-light,#ffffff1a);display:flex;justify-content:flex-end;padding:16px 20px}.af-close-btn{background:#95a5a6;background:var(--status-muted,#95a5a6);border:none;border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.af-close-btn:hover{background:#7f8c8d;background:var(--status-muted-hover,#7f8c8d)}@media (max-width:1024px){.af-search-section{align-items:stretch;flex-direction:column}.af-search-form{width:100%}.af-search-input{flex:1 1}.af-actions{justify-content:flex-start}.af-edit-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:768px){.af-table td,.af-table th{font-size:12px;padding:8px 10px}.af-type-badge{font-size:10px;padding:3px 6px}.af-conflict-comparison{grid-template-columns:1fr}.af-conflict-dialog{max-height:90vh}}@media (max-width:480px){.af-filters{align-items:stretch;flex-direction:column}.af-count{margin-left:0;text-align:center}.af-actions{flex-direction:column}.af-conflicts-btn,.af-sync-btn{width:100%}}.csv-debug-container{margin-top:0}.csv-debug-controls{align-items:center;background:#3d4751;background:var(--bg-primary,#3d4751);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:14px 16px}.csv-debug-controls select{background:#2a3139;background:var(--bg-tertiary,#2a3139);border:1px solid #fff3;border:1px solid var(--border-medium,#fff3);border-radius:4px;color:#fff;color:var(--text-primary,#fff);font-size:13px;min-width:200px;padding:8px 12px}.csv-debug-controls input[type=file]{color:#ccc;color:var(--text-secondary,#ccc);font-size:13px}.csv-debug-controls input[type=file]::file-selector-button{background:#2a3139;background:var(--bg-tertiary,#2a3139);border:1px solid #fff3;border:1px solid var(--border-medium,#fff3);border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:12px;margin-right:8px;padding:8px 12px}.csv-debug-controls input[type=file]::file-selector-button:hover{background:#4a5562;background:var(--bg-secondary,#4a5562)}.csv-debug-process-btn{background:#ff6b35;background:var(--accent-primary,#ff6b35);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 20px;white-space:nowrap}.csv-debug-process-btn:hover:not(:disabled){background:#e55a25;background:var(--accent-primary-hover,#e55a25)}.csv-debug-process-btn:disabled{cursor:not-allowed;opacity:.5}.csv-debug-receiver-info{align-items:center;color:#ccc;color:var(--text-secondary,#ccc);display:flex;font-size:12px;gap:20px;margin-bottom:12px;padding:8px 0}.csv-debug-receiver-info span{align-items:center;display:flex;gap:5px}.csv-debug-receiver-info strong{color:#fff;color:var(--text-primary,#fff)}.csv-debug-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.csv-debug-stat{align-items:center;background:#d4cfc1;background:var(--bg-card,#d4cfc1);border-radius:6px;display:flex;flex-direction:column;min-width:80px;padding:10px 16px}.csv-debug-stat-value{color:#ff6b35;color:var(--accent-primary,#ff6b35);font-size:22px;font-weight:600;line-height:1.2}.csv-debug-stat-value.validated{color:#155724;color:var(--status-connected-text,#155724)}.csv-debug-stat-value.unvalidated{color:#856404;color:var(--status-warning-text,#856404)}.csv-debug-stat-value.rejected{color:#721c24;color:var(--status-error-text,#721c24)}.csv-debug-stat-label{color:#333;color:var(--text-on-card,#333);font-size:10px;letter-spacing:.3px;margin-top:2px;opacity:.65;text-transform:uppercase}.csv-debug-aircraft-table{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border-collapse:collapse;border-radius:8px;color:#333;color:var(--table-body-text,#333);font-size:13px;overflow:hidden;width:100%}.csv-debug-aircraft-table td,.csv-debug-aircraft-table th{border-bottom:1px solid #0000001a;border-bottom:1px solid var(--table-row-border,#0000001a);padding:10px 12px;text-align:left}.csv-debug-aircraft-table th{background:#3d4751;background:var(--table-header-bg,#3d4751);color:#fff;color:var(--table-header-text,#fff);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.csv-debug-aircraft-table tbody tr.csv-debug-aircraft-row{cursor:pointer;transition:background-color .15s ease}.csv-debug-aircraft-table tbody tr.csv-debug-aircraft-row:hover{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1)}.csv-debug-aircraft-table tbody tr.csv-debug-aircraft-row.expanded{background:#c4bfb1;background:var(--table-row-hover,#c4bfb1);border-bottom:none}.csv-debug-aircraft-table tbody tr:last-child td{border-bottom:none}.csv-debug-aircraft-table td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.csv-debug-aircraft-table th.num{text-align:right}.csv-validation-badge{border-radius:3px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.csv-validation-badge.validated{background:#d4edda;background:var(--status-connected-bg,#d4edda);color:#155724;color:var(--status-connected-text,#155724)}.csv-validation-badge.unvalidated{background:#fff3cd;background:var(--status-warning-bg,#fff3cd);color:#856404;color:var(--status-warning-text,#856404)}.csv-validation-badge.rejected{background:#f8d7da;background:var(--status-error-bg,#f8d7da);color:#721c24;color:var(--status-error-text,#721c24)}.csv-validation-badge.decode-failed{background:#e0dcd0;background:var(--bg-tertiary,#e0dcd0);color:#666;color:var(--table-body-text-secondary,#666)}.csv-validation-badge.not-position{background:#0000;color:#999;color:var(--table-body-text-secondary,#999);font-size:11px;font-weight:400;padding:0}.csv-surface-indicator{align-items:center;background:#ccc7b9;background:var(--table-row-alt,#ccc7b9);border-radius:3px;color:#666;color:var(--table-body-text-secondary,#666);display:inline-flex;font-size:10px;font-weight:500;gap:4px;padding:2px 6px}.csv-surface-indicator .surface-dot{background:#d4a520;background:var(--accent-secondary,#d4a520);border-radius:50%;height:6px;width:6px}.csv-debug-expand-icon{color:#666;color:var(--table-body-text-secondary,#666);display:inline-block;font-size:9px;transition:transform .15s ease;width:16px}.csv-debug-expand-icon.open{transform:rotate(90deg)}.csv-debug-icao{font-family:Consolas,Monaco,Courier New,monospace;font-weight:600}.csv-debug-ac-header{align-items:center;background:#3d4751;background:var(--table-header-bg,#3d4751);border-bottom:2px solid #ff6b35;border-bottom:2px solid var(--accent-primary,#ff6b35);color:#fff;color:var(--table-header-text,#fff);display:flex;font-size:12px;gap:16px;padding:10px 16px}.csv-debug-ac-header-icao{color:#ff6b35;color:var(--accent-primary,#ff6b35);font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;font-weight:700}.csv-debug-ac-header-callsign{font-weight:500}.csv-debug-ac-header-meta{color:#fffc;color:var(--text-secondary,#fffc);display:flex;font-size:11px;gap:16px;margin-left:auto}.csv-debug-ac-header-meta span{align-items:center;display:flex;gap:4px}.csv-debug-timeline-row td{border-bottom:none!important;padding:0!important}.csv-debug-timeline-container{background:#ccc7b9;background:var(--table-row-alt,#ccc7b9);max-height:600px;overflow-y:auto}.csv-debug-timeline-table{background:#d4cfc1;background:var(--table-body-bg,#d4cfc1);border-collapse:collapse;color:#333;color:var(--table-body-text,#333);font-size:11px;width:100%}.csv-debug-timeline-table td,.csv-debug-timeline-table th{border-bottom:1px solid #0000000f;border-bottom:1px solid var(--table-row-border,#0000000f);padding:5px 8px;text-align:left}.csv-debug-timeline-table th{background:#ccc7b9;background:var(--table-row-alt,#ccc7b9);color:#333;color:var(--table-body-text,#333);font-size:10px;font-weight:600;letter-spacing:.3px;position:sticky;text-transform:uppercase;top:0;z-index:1}.csv-debug-timeline-table tbody tr:last-child td{border-bottom:none}.csv-debug-timeline-table tbody tr.msg-validated{background:#d4edda80;background:var(--status-connected-bg,#d4edda80)}.csv-debug-timeline-table tbody tr.msg-unvalidated{background:#fff3cd80;background:var(--status-warning-bg,#fff3cd80)}.csv-debug-timeline-table tbody tr.msg-rejected{background:#f8d7da80;background:var(--status-error-bg,#f8d7da80)}.csv-debug-timeline-table td.mono{font-family:Consolas,Monaco,Courier New,monospace;font-size:10px}.csv-debug-timeline-table td.time-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.csv-debug-timeline-table td.delta-cell{font-feature-settings:"tnum";color:#666;color:var(--table-body-text-secondary,#666);font-size:10px;font-variant-numeric:tabular-nums}.csv-debug-timeline-table td.type-cell{font-weight:500}.csv-debug-timeline-table td.hex-cell{color:#555;color:var(--table-body-text-secondary,#555);font-family:Consolas,Monaco,Courier New,monospace;font-size:9px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-debug-log-toggle{color:#ff6b35;color:var(--accent-primary,#ff6b35);cursor:pointer;font-size:10px;-webkit-user-select:none;user-select:none;white-space:nowrap}.csv-debug-log-toggle:hover{text-decoration:underline}.csv-debug-log-content{background:#2d3440;background:var(--bg-tertiary,#2d3440);border-radius:3px;color:#ccc;color:var(--text-secondary,#ccc);font-family:Consolas,Monaco,Courier New,monospace;font-size:10px;line-height:1.5;margin-top:4px;max-width:700px;padding:6px 8px;white-space:pre-wrap}.csv-debug-error{background:#f8d7da;background:var(--status-error-bg,#f8d7da);border-radius:6px;color:#721c24;color:var(--status-error-text,#721c24);font-size:13px;margin-bottom:12px;padding:10px 16px}.csv-debug-loading{align-items:center;color:#ccc;color:var(--text-secondary,#ccc);display:flex;font-size:14px;justify-content:center;padding:40px}@media (max-width:1024px){.csv-debug-summary{gap:6px}.csv-debug-stat{min-width:70px;padding:8px 12px}.csv-debug-stat-value{font-size:18px}.csv-debug-timeline-container{max-height:400px}}@media (max-width:768px){.csv-debug-controls{padding:10px 12px}.csv-debug-controls select{min-width:150px}.csv-debug-stat{flex-basis:calc(33% - 6px);flex-grow:1;flex-shrink:1;min-width:60px}}.track-anomalies{padding:10px}.anomaly-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.anomaly-filters select{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:4px;color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:.85em;padding:6px 10px}.anomaly-count{color:#888;color:var(--text-secondary,#888);font-size:.85em;margin-left:auto}.anomaly-table-container{max-height:400px;overflow-x:auto;overflow-y:auto}.anomaly-table{border-collapse:collapse;font-size:.85em;width:100%}.anomaly-table th{background:#0f0f23;background:var(--bg-tertiary,#0f0f23);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);color:#999;color:var(--text-secondary,#999);padding:8px 10px;position:sticky;text-align:left;top:0}.anomaly-table td{border-bottom:1px solid #222;border-bottom:1px solid var(--border-color-faint,#222);padding:6px 10px}.anomaly-row{cursor:pointer;transition:background .15s}.anomaly-row:hover{background:#1a1a3e;background:var(--bg-hover,#1a1a3e)}.anomaly-row.selected{background:#1a2a4e;background:var(--bg-selected,#1a2a4e)}.callsign-cell{color:#ff9800;color:var(--color-accent,#ff9800);font-weight:700}.numeric-cell{font-family:monospace;text-align:right}.cause-cell{color:#aaa;color:var(--text-secondary,#aaa);font-size:.9em;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anomaly-badge{border-radius:10px;color:#fff;font-size:.75em;padding:2px 8px;text-transform:uppercase}.anomaly-badge,.review-badge{display:inline-block;font-weight:700}.review-badge{border-radius:50%;font-size:.8em;height:22px;line-height:22px;text-align:center;width:22px}.review-badge.correct{background:#4caf50;color:#fff}.review-badge.incorrect{background:#f44336;color:#fff}.review-badge.pending{background:#555;color:#aaa}.empty-cell,.loading-cell{color:#888;color:var(--text-secondary,#888);padding:20px;text-align:center}.anomaly-pagination{align-items:center;display:flex;font-size:.85em;gap:12px;justify-content:center;padding:10px}.anomaly-pagination button{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:4px;color:#e0e0e0;color:var(--text-primary,#e0e0e0);cursor:pointer;padding:4px 12px}.anomaly-pagination button:disabled{cursor:not-allowed;opacity:.4}.anomaly-detail{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:6px;margin-top:16px}.detail-header{align-items:center;border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-between;padding:10px 16px}.detail-header h3{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:1em;margin:0}.close-btn{background:none;border:none;color:#888;color:var(--text-secondary,#888);cursor:pointer;font-size:1.5em;padding:0 4px}.detail-content{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:16px}.detail-map{border-radius:4px;min-height:400px;overflow:hidden}.map-empty,.map-loading{align-items:center;background:#0f0f23;background:var(--bg-tertiary,#0f0f23);color:#888;color:var(--text-secondary,#888);display:flex;height:400px;justify-content:center}.detail-info{display:flex;flex-direction:column;gap:12px}.info-grid{grid-gap:6px;display:grid;font-size:.9em;gap:6px;grid-template-columns:1fr 1fr}.cause-full{background:#0f0f23;background:var(--bg-tertiary,#0f0f23);border-radius:4px;font-size:.9em;line-height:1.4;padding:10px}.review-section{border-top:1px solid #333;border-top:1px solid var(--border-color,#333);margin-top:auto;padding-top:12px}.review-buttons{display:flex;gap:10px;margin-bottom:8px}.review-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9em;font-weight:700;padding:8px 16px}.review-btn.correct{background:#4caf50;color:#fff}.review-btn.incorrect{background:#f44336;color:#fff}.review-feedback{background:#0f0f23;background:var(--bg-tertiary,#0f0f23);border:1px solid #333;border:1px solid var(--border-color,#333);color:#e0e0e0;color:var(--text-primary,#e0e0e0);min-height:60px;padding:8px;resize:vertical;width:100%}.review-feedback,.review-message{border-radius:4px;font-size:.85em}.review-message{margin-top:6px;padding:6px 10px}.review-message.success{background:#1b5e20;color:#a5d6a7}.review-message.error{background:#b71c1c;color:#ef9a9a}@media (max-width:900px){.detail-content{grid-template-columns:1fr}}.admin-subtabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border-light);display:flex;gap:4px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}.admin-subtabs::-webkit-scrollbar{display:none}.admin-subtab-button{background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:500;padding:10px 16px;position:relative;transition:color .2s ease;white-space:nowrap}.admin-subtab-button:hover{color:var(--text-primary)}.admin-subtab-button.active{color:var(--accent-primary)}.admin-subtab-button.active:after{background:var(--accent-primary);bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.admin-ref-heading{color:var(--text-primary);font-size:14px;font-weight:600;margin:16px 0 8px}.admin-toolbar input.admin-ref-search{flex:1 1 220px;max-width:420px;min-width:220px;padding:6px 8px}.admin-toolbar .admin-filter-chip{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s ease}.admin-toolbar .admin-filter-chip:hover{background:var(--bg-tertiary);color:var(--text-primary)}.admin-toolbar .admin-filter-chip.active,.admin-toolbar .admin-filter-chip.active:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.admin-table td.admin-ref-mono{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:12px;white-space:nowrap}.admin-ref-no{color:var(--table-body-text-secondary);opacity:.6}.admin-ref-actions{align-items:center;display:flex;gap:6px;white-space:nowrap}.admin-ref-actions button{background:var(--accent-primary);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:6px 12px}.admin-ref-actions button:hover{background:var(--accent-primary-hover)}.admin-ref-actions button:disabled{cursor:not-allowed;opacity:.5}.admin-danger-button,.admin-ref-actions button.admin-danger-button{background:var(--status-error-bg);color:var(--status-error-text)}.admin-danger-button:hover,.admin-ref-actions button.admin-danger-button:hover{background:var(--status-error-bg);opacity:.85}.admin-ref-help{color:var(--text-on-card-muted);font-size:.8em}.admin-edit-form input.admin-ref-readonly{background:var(--bg-card-hover);color:var(--text-on-card-secondary)}.admin-ref-field{display:flex;flex-direction:column;gap:3px}.admin-logo-preview{background:#fff;border:1px solid var(--border-on-card);border-radius:3px;height:24px;max-width:80px;object-fit:contain;padding:2px 4px}.admin-pagination{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.85em;gap:12px;justify-content:center;padding:10px}.admin-pagination button{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);cursor:pointer;padding:4px 12px}.admin-pagination button:disabled{cursor:not-allowed;opacity:.4}.admin-pagination-size{align-items:center;display:inline-flex;gap:6px}.admin-pagination-size select{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:4px;color:var(--text-primary);padding:3px 6px}.admin-search-select{min-width:160px;position:relative}.admin-search-select-input{background:#fff;border:1px solid var(--border-on-card);border-radius:3px;box-sizing:border-box;color:var(--text-on-card);font-size:.95em;padding:4px 26px 4px 6px;width:100%}.admin-search-select-input:focus{border-color:var(--accent-primary);outline:none}.admin-search-select-input:disabled{background:var(--bg-card-hover);color:var(--text-on-card-secondary)}.admin-search-select-clear{background:none;border:none;color:var(--text-on-card-muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;position:absolute;right:2px;top:50%;transform:translateY(-50%)}.admin-search-select-clear:hover{color:var(--text-on-card)}.admin-search-select-list{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:4px;box-shadow:var(--shadow-md);color:var(--text-on-card);font-size:12px;left:0;list-style:none;margin:2px 0 0;max-height:240px;overflow-y:auto;padding:4px 0;position:absolute;right:0;z-index:20}.admin-search-select-option{cursor:pointer;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.admin-search-select-option.active,.admin-search-select-option:hover{background:var(--bg-card-hover)}.admin-search-select-empty{color:var(--text-on-card-muted);font-style:italic;padding:6px 10px}.admin-resolve-photo{color:var(--accent-primary);display:inline-flex;flex-direction:column;gap:4px;max-width:220px;text-decoration:none}.admin-resolve-thumb{background:var(--bg-card-hover);border:1px solid var(--border-on-card);border-radius:4px;height:64px;object-fit:cover;width:96px}.admin-resolve-slug{color:var(--table-body-text-secondary);font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:10px;line-height:1.3;word-break:break-all}.admin-status-badge.admin-row-result-ok{background:var(--status-connected-bg);color:var(--status-connected-text)}.admin-status-badge.admin-row-result-error{background:var(--status-error-bg);color:var(--status-error-text)}.admin-table tbody tr.admin-row-done{opacity:.35;transition:opacity 1.2s ease}.admin-info-note{background:var(--bg-tertiary);border-left:3px solid var(--accent-secondary);border-radius:4px;color:var(--text-secondary);font-size:.9em;margin-bottom:12px;padding:8px 12px}.admin-info-note code{color:var(--text-primary);font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.95em}.admin-sync-datasets{display:flex;flex-wrap:wrap;gap:4px 14px}.admin-sync-dataset{align-items:center;color:var(--text-primary);display:inline-flex;font-size:13px;gap:6px;min-height:32px}.admin-sync-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:16px}.admin-sync-card{background:var(--bg-card);border-radius:8px;color:var(--text-on-card);min-width:0;padding:12px 16px}.admin-sync-card-compact{padding:10px 14px}.admin-sync-card-title{font-size:14px;font-weight:600;margin-bottom:6px}.admin-sync-card-meta{color:var(--text-on-card-secondary);font-size:12px;margin-bottom:6px}.admin-sync-counts{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 8px}.admin-sync-count{align-items:center;display:flex;flex-direction:column;min-width:56px}.admin-sync-count-value{color:var(--accent-primary);font-size:20px;font-weight:600}.admin-sync-count-label{color:var(--text-on-card-muted);font-size:10px;text-transform:uppercase}.admin-sync-sample{margin-top:8px}.admin-sync-sample-title{color:var(--text-on-card-secondary);font-size:12px;font-weight:600;margin-bottom:4px}.admin-sync-card .admin-sync-sample-table{border-radius:4px;max-height:240px}.admin-sync-card .admin-table{font-size:11px}.admin-sync-card .admin-table td,.admin-sync-card .admin-table th{padding:4px 8px}@media (max-width:1024px){.admin-sync-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.admin-subtab-button{font-size:12px;padding:8px 12px}.admin-toolbar input.admin-ref-search{flex-basis:100%;max-width:none;min-width:0}.admin-sync-grid{grid-template-columns:1fr}}@media (max-width:600px){.admin-ref-actions{width:100%}.admin-ref-actions button{flex:1 1;min-height:44px}.admin-filter-chip,.admin-pagination button,.admin-subtab-button{min-height:44px}.admin-table td[data-label=Photo]{align-items:flex-start;flex-direction:column}.admin-table td[data-label=Type] .admin-search-select{flex:1 1}}@media (max-width:480px){.admin-sync-counts{gap:8px}.admin-sync-count{min-width:48px}}.admin-logo-preview-dark{background:var(--bg-tertiary);border-radius:3px;margin-left:6px;padding:2px 4px}.geo-cfg{background:var(--bg-secondary);color:var(--text-primary);display:flex;height:100%;width:100%}.geo-map{background:var(--bg-tertiary);flex:1 1;min-width:0}.geo-panel{background:var(--bg-card);border-left:1px solid var(--border-on-card);box-sizing:border-box;color:var(--text-on-card);flex:0 0 340px;overflow-y:auto;padding:16px;width:340px}.geo-title{font-size:18px;font-weight:700;margin:0}.geo-subtitle{color:#777;color:var(--text-muted,#777);font-size:13px;margin-bottom:12px}.geo-section{border-bottom:1px solid var(--border-on-card);margin-bottom:16px;padding-bottom:14px}.geo-section:last-child{border-bottom:none}.geo-section-label{font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;opacity:.7;text-transform:uppercase}.geo-modes{display:flex;flex-direction:column;gap:6px}.geo-mode{background:#0000;border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card);cursor:pointer;font-size:13px;padding:7px 10px;text-align:left;transition:background .15s,color .15s}.geo-mode:hover{background:var(--border-on-card)}.geo-mode.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.geo-hint{font-size:12px;line-height:1.45;margin:4px 0 10px;opacity:.85}.geo-field{display:flex;flex-direction:column;font-size:12px;gap:3px;margin-bottom:10px}.geo-field span{font-weight:600}.geo-field input,.geo-field select{background:var(--bg-secondary);border:1px solid var(--border-on-card);border-radius:5px;color:var(--text-primary);font-size:13px;padding:6px 8px}.geo-btn-row{display:flex;flex-wrap:wrap;gap:8px}.geo-btn{background:#0000;border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card);cursor:pointer;font-size:13px;padding:7px 12px}.geo-btn:hover{background:var(--border-on-card)}.geo-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.geo-btn.primary:hover{filter:brightness(1.08)}.geo-btn.danger{border-color:#c0392b;color:#c0392b}.geo-btn.danger:hover{background:#c0392b;color:#fff}.geo-selected{background:#0000000d;border:1px solid var(--border-on-card);border-radius:6px;padding:12px}.geo-filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.geo-filter{align-items:center;background:#0000;border:1px solid var(--border-on-card);border-radius:5px;color:var(--text-on-card);cursor:pointer;display:flex;font-size:11px;padding:4px 7px}.geo-filter:hover{background:var(--border-on-card)}.geo-filter.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.geo-swatch{border-radius:2px;flex:0 0 10px;height:10px;margin-right:5px;width:10px}.geo-count{font-weight:700;margin-left:5px;opacity:.85}.geo-list{border:1px solid var(--border-on-card);border-radius:6px;list-style:none;margin:0 0 10px;max-height:260px;overflow-y:auto;padding:0}.geo-list-item{align-items:center;border-bottom:1px solid var(--border-on-card);cursor:pointer;display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:6px 9px}.geo-list-item:last-child{border-bottom:none}.geo-list-item:hover{background:#0000000d}.geo-list-item.active{background:var(--accent-primary);color:#fff}.geo-list-code{font-weight:600}.geo-list-meta{font-size:11px;opacity:.75}.geo-list-empty{font-size:12px;opacity:.6;padding:10px;text-align:center}.geo-status{background:#0000000d;border-left:3px solid var(--accent-primary);border-radius:6px;font-size:12px;padding:8px 10px}@media (max-width:700px){.geo-cfg{flex-direction:column}.geo-panel{border-left:none;border-top:1px solid var(--border-on-card);flex:0 0 auto;max-height:50%;width:100%}}.bdash{background:var(--bg-secondary);box-sizing:border-box;color:var(--text-primary);height:100%;overflow-y:auto;padding:16px;width:100%}.bdash-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.bdash-title{font-size:20px;font-weight:700;margin:0}.bdash-sub{color:#888;color:var(--text-muted,#888);font-size:13px;margin-top:2px}.bdash-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bdash-periods{display:flex;gap:4px}.bdash-period{background:#0000;border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:13px;padding:6px 12px}.bdash-period:hover{background:var(--border-light)}.bdash-period.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.bdash-dates{align-items:center;display:inline-flex;gap:6px}.bdash-controls input[type=date],.bdash-controls select{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card);font-size:13px;padding:6px 8px}.bdash-kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.bdash-kpi{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-on-card);padding:16px}.bdash-kpi-value{font-size:26px;font-weight:700}.bdash-kpi-label{font-size:12px;letter-spacing:.05em;margin-top:4px;opacity:.7;text-transform:uppercase}.bdash-card{background:var(--bg-card);border:1px solid var(--border-on-card);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-on-card);margin-bottom:16px;padding:14px}.bdash-card-label{font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:10px;opacity:.7;text-transform:uppercase}.bdash-row{display:flex;flex-wrap:wrap;gap:16px}.bdash-half{flex:1 1;min-width:280px}.bdash-table{border-collapse:collapse;font-size:13px;width:100%}.bdash-table td,.bdash-table th{border-bottom:1px solid var(--border-on-card);padding:6px 8px;text-align:left}.bdash-table th{font-size:11px;letter-spacing:.04em;opacity:.65;text-transform:uppercase}.bdash-table td.num,.bdash-table th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.bdash-empty{opacity:.6;padding:14px;text-align:center}.bdash-row-click{cursor:pointer}.bdash-row-click:hover{background:#0000000d}.bdash-caret{opacity:.6;text-align:center;width:18px}.bdash-hex{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:6px;text-transform:uppercase}.bdash-airline-cell{align-items:center;display:flex;gap:6px}.bdash .airline-logo{height:16px;vertical-align:middle;width:auto}.bdash-submovement{background:#00000012}.bdash-submovement td:first-child{border-left:2px solid var(--accent-primary)}.bdash-submovement td{font-size:12px;opacity:.92}.bdash-status{background:var(--bg-card);border-left:3px solid var(--accent-primary);border-radius:6px;color:var(--text-on-card);font-size:13px;margin-bottom:12px;padding:8px 10px}.bdash-split-page{display:flex;flex-direction:column;overflow:hidden;padding:0}.bdash-topbar{background:var(--bg-card);border-bottom:1px solid var(--border-on-card);color:var(--text-on-card);justify-content:space-between;padding:10px 14px}.bdash-topbar,.bdash-topbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.bdash-topbar .bdash-title{font-size:16px;margin:0}.bdash-tabs{background:var(--bg-secondary);border-radius:5px;display:flex;gap:2px;overflow:hidden}.bdash-tab{background:#0000;border:none;color:var(--text-on-card);cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.bdash-tab:hover{background:#0000000d}.bdash-tab.active{background:var(--accent-primary);color:#fff}.bdash-kpis-strip{align-items:center;display:flex;gap:18px}.bdash-kpi-mini{align-items:flex-end;display:flex;flex-direction:column;line-height:1.1}.bdash-kpi-mini-value{font-feature-settings:"tnum";font-size:18px;font-variant-numeric:tabular-nums;font-weight:700}.bdash-kpi-mini-label{font-size:10px;letter-spacing:.05em;opacity:.65;text-transform:uppercase}.bdash-split{background:var(--bg-secondary);display:flex;flex:1 1;min-height:0}.bdash-map-pane{flex:1.6 1;min-width:0;position:relative}.bdash-map-pane,.bdash-map-pane .leaflet-container{background:var(--bg-tertiary)}.bdash-map-hint,.bdash-map-overlay{background:#0009;border-radius:6px;color:#fff;font-size:12px;left:50%;padding:6px 12px;pointer-events:none;position:absolute;top:12px;transform:translateX(-50%);z-index:1000}.bdash-list-pane{background:var(--bg-card);border-left:1px solid var(--border-on-card);color:var(--text-on-card);display:flex;flex:1.4 1;flex-direction:column;max-width:980px;min-width:480px}.bdash-map-pane{flex:1 1}.bdash-list-label{border-bottom:1px solid var(--border-on-card);font-size:11px;font-weight:700;letter-spacing:.05em;opacity:.75;padding:10px 14px;text-transform:uppercase}.bdash-list-hint{font-weight:400;letter-spacing:0;opacity:.7;text-transform:none}.bdash-aircraft-list{flex:1 1;font-size:12.5px;overflow-y:auto}.bdash-ac-row{align-items:center;border-bottom:1px solid var(--border-on-card);cursor:pointer;display:flex;gap:6px;padding:6px 10px}.bdash-ac-row:hover{background:#0000000d}.bdash-ac-row .bdash-caret{opacity:.6;width:14px}.bdash-ac-row .bdash-hex{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-transform:uppercase}.bdash-ac-row .bdash-reg{min-width:56px;opacity:.85}.bdash-ac-row .bdash-type{flex:0 0 auto}.bdash-ac-row .bdash-airline{align-items:center;display:flex;flex:1 1;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bdash-ac-row .bdash-airline .airline-logo{height:14px;width:auto}.bdash-ac-row .bdash-charge{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.bdash-mv-row{align-items:center;background:#00000008;border-bottom:1px solid var(--border-on-card);cursor:pointer;display:flex;font-size:11.5px;gap:8px;padding:5px 10px 5px 34px}.bdash-mv-row:hover{background:#00000012}.bdash-mv-row.selected{background:var(--accent-primary);border-left:3px solid #fff;color:#fff}.bdash-mv-row.selected .bdash-mv-detail{color:#fff}.bdash-mv-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.85}.bdash-mv-type{font-weight:600;min-width:54px}.bdash-mv-flight{font-feature-settings:"tnum";font-family:ui-monospace,monospace;font-family:var(--font-mono,ui-monospace,monospace);font-variant-numeric:tabular-nums;font-weight:600;min-width:64px;opacity:.9}.bdash-mv-route{font-feature-settings:"tnum";font-family:ui-monospace,monospace;font-family:var(--font-mono,ui-monospace,monospace);font-size:11.5px;font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:90px}.bdash-mv-loc,.bdash-mv-route{opacity:.85;white-space:nowrap}.bdash-mv-loc{flex:1 1;overflow:hidden;text-overflow:ellipsis}.bdash-mv-charge{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.bdash-mv-detail{background:#0000;border:none;color:var(--text-on-card);cursor:pointer;font-size:14px;opacity:.65;padding:0 4px}.bdash-mv-detail:hover{opacity:1}@media (max-width:700px){.bdash-kpis{grid-template-columns:1fr}.bdash-split{flex-direction:column}.bdash-list-pane{border-left:none;border-top:1px solid var(--border-on-card);max-height:50%;max-width:none}}.mvd-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.mvd-modal{border-radius:10px;box-shadow:var(--shadow-lg);box-sizing:border-box;color:var(--text-on-card);max-height:88vh;max-width:820px;overflow-y:auto;width:100%}.mvd-head,.mvd-modal{background:var(--bg-card)}.mvd-head{align-items:flex-start;border-bottom:1px solid var(--border-on-card);display:flex;justify-content:space-between;padding:16px 18px;position:sticky;top:0;z-index:1}.mvd-title{font-size:18px;font-weight:700;margin:0}.mvd-sub{font-size:13px;margin-top:2px;opacity:.7}.mvd-close{background:#0000;border:none;color:var(--text-on-card);cursor:pointer;font-size:26px;line-height:1;padding:0 4px}.mvd-close:hover{color:var(--accent-primary)}.mvd-status{font-size:14px;padding:18px}.mvd-error{color:#c0392b}.mvd-body{padding:16px 18px}.mvd-grid{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}.mvd-card{background:#0000000d;border:1px solid var(--border-on-card);border-radius:8px;box-sizing:border-box;flex:1 1;min-width:280px;padding:12px 14px}.mvd-card-label{font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:10px;opacity:.65;text-transform:uppercase}.mvd-dl{grid-gap:5px 14px;display:grid;font-size:13px;gap:5px 14px;grid-template-columns:auto 1fr;margin:0}.mvd-dl dt{opacity:.7}.mvd-dl dd{font-weight:600;margin:0;text-align:right}.mvd-timeline{margin-bottom:10px}.mvd-tl-row{align-items:baseline;border-left:2px solid var(--accent-primary);display:flex;font-size:13px;gap:8px;margin-bottom:2px;padding:3px 0 3px 10px}.mvd-tl-label{font-weight:600;min-width:110px}.mvd-tl-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mvd-tl-extra{font-size:12px;opacity:.7}.mvd-table{border-collapse:collapse;font-size:13px;width:100%}.mvd-table td,.mvd-table th{border-bottom:1px solid var(--border-on-card);padding:7px 8px;text-align:left;vertical-align:top}.mvd-table th{font-size:11px;letter-spacing:.04em;opacity:.65;text-transform:uppercase}.mvd-table td.num,.mvd-table th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.mvd-basis{font-size:12px;opacity:.85}.mvd-empty{opacity:.6;padding:14px;text-align:center}.mvd-total-label{font-size:12px;font-weight:700;text-align:right;text-transform:uppercase}.mvd-total{font-size:15px;font-weight:700}.mvd-track-head{align-items:center;display:flex;justify-content:space-between}.mvd-track-btn{background:var(--accent-primary);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:0;padding:4px 11px;text-transform:none}.mvd-track-btn:hover{filter:brightness(1.08)}.mvd-map{border:1px solid var(--border-on-card);border-radius:6px;overflow:hidden}.mvd-map .leaflet-container{background:var(--bg-tertiary)}@media (max-width:600px){.mvd-card{min-width:100%}}.brules{background:var(--bg-secondary);box-sizing:border-box;color:var(--text-primary);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.brules-controls{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border-on-card);color:var(--text-on-card);display:flex;flex-wrap:wrap;gap:14px;padding:10px 14px}.brules-field{display:flex;flex-direction:column;font-size:11px;gap:3px;letter-spacing:.05em;opacity:.8;text-transform:uppercase}.brules-field span{font-weight:600}.brules-field input,.brules-field select{background:var(--bg-secondary);border:1px solid var(--border-on-card);border-radius:5px;color:var(--text-primary);font-size:13px;padding:5px 7px;text-transform:none}.brules-versions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.brules-version-chip{align-items:center;background:#0000000d;border:1px solid var(--border-on-card);border-radius:14px;display:inline-flex;font-size:12px;gap:6px;padding:3px 9px}.brules-version-range{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.brules-version-count{font-size:11px;opacity:.7}.brules-version-empty{font-style:italic;opacity:.7}.brules-status{background:var(--bg-card);border-bottom:1px solid var(--border-on-card);color:var(--text-on-card);font-size:13px;padding:8px 14px}.brules-table-wrap{flex:1 1;overflow:auto}.brules-table{background:var(--bg-card);border-collapse:collapse;color:var(--text-on-card);font-size:12.5px;width:100%}.brules-table thead{background:var(--bg-card);position:sticky;top:0;z-index:1}.brules-table td,.brules-table th{border-bottom:1px solid var(--border-on-card);padding:7px 10px;text-align:left;vertical-align:top}.brules-table th{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.7;text-transform:uppercase}.brules-table td.num,.brules-table th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.brules-code{font-family:ui-monospace,monospace;font-family:var(--font-mono,ui-monospace,monospace);font-weight:600;white-space:nowrap}.brules-cat{background:var(--accent-primary);border-radius:3px;color:#fff;display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.04em;opacity:.85;padding:2px 6px;text-transform:uppercase}.brules-desc{max-width:360px}.brules-basis{font-family:ui-monospace,monospace;font-family:var(--font-mono,ui-monospace,monospace);font-size:11.5px;opacity:.85}.brules-eff{font-feature-settings:"tnum";font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.brules-eff-arrow{margin:0 4px;opacity:.5}.brules-eff-to{opacity:.85}.brules-row:hover{background:#0000000a}.brules-row.brules-pri-100,.brules-row.brules-pri-85,.brules-row.brules-pri-90,.brules-row.brules-pri-95{font-style:italic;opacity:.55}.brules-empty{opacity:.6;padding:24px;text-align:center}.brules-add-btn{background:var(--accent-primary);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 12px}.brules-add-btn:hover{filter:brightness(1.08)}.brules-actions{text-align:right;white-space:nowrap}.brules-actions-th{width:1%}.brules-action{background:#0000;border:1px solid #0000;border-radius:4px;color:var(--text-on-card);cursor:pointer;font-size:13px;opacity:.7;padding:2px 6px}.brules-action:hover{background:#0000000d;border-color:var(--border-on-card);opacity:1}.brules-action.brules-action-danger:hover{border-color:#c0392b;color:#c0392b}.bre-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.bre-modal{border-radius:10px;box-shadow:var(--shadow-lg);box-sizing:border-box;color:var(--text-on-card);max-height:90vh;max-width:720px;overflow-y:auto;width:100%}.bre-head,.bre-modal{background:var(--bg-card)}.bre-head{align-items:center;border-bottom:1px solid var(--border-on-card);display:flex;justify-content:space-between;padding:14px 18px;position:sticky;top:0;z-index:1}.bre-title{font-size:16px;font-weight:700;margin:0}.bre-close{background:#0000;border:none;color:var(--text-on-card);cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.bre-close:hover{color:var(--accent-primary)}.bre-body{display:flex;flex-direction:column;gap:10px;padding:14px 18px}.bre-row{display:flex;flex-wrap:wrap;gap:12px}.bre-row>.bre-field{flex:1 1;min-width:140px}.bre-field{display:flex;flex-direction:column;font-size:11px;gap:3px;letter-spacing:.05em;text-transform:uppercase}.bre-field>span{font-weight:600;opacity:.8}.bre-field input,.bre-field select,.bre-field textarea{background:#0000000a;border:1px solid var(--border-on-card);border-radius:5px;color:var(--text-on-card);font-family:inherit;font-size:13px;padding:6px 8px;text-transform:none}.bre-field input:focus,.bre-field select:focus,.bre-field textarea:focus{background:#00000012;border-color:var(--accent-primary);outline:none}.bre-field.bre-wide{flex:1 1 100%}.bre-field.bre-priority{max-width:100px}.bre-error{background:#c0392b1a;border:1px solid #c0392b;border-radius:5px;color:#c0392b;font-size:12.5px;padding:8px 10px;text-transform:none}.bre-foot{background:var(--bg-card);border-top:1px solid var(--border-on-card);bottom:0;display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;position:sticky}.bre-btn{background:#0000;border:1px solid var(--border-on-card);border-radius:6px;color:var(--text-on-card);cursor:pointer;font-size:13px;padding:7px 14px}.bre-btn:hover{background:#0000000d}.bre-btn.bre-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.bre-btn.bre-btn-primary:hover{filter:brightness(1.08)}.bre-btn.bre-btn-primary:disabled{cursor:wait;opacity:.6}.claim-receiver{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #0000000f;color:#1a1a1a;font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:60px auto;max-width:460px;padding:24px}.claim-receiver h1{color:#1a1a1a;font-size:22px;font-weight:600;margin:0 0 4px}.claim-receiver .subtitle{color:#555;font-size:14px;margin:0 0 20px}.claim-receiver dl{grid-gap:6px 12px;display:grid;font-size:13px;gap:6px 12px;grid-template-columns:auto 1fr;margin:0 0 20px}.claim-receiver dt{color:#555}.claim-receiver dd{color:#1a1a1a;font-family:ui-monospace,SF Mono,Menlo,monospace;margin:0}.claim-receiver label{color:#333;display:block;font-size:13px;margin-bottom:12px}.claim-receiver input{background:#fff;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;color:#1a1a1a;display:block;font-size:14px;margin-top:4px;padding:8px 10px;width:100%}.claim-receiver input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e;outline:0}.claim-receiver button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;margin-top:8px;padding:10px;width:100%}.claim-receiver button:disabled{cursor:not-allowed;opacity:.6}.claim-receiver button.secondary{background:#fff;border:1px solid #2563eb;color:#2563eb;margin-top:0}.claim-receiver .location-block{border-top:1px solid #eee;margin:4px 0 8px;padding-top:12px}.claim-receiver .location-label{color:#333;font-size:13px;margin:0 0 8px}.claim-receiver .coord-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:8px}.claim-receiver .coord-row label{margin-bottom:0}.claim-receiver .error{background:#b91c1c14;border-radius:6px;color:#b91c1c;font-size:13px;margin:12px 0;padding:8px 12px}.claim-receiver .info{color:#555;font-size:13px;margin:12px 0}.claim-receiver .terminal{padding:20px 0;text-align:center}.pull-to-refresh-container{height:100%;overflow:hidden;position:relative;touch-action:pan-y;width:100%}.pull-indicator{align-items:center;background:#3d4751;background:var(--bg-primary,#3d4751);border-radius:20px;box-shadow:0 2px 8px #00000040;box-shadow:var(--shadow-md,0 2px 8px #00000040);display:flex;gap:8px;left:50%;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:0;transform:translateX(-50%) translateY(-40px);transition:opacity .2s ease;z-index:100}.pull-indicator.visible{opacity:1}.pull-spinner{align-items:center;color:#ff6b35;color:var(--accent-primary,#ff6b35);display:flex;justify-content:center;transition:transform .1s linear}.pull-spinner.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pull-text{color:#fff;color:var(--text-primary,#fff);font-size:12px;font-weight:500;white-space:nowrap}.pull-content{height:100%;overflow:visible;width:100%}.pull-content>*{height:100%}@media (hover:hover) and (pointer:fine){.pull-to-refresh-container{touch-action:auto}.pull-indicator{display:none}}
/*# sourceMappingURL=main.fa595f3a.css.map*/