:root{--navy:#071529;--navy2:#0b1d3a;--blue:#2d5b8f;--ice:#afc1d4;--red:#d6403a;--paper:#f4f7fa;--line:rgba(175,193,212,.22);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:var(--navy)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden}.live-header{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(7,21,41,.96);position:relative;z-index:20}.live-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}.live-brand img{width:178px;max-height:44px;object-fit:contain;filter:brightness(0) invert(1)}.live-brand span{font-size:11px;letter-spacing:.19em;color:var(--ice);border-left:1px solid var(--line);padding-left:14px}.live-header nav{display:flex;gap:22px}.live-header nav a{color:#dce7f2;text-decoration:none;font-size:13px}.header-status{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.08em}.header-status i{width:8px;height:8px;border-radius:50%;background:#f5a623;box-shadow:0 0 0 5px rgba(245,166,35,.12)}.header-status i.is-online{background:#30c779;box-shadow:0 0 0 5px rgba(48,199,121,.12)}.header-status span{color:var(--ice);margin-left:8px}.live-shell{height:calc(100% - 72px);display:grid;grid-template-columns:minmax(0,1fr) 390px}.map-panel{position:relative;min-width:0}.live-map{position:absolute;inset:0;background:#0a2039}.map-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;background:radial-gradient(circle at 60% 44%,#173b60,#071529 62%);overflow:hidden}.map-fallback b{font-size:32px;letter-spacing:.16em;z-index:1}.map-fallback span{font-size:12px;color:var(--ice);z-index:1}.fallback-grid{position:absolute;inset:-20%;opacity:.13;background-image:linear-gradient(rgba(175,193,212,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(175,193,212,.35) 1px,transparent 1px);background-size:44px 44px;transform:perspective(700px) rotateX(60deg) rotateZ(-12deg)}.maplibregl-canvas{outline:none}.map-controls{position:absolute;left:20px;top:20px;display:flex;border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden;background:rgba(7,21,41,.82);backdrop-filter:blur(10px);z-index:5}.map-controls button{border:0;border-right:1px solid rgba(255,255,255,.1);background:transparent;color:#bfcddd;padding:10px 13px;font-size:10px;font-weight:800;letter-spacing:.08em;cursor:pointer}.map-controls button:last-child{border-right:0}.map-controls button.is-active{background:#fff;color:var(--navy)}.map-legend{position:absolute;left:20px;bottom:18px;display:flex;gap:16px;padding:9px 12px;border-radius:9px;background:rgba(7,21,41,.8);backdrop-filter:blur(8px);font-size:9px;letter-spacing:.08em;z-index:5}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:7px;height:7px;border-radius:50%}.dot-live{background:#30c779}.dot-demo{background:#f5a623}.selected-flight-card{position:absolute;right:18px;bottom:18px;width:min(390px,calc(100% - 36px));z-index:6}.selected-flight-card:empty{display:none}.flight-detail{background:rgba(7,21,41,.93);border:1px solid rgba(175,193,212,.22);border-radius:16px;padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.flight-detail header{display:flex;justify-content:space-between;align-items:flex-start}.flight-detail header span{font-size:10px;color:var(--ice);letter-spacing:.12em}.flight-detail h2{margin:4px 0 0;font-size:28px}.status-chip{padding:7px 9px;border-radius:999px;background:rgba(48,199,121,.15);color:#62e5a5;font-size:9px;font-weight:900;letter-spacing:.08em}.detail-route{display:flex;align-items:center;gap:12px;margin:18px 0}.detail-route strong{font-size:24px}.detail-route i{height:1px;background:linear-gradient(90deg,var(--ice),var(--red));flex:1;position:relative}.detail-route i:after{content:"✈";position:absolute;right:42%;top:-10px;color:#fff}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-grid div{background:rgba(255,255,255,.045);padding:10px;border-radius:9px}.detail-grid span{display:block;color:#8fa5ba;font-size:8px;letter-spacing:.1em}.detail-grid b{font-size:13px}.operations-rail{background:#f4f7fa;color:#0b1d3a;border-left:1px solid #dbe4ec;padding:22px;overflow:auto}.rail-heading{display:flex;align-items:flex-end;justify-content:space-between}.rail-heading span{font-size:9px;font-weight:900;letter-spacing:.15em;color:#6c8298}.rail-heading h1{font-size:30px;margin:4px 0 0}.rail-heading>strong{font-size:42px;color:var(--red)}.rail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.rail-stats article{padding:11px;border:1px solid #dce5ed;border-radius:10px;background:#fff}.rail-stats span{display:block;font-size:8px;letter-spacing:.08em;color:#7890a4}.rail-stats b{font-size:20px}.flight-filter{display:grid;grid-template-columns:1fr 128px;gap:8px;margin-bottom:12px}.flight-filter input,.flight-filter select{min-width:0;border:1px solid #ccd8e2;background:#fff;border-radius:9px;padding:10px;font:inherit;font-size:11px;color:#0b1d3a}.live-flight-list{display:grid;gap:9px}.live-card{border:1px solid #d7e2eb;background:#fff;border-radius:12px;padding:13px;cursor:pointer;transition:.18s}.live-card:hover,.live-card.is-active{border-color:#2d5b8f;box-shadow:0 8px 24px rgba(11,29,58,.1);transform:translateY(-1px)}.live-card header{display:flex;justify-content:space-between;align-items:center}.live-card header b{font-size:16px}.live-card header span{font-size:8px;letter-spacing:.08em;font-weight:900;color:#23885d;background:#e3f7ed;padding:5px 7px;border-radius:99px}.live-card header span.is-offline{color:#a76d12;background:#fff3d9}.live-card .route{display:flex;align-items:center;gap:8px;margin:10px 0}.live-card .route strong{font-size:15px}.live-card .route i{height:1px;flex:1;background:#c6d4df}.live-card dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:5px}.live-card dl div{padding-top:8px;border-top:1px solid #edf1f4}.live-card dt{font-size:7px;color:#8296a8;letter-spacing:.08em}.live-card dd{margin:2px 0 0;font-size:11px;font-weight:750}.empty-live{padding:38px 20px;border:1px dashed #b8c8d5;border-radius:12px;text-align:center;color:#657d92}.rail-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #d6e0e8;font-size:9px;letter-spacing:.1em;color:#8295a6}.rail-footer a{color:#0b1d3a;font-weight:800;text-decoration:none}.aircraft-marker{width:34px;height:34px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;background:#d6403a;box-shadow:0 5px 18px rgba(0,0,0,.35);font-size:17px;cursor:pointer}.aircraft-marker.is-connected{background:#238c62}.aircraft-marker span{display:block;transform:rotate(var(--heading,0deg))}.map-mode-dark .maplibregl-canvas{filter:brightness(.55) saturate(.65) contrast(1.25)}.live-toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:#fff;color:#0b1d3a;padding:12px 18px;border-radius:10px;box-shadow:0 14px 45px rgba(0,0,0,.3);z-index:99;font-weight:750;font-size:12px;transition:.2s}.live-toast.is-visible{opacity:1;transform:translate(-50%,0)}body.is-embed .live-header{display:none}body.is-embed .live-shell{height:100%}
@media(max-width:900px){body{overflow:auto}.live-header{height:auto;min-height:64px;padding:12px 16px}.live-header nav{display:none}.live-brand img{width:145px}.live-brand span{display:none}.live-shell{height:auto;min-height:calc(100vh - 64px);grid-template-columns:1fr}.map-panel{height:58vh;min-height:420px}.operations-rail{border-left:0;border-top:1px solid #dbe4ec;overflow:visible}.selected-flight-card{right:12px;bottom:12px}.map-controls{left:12px;top:12px}.map-legend{display:none}}@media(max-width:560px){.header-status b{display:none}.header-status span{margin:0}.operations-rail{padding:16px}.rail-heading h1{font-size:25px}.rail-heading>strong{font-size:34px}.flight-filter{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.selected-flight-card{width:calc(100% - 24px)}.flight-detail{padding:14px}.map-panel{height:52vh;min-height:380px}.map-controls button{padding:9px;font-size:8px}}
