@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#06101b;--side:#081521;--surface:#0d1e2d;--surface2:#122638;--border:#213749;--muted:#859cab;--text:#e5f0f6;--blue:#4ecfed;--green:#39d1a0;--yellow:#f6c56b;--red:#ec8e90;--font:'DM Sans',system-ui,sans-serif;--display:'Space Grotesk',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}a{color:var(--blue)}.shell{display:flex;min-height:100vh}.sidebar{width:264px;flex:0 0 264px;background:linear-gradient(160deg,#0c2133 0%,#071523 53%,#081320 100%);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;z-index:40}.brand{height:98px;padding:26px 22px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #1d3345}.brand-mark{height:42px;width:42px;display:grid;place-items:center;flex:0 0 42px;background:linear-gradient(140deg,#126d89,#0d3145);border:1px solid #24839f;border-radius:12px;color:#9debff;font-size:30px}.brand-name{font-family:var(--display);font-weight:800;letter-spacing:1.15px;font-size:18px;white-space:nowrap}.brand-name span{color:var(--blue)}.brand-sub{font:700 9px var(--display);letter-spacing:2.7px;color:#8ba6bb;margin-top:4px}.side-label{font:700 10px var(--display);color:#728ca0;letter-spacing:2px;padding:32px 22px 12px}.side-nav{padding:0 12px;display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:14px;width:100%;border:1px solid transparent;background:transparent;color:#9ab1c1;text-align:left;min-height:45px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:600}.nav-item:hover{background:#132c3e;color:#fff}.nav-item.active{background:#153748;color:#dbfaff;border-color:#22586c}.nav-ico{font-family:var(--display);font-size:21px;width:24px;text-align:center;color:#7fa3bb}.active .nav-ico{color:var(--blue)}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);margin-left:auto}.nav-tag{margin-left:auto;color:var(--blue);background:#183e4d;padding:2px 8px;border-radius:20px;font-size:11px}.sidebar-spacer{flex:1}.side-bottom{padding:22px;border-top:1px solid #1d3345}.system-heading{color:#a6bbca;font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:1.7px;display:flex;align-items:center;gap:8px;margin-bottom:18px}.live-led{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green)}.system-row{display:flex;justify-content:space-between;margin:12px 0;color:#8398a9;font-size:12px}.state-text{color:#a7c2d3}.state-text.ok{color:var(--green)}.state-text.bad{color:var(--red)}.side-foot{font-size:10px;color:#587081;border-top:1px solid #1e3545;padding-top:17px;margin-top:20px;line-height:1.8}.main-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:74px;border-bottom:1px solid #193142;background:#071623;display:flex;justify-content:space-between;align-items:center;padding:0 32px;gap:14px;position:sticky;top:0;z-index:25}.top-start,.top-end{display:flex;align-items:center;gap:22px}.breadcrumb{font:700 11px var(--display);letter-spacing:1.8px;color:#8198aa}.breadcrumb strong{color:#d7eaf4}.breadcrumb span{color:#416174;margin:0 10px}.top-end{gap:22px}.top-live{color:#7fcfb7;font-size:10px;letter-spacing:1.1px;font-weight:700;display:flex;gap:8px;align-items:center}.top-live i{width:7px;height:7px;border-radius:50%;background:#4ad5a5}.utc-time{font:700 13px var(--display);color:#e1edf4;font-variant-numeric:tabular-nums}.refresh-btn,.menu-toggle{background:#122738;border:1px solid #294458;border-radius:8px;color:#c7dfe9;padding:8px 13px;font-size:13px}.refresh-btn:hover{background:#1e4257}.menu-toggle{display:none}.content{padding:28px 32px 44px;max-width:1750px;width:100%;margin:0 auto;flex:1}.footer{border-top:1px solid #173043;min-height:48px;padding:16px 32px;color:#627f93;font-size:10px;letter-spacing:.5px}.footer span{margin:0 8px;color:#396074}.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:23px}.eyebrow{font:700 10px var(--display);letter-spacing:2.8px;color:#63b7d1;margin-bottom:8px}.page-heading{font:700 clamp(23px,2.5vw,34px) var(--display);margin:0 0 8px;letter-spacing:-1px}.lead{color:#87a0b3;font-size:13px;line-height:1.5;margin:0}.pill,.eyebrow-pill{font:700 10px var(--display);letter-spacing:1px;border-radius:20px;border:1px solid #31516a;color:#accbdd;background:#10293c;padding:8px 11px;white-space:nowrap}.pill.good{color:#65d9b3;border-color:#245b50;background:#102c2c}.pill.warn{color:#efc580;border-color:#655132;background:#332a1a}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.small-btn{background:#143248;border:1px solid #285068;color:#c9eaf5;padding:9px 13px;border-radius:8px;font-size:12px;font-weight:700}.small-btn:hover{background:#1b425a}.small-btn.primary{background:#23a3c8;color:#071924;border-color:#3cbfe2}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:17px}.metric-card{background:linear-gradient(150deg,#11283a 0%,#0c1c2a 90%);border:1px solid #254054;border-radius:12px;padding:18px;min-height:128px;position:relative;overflow:hidden}.metric-card:before{content:'';position:absolute;right:-14px;top:-25px;width:100px;height:100px;background:radial-gradient(circle,#124b64 0,transparent 65%);opacity:.58}.metric-label{font:600 11px var(--font);letter-spacing:.2px;color:#94acbd;position:relative}.metric-number{font:700 clamp(26px,2.8vw,35px) var(--display);margin-top:16px;position:relative;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.metric-hint{font-size:11px;color:#5bd0ad;margin-top:7px;position:relative}.metric-hint.muted{color:#6e94a9}.metric-symbol{position:absolute;right:17px;top:15px;color:#376780;font-size:18px}.layout-2{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(290px,1fr);gap:16px}.panel{background:#0c1d2c;border:1px solid #254052;border-radius:12px;overflow:hidden;min-width:0}.panel-pad{padding:20px}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px 20px;border-bottom:1px solid #223a4d}.panel-title{font:700 14px var(--display);letter-spacing:.1px}.panel-sub{font-size:11px;color:#7e98aa;margin-top:5px}.panel-toolbar{display:flex;gap:10px;align-items:center}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.map-wrap{position:relative;padding:10px;background:radial-gradient(circle at 46% 50%,#143a4a 0%,#0b2232 45%,#0b1d2a 85%);min-height:340px;display:flex;align-items:center;justify-content:center}.worldmap{width:100%;height:auto;display:block;max-height:410px;overflow:visible}.map-bg{fill:#0e2635}.map-land{fill:#1c4b55;stroke:#31717b;stroke-width:0.7;opacity:.81}.map-line{stroke:#345465;stroke-width:.7;opacity:.5;fill:none}.route-arc{fill:none;stroke:#49b7d7;stroke-width:1.3;stroke-dasharray:5 4;opacity:.67}.route-arc:hover{stroke:#fff;opacity:1;stroke-width:2.7;cursor:pointer}.flight-pin{fill:#73e6f9;stroke:#0b2e42;stroke-width:1.8;cursor:pointer}.flight-pin:hover{fill:#fff;stroke:#58efff}.pin-ring{fill:none;stroke:#4dd0ec;stroke-width:.8;opacity:.55;pointer-events:none}.map-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 19px;border-top:1px solid #244153;color:#7e9aac;font-size:11px}.legend{display:flex;align-items:center;gap:14px}.legend span{display:inline-flex;gap:6px;align-items:center}.legend i{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%}.legend .line{width:14px;height:2px;border-radius:0}.map-inspect{font-size:12px;color:#b8d4e4;margin-left:10px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.data-table th{color:#718fa4;font:700 10px var(--display);letter-spacing:1.1px;padding:14px 17px;background:#0d2130;white-space:nowrap}.data-table td{padding:13px 17px;border-top:1px solid #21394a;color:#bfcedb;white-space:nowrap}.data-table tbody tr:hover{background:#123047}.data-table td strong{color:#e4f0f8;font-weight:700}.data-table td .muted{font-size:10px;color:#7d97a9;margin-top:3px}.tag{border:1px solid #2f5364;background:#112d3f;border-radius:20px;padding:4px 9px;color:#a6cfdf;font-size:10px;font-weight:700;white-space:nowrap}.tag.green{color:#66d8ab;border-color:#2a5c4e;background:#123229}.tag.yellow{color:#f8c479;border-color:#785a3b;background:#352b20}.tag.red{color:#efa2a2;border-color:#79434a;background:#352329}.subrow{display:flex;align-items:center;gap:10px}.subrow .circle{width:34px;height:34px;border:1px solid #245b67;border-radius:50%;display:grid;place-items:center;color:#6cd5ea;background:#124052;font:700 10px var(--display)}.empty{text-align:center;padding:42px 24px;color:#7d98ac}.empty-icon{font-size:28px;display:block;color:#38677c;margin-bottom:12px}.empty b{color:#c5dce6;font-size:13px}.notice{padding:12px 14px;background:#142b3c;border:1px solid #2a4e61;border-radius:9px;color:#adc5d5;font-size:12px;line-height:1.6}.notice.warning{border-color:#725537;background:#2a251c;color:#e6c999}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:17px}.filter-search{flex:1;min-width:180px;background:#0c2030;color:#e0edf5;border:1px solid #2d4b5f;border-radius:8px;padding:11px 13px;outline:0}.filter-search:focus{border-color:#57b9d3}.filter-select{background:#0c2030;color:#d3e6ee;border:1px solid #2d4b5f;border-radius:8px;padding:11px 13px}.row-button{background:transparent;border:1px solid #315269;color:#84cae2;padding:6px 10px;border-radius:6px;font-size:11px}.row-button:hover{background:#1a3b4e}.kpi-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.mini-kpi{background:#102638;border:1px solid #244257;border-radius:9px;padding:14px 17px}.mini-kpi .num{font:700 24px var(--display);margin-top:9px}.mini-kpi .cap{font-size:11px;color:#84a0b1}.details{padding:20px;background:#102538;border-top:1px solid #254357}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-pair .cap{font-size:10px;color:#7490a5}.detail-pair .val{font-size:13px;font-weight:700;margin-top:4px;overflow-wrap:anywhere}.route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:15px}.route-card{background:#0f2637;border:1px solid #284758;border-radius:10px;padding:17px}.route-pair{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#d5edf7;font:700 22px var(--display)}.route-pair i{height:1px;background:#356479;flex:1;position:relative}.route-pair i:after{content:'✈';position:absolute;top:-9px;left:calc(50% - 7px);font-size:14px;color:#71d1e7;font-style:normal;background:#0f2637;padding:0 4px}.route-caption{font-size:10px;color:#7196a7;margin-top:12px}.chart{min-height:220px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #385367;padding-bottom:21px;position:relative;margin-top:10px}.barcol{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:end;align-items:center;height:190px;gap:6px;position:relative}.bar{background:linear-gradient(0deg,#177d9d,#45c8dd);border-radius:4px 4px 0 0;width:100%;max-width:50px;min-height:2px;position:absolute;bottom:22px}.bar-label{font-size:10px;color:#7d99a8;position:absolute;bottom:-17px;white-space:nowrap}.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.finance-card{background:#102536;border:1px solid #264459;border-radius:10px;padding:17px}.finance-card .num{font:700 clamp(18px,2vw,25px) var(--display);margin:12px 0 4px;overflow-wrap:anywhere}.finance-card .cap{font-size:11px;color:#85a1b3}.positive{color:var(--green)}.negative{color:var(--red)}.split-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.break-row{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid #253d4f;color:#a8c3d2;font-size:12px}.break-row strong{color:#e1edf6}.skeleton{height:18px;border-radius:6px;background:linear-gradient(90deg,#102a3a,#1e4054,#102a3a);background-size:200%;animation:pulse 1.5s infinite}.toast{position:fixed;z-index:70;bottom:25px;right:26px;background:#174052;border:1px solid #3b7790;box-shadow:0 8px 26px #0006;padding:13px 17px;border-radius:9px;font-size:12px;color:#eafaff;transform:translateY(120px);opacity:0;transition:.25s;max-width:350px}.toast.show{opacity:1;transform:translateY(0)}@keyframes pulse{0%{background-position:100%}100%{background-position:-100%}}
@media(max-width:1280px){.sidebar{width:225px;flex-basis:225px}.brand{padding-left:14px}.brand-name{font-size:16px}.content{padding:25px 23px}.summary-grid{gap:10px}.metric-card{padding:15px}.route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1050px){.layout-2{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 30px #0008}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.content{padding:22px 15px}.topbar{height:65px;padding:0 15px}.breadcrumb{font-size:10px}.top-end{gap:10px}.top-live,.refresh-btn span{display:none}.utc-time{font-size:11px}.page-top{flex-direction:column}.summary-grid{gap:10px}.metric-card{min-height:106px}.metric-number{font-size:26px}.kpi-list{grid-template-columns:repeat(2,minmax(0,1fr))}.route-cards{grid-template-columns:1fr}.split-2{grid-template-columns:1fr}.footer{padding:17px}.map-wrap{min-height:205px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ——— v5 · StarEuropa Aurora — visual identity extracted from supplied logo: ice, cyan, teal, cobalt ——— */
:root{
  --bg:#040912;--side:#070f1c;--surface:#0c1928;--surface2:#102337;
  --border:#20364e;--muted:#94a8bd;--text:#e9faff;
  --blue:#23c8f2;--green:#34e0b6;--yellow:#ffcb7a;--red:#ff7187;
  --electric:#0b8ff0;--ice:#e5fbff;--teal:#06d9ce;
}
body{background:radial-gradient(ellipse at 80% -9%,#06456b 0,transparent 26%),radial-gradient(ellipse at 15% 85%,#082347 0,transparent 40%),#040912;color:var(--ice)}
.sidebar{background:linear-gradient(175deg,#081828 0%,#07101d 60%,#040910 100%);border-right:1px solid #143750}
.sidebar:before{content:"";height:2px;background:linear-gradient(90deg,#0a70ed,#16cff1,#62f4e4);position:absolute;top:0;left:0;right:0}
.brand{height:105px;border-color:#183248;padding:18px 14px;gap:7px}
.brand-mark{width:57px;height:60px;flex:0 0 57px;border:0;background:transparent;border-radius:0;filter:drop-shadow(0 0 13px #06e5ee45)}
.brand-mark img{width:100%;height:100%;object-fit:contain;animation:starlight 6s ease-in-out infinite}
.brand-name{font-size:17px;letter-spacing:1.3px;color:var(--ice)}.brand-name span{background:linear-gradient(115deg,#08c6e1,#0875e8,#01decb);color:transparent;background-clip:text;-webkit-background-clip:text}
.brand-sub{letter-spacing:1.8px;font-size:8px;color:#7eaec5}
.side-label{display:flex;align-items:center;gap:12px;color:#73a8c5}.label-line{height:1px;background:linear-gradient(90deg,#184b77,transparent);flex:1}
.nav-item{transition:background .22s,border-color .22s,transform .22s;position:relative;border-radius:9px}
.nav-item:hover{background:#102b47;color:#fff;transform:translateX(2px)}
.nav-item.active{background:linear-gradient(95deg,#093c63dd,#0c2545e6);border-color:#1574a3;color:#ecfdff;box-shadow:inset 3px 0 0 #13d6f1,0 0 26px #00bff91c}
.nav-dot{box-shadow:0 0 11px #11dfff}.nav-tag{color:#7aeeff;background:#0a3456}
.side-bottom{background:#06101c;border-color:#133349}.side-foot{color:#63859c}
.topbar{background:rgba(5,14,26,.92);backdrop-filter:blur(18px);border-bottom:1px solid #18405a}
.topbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#05bee8 40%,#055a9a 80%,transparent);opacity:.55}
.top-live i{box-shadow:0 0 15px #36e6bf}.top-live{color:#71efd2}
.refresh-btn{background:#07375c;border-color:#10739b;color:#b4f6ff}.refresh-btn:hover{background:#0a5b85}
.content{max-width:1900px}.eyebrow{color:#20c7e9}.page-heading{font-size:clamp(25px,2.6vw,36px);color:#f1feff;letter-spacing:-.9px}.lead{color:#9db7c9}
.page-top{margin-bottom:22px}.panel{background:linear-gradient(160deg,#0d1d2e,#081521);border:1px solid #1c4056;box-shadow:0 12px 45px #0000001a;transition:border-color .2s}
.panel:hover{border-color:#27617d}.panel-heading{border-color:#1e4259}.panel-title{color:#e8faff}
.metric-card{background:linear-gradient(130deg,#0e2b43 0%,#091b2b 85%);border-color:#28516c;box-shadow:0 0 22px #05496f1a;transition:transform .2s,box-shadow .2s}
.metric-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0282c026}.metric-card:before{background:radial-gradient(circle,#096e94 0,transparent 68%);opacity:.45}
.metric-number{background:linear-gradient(115deg,#efffff 25%,#3edcf4 85%);background-clip:text;-webkit-background-clip:text;color:transparent}
.metric-symbol{color:#6bbddb}.metric-hint.muted{color:#8cb6cb}
.pill{border-color:#2b5976;background:#0e324b;color:#c9f2ff}.pill.good{border-color:#157e69;background:#073e38;color:#7bf7d8}
.small-btn,.row-button{border-color:#276384;background:#0b3350;color:#b2ecff;transition:all .17s}
.small-btn:hover,.row-button:hover{background:#135779;transform:translateY(-1px)}
.tag{display:inline-flex;align-items:center;gap:5px;letter-spacing:.5px}.tag-pip{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.tag.green{background:#09362c;border-color:#087956;color:#47e9b6}.tag.blue{background:#0b3159;border-color:#137ac7;color:#5fbfff}.tag.yellow{background:#3b2c19;border-color:#a87a35;color:#ffd182}.tag.red{background:#3b1c2b;border-color:#bc4b67;color:#ff839b}.tag.vatsim{background:linear-gradient(90deg,#09518b,#08666a);border-color:#19b6d2;color:#c9fcff;box-shadow:0 0 14px #0dc9f229}
.filter-select,.filter-search{background:#091d31;color:#e8faff;border-color:#254d68}.data-table th{background:#102437;color:#87b1ca}.data-table td{border-color:#1b3b50}.data-table tbody tr:hover{background:#0f3451}.data-table td strong{color:#f0feff}
.pilot-clickable{cursor:pointer}.pilot-clickable:focus-visible{outline:2px solid #16cdec;outline-offset:-2px;background:#0b3753}.pilot-position{color:#66ddff}.pilot-profile{margin-top:16px;padding:24px;background:linear-gradient(125deg,#0c2c46,#081724);border:1px solid #207394;border-radius:15px;box-shadow:0 0 30px #04cafa16}.profile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.profile-top h2{margin:5px 0 15px;font-family:var(--display);font-size:25px;color:#e7fcff}.pilot-profile .detail-grid{padding-top:16px;border-top:1px solid #225776}
.circle{font-weight:700}
.hero-strip{background:linear-gradient(112deg,#04111fe8 0%,#071f37d9 60%,#07101c 100%);border:1px solid #185274;border-radius:17px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 26px;min-height:160px;margin-bottom:17px}
.hero-strip:before{content:"";position:absolute;width:600px;height:380px;right:-90px;top:-180px;background:radial-gradient(ellipse,#0a91e866,transparent 60%);pointer-events:none}
.hero-strip:after{content:"";position:absolute;left:22px;bottom:0;width:180px;height:2px;background:linear-gradient(90deg,transparent,#0fd9e9,transparent);box-shadow:0 0 15px #00d4fc}
.hero-title{font:700 25px/1.2 var(--display);letter-spacing:-.8px;color:#eaffff}.hero-title em{font-style:normal;color:#35def4}.hero-intro{color:#8eb3cd;font-size:12px;line-height:1.6;margin-top:10px;max-width:460px}.hero-logo{max-height:140px;width:280px;object-fit:contain;filter:drop-shadow(0 0 12px #03c2ee45);flex:0 0 auto;animation:starlight 6s ease-in-out infinite}
.hero-label{font:700 10px var(--display);color:#58d9ef;letter-spacing:2.6px;margin-bottom:9px}
@keyframes starlight{0%,100%{filter:drop-shadow(0 0 7px #03d5fc40)}50%{filter:drop-shadow(0 0 20px #20d9e887)}}
.map-shell{background:#081726}.map-controls{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;gap:8px;flex-wrap:wrap;background:#091b2d;border-bottom:1px solid #23485f}
.map-status{font:700 10px var(--display);letter-spacing:1.1px;color:#8debdc;display:flex;align-items:center;gap:8px}.map-select{display:flex;gap:3px;border:1px solid #26465d;border-radius:8px;padding:3px;background:#0a1d2e}
.map-choice{background:transparent;border:0;border-radius:5px;color:#88acbf;padding:7px 10px;font-size:11px}.map-choice.active{color:#eaffff;background:linear-gradient(100deg,#075a80,#0b3d62)}
.real-map{position:relative;height:390px;background:#071622;min-height:300px}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#81b6ca;font-size:13px;letter-spacing:.3px}.map-failure{padding:35px;text-align:center;line-height:1.5}
.maplibregl-popup-content{background:#10273b!important;border:1px solid #22719a!important;border-radius:10px!important;box-shadow:0 12px 35px #0008!important;color:#e5faff!important;padding:13px 15px!important}.maplibregl-popup-tip{border-top-color:#10273b!important}.maplibregl-control-container{font-size:10px}
.plane-popup b{font:700 16px var(--display);display:block;margin:7px 0}.plane-popup div{margin-top:5px;color:#b3d6e6}.popup-source{color:#2de6cf;font:700 9px var(--display);letter-spacing:1px}.route-popup p{color:#b3ccd9;margin:5px 0 0}.aircraft-marker{width:26px;height:26px;border:1px solid #c2fbff;border-radius:50%;background:linear-gradient(135deg,#047fdc,#09ddc8);color:#fff;box-shadow:0 0 0 4px #00e5ed24,0 0 18px #00c9ff9a;display:grid;place-items:center;font-size:18px;cursor:pointer}.aircraft-marker:hover{background:#fff;color:#026589;box-shadow:0 0 0 7px #08bceb40}.aircraft-marker span{display:block;transform:rotate(-45deg)}
.legend i.legend-flight{background:#1bdfe1;box-shadow:0 0 9px #18dcea}.legend i.legend-route{background:#15a3e7;width:13px;height:2px;border-radius:0}
.map-footer{background:#0a1c2d;border-color:#20435c}.map-inspect{color:#96d8e6}
.finance-hero{background:linear-gradient(110deg,#073f56 0%,#0b294a 48%,#08243a 100%);border:1px solid #166d8e;border-radius:15px;min-height:130px;margin:0 0 18px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden}
.finance-hero:before{content:"";width:280px;height:280px;border:1px solid #0badc940;border-radius:50%;position:absolute;right:-60px;top:-100px;box-shadow:0 0 0 55px #09b6e908,0 0 0 110px #0fe3e708}.finance-hero h2{font:700 clamp(21px,2.3vw,30px) var(--display);margin:8px 0;color:#f4ffff;position:relative}.finance-hero h2 span{color:#44ecc6}.finance-hero p{font-size:12px;color:#b1d5e3;position:relative}.finance-hero-margin{min-width:135px;text-align:right;z-index:1}.finance-hero-margin small{display:block;color:#8ebbd0;font:700 10px var(--display);letter-spacing:1.1px}.finance-hero-margin strong{display:block;color:#51f5c1;font:700 clamp(23px,3vw,36px) var(--display);margin-top:8px}
.finance-grid{gap:13px}.finance-glass{border-radius:12px;border:1px solid #2b5870;padding:18px;min-height:126px;background:#102d45;position:relative;overflow:hidden}.finance-glass:before{content:"";position:absolute;width:160px;height:140px;right:-70px;top:-60px;background:radial-gradient(circle,currentColor 0,transparent 64%);opacity:.09}
.finance-glass.income{background:linear-gradient(150deg,#0b344a,#092033);color:#35d3ff;border-color:#146889}
.finance-glass.cost{background:linear-gradient(150deg,#3f2132,#27192b);color:#ff8595;border-color:#6a3a50}
.finance-glass.profit{background:linear-gradient(150deg,#0c3b37,#102825);color:#3cf0bd;border-color:#216b5b}
.finance-glass.balance{background:linear-gradient(150deg,#143968,#0c2546);color:#7db8ff;border-color:#2d5486}
.finance-glass-top{display:flex;justify-content:space-between;align-items:center;font:700 10px var(--display);letter-spacing:1.2px;color:#c0d5e4}.finance-glass-top span:last-child{color:inherit;font-size:20px}.finance-glass-number{font:700 clamp(18px,2vw,28px) var(--display);margin:15px 0 8px;color:inherit;overflow-wrap:anywhere}.finance-glass-foot{font-size:11px;color:#9fb6c5}
.finance-detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:16px 0}.finance-legend{display:flex;gap:18px;flex-wrap:wrap;color:#9db9cb;font-size:11px}.finance-legend span:before{content:"";display:inline-block;background:var(--c);width:8px;height:8px;border-radius:2px;margin-right:7px}.legend-revenue{--c:#26c9f7}.legend-expense{--c:#ff7188}.legend-profit{--c:#43eeb7}
.finance-trend{display:flex;height:217px;gap:9px;overflow:hidden;align-items:flex-end;padding:15px 8px 3px;margin-top:15px;border-bottom:1px solid #345368}.finance-period-col{display:flex;flex:1;min-width:0;flex-direction:column;gap:10px;align-items:center;justify-content:end;height:100%}.finance-two-bars{display:flex;align-items:flex-end;gap:3px;height:175px}.bar-in,.bar-out{display:block;width:clamp(5px,1.4vw,15px);border-radius:4px 4px 0 0}.bar-in{background:linear-gradient(#66e5ff,#047cbd);box-shadow:0 0 13px #0098ce33}.bar-out{background:linear-gradient(#ffadb0,#c94568)}.finance-period-name{height:18px;max-width:64px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px;color:#8bafc2}
.finance-breakdown{padding:17px}.expense-item{margin:0 0 19px}.expense-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.expense-head>div{display:flex;align-items:center;gap:8px}.expense-head strong{font-size:12px;font-weight:600;color:#b9d4e5}.expense-head b{font-size:12px;color:#ecfbff}.expense-percent{font-size:10px;color:#8dabbe}.expense-dot{width:8px;height:8px;border-radius:3px;display:inline-block}.expense-track{height:6px;background:#142e3e;border-radius:10px;overflow:hidden;margin-top:9px}.expense-track div{height:100%;border-radius:10px;box-shadow:0 0 10px #21c5f522}
.cash-strip{height:10px;display:flex;gap:3px;margin:2px 0 20px;border-radius:6px;overflow:hidden}.cash-strip-income{background:#19cff2}.cash-strip-cost{background:#ff7186}.profit-summary .break-row strong{color:#ecfcff}
@media(max-width:1200px){.finance-detail-grid{grid-template-columns:1fr}}
@media(max-width:740px){.hero-strip{padding:18px;min-height:120px}.hero-title{font-size:20px}.hero-logo{width:110px;max-height:105px}.hero-intro{font-size:11px}.real-map{height:335px}.map-footer{gap:8px}.finance-hero{align-items:flex-start;padding:20px}.finance-hero-margin{min-width:85px}.finance-hero h2{font-size:20px}.finance-hero-margin strong{font-size:21px}.finance-glass{min-height:105px;padding:13px}.finance-glass-number{font-size:19px}.finance-glass-top{font-size:9px}.finance-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.brand-mark img,.hero-logo{animation:none}.metric-card,.nav-item,.row-button,.small-btn{transition:none}}

/* Welcome Aboard: brand-matched, black immersive editorial tab */
body{background:#000}
.sidebar{background:linear-gradient(180deg,#050a11 0%,#03070c 100%)}
.topbar{background:#02070e}
.main-area{background:radial-gradient(ellipse 80% 36% at 55% 0%,#051629 0%,#01050a 72%,#000 100%)}
.brand-mark{background:#030c15;border-color:#135273}
.welcome-page{color:#eaf8ff;max-width:1200px;margin:0 auto}
.welcome-page h1,.welcome-page h2,.welcome-page h3,.welcome-page p{margin-top:0}
.welcome-page h2{font-family:var(--display);font-size:clamp(25px,2.8vw,37px);line-height:1.23;letter-spacing:-.8px}
.welcome-page h2 span,.welcome-page h1 span{color:#00cfff}
.welcome-page p{font-size:14px;line-height:1.84;color:#a8bfd0}
.welcome-page strong{color:#eefcff}
.welcome-hero{position:relative;overflow:hidden;text-align:center;background:#000;border-radius:19px;border:1px solid #164057;min-height:400px;padding:14px 24px 45px;isolation:isolate}
.welcome-hero:after{content:"";height:2px;width:220px;position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#00eaff,#0077ff,transparent);box-shadow:0 0 17px #00d5ffbb}
.welcome-hero-glow{position:absolute;inset:auto -15% -35% -15%;height:240px;background:radial-gradient(ellipse,#03243d 0%,transparent 65%);z-index:-1}
.welcome-logo{display:block;max-width:min(500px,82%);width:100%;height:240px;object-fit:contain;margin:0 auto 0;filter:drop-shadow(0 0 12px #12cbed36)}
.welcome-hero-subline{color:#72ddff;font:700 10px var(--display);letter-spacing:4px;margin:-17px 0 18px}
.welcome-hero h1{font:700 clamp(24px,3.2vw,40px)/1.16 var(--display);letter-spacing:-1.3px;max-width:840px;margin:0 auto 17px}
.welcome-hero p{max-width:720px;margin:0 auto;color:#c0d2dc;font-size:14px}
.welcome-actions{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:27px}
.welcome-primary,.welcome-secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}
.welcome-primary{background:linear-gradient(110deg,#00cfff,#0077ff);border:1px solid #3fdcfb;color:#00121b;box-shadow:0 5px 22px #00cfff2a}
.welcome-secondary{color:#b6e8fa;background:#071b2d;border:1px solid #235b77}
.welcome-primary:hover,.welcome-secondary:hover{transform:translateY(-2px);box-shadow:0 7px 23px #04cafd36}
.welcome-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:start;padding:54px 10px 35px}
.welcome-intro .eyebrow,.welcome-section .eyebrow,.welcome-duo .eyebrow,.welcome-network .eyebrow{color:#65dff4}
.welcome-intro p{margin-bottom:16px}
.welcome-identity{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:55px}
.welcome-identity>div{background:linear-gradient(145deg,#091825,#06101a);border:1px solid #17425d;border-radius:12px;padding:19px;min-height:97px}
.welcome-identity span{display:block;color:#72a7ba;letter-spacing:1.8px;font:700 10px var(--display);margin-bottom:13px}
.welcome-identity strong{display:block;font:700 20px var(--display);color:#e4faff}
.welcome-identity small{display:block;color:#72ddff;font:500 10px var(--font);margin-top:4px}
.welcome-section{padding:8px 0 48px}
.welcome-section-heading{margin-bottom:21px}.welcome-section-heading h2{margin-bottom:6px}.welcome-section-heading p{margin-bottom:0}
.welcome-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.welcome-step{background:linear-gradient(145deg,#071727,#050c16);border:1px solid #184760;border-radius:13px;padding:25px 24px;transition:transform .2s,border-color .2s}
.welcome-step:hover{transform:translateY(-3px);border-color:#149dd4}
.welcome-step-number{font:700 29px var(--display);color:#00cfff;letter-spacing:1px;margin-bottom:13px}
.welcome-step h3{font:700 19px var(--display);margin:0 0 12px;color:#eaffff}
.welcome-step p{margin:0;font-size:13px}
.welcome-statement{text-align:center;background:linear-gradient(95deg,#001221,#06243b 50%,#001221);border-block:1px solid #155879;border-radius:11px;padding:43px clamp(20px,5vw,72px);margin:10px 0 48px}
.welcome-statement>span{font:700 10px var(--display);letter-spacing:2.4px;color:#72ddff}
.welcome-statement h2{max-width:850px;margin:17px auto 21px}
.welcome-statement h2 em{font-style:normal;color:#00cfff}
.welcome-statement p{max-width:790px;margin:0 auto 14px}
.welcome-statement>strong{display:block;color:#8af2ff;font:700 17px var(--display);margin-top:22px}
.welcome-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 45px}
.welcome-info-card{background:#040c14;border:1px solid #183b51;border-radius:12px;padding:28px}
.welcome-info-card h2{font-size:clamp(21px,2vw,27px);margin:10px 0 21px}
.welcome-info-card p{font-size:13px}
.welcome-values{margin:0 0 19px;padding:0;list-style:none}
.welcome-values li{display:flex;gap:11px;align-items:flex-start;border-bottom:1px solid #153347;padding:10px 0;color:#bad3df;font-size:13px;line-height:1.6}
.welcome-values li span{color:#29daed;font-size:15px;font-weight:bold}
.welcome-network{text-align:center;padding:23px 12px 50px}
.welcome-network h2{margin:10px 0 25px}
.welcome-network-list{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.welcome-network-list span{font:700 11px var(--display);letter-spacing:1.7px;border:1px solid #1d6689;padding:12px 16px;border-radius:8px;color:#a8eaff;background:linear-gradient(135deg,#071e2e,#07111a)}
.welcome-finale{text-align:center;background:radial-gradient(ellipse at center top,#08243b 0%,#000 68%);border:1px solid #16425b;border-radius:15px;padding:36px 20px 42px}
.welcome-finale-star{font-size:36px;color:#00cfff;margin:0 0 9px;text-shadow:0 0 20px #00b2ec80}
.welcome-finale h2{margin:14px auto 19px;max-width:800px}
.welcome-finale p{margin:0 0 24px}
.welcome-finale>strong{display:block;font:700 27px var(--display);letter-spacing:4px;color:#eafbff}
.welcome-finale-callsign{margin:8px 0 15px;color:#72ddff;font:700 12px var(--display);letter-spacing:2.6px}
.welcome-finale em{color:#9fdff2;font-size:12px;letter-spacing:1.6px}
@media(max-width:920px){.welcome-intro{grid-template-columns:1fr;gap:12px;padding:40px 0 25px}.welcome-identity{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.welcome-hero{padding:8px 16px 30px;min-height:0}.welcome-logo{height:180px;max-width:100%}.welcome-hero-subline{margin:-10px 0 13px;font-size:9px;letter-spacing:2px}.welcome-hero h1{font-size:25px}.welcome-hero p{font-size:13px}.welcome-identity,.welcome-steps,.welcome-duo{grid-template-columns:1fr}.welcome-identity{gap:9px;margin-bottom:35px}.welcome-identity>div{min-height:0;padding:15px}.welcome-steps{gap:10px}.welcome-section{padding-bottom:27px}.welcome-statement{margin:0 0 30px;padding:27px 18px}.welcome-info-card{padding:21px}.welcome-finale{padding:28px 14px}.welcome-network-list{gap:6px}.welcome-network-list span{font-size:10px;padding:9px}}
@media(prefers-reduced-motion:reduce){.welcome-step,.welcome-primary,.welcome-secondary{transition:none}.welcome-step:hover,.welcome-primary:hover,.welcome-secondary:hover{transform:none}}

/* StarEuropa Operations Center v6 — Black, cyan & aircraft operations refinements */
.sidebar{background:linear-gradient(180deg,#010307 0%,#040a11 62%,#02060a 100%)}
.brand{height:194px;padding:14px 10px 18px;display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;text-align:center;position:relative;isolation:isolate;border-bottom:1px solid #103049;background:radial-gradient(ellipse at 50% 37%,#082637 0%,#010306 70%)}
.brand:before{content:'';position:absolute;inset:12px 17px;background:radial-gradient(circle at center,#12b7e615,transparent 64%);z-index:-1}
.brand-star{display:block;width:118px;height:104px;object-fit:contain;filter:drop-shadow(0 0 17px #00ccff35);animation:starEnter 1s ease both}
.brand-name{margin-top:-8px;color:#e9fcff;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:1.55px;line-height:1.1;white-space:nowrap}
.brand-name span{background:linear-gradient(100deg,#00CFFF,#0077FF,#1BDAC9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand-sub{font:700 9px var(--display);letter-spacing:3.3px;margin-top:8px;color:#A5D8E5}
.brand-sub b{color:#00DAEA}
.brand-streak{width:110px;height:2px;background:linear-gradient(90deg,transparent,#00cfff,#0077ff,transparent);box-shadow:0 0 10px #00cfff6e;margin-top:16px}
.side-label{padding-top:26px}
.nav-item[data-view="welcome"]{color:#CAF5FF}
.nav-item[data-view="welcome"].active{background:linear-gradient(90deg,#0A334A,#08202E);border-color:#19789A}
.real-map.globe-map{height:465px;min-height:335px;background:radial-gradient(circle at 50% 49%,#0e2c40 0%,#071019 53%,#000 100%);overflow:hidden}
.globe-shell{background:#01070C}
.globe-map .maplibregl-canvas{cursor:grab}
.globe-map .maplibregl-canvas:active{cursor:grabbing}
.map-footnote{padding:10px 16px;border-top:1px solid #102E42;color:#9EC0D3;font-size:11px}
.aircraft-marker{border-radius:8px;transform-origin:center;transition:box-shadow .16s ease,background .16s ease}
.aircraft-marker.on-vatsim{background:linear-gradient(130deg,#04B6F5,#0077FF);border-color:#B7F3FF;box-shadow:0 0 0 4px #008ffd2b,0 0 17px #00cfff88}
.aircraft-marker.on-flyhub{background:linear-gradient(130deg,#EAA63B,#DD6B27);border-color:#FFE0A4;box-shadow:0 0 0 4px #ffa32f29,0 0 14px #e99b4e70}
.aircraft-marker span{transform:rotate(-45deg)}
.legend i.legend-vatsim{background:#00CFFF}.legend i.legend-flyhub{background:#F5A544}.legend i.legend-route{background:#9AF7FF;width:15px;height:2px;border-radius:0}
.popup-source.popup-flyhub{color:#F5C073}
.popup-disclaimer{font-size:10px!important;line-height:1.5!important;color:#96AFC1!important;margin-top:9px!important}
.fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.aircraft-card{min-width:0;border:1px solid #173E53;background:linear-gradient(160deg,#0A1927,#061019);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.aircraft-card:hover,.aircraft-card[open]{border-color:#12779D;box-shadow:0 9px 22px #0007}
.aircraft-card summary{cursor:pointer;list-style:none;padding:15px;outline-offset:-3px}
.aircraft-card summary::-webkit-details-marker{display:none}
.aircraft-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.aircraft-identity{display:flex;align-items:center;gap:9px;min-width:0}
.aircraft-silhouette{color:#00CFFF;background:#0D3345;border:1px solid #165777;display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;font-size:23px}
.aircraft-identity strong{display:block;color:#F0FAFF;font-size:13px;overflow-wrap:anywhere}
.aircraft-identity small{display:block;max-width:125px;margin-top:4px;color:#94B5C7;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aircraft-compact-head .tag{font-size:9px;padding:4px 7px}
.aircraft-compact-meta{display:flex;justify-content:space-between;gap:5px;margin-top:14px;font-size:11px;color:#A6D2DE}
.aircraft-compact-meta span:last-child{color:#5DB5D6;font-weight:700}
.condition-track{margin-top:12px;height:5px;border-radius:5px;background:#183142;overflow:hidden}
.condition-track>span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#0077FF,#00CFFF,#1BDAC9)}
.aircraft-compact-foot{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:9px;color:#90B6C7;font-size:10px}
.aircraft-toggle-text{color:#5EDBEF;white-space:nowrap}
.aircraft-card[open] .aircraft-toggle-text b{display:inline-block;transform:rotate(180deg)}
.aircraft-expanded{padding:15px;border-top:1px solid #18475C;background:#020A11}
.aircraft-expanded-heading{color:#5ED8EE;font:700 10px var(--display);letter-spacing:1.2px;margin-bottom:13px}
.aircraft-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 8px}
.aircraft-info span{display:block;color:#668EA1;font-size:10px}
.aircraft-info strong{display:block;margin-top:4px;font-size:11px;overflow-wrap:anywhere;font-weight:650;color:#EBF8FF}
.aircraft-source-note{font-size:10px;line-height:1.5;color:#698A9D;margin:15px 0 0}
.pilot-profile-metrics{display:grid;gap:18px}
.pilot-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pilot-record{border:1px solid #19506C;border-radius:10px;padding:14px;background:linear-gradient(145deg,#07314A,#081B2A)}
.pilot-record span{display:block;color:#9EC3D6;font-size:11px;margin-bottom:9px}
.pilot-record strong{font-size:13px;color:#E5FAFF;line-height:1.5;overflow-wrap:anywhere}
.pilot-data-hint{font-size:11px;color:#86A9BD;margin:0;line-height:1.6}
@keyframes starEnter{from{opacity:.5;filter:drop-shadow(0 0 0px #00CFFF00);transform:translateY(8px)}to{opacity:1;filter:drop-shadow(0 0 17px #00CFFF35);transform:translateY(0)}}
@media(max-width:1500px){.fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pilot-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.real-map.globe-map{height:390px}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aircraft-card summary{padding:11px}.aircraft-identity{gap:5px}.aircraft-silhouette{width:28px;height:28px;flex-basis:28px}.aircraft-compact-head{flex-wrap:wrap}.aircraft-info-grid{grid-template-columns:1fr}}
@media(max-width:420px){.fleet-grid{grid-template-columns:1fr}.pilot-record-grid{grid-template-columns:1fr}.real-map.globe-map{height:345px}}
@media(prefers-reduced-motion:reduce){.brand-star{animation:none}.aircraft-card{transition:none}}

/* v6.2 — compact language selector, desktop/mobile */
.lang-control{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #204b65;border-radius:8px;background:#071827;color:#c9f4ff;white-space:nowrap}
.lang-icon{font-size:14px;color:#00cfff}
.lang-control select{max-width:142px;border:0;background:#071827;color:#e8fbff;font-weight:600;font-size:12px;padding:5px 2px;cursor:pointer;appearance:auto}
.lang-control select:focus-visible{outline:2px solid #00cfff;outline-offset:2px}
@media(max-width:600px){.lang-control{padding:3px 4px}.lang-icon{display:none}.lang-control select{max-width:110px;font-size:11px}}


/* v7 — accurate flight details, subtle aircraft markers, inline expandable crew */
.flight-clickable{cursor:pointer;transition:background .16s ease}
.flight-clickable:hover,.flight-clickable.selected{background:#0c3348!important}
.flight-clickable:focus-visible,.pilot-clickable:focus-visible{outline:2px solid #15c7e6;outline-offset:-3px}
.flight-expand-cue{float:right;color:#50dafa;font-size:17px;line-height:1}
.flight-expanded-row td,.pilot-expanded-row td{padding:8px 12px 17px!important;background:#03111b!important;border-top:0!important}
.flight-detail-card{background:linear-gradient(120deg,#08283b,#06141f 80%);border:1px solid #165778;border-radius:13px;padding:19px;color:#e3f7ff;min-width:0}
.flight-detail-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}
.flight-source{font:700 10px var(--display);letter-spacing:1px;color:#78ddec;margin-bottom:6px}
.flight-detail-top h3{margin:0 0 8px;font:800 22px var(--display);color:#f3feff}
.flight-detail-top h3 small{font-size:12px;color:#81b2ce;font-weight:500;margin-left:8px}
.flight-route{font-size:12px;color:#b0d5e3;line-height:1.6}
.flight-route span{color:#25dfec;padding:0 5px}
.flight-tracking-pill{font:750 10px var(--display);letter-spacing:.9px;padding:7px 10px;border:1px solid #1379b9;background:#093558;border-radius:20px;color:#6ee9ff}
.flight-tracking-pill.is-flyhub{border-color:#a77829;background:#38260b;color:#ffcf75}
.flight-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.flight-stat{border-radius:9px;padding:11px;background:#081a29;border:1px solid #183d53;min-width:0}
.flight-stat-label{display:block;color:#87b1c7;font-size:11px;margin-bottom:7px}
.flight-stat-value{display:block;color:#f3fcff;font:750 16px var(--display);overflow-wrap:anywhere}
.flight-caveat{font-size:10px;color:#8caac0;margin:13px 0 0;line-height:1.6}
.flight-progress{display:grid;grid-template-columns:1fr auto;gap:5px 12px;font-size:11px;margin-top:12px;color:#9ad1e3}
.flight-progress-bar{grid-column:span 2;background:#17394f;height:5px;border-radius:5px;overflow:hidden}
.flight-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#0077ff,#00cfff,#1bdac9);border-radius:5px}
.pilot-expanded-row .pilot-profile{margin:0;box-shadow:none;border-radius:12px}
.pilot-clickable.selected{background:#0c3348!important}
.aircraft-marker{appearance:none;border:0!important;width:32px!important;height:32px!important;display:flex;align-items:center;justify-content:center;padding:1px!important;cursor:pointer!important;line-height:1!important;border-radius:50%!important;transition:filter .15s ease!important;outline-offset:2px!important}
.aircraft-marker.on-vatsim{background:#06354b!important;color:#32dfff!important;box-shadow:0 0 0 2px #39bff050,0 0 14px #18bff65c!important}
.aircraft-marker.on-flyhub{background:#483013!important;color:#ffc465!important;box-shadow:0 0 0 2px #d5903359,0 0 14px #ecaa4760!important}
.aircraft-marker .plane-shape{display:block;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 3px currentColor)}
.aircraft-marker span{transform:none!important}
.aircraft-marker:hover,.aircraft-marker:focus-visible{filter:brightness(1.3) drop-shadow(0 0 8px currentColor)!important}
.flight-map-popup{max-width:min(330px,calc(100vw - 75px))}
.flight-detail-compact{padding:10px;background:transparent;border:0}
.flight-detail-compact .flight-detail-top{margin-bottom:8px}
.flight-detail-compact .flight-detail-top h3{font-size:15px}
.flight-detail-compact .flight-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.flight-detail-compact .flight-stat{padding:7px;background:#071725}
.flight-detail-compact .flight-stat-label{font-size:9px;margin-bottom:4px}
.flight-detail-compact .flight-stat-value{font-size:12px}
.flight-detail-compact .flight-tracking-pill{font-size:9px;padding:5px}
.flight-detail-compact .flight-caveat{font-size:9px}
.flight-map-popup>.small-btn{margin:10px 5px}
.maplibregl-popup-content{background:#071522!important;color:#f2fdff!important;border:1px solid #217a93!important;border-radius:12px!important;padding:9px!important;box-shadow:0 16px 34px #000a!important}
.maplibregl-popup-close-button{font-size:21px!important;color:#a5e8f8!important}
@media(max-width:850px){.flight-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.flight-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-detail-card{padding:11px}.flight-stat{padding:8px}.flight-detail-top h3{font-size:16px}}

/* v7.1 — always-accessible StarEuropa Discord community link */
.side-nav{min-height:0;overflow-y:auto;flex:0 1 auto;align-content:start;grid-template-columns:minmax(0,1fr);scrollbar-width:thin;scrollbar-color:#1d536c transparent}
.discord-cta-shell{flex:none;padding:15px 12px 12px}
.discord-cta,.discord-mobile-cta{display:flex;align-items:center;gap:11px;text-decoration:none;color:#eefeff;background:linear-gradient(115deg,#07384f 0%,#06648b 60%,#065baf 100%);border:1px solid #1faed2;border-radius:12px;box-shadow:inset 0 1px 0 #8df0ff20,0 5px 18px #009fdb18;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
.discord-cta{min-height:57px;padding:10px 11px}
.discord-cta-icon{flex:0 0 23px;color:#b9f5ff}
.discord-cta-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}
.discord-cta-copy strong{font:800 12px var(--display);letter-spacing:.1px;white-space:nowrap}
.discord-cta-copy small{font:600 9px var(--display);letter-spacing:.75px;text-transform:uppercase;color:#a8dbe9}
.discord-cta-arrow{flex:0 0 auto;color:#bceaf9;transition:transform .2s ease}
.discord-cta:hover,.discord-mobile-cta:hover{filter:brightness(1.14);transform:translateY(-2px);box-shadow:0 8px 25px #00a9ee30;color:#fff}
.discord-cta:hover .discord-cta-arrow{transform:translate(2px,-2px)}
.discord-cta:focus-visible,.discord-mobile-cta:focus-visible{outline:2px solid #a5efff;outline-offset:3px}
.discord-mobile-cta{display:none}
@media(max-width:740px){
  .discord-mobile-cta{display:flex;position:fixed;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:29;min-height:44px;padding:9px 13px;font:800 12px var(--display);box-shadow:0 7px 24px #000b;max-width:calc(100vw - 24px)}
  .discord-mobile-cta .discord-cta-icon{width:20px;height:20px;flex-basis:20px}
  .discord-cta-shell{padding-top:11px}
}
@media(prefers-reduced-motion:reduce){.discord-cta,.discord-mobile-cta,.discord-cta-arrow{transition:none}.discord-cta:hover,.discord-mobile-cta:hover{transform:none}}


/* v7.2 — source-colored phase, viewport-correct nose, readable fixed-size flight sheet */
.tag.phase-on-vatsim{background:#063757!important;color:#67E0FF!important;border-color:#007CEB!important;box-shadow:inset 0 0 0 1px #00CFFF1c}
.tag.phase-on-flyhub{background:#103046!important;color:#B5D7E8!important;border-color:#30576E!important}
.map-flight-sheet{position:absolute;z-index:12;right:13px;bottom:13px;width:min(296px,calc(100% - 26px));max-height:calc(100% - 28px);overflow-y:auto;overscroll-behavior:contain;background:#061320f5;border:1px solid #2483A5;box-shadow:0 14px 38px #000d,0 0 0 1px #01bfea16;border-radius:12px;padding:12px 13px 10px;color:#E9FBFF;text-align:left;scrollbar-width:thin;scrollbar-color:#23607b transparent;backdrop-filter:blur(12px)}
.map-flight-sheet.sheet-flyhub{border-color:#A07132}
.sheet-kicker{font:700 9px var(--display);letter-spacing:1.4px;color:#41D4FF;margin-bottom:6px;line-height:1.1}
.sheet-flyhub .sheet-kicker{color:#FFC467}
.sheet-callsign{font:800 16px var(--display);color:#F2FCFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}
.sheet-callsign small{font-size:10px;font-weight:500;color:#86AFC4;margin-left:5px}
.sheet-route{font-size:11px;color:#BEDBE9;margin:7px 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sheet-route>span:first-child{color:#25DFFF}
.sheet-phase{margin-left:auto;font:700 9px var(--display);color:#65DFFF;letter-spacing:.5px;text-transform:uppercase;max-width:100%}
.sheet-flyhub .sheet-phase{color:#FFC467}
.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sheet-stat{border:1px solid #224359;background:#0A2030;padding:6px 8px;border-radius:7px;min-width:0;line-height:1.2}
.sheet-stat span{display:block;font-size:9px;color:#88B2C8;margin-bottom:4px}
.sheet-stat strong{display:block;font:750 12px var(--display);color:#F3FCFF;overflow-wrap:anywhere}
.sheet-note{color:#8EACC0;font-size:9px;line-height:1.3;margin-top:9px}
.sheet-open{margin-top:10px;width:100%;text-align:center;border:1px solid #167C9C;border-radius:7px;background:#093247;color:#9CEFFF;min-height:31px;font:700 10px var(--display);cursor:pointer}
.sheet-open:hover,.sheet-open:focus-visible{background:#10516A;color:white}
.sheet-close{position:absolute;top:5px;right:6px;font-size:21px;line-height:1;border:0;background:transparent;color:#C6F4FF;cursor:pointer;padding:4px 6px}
.sheet-close:hover{color:white}
@media(max-width:600px){.map-flight-sheet{right:8px;bottom:8px;max-height:calc(100% - 16px);padding:9px 10px}.sheet-grid{gap:4px}.sheet-stat{padding:5px 7px}.sheet-note{font-size:8px;margin-top:6px}.sheet-open{margin-top:7px}.sheet-route{margin:5px 0 7px}}

/* v7.4 — aviation hover, pilot labels and clean source colors */
.aircraft-marker.on-vatsim{background:#062b22!important;color:#3CE7A5!important;box-shadow:0 0 0 2px #3ce7a554,0 0 11px #32eb9b58!important}
.aircraft-marker.on-flyhub{background:#28313b!important;color:#fff!important;box-shadow:0 0 0 2px #f0f7ff6b,0 0 9px #ecf7ff3d!important}
.legend i.legend-vatsim{background:#3CE7A5!important}
.legend i.legend-flyhub{background:#FFFFFF!important}
.flight-name-wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:100%}
.flight-pilot-hover{display:none;vertical-align:middle;padding:3px 7px;border:1px solid #247958;border-radius:5px;background:#0b3026;color:#92ffd1;font-size:10px;line-height:1.3;max-width:250px;overflow-wrap:anywhere}
.flight-clickable:hover .flight-pilot-hover,.flight-clickable:focus .flight-pilot-hover,.flight-clickable.selected .flight-pilot-hover{display:inline-flex}
.aircraft-pilot-tooltip{position:absolute;z-index:15;pointer-events:none;max-width:min(260px,calc(100% - 18px));padding:7px 10px;box-sizing:border-box;border:1px solid #38b990;border-radius:9px;background:#031b16f5;color:#e3fff1;font-weight:650;font-size:11px;line-height:1.4;white-space:normal;box-shadow:0 10px 24px #000c}
.flight-crew-label{color:#a4f5d1;font-size:11px;line-height:1.4;margin-bottom:6px}
.sheet-crew{font-size:10px;color:#a4f5d1;margin-top:4px}
.route-not-live{color:#ffca78;font-size:11px;font-weight:700}
.map-status .live-led.not-live{background:#ffca78;box-shadow:none;animation:none}
@media(max-width:600px){.flight-pilot-hover{max-width:160px}.aircraft-pilot-tooltip{max-width:220px}}


/* legacy v7.5 — dense fleet board: uniform rows, no wasted vertical gaps. */
.fleet-status-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 15px}
.fleet-summary-stat{min-width:0;display:flex;align-items:center;gap:10px;padding:12px 14px;background:#071522;border:1px solid #193448;border-radius:10px;color:#AAC4D2;font-size:12px}
.fleet-summary-stat strong{font:700 23px var(--display);margin-left:auto;color:#ECFCFF}
.fleet-state-dot{display:inline-block;width:8px;height:8px;flex:0 0 8px;background:#7C9CAA;border-radius:100%;box-shadow:0 0 10px #7C9CAA55}
.fleet-available .fleet-state-dot,.fleet-summary-stat.fleet-available .fleet-state-dot{background:#39E6AF;box-shadow:0 0 9px #39E6AF44}
.fleet-inflight .fleet-state-dot,.fleet-summary-stat.fleet-inflight .fleet-state-dot{background:#33BAFF;box-shadow:0 0 9px #33BAFF44}
.fleet-reserved .fleet-state-dot,.fleet-summary-stat.fleet-reserved .fleet-state-dot{background:#FFC66A;box-shadow:0 0 9px #FFC66A55}
.fleet-mx .fleet-state-dot,.fleet-summary-stat.fleet-mx .fleet-state-dot{background:#FF798A;box-shadow:0 0 9px #FF798A55}
.fleet-filters{margin:5px 0 12px}
.fleet-board{display:grid;grid-template-columns:repeat(var(--fleet-columns,4),minmax(0,1fr));gap:8px;align-items:stretch}
.fleet-tile{position:relative;display:flex;flex-direction:column;gap:9px;min-width:0;min-height:113px;text-align:left;padding:11px 12px 10px;background:linear-gradient(140deg,#091C2B,#04111B);border:1px solid #1C3E54;border-radius:10px;color:#E6FAFF;transition:border-color .16s,transform .16s,background .16s}
.fleet-tile:hover{transform:translateY(-1px);border-color:#2A9CB9;background:linear-gradient(140deg,#0C2739,#061723)}
.fleet-tile.is-selected{border-color:#00CFFF;box-shadow:inset 0 0 0 1px #00CFFF55,0 5px 19px #00cfff15}
.fleet-tile-top{display:flex;align-items:center;gap:9px;min-width:0}
.fleet-tile-mark{height:31px;width:31px;flex:0 0 31px;display:grid;place-items:center;color:#74E3F5;background:#10384A;border:1px solid #1A6177;border-radius:8px}
.fleet-tile-mark svg{height:24px;width:24px;transform:rotate(-45deg)}
.fleet-tile-id{flex:1;min-width:0;display:block}
.fleet-tile-id strong{display:block;font:700 13px/1.2 var(--display);color:#EAFDFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fleet-tile-id small{display:block;color:#9CBECC;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.fleet-tile-top>.fleet-state-dot{margin-left:auto}
.fleet-tile-model{display:flex;justify-content:space-between;align-items:center;gap:7px;font:600 11px var(--display);color:#B0D2DF}
.fleet-airport{color:#55D7EF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fleet-tile-foot{display:flex;align-items:center;gap:9px;font:600 10px var(--display);color:#9EB6C3}
.fleet-mini-health{height:4px;flex:1;background:#18394A;border-radius:9px;overflow:hidden}
.fleet-mini-health>i{display:block;height:100%;background:linear-gradient(90deg,#0077FF,#00CFFF,#3AECB8);border-radius:inherit}
.fleet-tile-status{font:700 8px/1.1 var(--display);letter-spacing:1.2px;color:#86ACC0;margin-top:auto}
.fleet-tile.fleet-available .fleet-tile-status{color:#5AE7B8}.fleet-tile.fleet-inflight .fleet-tile-status{color:#66D1FF}
.fleet-tile.fleet-reserved .fleet-tile-status{color:#FFD283}.fleet-tile.fleet-mx .fleet-tile-status{color:#FF9AA8}
.fleet-inline-detail{grid-column:1/-1;background:linear-gradient(112deg,#082237,#050E18 65%);border:1px solid #1C7696;border-left:3px solid #00CFFF;border-radius:12px;padding:16px 19px 13px;min-width:0;animation:fleetEnter .17s ease-out}
.fleet-detail-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:14px;border-bottom:1px solid #1B4256}
.fleet-detail-title{display:flex;align-items:center;gap:13px;min-width:0}
.fleet-detail-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;background:#10344A;border:1px solid #21627E;border-radius:12px;color:#3CD8F3}
.fleet-detail-icon svg{width:31px;height:31px;transform:rotate(-45deg)}
.fleet-detail-eyebrow{color:#4ED8F4;font:700 10px var(--display);letter-spacing:1px}
.fleet-detail-title h3{color:#E8FAFF;font:700 clamp(16px,1.8vw,22px)/1.16 var(--display);margin:5px 0}
.fleet-detail-title h3 span{color:#5BDDF6}
.fleet-detail-title p{color:#97BACD;font-size:11px;margin:0}
.fleet-detail-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.fleet-detail-status{font:700 9px var(--display);letter-spacing:.5px;background:#13293A;color:#AEE5F3;border:1px solid #29506A;border-radius:7px;padding:6px 8px}
.fleet-detail-status.fleet-available{color:#50E9B7;border-color:#286D5C}.fleet-detail-status.fleet-inflight{color:#54CAFC;border-color:#28668C}.fleet-detail-status.fleet-reserved{color:#FCD186;border-color:#876738}.fleet-detail-status.fleet-mx{color:#FF92A0;border-color:#8B3F50}
.fleet-close{border:1px solid #2B5871;background:#0A2434;color:#D4F8FF;border-radius:7px;font-size:19px;line-height:1;width:27px;height:27px}
.fleet-close:hover{background:#0A4762}
.fleet-detail-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 10px;padding:15px 0 8px}
.fleet-detail-metrics>div{min-width:0}
.fleet-detail-metrics small{display:block;color:#7FA5BA;font-size:10px;margin:0 0 5px}
.fleet-detail-metrics strong{display:block;font:650 11px/1.32 var(--display);color:#F1FCFF;overflow-wrap:anywhere}
.fleet-provenance{margin:9px 0 0;font-size:10px;color:#7797A9}
.fleet-footnote{font-size:10px;color:#668A9D;margin:13px 0 0;text-align:right}
@keyframes fleetEnter{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.fleet-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:740px){.fleet-status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-inline-detail{padding:14px}.fleet-summary-stat{padding:10px}.fleet-summary-stat strong{font-size:20px}}
@media(max-width:470px){.fleet-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-detail-icon{display:none}.fleet-detail-title h3{font-size:16px}.fleet-detail-status{font-size:8px}}
@media(prefers-reduced-motion:reduce){.fleet-tile,.fleet-inline-detail{transition:none;animation:none}}

/* v7.6 – proper four-column airline dispatch roster, no giant cards */
.fleet-hangar-banner{position:relative;isolation:isolate;display:flex;align-items:center;gap:20px;min-height:84px;padding:12px 22px;margin:0 0 10px;background:linear-gradient(95deg,#010A12 0%,#071C2B 58%,#081927 100%);border:1px solid #176784;border-top:2px solid #00CAFF;border-radius:10px;overflow:hidden}
.fleet-hangar-banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 30%,rgba(0,207,255,.13),transparent 53%);z-index:-1}
.fleet-hangar-banner img{height:58px;width:70px;object-fit:contain;flex:none}
.fleet-hangar-banner h1{font:800 clamp(21px,2.5vw,34px)/1 var(--display);margin:0;color:#F0FCFF;letter-spacing:1px}
.fleet-hangar-banner span{display:block;margin-top:7px;color:#2CDDF5;font:800 clamp(9px,1vw,13px)/1.3 var(--display);letter-spacing:.6px}
.fleet-hangar-decoration{position:absolute;right:5%;top:-35px;color:rgba(40,184,223,.11);font-size:145px;transform:rotate(-12deg);pointer-events:none}
.fleet-total-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;background:#041726;border:1px solid #136C89;border-radius:8px;padding:10px 4px;margin-bottom:9px}
.fleet-total{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 12px;border-right:1px solid #1E5C74;gap:4px}
.fleet-total:last-child{border-right:0}
.fleet-total strong{font:800 clamp(16px,1.55vw,24px)/1 var(--display);color:#F3FCFF}
.fleet-total span{font:800 8px/1.25 var(--display);letter-spacing:.7px;color:#45D1E8;overflow-wrap:anywhere}
.fleet-total-available span{color:#36E3AB}.fleet-total-inflight span{color:#FFB054}.fleet-total-mx span{color:#FF7192}.fleet-total-reserved span{color:#CE89F8}.fleet-total-condition span{color:#8FE4F4}
.fleet-filters{margin:7px 0 9px}
.fleet-roster-panel,.fleet-ops-panel{background:#031421;border:1px solid #146E8B;border-radius:8px;padding:10px 10px 12px;margin-bottom:9px;overflow:hidden}
.fleet-roster-title{display:flex;align-items:baseline;gap:18px;margin-bottom:7px;flex-wrap:wrap;border-bottom:1px solid #155D77;padding-bottom:7px}
.fleet-roster-title h2{margin:0;color:#E8FCFF;font:800 clamp(17px,1.9vw,22px)/1.15 var(--display);letter-spacing:.4px}
.fleet-roster-title>span:not(.fleet-roster-count){color:#13D3F4;font:800 10px/1.3 var(--display)}
.fleet-roster-count{margin-left:auto;color:#2DDCF2;font:800 10px/1.3 var(--display)}
.fleet-roster-scroll{min-width:0}
.fleet-roster-header,.fleet-roster-row{display:grid;grid-template-columns:repeat(var(--roster-cols,4),minmax(0,1fr));column-gap:9px}
.fleet-roster-head,.fleet-roster-plane{display:grid;grid-template-columns:19px 39px minmax(58px,1fr) 44px 39px 45px;align-items:center;column-gap:3px;text-align:left;min-width:0}
.fleet-roster-head{min-height:22px;padding:3px 5px;border:1px solid #126C87;border-top:2px solid #13CBE8;border-bottom:0;border-radius:5px 5px 0 0;color:#90B8CA;background:#082B3B;font:800 8px/1.15 var(--display)}
.fleet-roster-rows{background:#061D2B}
.fleet-roster-row{min-width:0}
.fleet-roster-plane,.fleet-roster-blank{min-width:0;min-height:25px;padding:3px 5px;background:#062032;border:0;border-left:1px solid #125B77;border-right:1px solid #125B77;border-bottom:1px solid #123C55;color:#E8F8FF;font-size:10px;transition:background .15s ease;cursor:pointer}
.fleet-roster-row:nth-child(even) .fleet-roster-plane{background:#071B2A}
.fleet-roster-plane:hover,.fleet-roster-plane:focus-visible,.fleet-roster-plane.is-selected{background:#0E3D51!important;outline:0;box-shadow:inset 2px 0 #19D4F6}
.fleet-roster-plane .r-num{font:700 9px var(--display);color:#91AABA}
.fleet-roster-plane .r-mod{font:800 10px var(--display);color:#C8E6F1;white-space:nowrap}
.fleet-roster-plane .r-reg{font:800 10px var(--display);color:#F1FAFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fleet-roster-plane .r-loc{font:700 9px var(--display);color:#A7C6D6;white-space:nowrap}
.fleet-roster-plane .r-health{font:800 10px var(--display);color:#41E5B2;text-align:right;white-space:nowrap}
.fleet-roster-plane .r-status{padding:2px 2px;border:1px solid #2C896E;border-radius:3px;background:#095841;color:#C8F7E2;font:800 8px/1.2 var(--display);text-align:center;white-space:nowrap;letter-spacing:.1px}
.fleet-roster-plane.fleet-inflight .r-status{background:#8C4821;border-color:#DA783B;color:#FFDEA9}
.fleet-roster-plane.fleet-reserved .r-status{background:#56345D;border-color:#C27BA8;color:#FBD5FF}
.fleet-roster-plane.fleet-mx .r-status{background:#743046;border-color:#E65C81;color:#FFE1E7}
.fleet-roster-blank{border:none;background:transparent}
.fleet-roster-panel .fleet-inline-detail{margin:10px 0;grid-column:1/-1;border-radius:7px}
.fleet-roster-panel .fleet-inline-detail h3{font-size:18px}
.fleet-ops-panel{margin-top:7px}
.fleet-ops-label{display:flex;justify-content:space-between;padding:6px 8px;border:1px solid #146682;border-bottom:0;border-radius:5px 5px 0 0;color:#FFBB6F;font:800 11px var(--display);letter-spacing:.35px}
.fleet-ops-row{display:grid;grid-template-columns:22px 105px 65px minmax(105px,1fr) 96px minmax(90px,1fr) 48px 55px;gap:8px;align-items:center;padding:6px 8px;background:#082132;border-bottom:1px solid #163D50;min-height:29px;font:700 10px/1.3 var(--display);color:#D4EFF8}
.fleet-ops-row:nth-child(odd){background:#071B2A}
.fleet-ops-header{background:#062334!important;color:#85A9BF;font-size:9px}
.fleet-ops-row strong{font-weight:800;color:#FFFFFF;white-space:nowrap}
.fleet-ops-route{color:#CDEEF5}.fleet-ops-health{color:#36E0A8}
.fleet-ops-progress{height:5px;border-radius:10px;background:#174058;overflow:hidden}
.fleet-ops-progress i{height:100%;display:block;background:linear-gradient(90deg,#078AF8,#00D5F5);border-radius:inherit}
.fleet-ops-empty{padding:12px;color:#95BACB;font-size:12px}
.fleet-ops-extras{margin-top:10px;color:#C88FF4}
.fleet-ops-mini{display:flex;flex-wrap:wrap;gap:8px;padding:9px;background:#072034}
.fleet-ops-mini span{color:#F1E0FF;font:700 10px var(--display)}
.live-map-hint{font:600 10px var(--display);color:#8DC9D6;padding:4px 6px}
.site-version{display:inline-block;margin-left:6px;border:1px solid #1B6884;border-radius:5px;padding:2px 6px;color:#18D7F1;font:700 10px var(--display)}
@media(max-width:1350px){.fleet-roster-head,.fleet-roster-plane{grid-template-columns:17px 35px minmax(48px,1fr) 38px 35px 41px;column-gap:2px}.fleet-roster-header,.fleet-roster-row{column-gap:7px}.fleet-roster-plane .r-reg{font-size:9px}}
@media(max-width:1090px){.fleet-total-strip{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:12px}.fleet-total:nth-child(4){border-right:0}.fleet-ops-row{grid-template-columns:19px 90px 57px minmax(80px,1fr) 75px minmax(55px,1fr) 37px 45px;gap:5px}}
@media(max-width:710px){.fleet-total-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-total:nth-child(4){border-right:1px solid #1E5C74}.fleet-total:nth-child(3),.fleet-total:nth-child(6){border-right:0}.fleet-total{padding:4px 8px}.fleet-roster-title{gap:7px}.fleet-roster-count{margin-left:0}.fleet-ops-rows{overflow-x:auto}.fleet-ops-row{min-width:690px}.fleet-hangar-banner img{height:42px;width:51px}.fleet-hangar-banner{gap:12px}}
@media(max-width:420px){.fleet-total-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-total:nth-child(3){border-right:1px solid #1E5C74}.fleet-total:nth-child(even){border-right:0}.fleet-roster-plane{min-height:30px}.fleet-roster-head,.fleet-roster-plane{grid-template-columns:19px 45px minmax(73px,1fr) 44px 39px 48px;column-gap:3px}.live-map-hint{font-size:9px}}

/* v7.7: live map first, dense information after it, no scheduled-airport clutter */
.flights-dashboard .flight-page-compact{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 13px}
.flight-page-compact .eyebrow{margin-bottom:4px;font-size:9px}
.flight-page-compact h1{font:750 clamp(20px,2.3vw,27px)/1.15 var(--display);margin:0;color:#f0fcff}
.flight-page-compact p{font-size:11px;margin:4px 0 0;color:#87aabe}
.flight-page-live{display:inline-flex;align-items:center;gap:8px;font:700 10px var(--display);color:#6fe0c3;letter-spacing:1px;white-space:nowrap}
.flights-dashboard>.panel .panel-heading{padding:10px 16px}
.flights-dashboard>.panel .panel-sub{margin-top:3px}
.flights-dashboard .real-map.globe-map{height:390px;min-height:300px}
.flight-under-map{margin-top:12px}
.flight-summary-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.flight-summary-compact>div{min-width:0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:9px;background:#0b2334;border:1px solid #24495e;border-radius:9px}
.flight-summary-compact span{font-size:11px;color:#8eb5ca}
.flight-summary-compact strong{font:750 18px/1.1 var(--display);color:#f0fcff;font-variant-numeric:tabular-nums}
.flight-summary-compact .flight-summary-time{font-size:11px;white-space:nowrap}
.flight-search-compact{margin:0 0 10px}
.flight-search-compact .filter-search{padding:9px 12px}
.flights-dashboard .data-table th{padding:9px 13px}
.flights-dashboard .data-table td{padding:9px 13px}
.flights-dashboard .panel-heading{padding:11px 15px}
.flights-dashboard .map-controls{padding:8px 12px}
.flights-dashboard .map-footer{padding:9px 12px}
.selected-map-route-legend{gap:5px!important;color:#b4dbe7;font-size:10px}
.selected-map-route-legend[hidden]{display:none!important}
.selected-map-route-legend i.line{width:22px;height:0;border-radius:0;border-top:3px solid #18D6D1;background:transparent;opacity:.75}
.selected-map-route-legend i.remaining-key{border-top:3px dashed #E6FBFF;opacity:.95;margin-left:9px}
@media(max-width:850px){.flight-summary-compact{grid-template-columns:1fr 1fr}.flight-summary-compact>div:last-child{grid-column:span 2}.flights-dashboard .real-map.globe-map{height:345px}}
@media(max-width:520px){.flight-summary-compact>div{padding:9px}.flight-summary-compact span{font-size:10px}.flight-summary-compact strong{font-size:15px}.flights-dashboard .real-map.globe-map{height:315px;min-height:295px}.flight-page-live{font-size:9px}.selected-map-route-legend{flex-wrap:wrap}.map-footer{gap:7px}}


/* v7.8 — Logo oficial EXACTO de StarEuropa. No se recrea la estrella ni el wordmark en CSS. */
.sidebar .brand{
  height:228px;
  flex:0 0 228px;
  padding:9px 8px 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-bottom:1px solid #123248;
  background:#000;
}
.sidebar .brand::before{display:none!important}
.sidebar .brand-official-logo{
  display:block;
  width:100%;
  max-width:248px;
  height:auto;
  max-height:210px;
  object-fit:contain;
  flex:0 1 auto;
  filter:none;
  animation:none;
  image-rendering:auto;
}
@media(max-width:1280px){
  .sidebar .brand{height:207px;flex-basis:207px;padding:7px 5px}
  .sidebar .brand-official-logo{max-width:215px;max-height:198px}
}
@media(max-width:740px){
  .sidebar .brand{height:228px;flex-basis:228px;padding:9px 7px}
  .sidebar .brand-official-logo{max-width:248px;max-height:210px}
}


/* v7.9 — Compact official logo + navigation that fits without sidebar scrolling */
.sidebar .brand{height:114px!important;flex:0 0 114px!important;padding:2px 7px 4px!important;background:#000!important}
.sidebar .brand-official-logo{max-width:149px!important;max-height:108px!important;width:100%;height:auto;object-fit:contain}
.sidebar .side-label{padding:12px 16px 8px;font-size:9px}
.sidebar .side-nav{gap:2px;padding:0 10px;overflow-y:visible;flex:none}
.sidebar .nav-item{min-height:37px;padding:0 11px;font-size:12px;gap:10px;border-radius:8px}
.sidebar .nav-ico{font-size:17px;width:23px}
.sidebar .discord-cta-shell{padding:9px 10px 6px}
.sidebar .discord-cta{min-height:50px;padding:8px 9px}
.sidebar .side-bottom{padding:10px 15px}
.sidebar .system-heading{margin-bottom:5px;font-size:9px}
.sidebar .system-row{margin:5px 0;font-size:11px}
.sidebar .side-foot{margin-top:8px;padding-top:7px;line-height:1.4;font-size:9px}
@media(max-height:730px) and (min-width:741px){.sidebar .side-bottom{display:none}.sidebar .discord-cta-shell{margin-top:auto}}
@media(max-height:570px) and (min-width:741px){.sidebar .brand{height:86px!important;flex-basis:86px!important}.sidebar .brand-official-logo{max-height:81px!important;max-width:111px!important}.sidebar .nav-item{min-height:32px}.sidebar .side-label{padding:6px 12px 4px}}
@media(max-width:740px){.sidebar .brand{height:106px!important;flex-basis:106px!important}.sidebar .brand-official-logo{max-height:101px!important;max-width:141px!important}.sidebar .side-bottom{display:none}.sidebar .discord-cta-shell{margin-top:auto}}

/* v7.9 — Public livery catalog: black, ice, cyan and electric blue, brand matched */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.liveries-page{color:#e8faff}
.liveries-hero{position:relative;overflow:hidden;border:1px solid #15516b;border-radius:13px;padding:clamp(22px,3vw,40px);margin-bottom:20px;background:radial-gradient(ellipse at 86% 8%,#0d43615c 0%,transparent 54%),linear-gradient(120deg,#02080f,#071829 80%,#03101b)}
.liveries-hero:after{content:'✦';position:absolute;right:5%;top:-32px;color:#13caef18;font-size:180px;line-height:1;pointer-events:none}
.liveries-hero h1{font:750 clamp(27px,3.1vw,42px)/1.13 var(--display);letter-spacing:-1.2px;margin:3px 0 12px}
.liveries-hero p{font-size:13px;color:#91b8cc;line-height:1.65;max-width:570px;margin:0}
.liveries-hero-metrics{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.liveries-hero-metrics span{font-size:11px;color:#97bed1;display:flex;align-items:baseline;gap:7px}
.liveries-hero-metrics strong{font:750 22px var(--display);color:#43dcff}
.liveries-toolbar{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.livery-search-label{flex:1;display:block;min-width:0}
.livery-search-label .filter-search{width:100%;background:#061b2b}
.liveries-count{font-size:11px;white-space:nowrap;color:#91b6c7}
.livery-aircraft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px}
.livery-aircraft{min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;min-height:153px;border:1px solid #24546a;border-radius:11px;padding:17px;background:linear-gradient(145deg,#0d293b,#071522);color:#eafaff;transition:transform .18s,border-color .18s,box-shadow .18s}
.livery-aircraft:hover,.livery-aircraft.selected{border-color:#00d1fa;box-shadow:inset 3px 0 #12cffa,0 10px 24px #003e5126;transform:translateY(-2px)}
.livery-aircraft-top{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-bottom:17px}
.livery-aircraft-code{font:800 11px var(--display);letter-spacing:.8px;color:#53dcf5}
.livery-count{font-size:9px;color:#c5ddeb;background:#123750;border:1px solid #235675;padding:5px 7px;border-radius:20px;white-space:nowrap}
.livery-aircraft>strong{font:750 16px/1.25 var(--display)}
.livery-aircraft-brand{font-size:11px;color:#91b1c4;margin-top:6px}
.livery-aircraft-open{font:700 11px var(--font);color:#5be0ee;margin-top:auto;padding-top:13px;display:flex;justify-content:space-between}
.livery-detail-panel{margin-top:18px;border:1px solid #1e627b;border-radius:12px;background:#071826;overflow:hidden}
.livery-detail-heading{padding:22px 23px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #26495d}
.livery-detail-heading h2{font:750 clamp(21px,2vw,29px) var(--display);margin:4px 0}
.livery-detail-heading h2 span{font-size:12px;color:#34d5e9;vertical-align:middle}
.livery-detail-heading p{color:#9cb9ca;font-size:12px;margin:0}
.livery-gallery{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.livery-gallery-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid #29475c;border-radius:12px;background:#0e2535}
.livery-photo{position:relative;aspect-ratio:16/9;background:radial-gradient(ellipse at center,#0e3546,#01050c 80%);overflow:hidden}
.livery-photo img{width:100%;height:100%;object-fit:cover;display:block}
.livery-photo-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:#2fc7e1;font-size:48px}
.livery-photo-fallback small{font-size:11px;color:#82a5b7}
.livery-photo-icao{position:absolute;top:10px;left:10px;padding:4px 7px;color:#ddf9ff;font:800 10px var(--display);background:#06141ec9;border-radius:5px;border:1px solid #2d7d94}
.livery-gallery-content{padding:16px;display:flex;flex-direction:column;flex:1}
.livery-gallery-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.livery-gallery-head h3{font:750 16px var(--display);margin:0;line-height:1.3}
.livery-version{font-size:10px;color:#6fe4e8;white-space:nowrap}
.livery-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;font-size:11px;color:#90adc0}
.livery-meta b{color:#e6faff}
.livery-note{font-size:11px;color:#93b3c4;line-height:1.5}
.livery-download{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:linear-gradient(90deg,#057ead,#086dd3);color:white;text-decoration:none;border-radius:8px;font-size:12px;font-weight:700;border:1px solid #20c9e4}
.livery-download:hover{filter:brightness(1.13)}
.livery-no-uploads{display:flex;align-items:center;gap:18px;padding:28px 24px;color:#97b9cc}
.livery-no-uploads-icon{font-size:40px;color:#2cbfe1}
.livery-no-uploads h3{color:#eafaff;font:750 18px var(--display);margin:0 0 6px}
.livery-no-uploads p{font-size:12px;line-height:1.6;margin:0;max-width:470px}
.livery-disclaimer{margin-top:18px;font-size:11px;color:#668b9f;line-height:1.5}
@media(max-width:600px){.livery-aircraft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.livery-aircraft{padding:12px;min-height:140px}.livery-aircraft>strong{font-size:13px}.livery-aircraft-brand{font-size:10px}.livery-detail-heading{padding:16px}.livery-gallery{padding:12px;grid-template-columns:1fr}.livery-no-uploads{padding:20px 12px}.liveries-count{display:none}}

.livery-photo-fallback[hidden]{display:none}

.livery-pending{padding:16px 23px 20px;border-top:1px solid #194056;background:#091c2b;color:#aad7e4}
.livery-pending>strong{font-size:11px;letter-spacing:.3px;color:#b6dce6}
.livery-pending>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.livery-pending-item{display:inline-flex;align-items:center;border:1px solid #255369;border-radius:6px;padding:7px 10px;color:#e0f3fa;font-size:12px;background:#0f293b}
.livery-pending-item small{color:#78b5ca}

/* v7.9.2 — readable navigation with no giant blank lower sidebar */
@media (min-width:741px) and (min-height:740px){
  .sidebar .brand{height:148px!important;flex-basis:148px!important;padding:4px 8px!important}
  .sidebar .brand-official-logo{max-width:189px!important;max-height:140px!important}
  .sidebar .side-label{font-size:10px!important;padding:15px 16px 9px!important;letter-spacing:1.55px}
  .sidebar .side-nav{gap:5px!important;padding:0 10px!important;overflow-y:auto!important;flex:0 1 auto!important}
  .sidebar .nav-item{min-height:47px!important;padding:0 12px!important;font-size:13.5px!important;gap:11px!important}
  .sidebar .nav-ico{font-size:20px!important;width:25px!important}
  .sidebar .discord-cta-shell{padding:13px 10px 9px!important}
  .sidebar .discord-cta{min-height:57px!important;padding:9px 12px!important;font-size:13px!important}
}
@media(min-width:741px) and (min-height:900px){
  .sidebar .brand{height:165px!important;flex-basis:165px!important}
  .sidebar .brand-official-logo{max-height:159px!important;max-width:210px!important}
  .sidebar .nav-item{min-height:52px!important;font-size:14px!important}
  .sidebar .side-nav{gap:7px!important}
}
@media(min-width:741px) and (max-height:739px){
  .sidebar .side-nav{overflow-y:auto!important;flex:0 1 auto!important}
  .sidebar .nav-item{min-height:39px!important;font-size:12.5px!important}
}
/* Real photographs only; never show a generic airplane as a supposed StarEuropa livery. */
.livery-photo-button{display:block;width:100%;border:0;padding:0;text-align:left;color:inherit;cursor:zoom-in}
.livery-photo-button:focus-visible{outline:3px solid #19c8f2;outline-offset:-3px}
.livery-photo-button:hover img{transform:scale(1.04)}
.livery-photo-button img{transition:transform .2s ease}
.livery-photo-zoom{position:absolute;right:9px;bottom:9px;background:#06101fe6;border:1px solid #2c9abb;border-radius:7px;font-size:18px;color:#e9feff;width:31px;height:31px;display:grid;place-items:center}
.livery-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.livery-empty-star{display:block;max-width:72px;max-height:72px;width:35%!important;height:auto!important;object-fit:contain!important;opacity:.7}
.livery-no-photo{color:#9fbed0;font-size:12px;font-weight:600}
.livery-lightbox[hidden]{display:none!important}
.livery-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:clamp(8px,2vw,28px)}
.livery-lightbox-shade{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.livery-lightbox-panel{position:relative;display:flex;flex-direction:column;width:min(1300px,100%);max-height:96vh;background:#050d16;border:1px solid #167c98;border-radius:13px;box-shadow:0 22px 90px #000d;overflow:hidden}
.livery-lightbox-panel>header{display:flex;align-items:center;gap:14px;padding:11px 17px;border-bottom:1px solid #20475a;color:#eafeff}
.livery-lightbox-panel>header>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.livery-lightbox-panel>header strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.livery-lightbox-panel>header small{font-size:11px;color:#9cbacc}
.livery-lightbox-panel>header>span{color:#95b8c8;white-space:nowrap;font-size:11px}
.livery-lb-close{color:white;background:#102c3d;border:1px solid #2d5b75;border-radius:8px;padding:8px 11px;font-size:17px;line-height:1}
.livery-lightbox-picture{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:0;flex:1;overflow:hidden;background:#000}
.livery-lightbox-picture>img{display:block;max-width:100%;max-height:calc(96vh - 114px);margin:auto;object-fit:contain}
.livery-lb-arrow{position:absolute;left:14px;top:50%;transform:translateY(-50%);border:1px solid #3dbddb;color:white;background:#061a2abf;box-shadow:0 0 10px #0008;border-radius:50%;width:42px;height:42px;font-size:19px}
.livery-lb-arrow[data-livery-next]{left:auto;right:14px}
.livery-lightbox-panel>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;color:#97b8c7;font-size:11px}
.livery-lightbox-panel>footer button{background:#0d526e;border:1px solid #2bc1ec;color:#e9ffff;border-radius:7px;padding:8px 12px;cursor:pointer}
body.livery-lightbox-open{overflow:hidden}
@media(max-width:740px){.livery-lightbox-panel>header{padding:10px}.livery-lb-arrow{width:36px;height:36px;left:4px}.livery-lb-arrow[data-livery-next]{right:4px}}
@media(prefers-reduced-motion:reduce){.livery-photo-button img{transition:none}}
