@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;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{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.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:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.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(../media/layers.3muxcl8sz6330.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.23wrxu3xxu9-i.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.1le94j_pe_ih1.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;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;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--font-outfit:"Outfit", sans-serif;--bg-app:#060913;--bg-gradient:radial-gradient(circle at 50% 50%, #0d1226 0%, #050814 100%);--color-text-primary:#f3f4f6;--color-text-secondary:#9ca3af;--color-text-muted:#4b5563;--glass-bg:#0a0f1e26;--glass-border:#ffffff1f;--glass-border-glow:#3b82f640;--glass-shadow:0 12px 40px 0 #0009;--glass-blur:blur(32px) saturate(180%);--color-accent:#3b82f6;--color-accent-glow:#3b82f673;--color-success:#10b981;--color-success-glow:#10b98159;--color-warning:#f59e0b;--color-danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);background-image:var(--bg-gradient);width:100vw;height:100vh;color:var(--color-text-primary);font-family:var(--font-outfit);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.liquid-glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.liquid-glass:hover{border-color:#ffffff1f;box-shadow:0 16px 48px #000000b3,0 0 20px #3b82f614}.app-container{background-color:var(--bg-app);width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.map-background{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hud-loading{z-index:2000;color:#60a5fa;border-color:#3b82f633;border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#0a0f1eb3;border-radius:99px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 0 20px #3b82f633}.toast-notification{z-index:2000;border:1px solid var(--glass-border);border-radius:99px;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:600;animation:.3s ease-out forwards fade-in;display:flex;position:absolute;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}@media (min-width:768px){.toast-notification{bottom:24px}}.toast-dot{border-radius:50%;width:8px;height:8px}.toast-dot.success{background-color:#10b981;box-shadow:0 0 8px #10b981}.toast-dot.error{background-color:#ef4444;box-shadow:0 0 8px #ef4444}.toast-dot.info{background-color:#3b82f6;box-shadow:0 0 8px #3b82f6}.sidebar-container{z-index:1000;pointer-events:auto;flex-direction:column;width:330px;height:calc(100vh - 32px);margin:16px;display:flex;position:relative;overflow:hidden}.sidebar-header{background:#00000026;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-title-wrapper{align-items:center;gap:10px;display:flex}.sidebar-logo{color:#60a5fa;filter:drop-shadow(0 0 8px #3b82f666);transform:rotate(45deg)}.sidebar-title{letter-spacing:1.5px;background:linear-gradient(90deg,#fff,#93c5fd,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:800}.sidebar-badge{letter-spacing:1px;color:#93c5fd;background:#3b82f626;border:1px solid #3b82f640;border-radius:99px;padding:3px 8px;font-size:9px;font-weight:700}.search-container{border-bottom:1px solid #ffffff0d;padding:16px}.search-form{position:relative}.search-input{width:100%;font-size:13px;font-family:var(--font-outfit);color:#fff;background:#00000040;border:1px solid #ffffff14;border-radius:12px;padding:10px 32px 10px 36px;transition:all .2s}.search-input:focus{background:#00000059;border-color:#3b82f666;outline:none;box-shadow:0 0 10px #3b82f626}.search-icon{color:#ffffff59;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-clear{color:#ffffff59;cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.search-clear:hover{color:#fff}.filter-badge{color:#93c5fd;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;justify-content:space-between;align-items:center;margin-top:12px;padding:6px 12px;font-size:12px;display:flex}.filter-badge strong{color:#fff}.filter-badge button{color:#ffffff80;cursor:pointer;background:0 0;border:none}.tabs-container{background:#0000001a;border-bottom:1px solid #ffffff0d;font-size:13px;display:flex}.tab-button{text-align:center;color:#ffffff80;cursor:pointer;font-weight:550;font-family:var(--font-outfit);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 0;transition:all .2s}.tab-button:hover{color:#fff}.tab-button.active{color:#60a5fa;background:#ffffff03;border-bottom-color:#3b82f6}.list-container{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.sidebar-section-title{color:#fff6;letter-spacing:.8px;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:800}.sidebar-section-title.route-match{color:#10b981}.empty-route-state{text-align:center;color:#ffffff4d;background:#ffffff03;border:1px dashed #ffffff0f;border-radius:12px;padding:12px;font-size:11px}.route-airport-divicon{background:0 0!important;border:none!important}.route-airport-marker{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:auto;background:#0a0f1ed9;border:1.5px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;width:max-content;padding:3px 8px;display:flex;box-shadow:0 4px 12px #0000004d}.route-airport-marker.origin{border-color:#3b82f699}.route-airport-marker.destination{border-color:#10b98199}.airport-marker-dot{background-color:#fff;border-radius:50%;width:6px;height:6px}.route-airport-marker.origin .airport-marker-dot{background-color:#3b82f6;box-shadow:0 0 6px #3b82f6}.route-airport-marker.destination .airport-marker-dot{background-color:#10b981;box-shadow:0 0 6px #10b981}.airport-marker-label{letter-spacing:.5px;font-size:9px;font-weight:700;font-family:var(--font-outfit)}.empty-state{text-align:center;color:#ffffff59;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:13px;display:flex}.empty-state svg{opacity:.15}.empty-state .sub{opacity:.7;font-size:11px}.flight-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;transition:all .2s;display:flex}.flight-card:hover{background:#ffffff0d;border-color:#ffffff14;transform:translateY(-1px)}.flight-card.selected{background:#3b82f626;border-color:#3b82f64d;box-shadow:0 0 15px #3b82f61a}.flight-card-left{align-items:center;gap:12px;width:85%;display:flex;overflow:hidden}.flight-card-icon{color:#ffffff80;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.flight-card.selected .flight-card-icon{color:#93c5fd;background:#3b82f633}.flight-card-info{flex-direction:column;width:100%;display:flex;overflow:hidden}.flight-card-title-row{align-items:center;gap:8px;display:flex}.flight-card-callsign{letter-spacing:.5px;font-size:14px;font-weight:700}.flight-card-route{color:#34d399;background:#10b98126;border:1px solid #10b98140;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:600}.flight-card-sub{color:#ffffff73;gap:6px;margin-top:2px;font-size:11px;display:flex}.fav-star-button{color:#ffffff26;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .2s}.fav-star-button:hover{color:#ffffff80;background:#ffffff0d}.fav-star-button.active{color:#fbbf24}.fav-form{gap:8px;margin-bottom:12px;display:flex}.fav-input{color:#fff;font-size:12px;font-family:var(--font-outfit);background:#00000040;border:1px solid #ffffff14;border-radius:8px;flex:1;padding:6px 12px}.fav-input:focus{border-color:#3b82f64d;outline:none}.fav-add-button{color:#fff;cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-outfit);background:#3b82f6;border:none;border-radius:8px;padding:6px 14px;transition:all .2s}.fav-add-button:hover{background:#2563eb}.fav-card{background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.fav-card-title{letter-spacing:.5px;font-size:13px;font-weight:750}.fav-card-status{align-items:center;gap:4px;margin-top:2px;font-size:10px;display:flex}.fav-card-status.active{color:#34d399}.fav-card-status.offline{color:#ffffff4d}.fav-card-pulse{background-color:#34d399;border-radius:50%;width:5px;height:5px;animation:1s infinite ping}.fav-card-actions{align-items:center;gap:4px;display:flex}.fav-card-btn{color:#ffffffb3;cursor:pointer;font-size:10px;font-weight:700;font-family:var(--font-outfit);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;padding:4px 8px}.fav-card-btn:hover{color:#fff;background:#ffffff1a}.fav-card-btn.primary{color:#93c5fd;background:#3b82f626;border-color:#3b82f640}.fav-card-btn.primary:hover{background:#3b82f640}.fav-card-delete{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .2s}.fav-card-delete:hover{color:#f87171;background:#f8717114}.sidebar-footer{color:#ffffff4d;background:#0003;border-top:1px solid #ffffff0d;justify-content:space-between;padding:12px 16px;font-size:10px;display:flex}.details-container{z-index:1000;pointer-events:auto;flex-direction:column;width:380px;max-height:calc(100vh - 32px);display:flex;position:absolute;top:16px;right:16px;overflow:hidden}.details-header{background:#0003;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:16px;display:flex}.details-header-left{align-items:center;gap:12px;display:flex}.details-header-icon{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.details-header-title{letter-spacing:.5px;font-size:18px;font-weight:800}.details-header-sub{color:#ffffff73;margin-top:1px;font-size:11px}.details-header-actions{align-items:center;gap:4px;display:flex}.details-header-btn{cursor:pointer;color:#fff6;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .2s}.details-header-btn:hover{color:#fff;background:#ffffff0d}.details-header-btn.fav.active{color:#fbbf24}.details-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.emergency-alert{color:#fca5a5;background:#ef444426;border:1px solid #ef444440;border-radius:12px;gap:12px;padding:12px;font-size:12px;animation:2s infinite pulse-red;display:flex}.emergency-title{color:#f87171;text-transform:uppercase;margin-bottom:2px;font-weight:800}.route-card{background:#ffffff03;border:1px solid #ffffff0a;border-radius:16px;padding:16px}.route-flow{justify-content:space-between;align-items:center;display:flex}.route-airport{max-width:45%}.route-airport.left{text-align:left}.route-airport.right{text-align:right}.route-airport-label{color:#ffffff59;letter-spacing:.5px;font-size:10px}.route-airport-code{color:#60a5fa;margin:2px 0;font-size:22px;font-weight:800}.route-airport-name{color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.route-line-wrapper{flex-direction:column;flex:1;align-items:center;padding:0 16px;display:flex;position:relative}.route-line{border-top:1px dashed #ffffff26;width:100%;position:relative}.route-line-plane{color:#3b82f6;filter:drop-shadow(0 0 5px #3b82f666);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.route-empty{text-align:center;color:#fff6;flex-direction:column;align-items:center;gap:6px;padding:12px;font-size:12px;display:flex}.stats-grid{grid-template-cols:1fr 1fr;gap:12px;display:grid}.stat-box{background:#ffffff03;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;padding:12px;display:flex}.stat-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.stat-value-row{align-items:baseline;gap:4px;margin-top:4px;display:flex}.stat-value{font-size:17px;font-weight:750}.stat-unit{color:#ffffff73;font-size:11px}.stat-sub{color:#ffffff59;margin-top:2px;font-size:10px}.stat-trend{align-items:center;gap:4px;margin-top:8px;font-size:10px;font-weight:550;display:flex}.stat-trend.climb{color:#34d399}.stat-trend.descend{color:#f87171}.stat-trend.stable{color:#fff6}.stat-footer-text{color:#fff6;align-items:center;gap:4px;margin-top:8px;font-size:10px;display:flex}.details-footer-bar{text-align:center;color:#ffffff4d;background:#0003;border-top:1px solid #ffffff0d;padding:10px 12px;font-size:9px}.location-box{color:#fff6;background:#ffffff03;border:1px solid #ffffff0a;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:11px;display:flex}.location-title{align-items:center;gap:6px;display:flex}.location-value{font-family:monospace;font-size:9px}.ground-badge{color:#34d399;text-align:center;background:#10b9811a;border:1px solid #10b98133;border-radius:12px;padding:8px;font-size:10px;font-weight:600}@keyframes pulse-red{0%,to{border-color:#ef444440;box-shadow:0 0 #ef444400}50%{border-color:#ef44448c;box-shadow:0 0 10px #ef444426}}@keyframes ping{75%,to{opacity:0;transform:scale(2.2)}}.map-container{width:100%;height:100%;position:absolute;inset:0}.plane-marker{pointer-events:auto!important;background:0 0!important;border:none!important}.plane-icon-wrapper{width:32px;height:32px;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.plane-icon-wrapper:hover{transform:scale(1.2)!important}.plane-icon-svg{fill:#60a5fa;filter:drop-shadow(0 2px 4px #000c);transition:fill .25s,filter .25s}.plane-icon-svg.military{fill:#f59e0b!important;filter:drop-shadow(0 0 6px #f59e0b99)drop-shadow(0 2px 4px #000c)!important}.plane-icon-wrapper.selected{border-radius:50%;background:#10b98126!important;border:1.5px solid #10b981!important;box-shadow:0 0 12px #10b98180!important}.plane-icon-wrapper.selected .plane-icon-svg{fill:#34d399!important;filter:drop-shadow(0 0 8px #34d399cc)!important}.plane-icon-wrapper.selected:after{content:"";pointer-events:none;border:1.5px solid #10b981;border-radius:50%;animation:2s ease-out infinite marker-pulse-route;position:absolute;inset:-6px}.plane-icon-wrapper.route-match .plane-icon-svg{fill:#34d399!important;filter:drop-shadow(0 0 10px #34d399e6)!important}.plane-icon-wrapper.route-match{border-radius:50%;background:#10b9811a!important;border:1.5px solid #10b98180!important}.plane-icon-wrapper.route-match:after{content:"";pointer-events:none;border:1.5px solid #10b981;border-radius:50%;animation:2.5s ease-out infinite marker-pulse-route;position:absolute;inset:-6px}.plane-icon-wrapper.route-dimmed{opacity:.15;filter:grayscale(90%);transition:opacity .5s,filter .5s}.plane-icon-wrapper.route-dimmed.selected,.plane-marker:hover .plane-icon-wrapper.route-dimmed{opacity:1!important;filter:none!important}@keyframes marker-pulse-route{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.3)}}.aircraft-photo-container{background:#0003;border:1px solid #ffffff14;border-radius:12px;width:100%;height:180px;position:relative;overflow:hidden}.aircraft-photo{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}.aircraft-photo-container:hover .aircraft-photo{transform:scale(1.05)}.photo-credit{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff9;pointer-events:none;background:#000000a6;border-radius:4px;padding:2px 6px;font-size:8px;font-weight:500;position:absolute;bottom:6px;right:8px}.offline-badge{color:#fbbf24;letter-spacing:.5px;background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:11px;font-weight:700;animation:2.5s infinite pulse-orange;display:flex}@keyframes pulse-orange{0%,to{border-color:#f59e0b40;box-shadow:0 0 #f59e0b00}50%{border-color:#f59e0b8c;box-shadow:0 0 10px #f59e0b26}}.specs-card{background:#ffffff04;border:1px solid #ffffff0a;border-radius:14px;padding:14px}.recent-flights-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.recent-flight-row{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;transition:background .2s;display:flex}.recent-flight-row:hover{background:#ffffff0f}.recent-flight-number{color:var(--color-text-primary);font-weight:600}.recent-flight-route{color:var(--color-text-secondary);margin-top:2px;font-size:10px}.recent-flight-right{text-align:right}.recent-flight-status{border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.recent-flight-status.landed{color:#10b981;background:#10b98126}.recent-flight-status.scheduled{color:#3b82f6;background:#3b82f626}.recent-flight-times{color:var(--color-text-muted);margin-top:2px;font-size:9px}.specs-title{color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:11px;font-weight:600}.specs-grid{grid-template-cols:1fr 1fr;gap:10px 14px;display:grid}.spec-item{flex-direction:column;gap:2px;display:flex;overflow:hidden}.spec-item-full{flex-direction:column;grid-column:span 2;gap:2px;display:flex;overflow:hidden}.spec-label{color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px;font-size:9px}.spec-val{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.mobile-only{display:none!important}@media (max-width:768px){.leaflet-control-zoom{display:none!important}.app-container{width:100vw;height:100vh;position:relative;overflow:hidden}.sidebar-container{z-index:1000;opacity:1;width:calc(100vw - 32px);height:calc(100vh - 32px);max-height:calc(100vh - 32px);margin:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s;position:absolute;top:16px;left:16px}.app-container.has-selection .sidebar-container{opacity:0;pointer-events:none;transform:translateY(110%)}.details-container{z-index:1001;width:calc(100vw - 32px);max-height:60vh;box-shadow:0 -10px 40px #00000080, var(--glass-shadow);margin:0;animation:.4s cubic-bezier(.16,1,.3,1) forwards mobile-slide-up;position:absolute;inset:auto 16px 16px}@keyframes mobile-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.details-content{gap:12px;padding:12px}.aircraft-photo-container{height:140px}.stats-grid{gap:8px}.stat-box{padding:8px 10px}.stat-value{font-size:15px}.route-card{padding:12px}.route-airport-code{font-size:18px}.mobile-only{display:flex!important}.app-container.mobile-sidebar-closed .sidebar-container{opacity:0;pointer-events:none;transform:translateY(110%)}}.user-location-pulse-wrapper{width:20px;height:20px;position:relative}.user-location-dot{z-index:2;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:5px;box-shadow:0 0 8px #00000080}.user-location-pulse{z-index:1;background:#3b82f666;border-radius:50%;width:20px;height:20px;animation:2s ease-out infinite user-pulse;position:absolute;top:0;left:0}@keyframes user-pulse{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2.5)}}@media (prefers-color-scheme:light){:root{--bg-app:#f3f4f6;--bg-gradient:radial-gradient(circle at 50% 50%, #f9fafb 0%, #e5e7eb 100%);--color-text-primary:#0f172a;--color-text-secondary:#334155;--color-text-muted:#64748b;--glass-bg:#ffffffe0;--glass-border:#0000001f;--glass-shadow:0 12px 40px 0 #0000000f}.search-input,.fav-input{color:#0f172a!important;background:#0000000a!important}.flight-card{background:#00000005!important;border-color:#0000000f!important}.flight-card:hover{background:#0000000a!important}.flight-card.selected{background:#3b82f614!important;border-color:#3b82f633!important}.scheduled-flight-card{background:#00000005!important;border-color:#0000000f!important}.scheduled-flight-card:hover{background:#0000000a!important}.specs-card,.route-card,.stat-box{background:#00000005!important;border-color:#0000000f!important}.leaflet-container{background:#e5e7eb!important}.bottom-nav{-webkit-backdrop-filter:blur(2px)saturate(120%)!important;background:#ffffff03!important;border:1px solid #0000000a!important;box-shadow:0 10px 40px #00000005!important}.bottom-nav-item{color:#00000080!important}.bottom-nav-item:hover{color:#000000d9!important}.bottom-nav-item.active{color:#0284c7!important}.bottom-nav-item.active .nav-icon-wrapper{background:#0284c714!important;border-color:#0284c773!important;box-shadow:0 0 12px #0284c714!important}.btn-locate{color:#0f172a!important;background:#fff3!important;border:1px solid #0000001a!important;box-shadow:0 4px 16px #0000000f!important}.btn-locate:hover{color:#0284c7!important;background:#0284c714!important;border-color:#0284c7!important;box-shadow:0 4px 20px #0284c71f!important}.details-header-title{color:#0f172a!important}.details-header-sub{color:#334155!important}.specs-title{color:#0f172a!important}.spec-label{color:#0000008c!important}.spec-val{color:#0f172a!important}.route-airport-label{color:#0000008c!important}.route-airport-code{color:#0f172a!important}.route-airport-name{color:#334155!important}.stat-label{color:#0000008c!important}.stat-value{color:#0f172a!important}.stat-sub{color:#0009!important}.stat-footer-text,.location-title{color:#0000008c!important}.location-value{color:#0f172a!important}.details-footer-bar{color:#00000080!important;border-top:1px solid #0000000f!important}.details-header-btn{color:#0000008c!important}.details-header-btn:hover{color:#0f172a!important;background:#0000000d!important}.route-empty span{color:#0f172a!important}.offline-badge{color:#334155!important;background:#0000000a!important}.ground-badge{color:#065f46!important;background:#10b98114!important}.sidebar-section-title{color:#0009!important}.sidebar-section-title.route-match{color:#059669!important}.empty-route-state{color:#00000080!important;background:#00000003!important;border-color:#00000014!important}.empty-state{color:#00000080!important}.empty-state .sub{color:#0009!important}.tab-button{color:#00000080!important}.tab-button:hover{color:#0f172a!important}.tab-button.active{color:#0284c7!important;background:#00000003!important;border-bottom-color:#0284c7!important}.sched-flight-number{color:#0f172a!important}.sched-times,.sched-aircraft-type,.flight-card-sub{color:#0000008c!important}.fav-star-button{color:#0003!important}.fav-star-button:hover{color:#0009!important;background:#00000008!important}.sched-airline-logo{background:#00000008!important;border-color:#0000000f!important}.details-header{background:#00000008!important;border-bottom:1px solid #0000000f!important}.plane-icon-svg{fill:#1e293b!important;filter:drop-shadow(0 1px 2px #0003)!important}.plane-icon-wrapper.selected .plane-icon-svg,.plane-icon-wrapper.route-match .plane-icon-svg{fill:#059669!important;filter:drop-shadow(0 1px 3px #05966966)!important}.route-airport-marker{color:#0f172a!important;background:#fffffff2!important;border-color:#00000026!important;box-shadow:0 4px 12px #00000014!important}.route-airport-marker.origin{border-color:#3b82f699!important}.route-airport-marker.destination{border-color:#10b98199!important}.recent-flight-row{background:#00000005!important;border-color:#0000000f!important}.recent-flight-row:hover{background:#0000000a!important}.recent-flight-number{color:#0f172a!important}}.bottom-nav{z-index:1010;border-radius:28px;justify-content:space-around;align-items:center;width:calc(100% - 32px);max-width:360px;height:72px;padding:0 12px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0000001a;-webkit-backdrop-filter:blur(2px)saturate(120%)!important;background:#0a0f1e03!important;border:1px solid #ffffff0d!important}.bottom-nav-item{color:#ffffff73;cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-outfit);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.nav-icon-wrapper{border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:46px;height:32px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.bottom-nav-item svg{transition:transform .25s cubic-bezier(.16,1,.3,1)}.bottom-nav-item:hover{color:#ffffffd9}.bottom-nav-item.active{color:#38bdf8}.bottom-nav-item.active .nav-icon-wrapper{background:#38bdf81a;border-color:#38bdf873;box-shadow:0 0 12px #38bdf826}.bottom-nav-item.active svg{transform:scale(1.08)}.btn-locate{z-index:1005;cursor:pointer;width:44px;height:44px;color:var(--color-text-primary);-webkit-backdrop-filter:blur(20px)saturate(140%);background:#0f162aa6;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:20px;right:20px;box-shadow:0 4px 16px #0003}.btn-locate:hover{color:#38bdf8;background:#38bdf826;border-color:#38bdf8;transform:scale(1.05);box-shadow:0 4px 20px #38bdf840}.locate-icon{transition:transform .3s;transform:rotate(45deg)}.btn-locate:hover .locate-icon{transform:rotate(45deg)scale(1.1)}.sidebar-close-btn{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.sidebar-close-btn:hover{color:#fff;background:#ffffff14}.scheduled-flight-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .2s;display:flex}.scheduled-flight-card:hover{background:#ffffff0a;border-color:#ffffff14}.sched-left{align-items:center;gap:12px;display:flex}.sched-airline-logo{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sched-info{flex-direction:column;gap:2px;display:flex}.sched-flight-number{letter-spacing:.5px;color:#fff;font-size:13px;font-weight:700}.sched-times{color:#fff6;gap:4px;font-size:10px;display:flex}.sched-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.sched-status{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.sched-status.landed{color:#fff9;background:#ffffff0f;border:1px solid #ffffff1a}.sched-status.scheduled{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f640}.sched-aircraft-type{color:#ffffff59;font-size:9px;font-weight:550}
