:root{--brand-green:#01742F;--brand-red:#DC001C;--brand-orange:#FF3C00;--brand-teal:#027499;--brand-blue:#0F1E7D;--navy:#0F1E7D;--blue:#027499;--sky:#027499;--gold:#FF3C00;--white:#fff;--ink:#111D4A;--muted:#66748A;--line:#DCE3EC;--border:#DCE3EC;--surface:#F5F7FA;--success:#01742F;--warning:#B83A00;--danger:#DC001C;--shadow:0 18px 50px rgba(15,30,125,.12);--radius:20px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(100% - 32px,var(--max));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:var(--blue)}.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold)}h1,h2,h3{font-family:Montserrat,Inter,sans-serif;line-height:1.12;margin:0 0 18px}h1{font-size:clamp(2.7rem,7vw,6rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em}h3{font-size:1.18rem}.lead{font-size:clamp(1rem,2vw,1.2rem);color:var(--muted);max-width:760px}.section{padding:92px 0}.section.alt{background:var(--surface)}.section-sm{padding:48px 0}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:42px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 21px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:.25s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:var(--navy)}.btn-primary:hover{box-shadow:0 12px 24px rgba(231,180,71,.3)}.btn-outline{border-color:rgba(255,255,255,.55);color:#fff}.btn-outline:hover{background:#fff;color:var(--navy)}.btn-dark{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy);border-color:var(--line)}.btn-danger{background:var(--danger);color:#fff}.topbar{background:#061426;color:#c9d6e5;font-size:.8rem;padding:8px 0}.topbar-inner{display:flex;justify-content:space-between;gap:16px}.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(8,27,53,.08)}.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--navy)}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--sky));display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(8,27,53,.2)}.brand small{display:block;color:var(--muted);font-weight:700;font-size:.62rem;letter-spacing:.12em}.nav-links{display:flex;align-items:center;gap:22px;font-size:.9rem;font-weight:750}.nav-links a:hover,.nav-links a.active{color:var(--blue)}.nav-actions{display:flex;gap:10px}.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem}.hero{min-height:720px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(110deg,rgba(5,20,39,.96),rgba(7,34,66,.82) 48%,rgba(11,77,138,.2)),url('../images/hero-sky.svg') center/cover no-repeat}.hero-grid{min-height:635px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;position:relative;z-index:2}.hero p{max-width:650px;color:#d7e4f1;font-size:1.12rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.flight-panel{background:rgba(255,255,255,.97);color:var(--ink);border-radius:28px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.panel-tabs{display:flex;gap:8px;padding:5px;background:#edf3f8;border-radius:14px;margin-bottom:24px}.panel-tab{flex:1;border:0;padding:10px;border-radius:10px;background:transparent;font-weight:800;color:var(--muted);cursor:pointer}.panel-tab.active{background:#fff;color:var(--navy);box-shadow:0 5px 14px rgba(8,27,53,.08)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field,.form-control{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff}.field label,.form-group label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:5px}.form-control{width:100%;outline:none}.form-control:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(53,167,224,.12)}textarea.form-control{min-height:130px;resize:vertical}.hero-strip{position:absolute;left:0;right:0;bottom:0;background:rgba(6,20,38,.9);backdrop-filter:blur(12px)}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr)}.hero-stat{padding:22px;border-right:1px solid rgba(255,255,255,.12)}.hero-stat strong{display:block;font-size:1.55rem}.hero-stat span{font-size:.78rem;color:#aebed0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;transition:.28s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}.card.compact{padding:20px}.icon-box{width:52px;height:52px;border-radius:16px;background:#eaf5fb;color:var(--blue);display:grid;place-items:center;font-size:1.35rem;margin-bottom:22px}.badge,.status{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(22,134,95,.13);color:var(--success);font-size:.72rem;font-weight:800}.badge.warning{background:rgba(181,121,22,.13);color:var(--warning)}.badge.blue{background:rgba(11,77,138,.12);color:var(--blue)}.badge.danger{background:rgba(183,59,75,.12);color:var(--danger)}.route-board{background:var(--navy);color:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.route-row{display:grid;grid-template-columns:1fr auto 1fr 1fr auto;gap:18px;align-items:center;padding:22px 26px;border-bottom:1px solid rgba(255,255,255,.1)}.route-code{font-size:1.5rem;font-weight:900}.route-meta{font-size:.78rem;color:#9fb2c8}.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.aircraft{overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--line)}.aircraft-visual{height:210px;background:linear-gradient(150deg,#dff4ff,#a9d6ed);display:grid;place-items:center}.aircraft-visual img{width:88%;filter:drop-shadow(0 18px 12px rgba(8,27,53,.18))}.aircraft-body{padding:24px}.specs{display:flex;flex-wrap:wrap;gap:15px;color:var(--muted);font-size:.82rem}.cta{background:linear-gradient(110deg,var(--navy),var(--blue));color:#fff;border-radius:32px;padding:58px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.footer{background:#061426;color:#b9c8d9;padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}.footer h3{color:#fff}.footer a{display:block;margin:9px 0;font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem}.page-hero{padding:95px 0 76px;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff}.page-hero h1{font-size:clamp(2.7rem,6vw,5rem)}.table-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.table-tools .form-control{max-width:260px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:790px}.data-table th,.data-table td{padding:15px 17px;text-align:left;border-bottom:1px solid var(--line)}.data-table th{background:#edf3f8;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table tbody tr:hover{background:#f8fbfd}.empty-state{text-align:center;padding:36px;color:var(--muted)}.dashboard{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#07182d;color:#dce8f5;padding:28px 20px;position:sticky;top:0;height:100vh}.sidebar a{display:flex;padding:11px 14px;border-radius:10px;margin:4px 0;cursor:pointer}.sidebar a.active,.sidebar a:hover{background:rgba(255,255,255,.09);color:#fff}.dash-content{padding:38px;background:#f4f7fa;min-width:0}.dash-section{display:none}.dash-section.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.kpi strong{display:block;font-size:1.75rem}.chart{height:220px;background:linear-gradient(180deg,rgba(53,167,224,.18),rgba(53,167,224,0));border-bottom:2px solid var(--sky);clip-path:polygon(0 70%,10% 62%,20% 68%,30% 38%,42% 52%,55% 24%,68% 41%,80% 18%,90% 28%,100% 8%,100% 100%,0 100%)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{padding:14px 16px;border-radius:14px;background:#eaf5fb;color:var(--blue);margin:14px 0}.notice.success{background:#eaf7f2;color:var(--success)}.notice.warning{background:#fff7e6;color:var(--warning)}.modal{position:fixed;inset:0;background:rgba(4,15,29,.65);display:none;place-items:center;padding:20px;z-index:100}.modal.open{display:grid}.modal-card{background:#fff;border-radius:22px;padding:28px;width:min(100%,560px);box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;gap:20px}.close-modal{border:0;background:transparent;font-size:1.5rem;cursor:pointer}.toast{position:fixed;right:20px;bottom:20px;background:var(--navy);color:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;z-index:120}.toast.show{opacity:1;transform:none}.news-card time{font-size:.78rem;color:var(--muted)}.progress{height:8px;background:#e5edf4;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--sky)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.tab-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;font-weight:750;cursor:pointer}.tab-btn.active{background:var(--navy);color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.map-placeholder{min-height:390px;border-radius:24px;background:radial-gradient(circle at 35% 35%,rgba(53,167,224,.35),transparent 20%),linear-gradient(135deg,#dceefa,#a8cee2);position:relative;overflow:hidden}.map-placeholder:after{content:"MAD  •  MUC  •  CMB  •  LIM  •  EZE";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;letter-spacing:.18em;color:rgba(7,26,51,.65);padding:20px;text-align:center}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-visual{background:linear-gradient(130deg,rgba(5,20,39,.92),rgba(11,77,138,.6)),url('../images/hero-sky.svg') center/cover;color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.auth-panel{display:grid;place-items:center;padding:40px}.auth-card{width:min(100%,470px)}
@media(max-width:980px){.nav-links,.nav-actions{display:none}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr;padding:70px 0 150px}.hero-stats{grid-template-columns:repeat(2,1fr)}.card-grid,.fleet-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.dashboard{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.auth-wrap{grid-template-columns:1fr}.auth-visual{min-height:330px}}
@media(max-width:640px){.section{padding:68px 0}.topbar{display:none}.nav-inner{height:68px}.hero{min-height:930px}.field-grid,.card-grid,.fleet-grid,.kpi-grid,.form-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr 1fr}.hero-stat{padding:14px}.section-head,.cta,.footer-bottom{align-items:flex-start;flex-direction:column}.route-row{grid-template-columns:1fr auto 1fr}.route-row>*:nth-child(4){display:none}.footer-grid{grid-template-columns:1fr}.cta{padding:36px 26px}.dash-content{padding:24px 16px}.sidebar{padding:20px}.auth-visual{padding:35px 24px}.auth-panel{padding:30px 16px}}


/* Responsive hardening and detailed fleet / map modules */
body{overflow-x:hidden}.nav-inner,.section-head,.cta,.footer-bottom{min-width:0}.brand span:last-child{min-width:0}.mobile-open{z-index:80}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px}.spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.spec-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.spec-card small{display:block;color:var(--muted);font-weight:700}.spec-card strong{display:block;font-size:1.2rem;color:var(--navy)}.fleet-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}.fleet-summary .kpi{height:100%}.aircraft-detail{display:grid;grid-template-columns:280px 1fr;gap:26px;align-items:center}.aircraft-detail+.aircraft-detail{margin-top:24px}.aircraft-detail .aircraft-visual{border-radius:18px;height:220px}.aircraft-table{min-width:980px}.source-note{font-size:.82rem;color:var(--muted);margin-top:18px}.airport-hero-card{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:28px;padding:34px}.airport-code{font-size:clamp(4rem,11vw,8rem);line-height:.85;font-weight:900;letter-spacing:-.08em}.airport-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.airport-fact{padding:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:15px}.airport-fact small{display:block;color:#bfd0e2}.runway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.runway-card{border-left:4px solid var(--gold)}.route-map{height:580px;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#dceefa}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.route-list{max-height:580px;overflow:auto;padding-right:4px}.route-item{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;margin-bottom:10px;cursor:pointer;transition:.2s}.route-item:hover,.route-item.active{border-color:var(--sky);box-shadow:0 8px 22px rgba(11,77,138,.12);transform:translateY(-1px)}.route-item strong{display:block;color:var(--navy)}.route-item span{font-size:.82rem;color:var(--muted)}.leaflet-popup-content{font-family:Inter,system-ui,sans-serif}.mobile-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-scroll>*{min-width:max-content}
@media(max-width:1100px){.map-layout{grid-template-columns:1fr}.route-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-item{margin:0}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.detail-grid,.aircraft-detail{grid-template-columns:1fr}.aircraft-detail .aircraft-visual{height:200px}.airport-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links.mobile-open{display:flex!important}.nav-links.mobile-open a{width:100%;padding:10px 4px}.route-map{height:500px}}
@media(max-width:700px){h1{font-size:clamp(2.3rem,13vw,4rem)}h2{font-size:clamp(1.8rem,9vw,2.7rem)}.container{width:min(100% - 24px,var(--max))}.page-hero{padding:72px 0 58px}.fleet-summary,.airport-facts,.runway-grid,.route-list{grid-template-columns:1fr}.spec-grid{grid-template-columns:1fr 1fr}.route-map{height:430px;border-radius:18px}.airport-hero-card{padding:25px}.card,.aircraft-body{padding:20px}.btn{width:100%}.hero-actions .btn,.nav-actions .btn,.table-tools .btn{width:auto}.table-tools .form-control{max-width:none;flex:1 1 100%}.data-table th,.data-table td{white-space:nowrap}.footer{padding-top:54px}.auth-card{width:100%}}
@media(max-width:420px){.spec-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr}.hero-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:40px;height:40px}.brand{font-size:.88rem}.route-map{height:380px}}


/* Uniform badges, realistic operational states and airport board */
:root{--status-w:132px;--status-h:38px}
.status,.badge,.rank-badge,.flight-status{display:inline-flex;align-items:center;justify-content:center;min-width:var(--status-w);height:var(--status-h);padding:0 14px;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1;text-align:center;white-space:nowrap;letter-spacing:.01em;border:1px solid transparent;vertical-align:middle}
.status[data-status="scheduled"],.status-scheduled{background:#dcecff;color:#14538b;border-color:#bed8f1}
.status[data-status="boarding"],.status-boarding{background:#fff0d2;color:#985d00;border-color:#efd08a}
.status[data-status="departed"],.status[data-status="enroute"],.status-enroute{background:#d9f5e8;color:#0d744d;border-color:#afe4cc}
.status[data-status="landed"],.status-landed{background:#e6eef7;color:#344f6a;border-color:#cad8e6}
.status[data-status="delayed"],.status-delayed{background:#ffe2bf;color:#9c4d00;border-color:#f4bd78}
.status[data-status="cancelled"],.status-cancelled{background:#ffe0e4;color:#a32135;border-color:#f1b8c0}
.status[data-status="diverted"],.status-diverted{background:#f1e5ff;color:#6c2d9f;border-color:#d9bdf2}
.status[data-status="available"],.status-available{background:#e4f4ef;color:#176c55;border-color:#c2e4d9}
.status[data-status="maintenance"],.status-maintenance,.badge.warning{background:#fff0d2;color:#8b5600;border-color:#efd08a}
.badge.blue{background:#e3eef8;color:#0b4d8a;border-color:#c6dcec}
.data-table td:last-child .btn,.table-tools .btn{min-height:42px}
.airport-board-section{background:linear-gradient(180deg,#f4f7fa 0,#eef3f8 100%)}
.board-live{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--success)}.live-dot{width:10px;height:10px;border-radius:50%;background:#20bd78;box-shadow:0 0 0 0 rgba(32,189,120,.5);animation:livePulse 1.8s infinite}
.airport-board{overflow:hidden;border-radius:24px;background:#06172c;color:#eef6ff;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(4,20,39,.24);font-variant-numeric:tabular-nums}
.board-top{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 26px;background:linear-gradient(90deg,#041327,#0a3159);border-bottom:1px solid rgba(255,255,255,.1)}
.board-top strong{display:block;font:800 clamp(1.05rem,2vw,1.45rem)/1.2 Montserrat,Inter,sans-serif;letter-spacing:.08em}.board-kicker{font-size:.68rem;color:#e8b74d;letter-spacing:.18em;font-weight:800}.board-clock{text-align:right}.board-clock span,.board-clock small{display:block;color:#9eb6ce;font-size:.72rem}.board-clock time{display:block;font-size:1.55rem;font-weight:900;color:#fff}
.board-head,.board-row{display:grid;grid-template-columns:90px 100px minmax(220px,1.8fr) 110px var(--status-w);gap:14px;align-items:center;padding:0 26px}.board-head{height:46px;color:#8da8c3;background:#081d36;font-size:.67rem;font-weight:800;letter-spacing:.12em}.board-row{min-height:72px;border-top:1px solid rgba(255,255,255,.075);transition:background .25s ease,opacity .25s ease}.board-row:hover{background:rgba(255,255,255,.035)}.board-row.is-updating{animation:rowFlip .55s ease}.board-time,.board-flight{font-size:1rem;font-weight:900}.board-destination strong{display:block;color:#fff}.board-destination small,.board-aircraft{color:#9eb6ce}.board-footer{display:flex;justify-content:space-between;gap:20px;padding:12px 26px;background:#041327;color:#7893af;font-size:.7rem}.board-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
@keyframes livePulse{70%{box-shadow:0 0 0 10px rgba(32,189,120,0)}100%{box-shadow:0 0 0 0 rgba(32,189,120,0)}}@keyframes rowFlip{0%{opacity:.35;transform:translateY(-5px)}100%{opacity:1;transform:none}}
@media(max-width:850px){.board-head{display:none}.board-row{grid-template-columns:78px 80px minmax(150px,1fr) var(--status-w);gap:10px;padding:14px 18px}.board-aircraft{display:none}.board-top{padding:18px}.board-footer{padding:11px 18px}.board-actions{justify-content:stretch}.board-actions .btn{flex:1}}
@media(max-width:560px){:root{--status-w:112px;--status-h:36px}.status,.badge,.rank-badge,.flight-status{font-size:.71rem;padding-inline:10px}.board-top{align-items:flex-start}.board-clock time{font-size:1.2rem}.board-row{grid-template-columns:60px 1fr var(--status-w);min-height:86px}.board-flight{display:none}.board-destination{min-width:0}.board-destination strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-footer{flex-direction:column;gap:2px}.board-actions{flex-direction:column}.board-actions .btn{width:100%}.route-row .status{justify-self:end}}

/* Admission workflow and timed theory exam */
.admission-section{background:linear-gradient(180deg,#f5f8fb 0,#fff 55%)}
.admission-steps{display:flex;align-items:center;justify-content:center;max-width:760px;margin:0 auto 48px}.admission-step{display:flex;align-items:center;gap:10px;color:#8193a5;white-space:nowrap}.admission-step span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e2e9f0;color:#5c7185;font-weight:900;border:2px solid transparent}.admission-step strong{font-size:.86rem}.admission-step.active{color:var(--navy)}.admission-step.active span{background:var(--navy);color:#fff;box-shadow:0 0 0 6px rgba(7,35,65,.09)}.admission-step.complete{color:var(--success)}.admission-step.complete span{background:var(--success);color:#fff}.admission-line{height:2px;background:#dce4ec;flex:1;margin:0 18px;min-width:30px}
.admission-panel{display:none}.admission-panel.active{display:block;animation:admissionIn .35s ease}.admission-intro{align-items:start}.requirements-list{display:grid;gap:12px;margin:24px 0}.requirements-list>div{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.requirements-list strong{color:var(--navy)}.requirements-list span{color:var(--muted);text-align:right;font-size:.87rem}.application-form{padding:30px}.form-span-2{grid-column:1/-1}.check-row{display:flex;align-items:flex-start;gap:12px;font-weight:600;line-height:1.45}.check-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue);flex:0 0 auto}.form-feedback{min-height:24px;color:#a32135;font-size:.85rem;font-weight:700;margin-top:8px}.admission-submit{width:100%;margin-top:8px}
.exam-shell{max-width:900px;margin:auto}.exam-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}.exam-header h2{margin-bottom:0}.exam-timer{min-width:150px;padding:14px 18px;background:var(--navy);color:#fff;border-radius:16px;text-align:center;box-shadow:var(--shadow)}.exam-timer span{display:block;color:#9eb6ce;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.exam-timer strong{display:block;font-size:1.65rem;font-variant-numeric:tabular-nums}.exam-timer.warning{background:#8e3b00;animation:timerPulse 1s infinite}.exam-progress-meta{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.82rem;font-weight:700}.exam-progress{height:8px;background:#dce5ed;border-radius:999px;overflow:hidden;margin:10px 0 24px}.exam-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--gold));border-radius:inherit;transition:width .3s ease}.exam-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,46px);box-shadow:var(--shadow)}.exam-topic{display:inline-flex;padding:7px 12px;background:#e5eef7;color:var(--blue);border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.exam-card h3{font:800 clamp(1.35rem,3vw,2rem)/1.3 Montserrat,Inter,sans-serif;color:var(--navy);margin:20px 0 28px}.exam-options{display:grid;gap:12px}.exam-option{width:100%;display:flex;align-items:center;gap:16px;text-align:left;border:1px solid var(--line);background:#f9fbfd;border-radius:15px;padding:15px 18px;cursor:pointer;color:var(--text);transition:.2s}.exam-option:hover{border-color:#92b6d7;transform:translateY(-1px)}.exam-option span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e2eaf2;color:var(--navy);font-weight:900;flex:0 0 auto}.exam-option strong{font-size:.94rem}.exam-option.selected{border-color:var(--blue);background:#eaf4fd;box-shadow:0 0 0 3px rgba(11,77,138,.1)}.exam-option.selected span{background:var(--blue);color:#fff}.exam-actions{display:flex;justify-content:flex-end;margin-top:28px}.exam-actions .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.result-card{max-width:760px;margin:auto;text-align:center;padding:clamp(32px,6vw,64px)}.result-icon{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;margin:0 auto 22px;font-size:2.6rem;font-weight:900}.result-card.passed .result-icon{background:#d9f5e8;color:#0d744d}.result-card.failed .result-icon{background:#ffe0e4;color:#a32135}.result-score{font:900 clamp(2.4rem,8vw,4.5rem)/1 Montserrat,Inter,sans-serif;color:var(--navy);margin:22px 0}.notification-state{margin:26px auto;max-width:580px}.notification-loading,.notification-success,.notification-error,.notification-muted{display:block;border-radius:12px;padding:13px 16px;font-size:.85rem;font-weight:800}.notification-loading{background:#e9f2fb;color:#14538b}.notification-success{background:#d9f5e8;color:#0d744d}.notification-error{background:#ffe8d0;color:#8e3b00}.notification-muted{background:#eef2f5;color:#5d7184}.result-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}
.aircraft-visual img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.aircraft-visual{overflow:hidden;background:#dceefa}
@keyframes admissionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes timerPulse{50%{box-shadow:0 0 0 7px rgba(173,76,0,.12)}}
@media(max-width:700px){.admission-steps{margin-bottom:34px}.admission-step{flex-direction:column;gap:7px}.admission-step strong{font-size:.68rem}.admission-line{margin:0 8px}.exam-header{align-items:stretch;flex-direction:column}.exam-timer{display:flex;align-items:center;justify-content:space-between;text-align:left}.exam-timer span,.exam-timer strong{display:inline}.exam-progress-meta{flex-direction:column;gap:4px}.exam-card{padding:22px 17px}.exam-option{padding:13px 12px}.exam-actions .btn{width:100%}.requirements-list>div{flex-direction:column;gap:5px}.requirements-list span{text-align:left}.result-actions{flex-direction:column}.result-actions .btn{width:100%}}
@media(max-width:440px){.admission-step strong{display:none}.admission-line{min-width:14px}.application-form{padding:20px 16px}.exam-option strong{font-size:.84rem}.exam-option span{width:30px;height:30px}.result-card{padding:30px 18px}}

/* Ajustes de flota: imágenes reemplazables y responsivas */
.aircraft-detail .aircraft-visual{position:relative;aspect-ratio:16/9;height:auto;min-height:220px;display:grid;place-items:center;padding:18px;background:linear-gradient(145deg,#edf5fb,#d8e8f4);border:1px solid var(--line)}
.aircraft-detail .aircraft-visual img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;border-radius:12px}
.aircraft-detail .aircraft-visual figcaption{position:absolute;left:12px;right:12px;bottom:10px;padding:7px 10px;border-radius:9px;background:rgba(7,26,51,.78);color:#fff;font-size:.68rem;text-align:center;opacity:0;transform:translateY(5px);transition:.2s}
.aircraft-detail .aircraft-visual:hover figcaption{opacity:1;transform:none}
.aircraft-table th:nth-child(4){min-width:120px}
@media(max-width:700px){.aircraft-detail .aircraft-visual{min-height:180px;padding:12px}.aircraft-detail .aircraft-visual figcaption{display:none}}

/* Ajuste final de la galería de flota */
.aircraft-detail{grid-template-columns:minmax(300px,38%) minmax(0,1fr);align-items:center;overflow:hidden}
.aircraft-detail>div{min-width:0}
.aircraft-detail h2{font-size:clamp(2rem,4vw,4rem);overflow-wrap:anywhere}
.aircraft-detail .aircraft-visual{width:100%;max-width:560px;aspect-ratio:16/9;min-height:0;padding:0;background:#dfeaf2;border-radius:20px;overflow:hidden}
.aircraft-detail .aircraft-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none;border-radius:0}
.aircraft-detail .aircraft-visual figcaption{opacity:1;transform:none;left:10px;right:10px;bottom:10px;background:rgba(7,26,51,.76);backdrop-filter:blur(4px)}
@media(max-width:980px){.aircraft-detail{grid-template-columns:1fr}.aircraft-detail .aircraft-visual{max-width:none}.aircraft-detail h2{font-size:clamp(2rem,8vw,3.5rem)}}
@media(max-width:700px){.aircraft-detail{padding:18px}.aircraft-detail .aircraft-visual{aspect-ratio:4/3}.aircraft-detail .aircraft-visual figcaption{display:block;font-size:.62rem}}

/* Fleet layout correction — balanced on desktop, tablet and mobile */
.aircraft-detail{
  display:grid;
  grid-template-columns:minmax(280px,400px) minmax(0,1fr);
  gap:clamp(24px,3vw,44px);
  align-items:center;
  overflow:hidden;
}
.aircraft-detail>div{min-width:0;width:100%}
.aircraft-detail h2{
  font-size:clamp(2rem,3.6vw,3.65rem);
  line-height:1.02;
  overflow-wrap:normal;
  word-break:normal;
}
.aircraft-detail .aircraft-visual{
  width:100%;
  max-width:400px;
  min-height:0;
  aspect-ratio:auto;
  margin:0 auto;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:9px;
  align-self:center;
  background:linear-gradient(145deg,#edf5fb,#d8e8f4);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
}
.aircraft-detail .aircraft-visual img{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
  border-radius:13px;
  display:block;
}
.aircraft-detail .aircraft-visual figcaption{
  position:static;
  inset:auto;
  width:100%;
  padding:7px 10px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  font-size:.68rem;
  line-height:1.35;
  text-align:center;
  opacity:1;
  transform:none;
  backdrop-filter:none;
}
.aircraft-detail .spec-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.aircraft-detail .spec-card{min-width:0}
.aircraft-detail .spec-card strong{overflow-wrap:anywhere}

@media (max-width:1050px){
  .aircraft-detail{
    grid-template-columns:minmax(250px,340px) minmax(0,1fr);
    gap:24px;
  }
  .aircraft-detail .aircraft-visual{max-width:340px}
  .aircraft-detail .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aircraft-detail h2{font-size:clamp(2rem,4.5vw,3rem)}
}

@media (max-width:820px){
  .aircraft-detail{
    grid-template-columns:1fr;
    align-items:start;
  }
  .aircraft-detail .aircraft-visual{
    max-width:560px;
    width:min(100%,560px);
  }
  .aircraft-detail h2{font-size:clamp(2rem,7vw,3.25rem)}
}

@media (max-width:560px){
  .aircraft-detail{padding:16px;gap:20px}
  .aircraft-detail .aircraft-visual{
    width:100%;
    max-width:none;
    padding:8px;
    border-radius:16px;
  }
  .aircraft-detail .aircraft-visual img{
    aspect-ratio:4/3;
    border-radius:11px;
  }
  .aircraft-detail .aircraft-visual figcaption{
    display:block;
    font-size:.6rem;
    padding:6px 8px;
  }
  .aircraft-detail .spec-grid{grid-template-columns:1fr}
  .aircraft-detail h2{font-size:clamp(1.9rem,11vw,2.65rem)}
  .aircraft-detail p{font-size:.96rem}
}

/* Route detail card: responsive and ready for operational database data binding */
.route-details-btn{min-width:158px;white-space:nowrap}
.route-modal{padding:clamp(12px,3vw,28px);overflow-y:auto;align-items:center}
.route-modal.open{display:grid}
.route-detail-card{width:min(100%,900px);max-height:min(90vh,880px);overflow:auto;padding:clamp(20px,3vw,36px)}
.route-modal-head{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}
.route-modal-head h2{font-size:clamp(1.75rem,4vw,2.65rem);margin:6px 0 0}
.route-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;border-radius:22px;padding:clamp(20px,3vw,30px);margin-bottom:22px}
.route-airport{text-align:left;min-width:0}.route-airport.destination{text-align:right}.route-airport-code{display:block;font-family:Montserrat,Inter,sans-serif;font-size:clamp(2rem,6vw,3.7rem);font-weight:900;line-height:1}.route-airport-name{display:block;margin-top:8px;color:#d9e6f3;font-size:.88rem;overflow-wrap:anywhere}.route-line{text-align:center;min-width:120px}.route-line strong{display:block;font-size:1rem}.route-line span{display:block;color:var(--gold);font-size:1.45rem;letter-spacing:.18em}.route-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.route-detail-item{border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0;background:#fff}.route-detail-item small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;margin-bottom:5px}.route-detail-item strong{display:block;font-size:1rem;overflow-wrap:anywhere}.route-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}
body.modal-lock{overflow:hidden}
@media (max-width:900px){.route-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-table .route-details-btn{min-width:145px}}
@media (max-width:700px){
  .section{padding:64px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:28px}.table-tools{display:grid;grid-template-columns:1fr}.table-tools .form-control{max-width:none}.table-tools .btn{width:100%}
  .table-wrap.routes-table{overflow:visible;border:0;background:transparent}.routes-table .data-table{min-width:0}.routes-table thead{display:none}.routes-table tbody,.routes-table tr,.routes-table td{display:block;width:100%}.routes-table tr{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;margin-bottom:14px}.routes-table td{border:0;padding:7px 0;display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;align-items:center}.routes-table td::before{content:attr(data-label);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.routes-table td:last-child{display:block;padding-top:13px}.routes-table td:last-child::before{display:none}.routes-table .route-details-btn{width:100%;min-width:0}
  .route-summary{grid-template-columns:1fr;gap:14px;text-align:center}.route-airport,.route-airport.destination{text-align:center}.route-line{min-width:0}.route-line span{transform:rotate(90deg);display:inline-block}.route-detail-grid{grid-template-columns:1fr}.route-modal-actions .btn{flex:1 1 100%}
}
@media (max-width:420px){.container{width:min(100% - 22px,var(--max))}.route-detail-card{padding:18px;border-radius:18px}.route-modal-head{gap:10px}.route-modal-head h2{font-size:1.7rem}.close-modal{min-width:44px;min-height:44px}.route-detail-item{padding:14px}}

/* Flight board: operational database pilot and aircraft assignment fields */
.board-head,.board-row{grid-template-columns:76px 86px minmax(180px,1.45fr) 78px 104px minmax(145px,1fr) var(--status-w);gap:12px}
.board-registration{font-weight:800;color:#d8e8f7;letter-spacing:.035em}
.board-pilot{min-width:0}
.board-pilot strong{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}
.board-pilot small{display:block;margin-top:3px;color:#8fa9c2;font-size:.72rem;font-weight:700;letter-spacing:.04em}
@media(max-width:1100px){
 .board-head,.board-row{grid-template-columns:70px 80px minmax(170px,1.35fr) 72px 95px minmax(130px,1fr) var(--status-w);gap:9px;padding-inline:18px}
 .board-pilot strong{font-size:.8rem}
}
@media(max-width:850px){
 .board-row{grid-template-columns:70px minmax(145px,1fr) minmax(120px,.85fr) var(--status-w);grid-template-areas:"time destination pilot status";gap:12px;padding:14px 18px}
 .board-time{grid-area:time}.board-destination{grid-area:destination}.board-pilot{grid-area:pilot}.board-row .status{grid-area:status}
 .board-flight,.board-aircraft,.board-registration{display:none}
}
@media(max-width:620px){
 .board-row{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"time status" "destination destination" "pilot pilot";gap:10px 14px;min-height:0;padding:16px}
 .board-time{align-self:center}.board-row .status{justify-self:end}
 .board-destination strong{white-space:normal}.board-pilot{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
 .board-pilot strong{white-space:normal;font-size:.86rem}.board-pilot small{font-size:.7rem}
}

@media(max-width:980px){.nav-actions{display:none}}
@media(max-width:480px){.brand span:last-child{font-size:.83rem}}

/* Pantalla de salidas: nombre e inicial del apellido */
.board-head,.board-row{grid-template-columns:70px 80px minmax(180px,1.45fr) 68px 92px minmax(130px,.95fr) var(--status-w);gap:10px}
.board-pilot{min-width:0}.board-pilot strong{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}
@media(max-width:1180px){.board-head,.board-row{grid-template-columns:66px 76px minmax(160px,1.35fr) 62px 84px minmax(115px,.9fr) var(--status-w);gap:8px;padding-inline:16px}.board-pilot strong{font-size:.79rem}}
@media(max-width:900px){.board-head{display:none}.board-row{grid-template-columns:68px minmax(150px,1fr) minmax(105px,.72fr) 74px var(--status-w);grid-template-areas:"time destination pilot pilotid status";gap:11px;padding:14px 18px}.board-time{grid-area:time}.board-destination{grid-area:destination}.board-pilot{grid-area:pilot}.board-pilot-id{grid-area:pilotid}.board-row .status{grid-area:status}.board-flight,.board-aircraft,.board-registration{display:none}}
@media(max-width:620px){.board-row{grid-template-columns:1fr auto;grid-template-areas:"time status" "destination destination" "pilot pilotid";gap:10px 12px;padding:16px}.board-pilot,.board-pilot-id{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.board-pilot-id{text-align:right;align-self:end}.board-destination strong{white-space:normal}.board-pilot strong{white-space:normal}}

/* Final flight-board layout: ID removed; pilot name remains a dedicated field. */
.board-head,.board-row{grid-template-columns:70px 82px minmax(175px,1.45fr) 72px 98px minmax(130px,1fr) var(--status-w);gap:11px}
.board-pilot-id{display:none!important}
@media(max-width:1180px){.board-head,.board-row{grid-template-columns:64px 72px minmax(145px,1.3fr) 62px 82px minmax(104px,.9fr) var(--status-w);gap:8px;padding-inline:16px}}
@media(max-width:900px){.board-head{display:none}.board-row{grid-template-columns:68px minmax(145px,1fr) minmax(105px,.75fr) var(--status-w);grid-template-areas:"time destination pilot status";gap:11px;padding:14px 18px}.board-time{grid-area:time}.board-destination{grid-area:destination}.board-pilot{grid-area:pilot}.board-row .status{grid-area:status}.board-flight,.board-aircraft,.board-registration{display:none}}
@media(max-width:620px){.board-row{grid-template-columns:1fr auto;grid-template-areas:"time status" "destination destination" "pilot pilot";gap:10px 12px;padding:16px}.board-pilot{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.board-pilot strong{white-space:normal}}

/* PayPal support banner */
.donation-section{padding-top:42px;padding-bottom:42px;background:linear-gradient(135deg,#eef5fb,#fff8e8)}
.donation-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(24px,4vw,42px);border:1px solid rgba(16,65,107,.14);border-radius:26px;background:#fff;box-shadow:0 18px 55px rgba(6,34,63,.09)}
.donation-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:linear-gradient(145deg,#073968,#159bd1);color:#fff;font-size:1.8rem;box-shadow:0 12px 28px rgba(7,57,104,.2)}
.donation-copy h2{margin:4px 0 8px;font-size:clamp(1.55rem,3vw,2.35rem)}.donation-copy p{margin:0 0 8px;color:var(--muted);max-width:760px}.donation-copy small{color:#6c7d8f}
.btn-paypal{background:#ffc439;color:#102b4e;border-color:#ffc439;min-width:190px}.btn-paypal:hover{background:#f5b81d;transform:translateY(-2px)}
@media(max-width:820px){.donation-banner{grid-template-columns:auto 1fr}.donation-banner .btn-paypal{grid-column:1/-1;width:100%}}
@media(max-width:520px){.donation-banner{grid-template-columns:1fr;text-align:center}.donation-icon{margin-inline:auto}.donation-copy p{font-size:.94rem}}


/* Donación compacta integrada en el footer */
.footer-grid{align-items:start}
.footer-donation{margin-top:22px;max-width:360px;padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 16px 36px rgba(0,0,0,.13)}
.footer-donation-eyebrow{display:block;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}
.footer-donation h3{color:#fff;font-size:1rem;line-height:1.35;margin:0 0 8px}
.footer-donation p{color:#b9c9da!important;font-size:.82rem;line-height:1.55;margin:0 0 14px!important}
.footer-donation small{display:block;color:#839bb2;font-size:.68rem;margin-top:9px}
.footer-paypal{width:100%;min-width:0;min-height:42px;padding:10px 14px;font-size:.79rem}
@media(max-width:760px){.footer-donation{max-width:none}.footer-grid>div:first-child{grid-column:1/-1}}

/* Página Sobre la aerolínea */
.page-hero p{max-width:760px;color:#d5e2ef;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65;margin-top:18px}
.about-story-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:24px;align-items:stretch}
.about-story{padding:clamp(24px,4vw,42px)}
.about-story p{font-size:1rem;line-height:1.75;color:var(--muted)}
.about-highlight{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,4vw,42px);border-radius:24px;background:linear-gradient(145deg,var(--navy),#0d4f82);color:#fff;box-shadow:var(--shadow)}
.about-highlight span{color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.about-highlight strong{font:900 clamp(2rem,5vw,3.5rem)/1 Montserrat,Inter,sans-serif;margin:12px 0}
.about-highlight p{color:#d8e6f3;line-height:1.6;margin-bottom:22px}
.about-pillars{background:#f3f7fa}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pillar-card{padding:clamp(24px,4vw,38px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(6,34,63,.06)}
.pillar-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e7f1fa;color:var(--blue);font-size:1.35rem;margin-bottom:22px}
.pillar-card h3{font-size:1.25rem;margin-bottom:12px}.pillar-card p{color:var(--muted);line-height:1.7;margin:0}
.about-values{align-items:start}.values-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.values-list article{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}
.values-list strong{display:block;color:var(--navy);margin-bottom:7px}.values-list span{display:block;color:var(--muted);font-size:.9rem;line-height:1.55}
.about-commitment{padding-top:20px}
@media(max-width:900px){.about-story-grid{grid-template-columns:1fr}.pillar-grid{grid-template-columns:1fr}.values-list{grid-template-columns:1fr}}
@media(max-width:560px){.about-story,.about-highlight,.pillar-card{padding:22px}.about-highlight strong{font-size:2.25rem}.footer-donation{padding:17px}}


/* Accordion de valores */
.values-accordion-section{overflow:hidden}
.about-values{align-items:start;gap:clamp(32px,6vw,88px)}
.values-intro{position:sticky;top:120px}
.values-accordion{display:grid;gap:12px;min-width:0}
.value-accordion-item{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.value-accordion-item:hover{border-color:#bed2e7;box-shadow:0 12px 28px rgba(8,39,74,.07)}
.value-accordion-item[open]{border-color:#a9c9e6;box-shadow:0 16px 36px rgba(8,39,74,.09)}
.value-accordion-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;list-style:none;color:var(--navy);font-weight:800;font-size:1rem;user-select:none}
.value-accordion-item summary::-webkit-details-marker{display:none}
.accordion-indicator{position:relative;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#edf5fc}
.accordion-indicator::before,.accordion-indicator::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#07508d;border-radius:2px;transform:translate(-50%,-50%);transition:transform .2s ease}
.accordion-indicator::after{transform:translate(-50%,-50%) rotate(90deg)}
.value-accordion-item[open] .accordion-indicator::after{transform:translate(-50%,-50%) rotate(0deg)}
.value-accordion-content{padding:0 22px 20px;color:var(--muted);line-height:1.65}
.value-accordion-content p{margin:0}

/* Donación integrada como una columna del footer */
.footer-grid{align-items:start}
.footer-donation-column{min-width:0}
.footer-donation-column h3{margin:0 0 13px;color:#fff;font-size:.98rem}
.footer-donation-column>p{margin:0 0 8px!important;color:#fff!important;font-weight:700;font-size:.9rem;line-height:1.45}
.footer-donation-copy{display:block;color:#9fb3c8;font-size:.79rem;line-height:1.55;margin-bottom:12px}
.footer-donation-link{display:inline-flex!important;align-items:center;min-height:auto!important;margin:0 0 7px;color:var(--gold)!important;font-weight:800;font-size:.8rem;line-height:1.35}
.footer-donation-link:hover{color:#ffd36b!important;transform:translateX(2px)}
.footer-donation-column small{display:block;color:#758da5;font-size:.66rem;line-height:1.4}
.footer-donation{display:none!important}

@media(max-width:900px){.values-intro{position:static}.about-values{grid-template-columns:1fr}.values-accordion{width:100%}}
@media(max-width:760px){.footer-grid>div:first-child{grid-column:auto}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}.value-accordion-item summary{padding:17px 18px}.value-accordion-content{padding:0 18px 17px}.accordion-indicator{flex-basis:26px;width:26px;height:26px}}

/* Footer PayPal CTA: botón compacto, equilibrado con las demás columnas */
.footer-donation-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:auto;
  max-width:100%;
  min-height:42px!important;
  padding:10px 18px;
  margin:3px 0 8px;
  border:1px solid #ffc43a;
  border-radius:999px;
  background:linear-gradient(135deg,#ffca45,#f3ad19);
  color:#071d35!important;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  text-align:center;
  box-shadow:0 8px 20px rgba(243,173,25,.18);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.footer-donation-link:hover{
  color:#071d35!important;
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(243,173,25,.26);
  filter:brightness(1.03);
}
.footer-donation-link:focus-visible{
  outline:3px solid rgba(255,196,58,.35);
  outline-offset:3px;
}
@media(max-width:560px){
  .footer-donation-link{width:100%;min-height:44px!important;padding-inline:16px}
}

/* Panel dinámico de estadísticas de la aerolínea (operational database-ready) */
.airline-stats-panel{padding:clamp(22px,3vw,30px);overflow:hidden}
.stats-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.stats-panel-heading h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:3px 0 0;color:var(--navy);letter-spacing:-.035em}
.stats-kicker{display:block;color:var(--blue);font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.stats-live{display:inline-flex;align-items:center;gap:7px;color:var(--success);font-size:.7rem;font-weight:800;white-space:nowrap;padding-top:7px}
.stats-live i{width:8px;height:8px;background:currentColor;border-radius:50%;box-shadow:0 0 0 5px rgba(22,134,95,.1);animation:statsPulse 1.8s ease-in-out infinite}
.stats-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stats-panel-item{display:flex;align-items:center;gap:13px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}
.stats-panel-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:#eaf5fb;color:var(--blue);font-size:1.15rem;font-weight:900}
.stats-panel-item div{min-width:0}.stats-panel-item strong{display:block;color:var(--navy);font:900 clamp(1.18rem,2.4vw,1.55rem)/1.1 Montserrat,Inter,sans-serif;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stats-panel-item small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.25}
.stats-panel-feature{margin-top:14px;padding:17px 18px;border-radius:17px;background:linear-gradient(115deg,var(--navy),#103f70);color:#fff}
.stats-panel-feature>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px}.stats-panel-feature span{font-size:.75rem;color:#b9cee1}.stats-panel-feature strong{font-size:.92rem}
.stats-progress{height:7px;margin:12px 0 8px;background:rgba(255,255,255,.16);border-radius:999px;overflow:hidden}.stats-progress span{display:block;height:100%;background:var(--gold);border-radius:inherit;transition:width .8s ease}
.stats-panel-feature small{color:#b9cee1;font-size:.69rem}
.stats-panel-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:17px;color:var(--muted);font-size:.69rem}.stats-panel-footer a{color:var(--blue);font-weight:800;text-align:right}
.airline-stats-panel.is-loading .stats-panel-item strong{color:transparent;background:linear-gradient(90deg,#e4ebf1,#f6f8fa,#e4ebf1);background-size:220% 100%;border-radius:5px;animation:statsSkeleton 1.1s linear infinite}
@keyframes statsPulse{50%{opacity:.4;transform:scale(.8)}}@keyframes statsSkeleton{to{background-position:-220% 0}}
@media(max-width:620px){.stats-panel-heading{flex-direction:column}.stats-live{padding-top:0}.stats-panel-grid{grid-template-columns:1fr}.stats-panel-item{padding:13px}.stats-panel-feature>div:first-child,.stats-panel-footer{align-items:flex-start;flex-direction:column}.stats-panel-footer a{text-align:left}}


/* News dinámicas */
.news-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-item-card{display:flex;flex-direction:column;min-height:280px;padding:28px;border:1px solid #d9e4ee;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(5,28,53,.06);transition:transform .22s ease,box-shadow .22s ease}.news-item-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(5,28,53,.11)}.news-item-card.is-featured{background:linear-gradient(145deg,#071d36,#0d3961);color:#fff;border-color:transparent}.news-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#5f7289}.news-meta span{color:#07558e}.news-item-card.is-featured .news-meta,.news-item-card.is-featured .news-meta span{color:#8dc9f2}.news-item-card h3{font-size:1.28rem;line-height:1.25;margin:0 0 14px}.news-item-card p{color:#64748b;line-height:1.65;margin:0 0 24px}.news-item-card.is-featured p{color:#c5d7e8}.news-read-btn{margin-top:auto;align-self:flex-start;border:0;background:transparent;padding:0;color:#07558e;font:inherit;font-weight:800;cursor:pointer}.news-item-card.is-featured .news-read-btn{color:#ffc340}.news-modal-card{max-width:760px}.news-modal-card time{display:block;color:#6b7d91;font-weight:700;margin:-4px 0 22px}.news-modal-body{font-size:1.04rem;line-height:1.75;color:#405268;margin-bottom:28px}.news-section-actions{display:flex;justify-content:flex-end;margin-top:26px}
@media(max-width:980px){.news-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.news-list-grid{grid-template-columns:1fr}.news-item-card{min-height:auto;padding:22px}.news-meta{align-items:flex-start;flex-direction:column;gap:6px}.news-section-actions .btn{width:100%;text-align:center}}

/* =========================================================
   SRILANKAN VIRTUAL AIRLINES 2.0 — CTA corporativo consolidado
   Mantiene el botón legible y proporcionado en todo dispositivo.
   ========================================================= */
.cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(28px,5vw,72px);
  padding:clamp(38px,5vw,62px) clamp(28px,5.5vw,72px);
  min-height:260px;
}
.cta>div{min-width:0;max-width:980px}
.cta h2{
  max-width:950px;
  margin-bottom:18px;
  font-size:clamp(2.15rem,4.15vw,4.35rem);
  line-height:1.04;
  text-wrap:balance;
}
.cta p{
  max-width:900px;
  margin:0;
  color:#e3edf7;
  font-size:clamp(.98rem,1.35vw,1.15rem);
  line-height:1.65;
}
.cta .btn{
  flex:none;
  width:auto;
  min-width:220px;
  min-height:62px;
  padding:16px 28px;
  white-space:nowrap;
  border-radius:999px;
  font-size:1rem;
  line-height:1;
  box-shadow:0 14px 34px rgba(0,0,0,.14);
}
.cta .btn .cta-plane,.cta .btn .cta-arrow{
  display:inline-block;
  transition:transform .25s ease;
}
.cta .btn:hover .cta-plane{transform:translateX(3px) rotate(-4deg)}
.cta .btn:hover .cta-arrow{transform:translateX(4px)}

@media (max-width:900px){
  .cta{
    grid-template-columns:1fr;
    min-height:0;
    gap:28px;
    align-items:start;
  }
  .cta h2{max-width:760px;font-size:clamp(2rem,7vw,3.45rem)}
  .cta .btn{justify-self:start;min-width:210px}
}
@media (max-width:560px){
  .cta{
    padding:34px 22px;
    border-radius:24px;
    gap:24px;
  }
  .cta h2{font-size:clamp(1.85rem,10vw,2.55rem);line-height:1.08}
  .cta p{font-size:.96rem}
  .cta .btn{width:100%;min-width:0;min-height:56px;padding:14px 18px}
}

/* Premium pilot rank system */
.rank-hero p{max-width:800px;color:rgba(255,255,255,.8);font-size:1.08rem}.rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.rank-card{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;text-align:center;box-shadow:0 18px 50px rgba(8,29,55,.07);transition:transform .25s ease,box-shadow .25s ease}.rank-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(8,29,55,.13)}.rank-card img{width:min(100%,320px);height:auto;display:block;margin:0 auto 20px;filter:drop-shadow(0 12px 14px rgba(2,10,20,.18))}.rank-card h3{margin:0 0 8px;font-size:1.15rem}.rank-card p{margin:0;color:var(--muted)}.rank-showcase-section{background:#07192f}.rank-profile-showcase{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;color:#fff;padding:48px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:linear-gradient(135deg,#091b32,#0d3157)}.rank-profile-showcase img{width:min(100%,430px);justify-self:end}.rank-showcase-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px}.rank-showcase-stats span{display:grid;color:#a9bdd2}.rank-showcase-stats b{color:#fff;font-size:1.25rem}.rank-badge-inline{width:112px;height:auto;vertical-align:middle;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}.pilot-rank-cell{display:flex;align-items:center;gap:12px;min-width:230px}.pilot-rank-cell .rank-badge-inline{width:92px}.pilot-rank-cell span{font-weight:700}.dashboard-rank-badge{width:min(100%,300px);display:block;margin:18px auto}.rank-mini{width:72px;height:auto}.rank-chip{display:inline-flex;align-items:center;gap:10px}.rank-chip img{width:78px;height:auto}@media(max-width:980px){.rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-profile-showcase{grid-template-columns:1fr}.rank-profile-showcase img{justify-self:start}}@media(max-width:620px){.rank-grid{grid-template-columns:1fr}.rank-card{padding:22px}.rank-profile-showcase{padding:28px 22px}.rank-profile-showcase img{width:100%}.pilot-rank-cell{min-width:0}.rank-badge-inline{width:82px}}

/* Premium pilot rank system */
.rank-hero p{max-width:800px;color:rgba(255,255,255,.8);font-size:1.08rem}.rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.rank-card{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;text-align:center;box-shadow:0 18px 50px rgba(8,29,55,.07);transition:transform .25s ease,box-shadow .25s ease}.rank-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(8,29,55,.13)}.rank-card img{width:min(100%,320px);height:auto;display:block;margin:0 auto 20px;filter:drop-shadow(0 12px 14px rgba(2,10,20,.18))}.rank-card h3{margin:0 0 8px;font-size:1.15rem}.rank-card p{margin:0;color:var(--muted)}.rank-showcase-section{background:#07192f}.rank-profile-showcase{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;color:#fff;padding:48px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:linear-gradient(135deg,#091b32,#0d3157)}.rank-profile-showcase img{width:min(100%,430px);justify-self:end}.rank-showcase-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px}.rank-showcase-stats span{display:grid;color:#a9bdd2}.rank-showcase-stats b{color:#fff;font-size:1.25rem}.rank-badge-inline{width:112px;height:auto;vertical-align:middle;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}.pilot-rank-cell{display:flex;align-items:center;gap:12px;min-width:230px}.pilot-rank-cell .rank-badge-inline{width:92px}.pilot-rank-cell span{font-weight:700}.dashboard-rank-badge{width:min(100%,300px);display:block;margin:18px auto}.rank-mini{width:72px;height:auto}.rank-chip{display:inline-flex;align-items:center;gap:10px}.rank-chip img{width:78px;height:auto}@media(max-width:980px){.rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-profile-showcase{grid-template-columns:1fr}.rank-profile-showcase img{justify-self:start}}@media(max-width:620px){.rank-grid{grid-template-columns:1fr}.rank-card{padding:22px}.rank-profile-showcase{padding:28px 22px}.rank-profile-showcase img{width:100%}.pilot-rank-cell{min-width:0}.rank-badge-inline{width:82px}}

/* Ajuste final de insignias: integración limpia sobre fondos claros */
.rank-card{background:#f7f9fc;border:1px solid #dbe4ee;border-radius:22px;padding:24px;text-align:center;box-shadow:none;transition:border-color .2s ease,background-color .2s ease,transform .2s ease;overflow:hidden}
.rank-card:hover{transform:translateY(-2px);box-shadow:none;border-color:#b9c9d9;background:#f2f6fa}
.rank-card img{width:min(100%,300px);height:auto;display:block;margin:0 auto 18px;filter:none}
.rank-card h3{margin:0 0 7px;color:#0a1d34}
.rank-card p{margin:0;color:#64758b}
.rank-showcase-section{display:none!important}
.rank-badge-inline,.pilot-rank-cell .rank-badge-inline,.rank-chip img,.rank-mini{filter:none!important}
.pilot-profile-rank-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:center;gap:32px;margin:24px 0 28px;padding:32px;border-radius:26px;background:linear-gradient(135deg,#071a31,#104778);color:#fff;border:1px solid rgba(255,255,255,.12);overflow:hidden}
.pilot-profile-rank-copy h3{font-family:Montserrat,sans-serif;font-size:clamp(1.8rem,4vw,3.1rem);margin:5px 0 12px;color:#fff}
.pilot-profile-rank-copy p{max-width:650px;color:#c5d5e5;margin:0}
.pilot-profile-label{display:inline-flex;align-items:center;gap:8px;color:#f3bd48;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800}
.pilot-profile-label:before{content:"";width:28px;height:2px;background:#f3bd48}
.pilot-profile-meta{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px}
.pilot-profile-meta span{display:grid;color:#a9bed2;font-size:.9rem}
.pilot-profile-meta b{color:#fff;font-size:1.15rem}
.pilot-profile-rank-badge{display:flex;align-items:center;justify-content:center;min-width:0}
.pilot-profile-rank-badge img{display:block;width:min(100%,360px);height:auto;filter:none}
@media(max-width:900px){.pilot-profile-rank-card{grid-template-columns:1fr}.pilot-profile-rank-badge{justify-content:flex-start}.pilot-profile-rank-badge img{width:min(100%,320px)}}
@media(max-width:620px){.rank-card{padding:18px;border-radius:18px}.rank-card img{width:min(100%,260px)}.pilot-profile-rank-card{padding:24px 20px;border-radius:20px;gap:22px}.pilot-profile-meta{gap:16px}.pilot-profile-rank-badge img{width:100%}}

/* Rangos: tema oscuro y placas sin sombras */
.rank-page-dark{background:#061426;color:#fff}
.rank-page-dark .navbar{background:rgba(255,255,255,.98)}
.rank-page-dark .rank-hero-dark{background:linear-gradient(120deg,#061426,#0b3157);padding-bottom:54px}
.rank-page-dark .rank-main-dark{background:radial-gradient(circle at 50% 0,rgba(21,89,145,.24),transparent 42%),#061426}
.rank-page-dark .rank-main-dark .section-head h2,.rank-page-dark .rank-main-dark .rank-card h3{color:#fff}
.rank-page-dark .rank-main-dark .lead,.rank-page-dark .rank-main-dark .rank-card p{color:#b8c8da}
.rank-page-dark .rank-main-dark .eyebrow{color:#efbd46}
.rank-page-dark .rank-grid{gap:18px}
.rank-page-dark .rank-card{background:rgba(8,31,56,.76);border:1px solid rgba(170,199,225,.18);box-shadow:none!important;transform:none!important}
.rank-page-dark .rank-card:hover{background:rgba(12,45,79,.88);border-color:rgba(239,189,70,.45);box-shadow:none!important;transform:none!important}
.rank-page-dark .rank-card img{filter:none!important;box-shadow:none!important}
.rank-page-dark .rank-card img:hover{filter:none!important;box-shadow:none!important;transform:none!important}

/* Panel de piloto mejorado */
.pilot-profile-v2{grid-template-columns:minmax(190px,.65fr) minmax(0,1.15fr) minmax(250px,.8fr);background:linear-gradient(135deg,#071a31,#0c3b67);box-shadow:none!important}
.pilot-profile-identity{display:flex;align-items:center;gap:16px;min-width:0}
.pilot-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,#efbd46,#bb7c18);color:#07182d;font-weight:900;font-size:1.35rem;border:3px solid rgba(255,255,255,.85)}
.pilot-profile-identity h3{font-size:1.35rem;margin:4px 0 6px;color:#fff}
.pilot-status{display:inline-flex;align-items:center;gap:7px;color:#bfe9cf;font-size:.82rem;font-weight:800}
.pilot-status span{width:9px;height:9px;border-radius:50%;background:#5bd28a}
.pilot-profile-v2 .pilot-profile-rank-badge img{filter:none!important;box-shadow:none!important}
.pilot-profile-v2 .pilot-profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
@media(max-width:1100px){.pilot-profile-v2{grid-template-columns:1fr 1fr}.pilot-profile-v2 .pilot-profile-rank-badge{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:720px){.pilot-profile-v2{grid-template-columns:1fr}.pilot-profile-v2 .pilot-profile-rank-badge{grid-column:auto}.pilot-profile-v2 .pilot-profile-meta{grid-template-columns:1fr 1fr}}

/* Página de rangos: paleta grafito para reducir el predominio del azul */
.rank-page-dark{
  background:#0b0d10;
  color:#f7f7f4;
}
.rank-page-dark .rank-hero-dark{
  background:linear-gradient(120deg,#0b0d10 0%,#15181c 58%,#22201a 100%);
  border-bottom:1px solid rgba(239,189,70,.18);
}
.rank-page-dark .rank-main-dark{
  background:
    radial-gradient(circle at 50% 0,rgba(196,151,48,.08),transparent 38%),
    #0b0d10;
}
.rank-page-dark .rank-main-dark .lead,
.rank-page-dark .rank-main-dark .rank-card p{
  color:#b9bcc1;
}
.rank-page-dark .rank-card{
  background:#15181c;
  border-color:#2d3137;
}
.rank-page-dark .rank-card:hover{
  background:#1b1f24;
  border-color:rgba(239,189,70,.52);
}
.rank-page-dark .rank-card h3{
  color:#f7f7f4;
}
.rank-page-dark .rank-card img{
  filter:none!important;
  box-shadow:none!important;
}
.rank-page-dark .footer{
  background:#080a0c;
  border-top:1px solid #25292e;
}

/* Ajuste final: página de rangos armonizada con la paleta corporativa inspirada en Plus Ultra */
.rank-page-dark{
  background:#0c2f43;
  color:#fff;
}
.rank-page-dark .topbar{
  background:#082638;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.rank-page-dark .rank-hero-dark{
  background:
    linear-gradient(112deg,rgba(8,38,56,.98) 0%,rgba(12,47,67,.96) 58%,rgba(22,65,84,.94) 100%);
  border-bottom:1px solid rgba(240,180,42,.22);
}
.rank-page-dark .rank-hero-dark .eyebrow{
  color:#f0b42a!important;
}
.rank-page-dark .rank-main-dark{
  background:
    radial-gradient(circle at 12% 0,rgba(211,58,50,.09),transparent 28%),
    radial-gradient(circle at 88% 5%,rgba(240,180,42,.08),transparent 30%),
    #0c2f43;
}
.rank-page-dark .rank-main-dark .eyebrow{
  color:#f0b42a;
}
.rank-page-dark .rank-main-dark .lead,
.rank-page-dark .rank-main-dark .rank-card p{
  color:#c5d3dc;
}
.rank-page-dark .rank-card{
  background:#10384d;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:none!important;
  transform:none!important;
}
.rank-page-dark .rank-card:hover{
  background:#123f56;
  border-color:rgba(240,180,42,.48);
  box-shadow:none!important;
  transform:none!important;
}
.rank-page-dark .rank-card h3{
  color:#fff;
}
.rank-page-dark .rank-card img,
.rank-page-dark .rank-card img:hover{
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.rank-page-dark .footer{
  background:#082638;
  border-top:1px solid rgba(255,255,255,.1);
}
.rank-page-dark .footer-donation-link,
.rank-page-dark .btn-primary{
  background:#f0b42a;
  color:#0a2738;
}
.rank-page-dark .footer-donation-link:hover,
.rank-page-dark .btn-primary:hover{
  background:#f4c24f;
}
.rank-page-dark .nav-links a.active::after{
  background:linear-gradient(90deg,#d33a32,#f0b42a);
}


/* Rangos e insignias: versión clara integrada con la identidad corporativa inicial */
.rank-page-light{background:#fff;color:var(--text)}
.rank-page-light .rank-hero-light{
  background:#fff;
  color:var(--text);
  border-bottom:1px solid var(--border);
  padding-top:72px;
  padding-bottom:54px;
}
.rank-page-light .rank-hero-light::before,
.rank-page-light .rank-hero-light::after{display:none!important}
.rank-page-light .rank-hero-light .eyebrow{color:var(--gold)}
.rank-page-light .rank-hero-light h1{color:var(--navy)}
.rank-page-light .rank-hero-light p{color:var(--muted);max-width:800px}
.rank-page-light .rank-main-light{background:#fff}
.rank-page-light .rank-main-light .section{background:#fff}
.rank-page-light .rank-main-light .section-head h2,
.rank-page-light .rank-main-light .rank-card h3{color:var(--navy)}
.rank-page-light .rank-main-light .lead,
.rank-page-light .rank-main-light .rank-card p{color:var(--muted)}
.rank-page-light .rank-main-light .eyebrow{color:var(--gold)}
.rank-page-light .rank-grid{gap:22px}
.rank-page-light .rank-card{
  background:#fff;
  border:1px solid #dfe6ee;
  border-radius:22px;
  box-shadow:none!important;
  transform:none!important;
  padding:24px;
}
.rank-page-light .rank-card:hover{
  background:#fbfcfe;
  border-color:#c8d3df;
  box-shadow:none!important;
  transform:none!important;
}
.rank-page-light .rank-card img,
.rank-page-light .rank-card img:hover{
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
}
@media(max-width:620px){
  .rank-page-light .rank-hero-light{padding-top:52px;padding-bottom:40px}
  .rank-page-light .rank-card{padding:18px;border-radius:18px}
}


/* =========================================================
   CENTRO DE PILOTOS V3.1 — responsive y preparado para operational database
   ========================================================= */
.pilot-dashboard-body{margin:0;background:#eef3f8;color:#10243b;overflow-x:hidden}
.pilot-dashboard{--pilot-navy:#071a31;--pilot-blue:#0b4d8a;--pilot-gold:#e7b447;--pilot-soft:#f5f8fb;--pilot-border:#dbe4ed;display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh;background:#eef3f8}
.pilot-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#06172b 0%,#08213d 100%);color:#d8e4f0;padding:24px 18px;display:flex;flex-direction:column;z-index:80;overflow-y:auto}
.pilot-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 5px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.pilot-brand{color:#fff}.pilot-brand .brand-mark{box-shadow:none;background:linear-gradient(135deg,#e7b447,#f2ca72);color:#071a31}.pilot-brand span:last-child{display:grid}.pilot-brand strong{font-size:.94rem}.pilot-brand small{color:#9db0c5}
.pilot-sidebar-close{display:none;border:0;background:transparent;color:#fff;font-size:1.7rem;cursor:pointer}
.pilot-nav{display:flex;flex-direction:column;gap:5px;padding:22px 0;flex:1}.pilot-nav-label{padding:15px 14px 6px;font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7088a1}
.pilot-nav-link{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#bed0e1;padding:12px 14px;border-radius:12px;text-align:left;font-weight:700;cursor:pointer;transition:.2s}.pilot-nav-link span{width:24px;text-align:center;font-size:1.1rem}.pilot-nav-link:hover,.pilot-nav-link.active{background:rgba(255,255,255,.09);color:#fff}.pilot-nav-link.active{box-shadow:inset 3px 0 0 var(--pilot-gold)}
.pilot-admin-nav{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.09)}.pilot-admin-nav[hidden]{display:none!important}.pilot-nav-admin{color:#ffe49a;border:1px solid rgba(240,185,46,.22);margin-top:4px}.pilot-nav-admin:hover{background:rgba(240,185,46,.12);color:#fff}.pilot-nav-admin small{margin-left:auto;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#d7b55d}
.pilot-sidebar-footer{display:grid;gap:16px}.pilot-help-card{padding:16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.pilot-help-card span{font-weight:800;color:#fff}.pilot-help-card p{font-size:.78rem;color:#9fb2c6;line-height:1.45}.pilot-help-card button{border:0;background:transparent;color:var(--pilot-gold);font-weight:800;padding:0;cursor:pointer}.pilot-logout{font-size:.84rem;color:#aebfd0;padding:10px 12px}
.pilot-workspace{min-width:0}.pilot-topbar{height:82px;background:#fff;border-bottom:1px solid var(--pilot-border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:55}.pilot-topbar-left,.pilot-topbar-right,.pilot-user-menu{display:flex;align-items:center}.pilot-topbar-left{gap:14px}.pilot-topbar-left div{display:grid}.pilot-topbar-left strong{color:var(--pilot-navy)}.pilot-date{font-size:.72rem;color:#74869a}.pilot-menu-button{display:none;border:1px solid var(--pilot-border);background:#fff;border-radius:10px;padding:8px 11px;font-size:1.2rem}.pilot-topbar-right{gap:14px}.pilot-sync{display:flex;align-items:center;gap:7px;font-size:.75rem;color:#607488}.pilot-sync span{width:8px;height:8px;border-radius:50%;background:#e7b447}.pilot-sync.live span{background:#16865f}.pilot-icon-button{position:relative;width:42px;height:42px;border:1px solid var(--pilot-border);border-radius:12px;background:#fff;color:#38506a;cursor:pointer}.pilot-icon-button i{position:absolute;right:-4px;top:-5px;width:18px;height:18px;border-radius:50%;background:#b73b4b;color:#fff;font-size:.62rem;font-style:normal;display:grid;place-items:center}.pilot-user-menu{gap:10px;border:0;background:transparent;text-align:left;cursor:pointer}.pilot-user-menu>span:nth-child(2){display:grid}.pilot-user-menu small{color:#7a8b9e}.pilot-user-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--pilot-navy),var(--pilot-blue));color:#fff;display:grid;place-items:center;font-weight:900}
.pilot-content{padding:34px;max-width:1600px;width:100%;margin:0 auto}.pilot-welcome{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.pilot-welcome h1{font-size:clamp(2rem,4vw,3.15rem);color:var(--pilot-navy);margin:8px 0}.pilot-welcome p{color:#64778a;margin:0}.pilot-clock{text-align:right;background:#fff;border:1px solid var(--pilot-border);border-radius:18px;padding:14px 18px;min-width:170px}.pilot-clock small,.pilot-clock span{display:block;color:#718397;font-size:.7rem}.pilot-clock strong{font-family:Montserrat;font-size:1.35rem;color:var(--pilot-navy)}
.pilot-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:22px}.pilot-identity-card,.pilot-next-flight-card,.pilot-panel,.pilot-profile-card{background:#fff;border:1px solid var(--pilot-border);border-radius:24px}.pilot-identity-card{padding:28px;background:linear-gradient(135deg,#071a31 0%,#0b3d6a 100%);color:#fff;position:relative;overflow:hidden}.pilot-identity-card:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-90px;top:-110px;border:55px solid rgba(255,255,255,.035)}.pilot-identity-top{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.pilot-avatar-xl{width:68px;height:68px;border-radius:20px;background:#fff;color:var(--pilot-navy);display:grid;place-items:center;font:900 1.25rem Montserrat}.pilot-overline{display:block;color:#7d91a6;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;font-weight:800}.pilot-identity-card .pilot-overline{color:#e7b447}.pilot-identity-top h2{font-size:1.65rem;margin:4px 0}.pilot-identity-top p{color:#b8cada;margin:0;font-size:.84rem}.pilot-rank-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;position:relative;z-index:1}.pilot-rank-zone div{display:grid}.pilot-rank-zone small{color:#92a9bf}.pilot-rank-zone strong{font:800 1.8rem Montserrat}.pilot-rank-zone span{color:#b8cada;font-size:.78rem}.pilot-rank-zone img{width:210px;max-height:108px;object-fit:contain;filter:none!important;box-shadow:none!important}.pilot-rank-progress{height:7px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;margin-top:18px}.pilot-rank-progress span{display:block;height:100%;background:linear-gradient(90deg,#dca83e,#f4d283);border-radius:99px}
.pilot-next-flight-card{padding:26px}.pilot-card-head,.pilot-panel-head,.pilot-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.pilot-card-head h3{font-size:1.65rem;color:var(--pilot-navy);margin:4px 0}.pilot-flight-status{padding:7px 11px;border-radius:99px;background:#e7f6ef;color:#16865f;font-size:.72rem;font-weight:800}.pilot-route-display{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;text-align:center;margin:24px 0}.pilot-route-display strong{display:block;font:900 2.3rem Montserrat;color:var(--pilot-navy)}.pilot-route-display span{font-size:.76rem;color:#73869a}.pilot-route-line{position:relative;height:2px;background:#d7e1eb}.pilot-route-line:before,.pilot-route-line:after{content:"";position:absolute;top:-4px;width:9px;height:9px;border-radius:50%;background:#9db0c3}.pilot-route-line:before{left:0}.pilot-route-line:after{right:0}.pilot-route-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:0 8px;color:var(--pilot-blue);font-size:1.2rem}.pilot-flight-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px 0;border-top:1px solid var(--pilot-border);border-bottom:1px solid var(--pilot-border)}.pilot-flight-details span{display:grid}.pilot-flight-details small{color:#8191a2;font-size:.65rem;text-transform:uppercase}.pilot-flight-details b{font-size:.82rem;color:#21384f}.pilot-card-actions{display:flex;gap:10px;margin-top:18px}
.pilot-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}.pilot-kpi{background:#fff;border:1px solid var(--pilot-border);border-radius:19px;padding:20px;display:flex;gap:15px;align-items:center}.pilot-kpi-icon{width:46px;height:46px;border-radius:14px;background:#edf5fb;color:var(--pilot-blue);display:grid;place-items:center;font-size:1.25rem}.pilot-kpi div{display:grid}.pilot-kpi small{color:#75879a}.pilot-kpi strong{font:800 1.55rem Montserrat;color:var(--pilot-navy)}.pilot-kpi em{font-style:normal;color:#16865f;font-size:.68rem}
.pilot-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:22px}.pilot-panel{padding:24px}.pilot-panel-head h3{color:var(--pilot-navy);margin:4px 0;font-size:1.13rem}.pilot-select{border:1px solid var(--pilot-border);border-radius:10px;padding:8px 10px;background:#fff;color:#52677c}.pilot-chart{height:265px;position:relative;margin-top:20px;padding:10px 10px 30px 48px}.pilot-chart-grid{position:absolute;inset:10px 0 30px;display:flex;flex-direction:column;justify-content:space-between;color:#8b9bab;font-size:.65rem}.pilot-chart-grid span:after{content:"";position:absolute;left:42px;right:0;border-top:1px dashed #e2e9f0;margin-top:7px}.pilot-bars{position:absolute;inset:10px 0 30px 48px;display:flex;align-items:flex-end;gap:clamp(9px,3vw,28px)}.pilot-bars div{height:100%;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative}.pilot-bars div:before{content:"";width:min(48px,75%);height:var(--value);background:linear-gradient(180deg,#5faee0,#0b4d8a);border-radius:10px 10px 3px 3px}.pilot-bars div.current:before{background:linear-gradient(180deg,#f2ca72,#d69f32)}.pilot-bars b{position:absolute;bottom:-28px;color:#6f8295;font-size:.7rem}.pilot-bars span{position:absolute;bottom:calc(var(--value) + 7px);font-size:.68rem;color:#42586d}.pilot-progress-panel{grid-row:span 1}.pilot-progress-panel .pilot-panel-head>strong{font:800 1.5rem Montserrat;color:var(--pilot-blue)}.pilot-goal-ring{--progress:72;width:170px;height:170px;border-radius:50%;margin:20px auto;background:conic-gradient(var(--pilot-gold) calc(var(--progress)*1%),#edf1f5 0);display:grid;place-items:center;position:relative}.pilot-goal-ring:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.pilot-goal-ring div{position:relative;z-index:1;text-align:center;display:grid}.pilot-goal-ring strong{font:800 1.35rem Montserrat;color:var(--pilot-navy)}.pilot-goal-ring span{font-size:.72rem;color:#718397}.pilot-goal-list{display:grid;gap:11px}.pilot-goal-list span{display:flex;align-items:center;color:#667a8d;font-size:.78rem}.pilot-goal-list i{width:8px;height:8px;border-radius:50%;background:var(--pilot-gold);margin-right:8px}.pilot-goal-list b{margin-left:auto;color:#263d54}.pilot-recent-panel{grid-column:1/-1}.pilot-text-button{border:0;background:transparent;color:var(--pilot-blue);font-weight:800;cursor:pointer}.pilot-flight-list>div{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:15px;padding:15px 0;border-top:1px solid var(--pilot-border)}.pilot-route-icon{width:58px;height:58px;border-radius:14px;background:#edf5fb;display:grid;place-items:center;text-align:center;font-size:.62rem;line-height:1.15;color:var(--pilot-blue);font-weight:800}.pilot-flight-list p{display:grid;margin:0}.pilot-flight-list p small{color:#8191a2}.pilot-flight-list>div>span:last-child{display:grid;text-align:right}.pilot-flight-list em{font-size:.65rem;font-style:normal}.pilot-approved{color:#16865f}
.pilot-section-head{margin-bottom:26px}.pilot-section-head h2{font-size:clamp(2rem,4vw,3rem);color:var(--pilot-navy);margin:6px 0}.pilot-section-head p{margin:0;color:#66798c}.pilot-available-flights{display:grid;gap:14px}.pilot-available-flights article{background:#fff;border:1px solid var(--pilot-border);border-radius:18px;padding:20px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px}.pilot-available-flights article>div{display:flex;align-items:center;gap:12px}.pilot-available-flights article span{font-weight:900;color:var(--pilot-blue)}.pilot-available-flights article strong{font-size:1.25rem}.pilot-available-flights article p{color:#718397;margin:0}.pilot-table{min-width:850px}.pilot-status-pill{display:inline-flex;padding:6px 10px;border-radius:99px;font-size:.68rem;font-weight:800}.pilot-status-pill.approved{background:#e7f6ef;color:#16865f}.pilot-status-pill.pending{background:#fff4df;color:#a66a09}.pilot-map-card{height:560px;border-radius:24px;background:radial-gradient(circle at 22% 75%,rgba(46,140,195,.25),transparent 22%),radial-gradient(circle at 72% 28%,rgba(46,140,195,.2),transparent 18%),linear-gradient(135deg,#071a31,#0b416f);position:relative;overflow:hidden}.pilot-map-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px}.pilot-map-orbit{position:absolute;inset:0}.map-point{position:absolute;padding:7px 10px;border-radius:10px;background:#fff;color:#071a31;font-weight:900;font-size:.72rem}.map-point:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#e7b447;left:50%;bottom:-16px;transform:translateX(-50%)}.map-point.hub{left:22%;top:57%}.map-point.mad{left:68%;top:29%}.map-point.pty{left:13%;top:45%}.map-plane{position:absolute;left:47%;top:40%;color:#e7b447;font-size:1.5rem;transform:rotate(-20deg)}.pilot-map-legend{position:absolute;right:20px;bottom:20px;background:rgba(6,23,43,.82);color:#fff;padding:12px 15px;border-radius:13px;display:flex;gap:16px;font-size:.72rem}.pilot-map-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e7b447;margin-right:5px}.pilot-map-legend i.online{background:#22a975}.pilot-profile-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px}.pilot-profile-card{padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center}.pilot-avatar-xxl{width:98px;height:98px;border-radius:28px;background:linear-gradient(135deg,var(--pilot-navy),var(--pilot-blue));color:#fff;display:grid;place-items:center;font:900 1.8rem Montserrat}.pilot-profile-card h3{font-size:1.4rem;margin:17px 0 3px}.pilot-profile-card p{color:#718397;margin:0}.pilot-profile-card img{width:240px;max-height:120px;object-fit:contain;margin:22px 0 8px;filter:none!important;box-shadow:none!important}.pilot-profile-card>strong{margin-bottom:12px}.pilot-profile-form{min-width:0}.pilot-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pilot-doc-grid article{background:#fff;border:1px solid var(--pilot-border);border-radius:20px;padding:22px;display:grid;grid-template-columns:55px 1fr;gap:16px}.pilot-doc-grid article>span{width:50px;height:50px;border-radius:13px;background:#edf5fb;color:var(--pilot-blue);display:grid;place-items:center;font-size:.67rem;font-weight:900}.pilot-doc-grid h3{font-size:1rem;margin:0 0 6px}.pilot-doc-grid p{font-size:.8rem;color:#718397;margin:0}.pilot-doc-grid .btn{grid-column:1/-1}
.pilot-sidebar-backdrop{display:none}.pilot-dashboard .dash-section{display:none}.pilot-dashboard .dash-section.active{display:block}.pilot-dashboard .card:hover{transform:none}
@media(max-width:1180px){.pilot-dashboard{grid-template-columns:240px minmax(0,1fr)}.pilot-sidebar{padding-inline:14px}.pilot-kpi-grid{grid-template-columns:repeat(2,1fr)}.pilot-hero-grid{grid-template-columns:1fr}.pilot-dashboard-grid{grid-template-columns:1fr}.pilot-recent-panel{grid-column:auto}.pilot-doc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.pilot-dashboard{display:block}.pilot-sidebar{position:fixed;left:0;top:0;width:min(86vw,300px);transform:translateX(-105%);transition:.28s ease}.pilot-dashboard.sidebar-open .pilot-sidebar{transform:none}.pilot-sidebar-close,.pilot-menu-button{display:block}.pilot-sidebar-backdrop{position:fixed;inset:0;background:rgba(3,12,23,.58);z-index:70}.pilot-dashboard.sidebar-open .pilot-sidebar-backdrop{display:block}.pilot-topbar{padding:0 20px}.pilot-sync{display:none}.pilot-content{padding:26px 20px}.pilot-profile-layout{grid-template-columns:1fr}.pilot-available-flights article{grid-template-columns:1fr auto}.pilot-available-flights article p{grid-column:1/-1;grid-row:2}.pilot-doc-grid{grid-template-columns:1fr}}
@media(max-width:640px){.pilot-topbar{height:70px;padding:0 14px}.pilot-topbar-left div{display:none}.pilot-user-menu>span:nth-child(2),.pilot-user-menu>b{display:none}.pilot-content{padding:22px 14px}.pilot-welcome{display:block}.pilot-clock{display:none}.pilot-welcome h1{font-size:2rem}.pilot-identity-card,.pilot-next-flight-card,.pilot-panel{padding:19px;border-radius:18px}.pilot-identity-top{align-items:flex-start}.pilot-avatar-xl{width:54px;height:54px;border-radius:16px}.pilot-rank-zone{align-items:flex-start}.pilot-rank-zone img{width:140px}.pilot-kpi-grid{grid-template-columns:1fr}.pilot-flight-details{grid-template-columns:1fr 1fr}.pilot-flight-details span:last-child{grid-column:1/-1}.pilot-card-actions{display:grid}.pilot-card-actions .btn{width:100%}.pilot-chart{height:230px;padding-left:38px}.pilot-bars{left:38px;gap:7px}.pilot-chart-grid span:after{left:34px}.pilot-goal-ring{width:150px;height:150px}.pilot-flight-list>div{grid-template-columns:55px 1fr}.pilot-flight-list>div>span:last-child{grid-column:2;text-align:left;display:flex;gap:10px}.pilot-section-head{display:block}.pilot-section-head>.btn{margin-top:15px}.pilot-available-flights article{grid-template-columns:1fr}.pilot-available-flights article p{grid-column:auto;grid-row:auto}.pilot-available-flights article .btn{width:100%}.pilot-map-card{height:430px}.pilot-profile-card{padding:22px}.form-grid{grid-template-columns:1fr}.pilot-doc-grid article{grid-template-columns:45px 1fr}.pilot-route-display{grid-template-columns:1fr 65px 1fr}.pilot-route-display strong{font-size:1.8rem}}

/* Progreso de rango: valores servidos por operational database */
.pilot-rank-progress-block{position:relative;z-index:1;margin-top:18px}.pilot-rank-progress-meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#b8cada;font-size:.72rem}.pilot-rank-progress-meta>span:last-child{text-align:right}.pilot-rank-progress-meta strong{color:#fff;font:800 .82rem Montserrat,Inter,sans-serif}.pilot-rank-progress-meta b{color:#fff}.pilot-rank-progress-block .pilot-rank-progress{margin-top:9px;height:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.1)}.pilot-rank-progress-block .pilot-rank-progress span{min-width:0;transition:width .8s cubic-bezier(.2,.75,.25,1)}.pilot-rank-next{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;color:#9fb3c8;font-size:.72rem}.pilot-rank-next strong{color:#f4d283;font-size:.76rem}.pilot-rank-remaining{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#b8cada;font-size:.72rem}.pilot-rank-remaining b{color:#fff}.pilot-rank-progress[aria-valuenow="100"] span{background:#31b783}
@media(max-width:700px){.pilot-rank-progress-meta{grid-template-columns:1fr auto}.pilot-rank-progress-meta>span:last-child{grid-column:1/-1;text-align:left}.pilot-rank-next{align-items:flex-start;flex-direction:column;gap:2px}.pilot-rank-remaining{flex-direction:column;gap:3px}}


/* Solicitudes de datos y detalle de vuelos */
.pilot-lock-note{margin:.45rem 0 0;color:#718397;font-size:.78rem;max-width:650px}.pilot-data-lock{width:42px;height:42px;border-radius:12px;background:#eef4f8;display:grid;place-items:center}.pilot-readonly-grid .form-control[readonly]{background:#f4f7fa;color:#344b62;cursor:not-allowed;border-color:#dbe4ed}.pilot-profile-actions{display:flex;align-items:center;gap:16px;margin-top:20px}.pilot-profile-actions span{font-size:.76rem;color:#718397}.pilot-modal[hidden]{display:none!important}.pilot-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.pilot-modal-backdrop{position:absolute;inset:0;background:rgba(2,13,27,.7);backdrop-filter:blur(4px)}.pilot-modal-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:30px;border:1px solid #dbe4ed}.pilot-modal-dialog h2{margin:.45rem 0;color:#071a31}.pilot-modal-dialog>p{color:#66798c}.pilot-modal-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:1.7rem;cursor:pointer}.pilot-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.pilot-consent{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:.78rem;color:#53687c}.pilot-form-feedback{min-height:20px;margin:12px 0 0;font-size:.78rem}.pilot-form-feedback.success{color:#16865f}.pilot-form-feedback.error{color:#b73b4b}.flight-detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:22px}.flight-detail-main,.flight-detail-sidebar{padding:28px}.flight-detail-header{display:flex;justify-content:space-between;align-items:flex-start}.flight-detail-header h3{font:900 2rem Montserrat;margin:.3rem 0;color:#071a31}.flight-detail-route{display:grid;grid-template-columns:1fr 150px 1fr;gap:18px;align-items:center;margin:30px 0;text-align:center}.flight-detail-route>div:first-child{text-align:left}.flight-detail-route>div:last-child{text-align:right}.flight-detail-route strong{display:block;font:900 3rem Montserrat;color:#071a31}.flight-detail-route span{display:block;color:#334b62;font-weight:700}.flight-detail-route small{color:#7a8b9e}.flight-detail-route-line{position:relative;color:#0b4d8a}.flight-detail-route-line:before{content:'';position:absolute;left:0;right:0;top:12px;border-top:2px dashed #cad7e2}.flight-detail-route-line span,.flight-detail-route-line b{position:relative;background:#fff;padding:0 8px}.flight-detail-route-line b{display:block;margin-top:12px;font-size:.72rem}.flight-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flight-detail-grid>span{padding:15px;border:1px solid #dbe4ed;border-radius:14px;display:grid}.flight-detail-grid small{color:#7a8b9e}.flight-detail-grid b{color:#17314a;margin-top:4px}.flight-detail-sidebar h3{color:#071a31}.flight-detail-sidebar dl{margin:20px 0}.flight-detail-sidebar dl div{padding:13px 0;border-bottom:1px solid #e3eaf0}.flight-detail-sidebar dt{font-size:.7rem;color:#7a8b9e;text-transform:uppercase;font-weight:800}.flight-detail-sidebar dd{margin:5px 0 0;color:#263e55}.flight-detail-sidebar .btn{width:100%}.modal-open{overflow:hidden}
@media(max-width:980px){.flight-detail-layout{grid-template-columns:1fr}.flight-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pilot-profile-actions,.pilot-modal-actions{align-items:stretch;flex-direction:column}.pilot-profile-actions .btn,.pilot-modal-actions .btn{width:100%}.pilot-modal-dialog{padding:24px 18px;border-radius:18px}.flight-detail-main,.flight-detail-sidebar{padding:19px}.flight-detail-route{grid-template-columns:1fr 55px 1fr}.flight-detail-route strong{font-size:2rem}.flight-detail-route span{font-size:.72rem}.flight-detail-grid{grid-template-columns:1fr}.flight-detail-route-line b{display:none}}

/* Vuelos disponibles: disponibilidad y reservas servidas por operational database */
.pilot-available-flights article.is-reserved{background:#f3f6f8;border-color:#d7e0e8;opacity:.82;cursor:not-allowed}.pilot-available-flights article.is-reserved>div,.pilot-available-flights article.is-reserved p{filter:saturate(.55)}.flight-reserved-badge{display:inline-flex;align-items:center;justify-content:center;min-width:142px;min-height:52px;padding:0 22px;border-radius:999px;background:#e8edf2!important;color:#66798c!important;border:1px solid #d3dde6;font:900 .86rem Montserrat,Inter,sans-serif;letter-spacing:.01em}.flight-reserved-badge:before{content:'●';font-size:.55rem;margin-right:8px;color:#9aa9b8}.pilot-available-flights article.is-reserved button{pointer-events:none}
@media(max-width:900px){.pilot-available-flights article.is-reserved .flight-reserved-badge{grid-column:2;grid-row:1;justify-self:end}}
@media(max-width:640px){.flight-reserved-badge{width:100%;min-width:0}.pilot-available-flights article.is-reserved .flight-reserved-badge{grid-column:auto;grid-row:auto;justify-self:stretch}}


/* Vuelo activo interactivo: operational database / ACARS / IVAO */
.map-plane{appearance:none;border:0;background:transparent;cursor:pointer;line-height:1;padding:10px;z-index:5;transition:transform .2s ease,color .2s ease;transform:translate(-50%,-50%) rotate(var(--plane-heading,-20deg))}
.map-plane:hover,.map-plane:focus-visible{color:#ffd874;transform:translate(-50%,-50%) rotate(var(--plane-heading,-20deg)) scale(1.16);outline:2px solid rgba(255,216,116,.55);outline-offset:4px;border-radius:50%}
.active-flight-card{position:absolute;z-index:8;left:24px;top:24px;width:min(390px,calc(100% - 48px));padding:22px;border-radius:20px;background:rgba(5,24,44,.96);border:1px solid rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(12px)}
.active-flight-card[hidden]{display:none}.active-flight-close{position:absolute;right:13px;top:11px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:1.35rem;cursor:pointer}.active-flight-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-right:32px}.active-flight-head h3{font:900 1.65rem Montserrat;margin:5px 0}.active-flight-live{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:#6fe0af}.active-flight-live i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c787;margin-right:5px;animation:svaPulse 1.8s infinite}.active-flight-source{font-size:.68rem;font-weight:800;text-transform:uppercase;padding:6px 9px;border-radius:99px;background:rgba(231,180,71,.16);color:#ffd268}.active-flight-route{display:flex;align-items:center;gap:13px;font:900 1.35rem Montserrat}.active-flight-card>p{color:#a9bed2;margin:6px 0 16px}.active-flight-progress{height:8px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;margin-bottom:18px}.active-flight-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#dca735,#ffd56d);border-radius:inherit;transition:width .6s ease}.active-flight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.active-flight-grid span{padding:11px;border-radius:12px;background:rgba(255,255,255,.055)}.active-flight-grid small{display:block;color:#94acc2;font-size:.66rem;margin-bottom:4px}.active-flight-grid b{font-size:.88rem}.active-flight-updated{text-align:right;color:#7993aa;font-size:.65rem;margin-top:13px}.pilot-map-empty{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:14px 18px;border-radius:13px;background:rgba(6,23,43,.82);color:#d8e6f2}.pilot-map-legend [data-map-refresh]{color:#91a8bd}@keyframes svaPulse{50%{opacity:.35;transform:scale(.8)}}
@media(max-width:760px){.active-flight-card{left:14px;top:14px;width:calc(100% - 28px);padding:18px}.active-flight-grid{grid-template-columns:1fr 1fr}.pilot-map-legend{left:12px;right:12px;bottom:12px;flex-wrap:wrap;justify-content:center}.pilot-map-legend [data-map-refresh]{width:100%;text-align:center}}
@media(max-width:420px){.active-flight-grid{grid-template-columns:1fr}.active-flight-card{max-height:375px;overflow:auto}.map-plane{font-size:1.35rem}}


/* Mapa global de vuelos online: sin aeropuertos ni rutas estáticas */
.pilot-map-orbit[data-live-flight-layer]{position:absolute;inset:0;z-index:2}.live-map-plane{display:grid;place-items:center;gap:2px;color:#f1b836}.live-map-plane span{font-size:1.55rem;line-height:1}.live-map-plane small{position:absolute;top:32px;left:50%;transform:translateX(-50%) rotate(calc(-1 * var(--plane-heading,0deg)));padding:3px 7px;border-radius:7px;background:rgba(4,22,41,.88);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.58rem;font-weight:900;white-space:nowrap;pointer-events:none}.live-map-plane:hover small,.live-map-plane:focus-visible small{background:#fff;color:#071a31}.pilot-map-card .map-point{display:none!important}.pilot-map-legend{z-index:6}.pilot-map-empty{z-index:5}
@media(max-width:640px){.live-map-plane small{display:none}.live-map-plane span{font-size:1.35rem}}

/* Mapa real Leaflet del centro de pilotos */
.pilot-live-leaflet{position:absolute;inset:0;z-index:1;background:#0b3154}
.pilot-live-leaflet .leaflet-tile-pane{filter:saturate(.78) brightness(.78) contrast(1.08)}
.pilot-live-leaflet .leaflet-control-zoom a{background:#fff;color:#071a31;border:0}
.pilot-live-leaflet .leaflet-control-attribution{background:rgba(255,255,255,.82);font-size:10px}
.sva-leaflet-plane-wrap{background:transparent;border:0}
.sva-leaflet-plane{position:relative;width:52px;height:52px;padding:0;border:0;background:transparent;color:#f1b836;cursor:pointer;display:grid;place-items:center}
.sva-leaflet-plane span{display:block;font-size:27px;line-height:1;transform:rotate(var(--heading,0deg));transform-origin:center;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.sva-leaflet-plane small{position:absolute;left:50%;top:43px;transform:translateX(-50%);padding:3px 7px;border-radius:7px;background:rgba(4,22,41,.9);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.58rem;font-weight:900;white-space:nowrap}
.sva-leaflet-plane:hover span,.sva-leaflet-plane:focus-visible span{color:#ffd874;transform:rotate(var(--heading,0deg)) scale(1.14)}
.sva-leaflet-plane:focus-visible{outline:2px solid #ffd874;outline-offset:2px;border-radius:50%}
.pilot-map-card .leaflet-container{font-family:Inter,Arial,sans-serif}
.pilot-map-card .active-flight-card{z-index:900}
.pilot-map-card .pilot-map-empty{position:absolute;z-index:800;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(5,25,46,.88);color:#fff;padding:16px 20px;border-radius:14px}
@media(max-width:640px){.pilot-live-leaflet{min-height:500px}.sva-leaflet-plane small{display:none}.pilot-map-card{height:520px}}

/* Redes sociales de la página principal */
.social-home{padding:clamp(46px,7vw,84px) 0;background:#f6f9fc;border-top:1px solid #dce7f1}
.social-home[hidden]{display:none!important}
.social-home-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.social-home-copy h2{margin:.35rem 0 .75rem;color:#071d36;font-size:clamp(2rem,4vw,3.6rem);line-height:1.04}
.social-home-copy p{margin:0;color:#61748b;font-size:1.05rem;max-width:620px}
.social-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.social-home-link{display:flex;align-items:center;gap:14px;min-height:96px;padding:16px 18px;border:1px solid #d7e2ed;border-radius:22px;background:#fff;color:#071d36;text-decoration:none;transition:transform .22s ease,border-color .22s ease,background .22s ease}
.social-home-link:hover,.social-home-link:focus-visible{transform:translateY(-2px);border-color:#e3ab32;background:#fffaf0;outline:none}
.social-home-link img{width:58px;height:58px;flex:0 0 58px;display:block}
.social-home-link span{display:flex;flex-direction:column;min-width:0}
.social-home-link strong{font-size:1.02rem}
.social-home-link small{margin-top:4px;color:#718198;font-size:.86rem}
@media (max-width:900px){.social-home-inner{grid-template-columns:1fr}.social-home-links{max-width:680px}}
@media (max-width:560px){.social-home-links{grid-template-columns:1fr}.social-home-link{min-height:86px;border-radius:18px}.social-home-link img{width:52px;height:52px;flex-basis:52px}}


/* Facebook e Instagram integrados en la columna de donación */
.footer-social{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.footer-social[hidden]{display:none!important}
.footer-social-label{display:block;margin-bottom:9px;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.footer-social-links{display:flex;align-items:center;gap:10px}
.footer-social-icon{display:grid!important;place-items:center;width:42px;height:42px;min-height:42px!important;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.055);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.footer-social-icon img{display:block;width:34px;height:34px}
.footer-social-icon:hover,.footer-social-icon:focus-visible{background:rgba(255,196,58,.12);border-color:#ffc43a;transform:translateY(-2px);outline:none}
@media(max-width:520px){.footer-social-links{gap:12px}.footer-social-icon{width:44px;height:44px}}


/* Footer social exclusivo: sustituye el antiguo bloque de donaciones */
.footer-social-column{min-width:0}
.footer-social-column h3{margin:0 0 12px;color:#fff;font-size:.92rem;font-weight:800;letter-spacing:.025em}
.footer-social-copy{margin:0 0 16px;color:rgba(255,255,255,.66);font-size:.84rem;line-height:1.55;max-width:260px}
.footer-social-column .footer-social-links{display:flex;flex-wrap:wrap;gap:10px}
.footer-social-button{display:inline-flex!important;align-items:center;gap:9px;min-height:44px!important;padding:7px 12px!important;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.045);color:#fff!important;text-decoration:none;font-size:.8rem;font-weight:700;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.footer-social-button img{display:block;width:30px;height:30px;flex:0 0 30px}
.footer-social-button:hover,.footer-social-button:focus-visible{background:rgba(227,171,50,.12);border-color:#e3ab32;transform:translateY(-1px);outline:none}
.footer-social-button[hidden],.footer-social-column[hidden]{display:none!important}
@media(max-width:560px){.footer-social-column .footer-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.footer-social-button{justify-content:center;width:100%}.footer-social-copy{max-width:none}}

/* Navegación V3.1: menús agrupados y dinámicos */
.nav-links{gap:8px}
.nav-home,.nav-dropdown-toggle{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:12px;color:var(--ink);font-weight:800;white-space:nowrap;transition:background .2s ease,color .2s ease}
.nav-home:hover,.nav-home.active,.nav-dropdown:hover>.nav-dropdown-toggle,.nav-dropdown:focus-within>.nav-dropdown-toggle,.nav-dropdown.active>.nav-dropdown-toggle{background:#edf4fa;color:var(--blue)}
.nav-dropdown{position:relative}
.nav-dropdown-toggle{border:0;background:transparent;cursor:pointer;font:inherit}
.nav-dropdown-toggle span{font-size:.9rem;transition:transform .2s ease}
.nav-dropdown:hover .nav-dropdown-toggle span,.nav-dropdown:focus-within .nav-dropdown-toggle span,.nav-dropdown.open .nav-dropdown-toggle span{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;width:310px;padding:14px;background:#fff;border:1px solid rgba(8,27,53,.1);border-radius:20px;box-shadow:0 24px 60px rgba(8,27,53,.18);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:.2s ease;z-index:80}
.nav-dropdown-menu:before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;background:#fff;border-left:1px solid rgba(8,27,53,.1);border-top:1px solid rgba(8,27,53,.1);transform:translateX(-50%) rotate(45deg)}
.nav-dropdown-wide{width:620px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nav-dropdown:hover>.nav-dropdown-menu,.nav-dropdown:focus-within>.nav-dropdown-menu,.nav-dropdown.open>.nav-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-menu-heading{grid-column:1/-1;padding:4px 10px 10px;color:var(--blue);font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.nav-menu-item{display:flex!important;flex-direction:column;gap:1px;padding:11px 12px!important;border-radius:13px;color:var(--navy)!important;line-height:1.25}
.nav-menu-item:hover{background:#f0f6fa;color:var(--blue)!important}
.nav-menu-item span{font-weight:850}
.nav-menu-item small{font-size:.71rem;color:var(--muted);font-weight:600}
.menu-toggle{width:44px;height:44px;padding:10px;border-radius:12px;border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:center;gap:5px}
.menu-toggle span{display:block;width:21px;height:2px;border-radius:2px;background:var(--navy);transition:.2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1180px) and (min-width:981px){.nav-inner{gap:12px}.nav-home,.nav-dropdown-toggle{padding:8px 9px;font-size:.84rem}.nav-actions .btn{padding:11px 15px}}
@media(max-width:980px){
 .nav-links.mobile-open{position:absolute!important;top:78px!important;left:16px!important;right:16px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;max-height:calc(100vh - 110px);overflow:auto;padding:14px!important;background:#fff!important;border:1px solid var(--line);border-radius:20px!important;box-shadow:0 24px 60px rgba(8,27,53,.2)!important}
 .nav-home,.nav-dropdown-toggle{width:100%;justify-content:space-between;padding:12px 14px}
 .nav-dropdown-menu,.nav-dropdown-wide{position:static;width:auto;display:none;grid-template-columns:1fr;opacity:1;visibility:visible;transform:none!important;box-shadow:none;border:0;border-radius:14px;margin:3px 6px 8px;padding:7px;background:#f4f8fb}
 .nav-dropdown-menu:before{display:none}
 .nav-dropdown.open>.nav-dropdown-menu{display:grid}
 .nav-dropdown:hover>.nav-dropdown-menu:not(.force-open){display:none}
 .nav-dropdown.open:hover>.nav-dropdown-menu{display:grid}
 .nav-menu-heading{padding:7px 10px}
 .nav-menu-item{padding:10px 11px!important}
 .menu-toggle{display:flex}
}

/* Community: distribución equilibrada de accesos */
.community-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:22px}
.community-card{display:flex;flex-direction:column;min-height:280px}
.community-card p{flex:1;color:var(--muted)}
.community-card a{color:var(--navy);margin-top:12px}
@media(max-width:640px){.community-card{min-height:0}}

/* Community horizontal banner carousel */
.community-carousel{position:relative;margin-top:8px}
.community-carousel-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:16px}
.community-carousel-status{margin:0;color:var(--muted);font-weight:700;font-size:.92rem}
.community-carousel-controls{display:flex;gap:10px}
.community-carousel-arrow{width:48px;height:48px;border-radius:50%;border:1px solid #cfdceb;background:#fff;color:var(--navy);font-size:1.45rem;font-weight:800;cursor:pointer;display:grid;place-items:center;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.community-carousel-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-1px)}
.community-carousel-arrow:focus-visible{outline:3px solid rgba(6,88,152,.25);outline-offset:3px}
.community-carousel-arrow:disabled{opacity:.38;cursor:not-allowed;transform:none;background:#f5f8fb;color:#8090a3;border-color:#dbe4ee}
.community-carousel-viewport{overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:2px 2px 8px}
.community-carousel-viewport::-webkit-scrollbar{display:none}
.community-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px}
.community-carousel .community-card{scroll-snap-align:start;min-height:310px;width:100%;box-sizing:border-box}
.community-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.community-carousel-dot{width:9px;height:9px;border-radius:50%;border:0;background:#cbd7e4;padding:0;cursor:pointer;transition:width .2s ease,background .2s ease}
.community-carousel-dot.is-active{width:28px;border-radius:999px;background:var(--gold)}
@media(max-width:980px){.community-carousel-track{grid-auto-columns:calc((100% - 22px)/2)}}
@media(max-width:640px){.community-carousel-toolbar{justify-content:space-between}.community-carousel-track{grid-auto-columns:88%}.community-carousel .community-card{min-height:285px}.community-carousel-arrow{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.community-carousel-viewport{scroll-behavior:auto}.community-carousel-arrow,.community-carousel-dot{transition:none}}

/* Flight-radar inspired live map */
.radar-page-hero{padding-bottom:72px}.radar-hero-copy{max-width:760px;color:#dbe9f7;font-size:1.08rem;margin-top:18px}.radar-section{padding-top:54px}.radar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.radar-toolbar h2{margin-bottom:8px}.radar-status-cluster{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.radar-live-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#eafaf2;color:#087247;font-weight:900;font-size:.78rem;letter-spacing:.08em}.radar-live-pill i{width:8px;height:8px;border-radius:50%;background:#13b66a;box-shadow:0 0 0 6px rgba(19,182,106,.12);animation:radarPulse 1.8s infinite}.radar-updated{font-size:.85rem;color:var(--muted)}
.radar-shell{display:grid;grid-template-columns:310px minmax(0,1fr) 330px;min-height:690px;border-radius:26px;overflow:hidden;border:1px solid #173b5e;background:#071c31;box-shadow:0 26px 65px rgba(3,23,43,.2)}.radar-sidebar,.radar-detail{background:#081f36;color:#fff;min-width:0}.radar-sidebar{border-right:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column}.radar-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 14px}.radar-sidebar-head div{display:flex;align-items:baseline;gap:8px}.radar-sidebar-head strong{font-size:1.8rem}.radar-sidebar-head span{color:#9cb2c7;font-size:.8rem}.radar-refresh{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#0e2c49;color:#fff;font-size:1.35rem;cursor:pointer}.radar-refresh:hover{background:#153d61}.radar-refresh.spinning{animation:radarSpin .8s linear infinite}.radar-search{margin:0 20px 12px;display:flex;align-items:center;gap:8px;background:#0d2a46;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0 12px}.radar-search input{width:100%;padding:12px 0;border:0;background:transparent;color:#fff;outline:none}.radar-search input::placeholder{color:#7f99b1}.radar-filters{display:flex;gap:7px;padding:0 20px 14px}.radar-filters button{flex:1;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:transparent;color:#a9bdd0;font-weight:800;cursor:pointer}.radar-filters button.active{background:#f1b836;color:#071c31;border-color:#f1b836}.radar-flight-list{overflow:auto;flex:1;padding:0 10px 16px}.radar-flight-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:#fff;text-align:left;cursor:pointer}.radar-flight-row:hover,.radar-flight-row.active{background:#0d3152;border-radius:12px}.radar-row-source{font-size:.55rem;font-weight:900;padding:5px 6px;border-radius:6px;background:#17466f;color:#8dc7f4}.radar-row-source.ivao,.radar-detail-source.ivao{background:#47296d;color:#d9b6ff}.radar-row-main strong,.radar-row-meta strong{display:block}.radar-row-main small,.radar-row-meta small{display:block;color:#94abc0;margin-top:4px}.radar-row-main b{color:#f1b836}.radar-row-meta{text-align:right;font-size:.75rem}.radar-list-empty{padding:28px 14px;color:#8ba4bb;text-align:center}
.radar-map-stage{position:relative;min-height:690px;background:#0b243b}.live-radar-map{position:absolute;inset:0;z-index:1}.live-radar-map .leaflet-tile-pane{filter:saturate(.8) brightness(.74) contrast(1.1)}.live-radar-map .leaflet-control-zoom a{background:#0b2b48;color:#fff;border:0}.live-radar-map .leaflet-control-attribution{background:rgba(4,20,36,.75);color:#a8bacb}.live-radar-map .leaflet-control-attribution a{color:#f1b836}.radar-map-overlay{position:absolute;z-index:500}.radar-map-legend{left:16px;bottom:16px;display:flex;gap:12px;padding:9px 12px;border-radius:10px;background:rgba(5,23,40,.88);color:#d8e4ee;font-size:.72rem;backdrop-filter:blur(8px)}.radar-map-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#51b8ff}.legend-dot.ivao{background:#bb7cff}.radar-empty,.radar-loading{position:absolute;inset:0;z-index:700;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(5,25,43,.78);color:#fff;text-align:center}.radar-empty span{color:#a9bdd0;margin-top:7px}.radar-loading span{width:36px;height:36px;border:3px solid rgba(255,255,255,.18);border-top-color:#f1b836;border-radius:50%;animation:radarSpin .8s linear infinite}.radar-loading p{margin-top:12px;color:#c0d0df}.radar-plane-icon-wrap{background:transparent;border:0}.radar-plane-icon{width:58px;height:58px;border:0;background:transparent;color:#55baff;position:relative;display:grid;place-items:center;cursor:pointer}.radar-plane-icon.ivao{color:#c185ff}.radar-plane-icon span{font-size:28px;line-height:1;transform:rotate(var(--heading));transform-origin:center;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55));transition:.2s}.radar-plane-icon small{position:absolute;top:43px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 6px;background:rgba(5,23,40,.9);border:1px solid currentColor;border-radius:6px;color:#fff;font-size:.56rem;font-weight:900}.radar-plane-icon:hover span,.radar-plane-icon:focus-visible span{transform:rotate(var(--heading)) scale(1.22);color:#ffd15b}.radar-plane-icon:focus-visible{outline:2px solid #ffd15b;border-radius:50%}
.radar-detail{border-left:1px solid rgba(255,255,255,.09);padding:22px;overflow:auto}.radar-detail-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8fa8bf}.radar-detail-placeholder span{font-size:2.8rem;color:#f1b836}.radar-detail-placeholder strong{color:#fff;margin:12px 0 6px}.radar-detail-placeholder p{max-width:230px}.radar-detail-head{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:18px}.radar-detail-head h3{font-size:2rem;color:#fff;margin:7px 0 4px}.radar-detail-head p{color:#9db2c5}.radar-detail-source{display:inline-block;padding:5px 8px;border-radius:6px;background:#17466f;color:#8dc7f4;font-size:.62rem;font-weight:900}.radar-detail-close{border:0;background:transparent;color:#9db2c5;font-size:1.8rem;cursor:pointer}.radar-route-line{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:22px 0}.radar-route-line div:last-child{text-align:right}.radar-route-line span{display:block;font-size:1.55rem;font-weight:900}.radar-route-line small{display:block;color:#8ea5ba;font-size:.7rem;margin-top:5px;line-height:1.35}.radar-route-line b{color:#f1b836}.radar-progress{height:6px;background:#173853;border-radius:99px;overflow:hidden;margin-bottom:22px}.radar-progress span{display:block;height:100%;background:linear-gradient(90deg,#f1b836,#ffd978);border-radius:inherit}.radar-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radar-detail-grid div{padding:13px;background:#0d2a46;border:1px solid rgba(255,255,255,.07);border-radius:12px}.radar-detail-grid small{display:block;color:#89a1b7;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}.radar-detail-grid strong{display:block;margin-top:5px;font-size:.9rem}.radar-detail-foot{display:flex;justify-content:space-between;color:#8ea5ba;border-top:1px solid rgba(255,255,255,.1);margin-top:20px;padding-top:15px;font-size:.75rem}.radar-data-note{margin-top:20px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#f7fafc}.radar-data-note p{margin-top:5px;color:var(--muted)}.radar-data-note code{color:var(--blue);font-weight:700}
@keyframes radarSpin{to{transform:rotate(360deg)}}@keyframes radarPulse{50%{box-shadow:0 0 0 10px rgba(19,182,106,0)}}
@media(max-width:1200px){.radar-shell{grid-template-columns:280px minmax(0,1fr)}.radar-detail{position:absolute;right:18px;top:18px;bottom:18px;width:330px;z-index:800;border:1px solid rgba(255,255,255,.13);border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.35)}.radar-map-stage{position:relative}.radar-shell{position:relative}}
@media(max-width:900px){.radar-toolbar{align-items:flex-start;flex-direction:column}.radar-status-cluster{justify-content:flex-start}.radar-shell{grid-template-columns:1fr;grid-template-rows:360px 540px}.radar-sidebar{grid-row:2;border-right:0;border-top:1px solid rgba(255,255,255,.09)}.radar-map-stage{grid-row:1;min-height:360px}.radar-flight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 16px}.radar-flight-row{border:1px solid rgba(255,255,255,.08);border-radius:12px}.radar-detail{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto;max-height:72vh;z-index:1000}}
@media(max-width:620px){.radar-flight-list{grid-template-columns:1fr}.radar-shell{grid-template-rows:330px 560px;border-radius:18px}.radar-map-stage{min-height:330px}.radar-detail-grid{grid-template-columns:1fr 1fr}.radar-toolbar h2{font-size:2rem}.radar-map-legend{display:none}.radar-plane-icon small{display:none}}

/* V3.1: detección transparente y cabecera aeronáutica de rangos */
.radar-detail-source,.radar-data-note{display:none!important}
.rank-page-light .rank-aviation-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:540px;display:flex;align-items:center;
  background:
    radial-gradient(circle at 78% 28%,rgba(66,167,225,.32),transparent 24%),
    radial-gradient(circle at 93% 88%,rgba(255,190,45,.15),transparent 25%),
    linear-gradient(118deg,#061b36 0%,#0b3e70 56%,#0c5794 100%);
  padding:92px 0 88px;
}
.rank-page-light .rank-aviation-hero::before{
  content:""!important;display:block!important;position:absolute;inset:0;z-index:-2;opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent 5%,#000 45%,#000 100%);
}
.rank-page-light .rank-aviation-hero::after{
  content:""!important;display:block!important;position:absolute;right:-7%;top:-42%;width:760px;height:760px;z-index:-1;
  border:1px solid rgba(255,255,255,.16);border-radius:50%;
  box-shadow:0 0 0 85px rgba(255,255,255,.035),0 0 0 170px rgba(255,255,255,.025);
}
.rank-page-light .rank-aviation-hero .rank-hero-content{position:relative;z-index:2}
.rank-page-light .rank-aviation-hero .eyebrow{color:#f4bd3d}
.rank-page-light .rank-aviation-hero h1{color:#fff;max-width:980px;text-wrap:balance}
.rank-page-light .rank-aviation-hero p{color:rgba(255,255,255,.82);max-width:760px;font-size:1.12rem}
.rank-aviation-art{position:absolute;inset:0;pointer-events:none;z-index:1}
.rank-flight-path{position:absolute;border:2px solid rgba(255,255,255,.22);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-17deg)}
.rank-flight-path.path-one{width:560px;height:260px;right:5%;top:17%}
.rank-flight-path.path-two{width:410px;height:190px;right:12%;top:31%;border-color:rgba(244,189,61,.28);border-left-color:transparent;border-bottom-color:transparent}
.rank-flight-plane{position:absolute;right:21%;top:31%;color:#f4bd3d;font-size:3.1rem;transform:rotate(18deg);filter:none}
@media(max-width:980px){
  .rank-page-light .rank-aviation-hero{min-height:470px;padding:74px 0}
  .rank-flight-path.path-one{right:-25%;top:24%}.rank-flight-path.path-two{right:-18%;top:36%}.rank-flight-plane{right:12%;top:36%;opacity:.7}
}
@media(max-width:620px){
  .rank-page-light .rank-aviation-hero{min-height:430px;padding:62px 0 58px}
  .rank-page-light .rank-aviation-hero h1{font-size:clamp(2.6rem,13vw,4.4rem)}
  .rank-page-light .rank-aviation-hero p{font-size:1rem}
  .rank-flight-path{opacity:.55}.rank-flight-plane{right:10%;top:17%;font-size:2.25rem;opacity:.6}
}

/* Paginación de rutas y horarios */
.routes-pagination{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;margin-top:1.35rem;padding:.35rem 0}
.routes-pagination[hidden]{display:none!important}
.routes-page-numbers{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:center}
.routes-page-number,.routes-page-arrow{min-width:44px;height:44px;border:1px solid #d6e1ec;border-radius:14px;background:#fff;color:#071a33;font:inherit;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.routes-page-arrow{font-size:1.65rem;line-height:1}
.routes-page-number:hover,.routes-page-arrow:hover:not(:disabled){border-color:#0d568f;background:#eef6fc;transform:translateY(-1px)}
.routes-page-number.is-active{background:#071a33;color:#fff;border-color:#071a33}
.routes-page-arrow:disabled{opacity:.4;cursor:not-allowed}
.routes-page-gap{min-width:24px;text-align:center;color:#66788f;font-weight:800}
.routes-page-summary{width:100%;text-align:center;color:#66788f;font-size:.92rem;margin-top:.25rem}
@media(max-width:640px){.routes-page-number,.routes-page-arrow{min-width:40px;height:40px;border-radius:12px}.routes-page-summary{font-size:.84rem}}

/* Directorio de pilotos: insignia única y paginación */
[data-pilots-table] td[data-label="Rango"]{vertical-align:middle}
[data-pilots-table] .rank-badge-inline{display:block;width:112px;max-width:100%;height:54px;object-fit:contain;margin:0;filter:none;box-shadow:none}
.pilots-pagination{margin-bottom:.25rem}
@media(max-width:760px){[data-pilots-table] .rank-badge-inline{width:96px;height:48px}}

/* Paginación reutilizable: ranking, PIREPs, eventos, noticias y recursos */
.generic-pagination{justify-content:space-between;align-items:center;margin-top:1.4rem}
.generic-pagination .pagination-controls{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap}
.pagination-summary{color:var(--muted);font-size:.95rem;font-weight:700}
.pagination-button{min-width:44px;height:44px;padding:0 .85rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:inherit;font-weight:800;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.pagination-button:hover:not(:disabled){border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}
.pagination-button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.pagination-button:disabled{opacity:.38;cursor:not-allowed}
.pagination-numbers{display:flex;align-items:center;gap:.4rem}
.pagination-ellipsis{display:inline-grid;place-items:center;min-width:28px;color:var(--muted);font-weight:800}
[data-page-item][hidden], [data-auto-pagination] > [hidden]{display:none!important}
@media (max-width:700px){.generic-pagination{justify-content:center;text-align:center}.pagination-summary{width:100%}.pagination-button{min-width:40px;height:40px;padding:0 .7rem}}


/* Acceso privado a descargas */
.member-downloads-section{min-height:48vh;background:#f6f8fc}
.member-access-card{max-width:720px;margin:0 auto;padding:48px 36px;text-align:center;background:#fff;border:1px solid rgba(15,37,68,.12);border-radius:24px;box-shadow:0 18px 50px rgba(15,37,68,.08)}
.member-access-card[hidden],[data-member-downloads][hidden],[data-member-only][hidden]{display:none!important}
.member-access-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:22px;background:#0f2544;color:#fff;font-size:30px}
.member-access-card h2{margin:8px 0 12px;color:#0f2544}
.member-access-card p{max-width:570px;margin:0 auto 24px;color:#667085;line-height:1.7}
@media(max-width:640px){.member-access-card{padding:34px 22px;border-radius:18px}.member-access-icon{width:60px;height:60px;border-radius:18px}}


/* Contador real de descargas */
.download-card { display:flex; flex-direction:column; }
.download-card-meta { margin-top:auto; padding:14px 0 16px; }
.download-count { display:inline-flex; align-items:center; gap:7px; color:#5e6b7d; font-size:.86rem; font-weight:600; }
.download-count::before { content:"↓"; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#eef3fa; color:var(--navy, #071f3f); font-weight:800; }
.download-count strong { color:var(--navy, #071f3f); font-variant-numeric:tabular-nums; }


/* Requisitos de progresión de rangos */
.rank-policy-note{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center;padding:28px 32px;margin:0 0 34px;border:1px solid #d9e4ef;border-radius:24px;background:linear-gradient(135deg,#f7fbff 0%,#edf5fb 100%)}
.rank-policy-note h3{margin:8px 0 0;color:#081c36;font-size:clamp(1.35rem,2vw,1.9rem)}
.rank-policy-note p{margin:0;color:#5d7088;line-height:1.7}
.rank-card{display:flex;flex-direction:column}
.rank-card>p:not(.rank-requirement-note){min-height:48px}
.rank-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;width:100%}
.rank-requirements span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:74px;padding:12px 8px;border:1px solid #d8e4ef;border-radius:14px;background:#f6f9fc;text-align:center}
.rank-requirements b{color:#08264a;font-family:Montserrat,Inter,sans-serif;font-size:1.08rem}
.rank-requirements small{margin-top:4px;color:#6b7d91;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.rank-requirements-appointment{grid-template-columns:1fr}
.rank-requirement-wide{width:100%}
.rank-appointment-badge{display:inline-flex;align-self:center;justify-content:center;margin-top:10px;padding:8px 13px;border-radius:999px;background:#fff4d5;color:#8a5a00;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.rank-requirement-note{margin:12px 0 0!important;min-height:36px!important;color:#6e7f92!important;font-size:.82rem!important;line-height:1.45!important;text-align:center}
@media(max-width:760px){.rank-policy-note{grid-template-columns:1fr;padding:22px}.rank-requirements{gap:8px}.rank-requirements span{min-height:68px}}

/* Sistema de reservas del Centro de pilotos */
.reservation-action-box{display:grid;gap:.8rem;margin-top:1rem}.reservation-message{margin:0;padding:.85rem 1rem;border-radius:14px;background:#eef5fb;color:#34516f;line-height:1.45}.flight-list-status{display:inline-flex;align-items:center;justify-content:center;min-width:96px;padding:.38rem .7rem;border-radius:999px;font-weight:800;color:#087b58;background:#e3f5ed}.pilot-available-flights article.is-reserved .flight-list-status{color:#895700;background:#fff0ce}.pilot-available-flights article.is-mine .flight-list-status{color:#075b9c;background:#e4f1ff}.reservation-action-box .btn{width:100%;justify-content:center}.pilot-form-feedback.success{color:#087b58}.pilot-form-feedback.error{color:#b4233f}

/* SimBrief dispatch */
.briefing-body{background:#edf3f8;color:#071a31}.briefing-page{min-height:100vh}.briefing-topbar{height:86px;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dce6ef;position:sticky;top:0;z-index:20}.briefing-top-actions{display:flex;align-items:center;gap:14px}.briefing-security{font-size:.75rem;color:#16865f;font-weight:800}.briefing-security:before{content:'●';margin-right:7px}.briefing-hero{padding:54px clamp(18px,5vw,76px);background:linear-gradient(120deg,#071a31,#0d4f89);color:#fff;display:flex;justify-content:space-between;align-items:end;gap:32px;overflow:hidden;position:relative}.briefing-hero:after{content:'';position:absolute;right:-100px;top:-180px;width:520px;height:520px;border:80px solid rgba(255,255,255,.035);border-radius:50%}.briefing-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:.35rem 0}.briefing-hero p{max-width:740px;color:#c8d8e6;font-size:1.04rem}.briefing-flight-id{position:relative;z-index:1;min-width:220px;padding:20px 24px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.briefing-flight-id small,.briefing-flight-id span{display:block;color:#b9cee0}.briefing-flight-id strong{display:block;font:900 2rem Montserrat;margin:4px 0}.briefing-layout{padding:34px clamp(18px,5vw,76px) 70px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.briefing-main,.briefing-side{display:grid;gap:24px;align-content:start}.briefing-card{background:#fff;border:1px solid #d9e4ed;border-radius:24px;padding:28px}.briefing-card h2,.briefing-card h3{margin:.35rem 0;color:#071a31}.briefing-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.briefing-route-card h2{font:900 clamp(2rem,5vw,3.6rem) Montserrat}.briefing-route-card h2 i{font-style:normal;color:#e7b447}.briefing-route-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.briefing-route-meta>div{padding:18px;border-radius:16px;background:#f4f7fa;display:grid;gap:5px}.briefing-route-meta small,.briefing-facts small,.briefing-ofp-summary small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#7b8fa3;font-weight:800}.briefing-route-meta span{color:#60768a;font-size:.85rem}.briefing-facts,.briefing-ofp-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.briefing-facts span,.briefing-ofp-summary span{display:grid;padding:15px;border:1px solid #dce6ef;border-radius:14px}.briefing-facts b,.briefing-ofp-summary b{margin-top:5px}.briefing-simbrief-mark{padding:9px 13px;border-radius:10px;background:#1a2430;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.12em}.briefing-note{color:#61768a;max-width:800px}.briefing-checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.briefing-checklist span{padding:13px;border-radius:12px;background:#f3f8f5;color:#176d50;font-size:.85rem;font-weight:700}.briefing-actions,.briefing-download-actions{display:flex;gap:12px;flex-wrap:wrap}.briefing-requirements{padding-left:20px;margin:18px 0 0;color:#526a80;display:grid;gap:12px}.briefing-warning{background:#fff8e7;border-color:#f0d896}.briefing-warning strong{color:#8a5c00}.briefing-warning p{margin:.5rem 0 0;color:#765f31}.briefing-ofp-text{margin-top:22px;border:1px solid #dce6ef;border-radius:16px;overflow:hidden}.briefing-ofp-text h3{margin:0;padding:13px 17px;background:#071a31;color:#fff}.briefing-ofp-text pre{margin:0;padding:20px;max-height:520px;overflow:auto;white-space:pre-wrap;font:500 .78rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#243a50;background:#f8fafc}.briefing-download-actions{margin-top:20px}@media(max-width:980px){.briefing-layout{grid-template-columns:1fr}.briefing-side{grid-template-columns:repeat(2,1fr)}.briefing-side .briefing-warning{grid-column:1/-1}}@media(max-width:680px){.briefing-topbar{height:auto;padding:14px 16px;gap:12px}.briefing-top-actions .briefing-security{display:none}.briefing-top-actions .btn{padding:12px}.briefing-hero{padding:38px 18px;display:block}.briefing-flight-id{margin-top:24px}.briefing-layout{padding:22px 14px 50px}.briefing-card{padding:20px;border-radius:18px}.briefing-route-meta,.briefing-checklist,.briefing-side{grid-template-columns:1fr}.briefing-facts,.briefing-ofp-summary{grid-template-columns:1fr 1fr}.briefing-actions .btn,.briefing-download-actions .btn{width:100%}}


/* Buscador vanguardista del sistema de reservas */
.reservation-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:end;margin-bottom:24px}.reservation-hero h2{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;margin:.45rem 0 1rem;color:var(--pilot-navy)}.reservation-hero p{max-width:760px;color:#647a90;font-size:1.05rem;margin:0}.reservation-hero-stat{background:linear-gradient(145deg,#08213d,#0d4f82);color:#fff;border-radius:24px;padding:22px;display:grid;gap:4px;min-height:145px;align-content:center}.reservation-hero-stat small,.reservation-hero-stat span{color:#a9c8df}.reservation-hero-stat strong{font:900 2.5rem Montserrat}.reservation-search{display:grid;grid-template-columns:1.25fr 44px 1.25fr 1fr 1fr 1fr;gap:12px;padding:18px;background:#fff;border:1px solid #d8e4ee;border-radius:24px;box-shadow:0 18px 42px rgba(10,38,65,.07);margin-bottom:20px}.reservation-filter-group{display:grid;gap:8px;min-width:0}.reservation-filter-group label{font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#60758b}.reservation-filter-group input,.reservation-filter-group select{width:100%;height:50px;border:1px solid #d5e1eb;border-radius:14px;background:#f8fbfd;color:#071d38;padding:0 14px;font:700 .86rem Inter;outline:0}.reservation-filter-group input:focus,.reservation-filter-group select:focus{border-color:#1185c1;box-shadow:0 0 0 3px rgba(17,133,193,.12);background:#fff}.reservation-input{position:relative}.reservation-input span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#0b74ac;font-weight:900}.reservation-input input{padding-left:38px}.reservation-swap{align-self:end;width:44px;height:50px;border:1px solid #d5e1eb;border-radius:14px;background:#eef6fb;color:#07558a;font-size:1.25rem;cursor:pointer}.reservation-swap:hover{background:#dceef9}.reservation-search-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e4ebf1;padding-top:15px}.reservation-clear{border:0;background:transparent;color:#526a80;font-weight:800;cursor:pointer;padding:0 14px}.reservation-results-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 14px}.reservation-results-bar>div:first-child{display:grid;gap:3px}.reservation-results-bar strong{font-size:1.05rem;color:#071d38}.reservation-results-bar span{color:#708398;font-size:.82rem}.reservation-live-indicator{display:flex!important;align-items:center;gap:8px;color:#17805f!important;font-weight:800;font-size:.78rem}.reservation-live-indicator i{width:9px;height:9px;border-radius:50%;background:#20ad79;box-shadow:0 0 0 5px rgba(32,173,121,.12)}.reservation-flight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pilot-available-flights .reservation-flight-card{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:24px;border-radius:24px;min-height:330px;transition:transform .2s ease,border-color .2s ease}.pilot-available-flights .reservation-flight-card:hover{transform:translateY(-3px);border-color:#b7cfdf}.reservation-card-top{display:flex!important;justify-content:space-between;align-items:center!important}.reservation-flight-number{font-size:1.15rem!important;color:#07558a!important}.reservation-route{display:grid!important;grid-template-columns:1fr 86px 1fr;align-items:center!important;gap:10px!important}.reservation-route>div:not(.reservation-route-line){display:grid!important;gap:4px!important}.reservation-route>div:last-child{text-align:right}.reservation-route strong{font:900 clamp(2rem,4vw,3.1rem) Montserrat;color:#061d39}.reservation-route span{font-weight:600!important;color:#6c8095!important;font-size:.82rem}.reservation-route-line{display:grid!important;justify-items:center!important;gap:5px!important;color:#0a6da6}.reservation-route-line:before,.reservation-route-line:after{content:"";width:100%;height:1px;background:#cbdbe6;grid-row:1;grid-column:1}.reservation-route-line i{grid-row:1;grid-column:1;background:#fff;padding:0 8px;z-index:1;font-style:normal}.reservation-route-line small{font-weight:800;color:#61768b}.reservation-meta{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px!important}.reservation-meta span{display:grid!important;gap:4px!important;padding:12px;border:1px solid #e0e8ef;border-radius:14px;background:#fbfdfe;color:inherit!important}.reservation-meta small{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#74879a}.reservation-meta b{font-size:.86rem;color:#102842}.reservation-card-action{margin-top:auto;display:block!important}.reservation-card-action .btn,.reservation-card-action .flight-reserved-badge{width:100%;min-height:52px}.reservation-empty{text-align:center;background:#fff;border:1px dashed #c7d8e5;border-radius:24px;padding:48px 20px}.reservation-empty>span{font-size:2.4rem;color:#e4b33d}.reservation-empty h3{margin:12px 0 6px}.reservation-empty p{color:#718397;margin:0 0 20px}
@media(max-width:1200px){.reservation-search{grid-template-columns:1fr 44px 1fr 1fr}.reservation-filter-group:nth-of-type(4),.reservation-filter-group:nth-of-type(5){grid-column:span 2}.reservation-flight-grid{grid-template-columns:1fr}}
@media(max-width:760px){.reservation-hero{grid-template-columns:1fr}.reservation-hero-stat{min-height:auto}.reservation-search{grid-template-columns:1fr}.reservation-swap{align-self:center;justify-self:center;transform:rotate(90deg)}.reservation-filter-group:nth-of-type(4),.reservation-filter-group:nth-of-type(5){grid-column:auto}.reservation-search-actions{display:grid}.reservation-results-bar{align-items:flex-start;flex-direction:column}.reservation-route{grid-template-columns:1fr 55px 1fr!important}.reservation-meta{grid-template-columns:1fr!important}}

/* Sistema de reservas: resultados compactos tipo tabla */
.reservation-flight-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.pilot-available-flights .reservation-flight-row{display:grid!important;grid-template-columns:minmax(100px,.7fr) minmax(210px,1.35fr) minmax(360px,2fr) minmax(110px,.7fr) minmax(150px,.9fr);align-items:center;gap:18px;min-height:96px;padding:18px 20px;border-radius:18px;background:#fff;transition:border-color .2s ease,background-color .2s ease;transform:none!important}
.pilot-available-flights .reservation-flight-row:hover{border-color:#a9c7dc;background:#fbfdff;transform:none!important}
.reservation-row-flight{display:grid;gap:4px}.reservation-row-flight .reservation-flight-number{font-size:1rem!important}.reservation-row-flight>small{color:#778ba0;font-weight:700}
.reservation-row-route{display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:start;column-gap:10px;row-gap:3px}.reservation-row-route strong{font:900 1.35rem Montserrat;color:#071d38}.reservation-row-route>span{color:#0b6fa8;font-weight:900}.reservation-row-route>small{grid-column:1/-1;color:#71869a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.reservation-row-data{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}.reservation-row-data span{display:grid!important;gap:3px!important;min-width:0}.reservation-row-data small{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:#7d8fa1}.reservation-row-data b{font-size:.82rem;color:#17324c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reservation-row-status{display:flex;justify-content:center}.reservation-flight-row .flight-list-status{min-width:104px}
.reservation-flight-row .reservation-card-action{margin:0!important;display:block!important}.reservation-flight-row .reservation-card-action .btn,.reservation-flight-row .reservation-card-action .flight-reserved-badge{width:100%;min-height:46px;padding:.72rem 1rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1150px){.pilot-available-flights .reservation-flight-row{grid-template-columns:100px minmax(190px,1.3fr) minmax(250px,1.8fr) 120px}.reservation-row-status{grid-column:4;grid-row:1}.reservation-card-action{grid-column:4;grid-row:2}.reservation-row-data{grid-column:3;grid-row:1/3}}
@media(max-width:820px){.pilot-available-flights .reservation-flight-row{grid-template-columns:1fr auto;gap:14px;padding:18px}.reservation-row-flight{grid-column:1}.reservation-row-status{grid-column:2;grid-row:1}.reservation-row-route{grid-column:1/-1}.reservation-row-data{grid-column:1/-1;grid-row:auto}.reservation-card-action{grid-column:1/-1!important;grid-row:auto!important}.reservation-row-route>small{max-width:none}}
@media(max-width:520px){.reservation-row-data{grid-template-columns:1fr 1fr!important}.reservation-row-data span:last-child{grid-column:1/-1}.reservation-flight-row .reservation-card-action .btn,.reservation-flight-row .reservation-card-action .flight-reserved-badge{min-height:48px}}


/* Modern pilot login */
.login-page{min-height:100vh;background:#eef4f8;overflow-x:hidden}.auth-wrap-modern{position:relative;background:#eef4f8}.auth-visual-modern{--pointer-x:0;--pointer-y:0;position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:52px clamp(28px,5vw,74px);background:linear-gradient(145deg,#06182e 0%,#0a355d 44%,#3288bb 100%);color:#fff}.auth-visual-modern:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 77% 20%,rgba(255,255,255,.2),transparent 28%),linear-gradient(115deg,rgba(2,15,29,.48),transparent 62%)}.auth-visual-modern:after{content:"";position:absolute;inset:auto -20% -23% -20%;height:58%;z-index:-2;background:radial-gradient(ellipse at center,rgba(255,255,255,.2),rgba(255,255,255,0) 66%);filter:blur(18px)}.auth-brand{position:relative;z-index:4;color:#fff}.auth-brand small{color:#d7ebf7}.auth-copy{position:relative;z-index:4;max-width:690px;margin-top:auto;margin-bottom:clamp(28px,8vh,82px)}.auth-copy .eyebrow{color:#fff}.auth-copy h1{font-size:clamp(3rem,6.6vw,6.2rem);max-width:730px;margin-top:18px;letter-spacing:-.06em}.auth-copy>p{max-width:620px;color:#d8e9f5;font-size:clamp(1rem,1.6vw,1.18rem)}.auth-caption{position:relative;z-index:4;margin:0;color:#c8deed;font-size:.8rem;letter-spacing:.04em}.auth-feature-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.auth-feature-list span{padding:8px 12px;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:rgba(7,28,50,.2);backdrop-filter:blur(10px);font-size:.74rem;font-weight:750;color:#eff8fd}.auth-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;transform:translate(calc(var(--pointer-x)*-5px),calc(var(--pointer-y)*-4px));transition:transform .18s ease-out}.auth-sun{position:absolute;top:8%;right:9%;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#fff 0 8%,#ffe7a8 18%,rgba(255,205,100,.24) 47%,transparent 70%);filter:blur(.2px)}.auth-cloud{position:absolute;width:340px;height:88px;border-radius:999px;background:rgba(245,251,255,.22);filter:blur(3px);animation:authCloudDrift 22s linear infinite}.auth-cloud:before,.auth-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.auth-cloud:before{width:145px;height:145px;left:48px;bottom:8px}.auth-cloud:after{width:190px;height:190px;right:32px;bottom:-4px}.auth-cloud-a{top:21%;left:-9%;transform:scale(.72);opacity:.72}.auth-cloud-b{top:52%;right:-17%;transform:scale(1.35);opacity:.52;animation-duration:31s;animation-direction:reverse}.auth-cloud-c{bottom:4%;left:11%;transform:scale(1.8);opacity:.25;animation-duration:37s}.auth-aircraft{position:absolute;top:18%;right:5%;font-size:clamp(5.5rem,10vw,9rem);line-height:1;color:rgba(226,241,251,.22);filter:drop-shadow(0 16px 20px rgba(0,13,27,.18));transform:rotate(-18deg) translate(calc(var(--pointer-x)*8px),calc(var(--pointer-y)*6px));transform-origin:center;animation:authAircraftFloat 8s ease-in-out infinite}.auth-contrail{position:absolute;height:2px;width:31%;right:12%;left:auto;top:29%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),rgba(255,255,255,.08));transform:rotate(-18deg);transform-origin:right center;filter:blur(1px)}.auth-contrail-b{top:31.5%;right:13.5%;opacity:.38}.auth-panel-modern{position:relative;overflow:hidden;background:linear-gradient(160deg,#f9fcfe,#eef5f9);padding:clamp(28px,5vw,74px)}.auth-panel-glow{position:absolute;right:-160px;top:-150px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(53,167,224,.19),transparent 68%)}.auth-card-modern{position:relative;width:min(100%,530px);padding:clamp(28px,4vw,46px);border-radius:30px;border:1px solid rgba(126,159,187,.26);box-shadow:0 28px 85px rgba(8,27,53,.12);background:rgba(255,255,255,.88);backdrop-filter:blur(22px)}.auth-card-modern:hover{transform:none;border-color:rgba(126,159,187,.26);box-shadow:0 28px 85px rgba(8,27,53,.12)}.auth-card-heading{margin-bottom:30px}.auth-card-heading h2{font-size:clamp(2.35rem,4.5vw,4.3rem);margin-top:12px;margin-bottom:12px}.auth-card-heading p{color:var(--muted);margin:0}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-wrap>span{position:absolute;left:16px;color:var(--blue);z-index:1;font-size:.75rem}.auth-input-wrap .form-control{height:62px;padding-left:43px;padding-right:72px;border-radius:17px;background:#fff}.auth-password-toggle{position:absolute;right:11px;border:0;background:#edf4f8;color:var(--blue);padding:8px 10px;border-radius:9px;font-size:.72rem;font-weight:800;cursor:pointer}.auth-form-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:17px 0 24px;font-size:.82rem}.auth-checkbox{display:flex;align-items:center;gap:7px;color:var(--muted);cursor:pointer}.auth-checkbox input{accent-color:var(--blue)}.auth-help-link{color:var(--blue);font-weight:750}.auth-submit{width:100%;min-height:58px;justify-content:space-between;padding-inline:24px}.auth-submit:hover{box-shadow:0 15px 32px rgba(6,20,38,.2)}.auth-divider{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:.75rem;margin:25px 0 17px;text-align:center}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-register{width:100%;min-height:54px}.auth-security-note{margin:22px 0 0;text-align:center;color:#8496a8;font-size:.72rem}.auth-security-note span{color:var(--gold);margin-right:6px}@keyframes authCloudDrift{0%{translate:-7% 0}50%{translate:8% -8px}100%{translate:-7% 0}}@keyframes authAircraftFloat{0%,100%{margin-top:0}50%{margin-top:-16px}}@media(max-width:980px){.auth-visual-modern{min-height:480px;padding:36px 28px}.auth-copy{margin-top:100px;margin-bottom:25px}.auth-copy h1{font-size:clamp(2.7rem,10vw,5.5rem)}.auth-aircraft{top:16%;right:6%;font-size:7rem;color:rgba(226,241,251,.18)}.auth-contrail{width:28%;right:13%;top:27%}.auth-contrail-b{top:29.5%;right:14%}.auth-panel-modern{min-height:650px}}@media(max-width:640px){.auth-visual-modern{min-height:500px;padding:27px 20px}.auth-copy{margin-top:105px}.auth-copy h1{font-size:clamp(2.65rem,14vw,4.4rem)}.auth-feature-list{display:none}.auth-aircraft{top:12%;right:4%;font-size:5.2rem;color:rgba(226,241,251,.14)}.auth-contrail{display:none}.auth-panel-modern{padding:26px 14px;min-height:auto}.auth-card-modern{padding:27px 20px;border-radius:23px}.auth-card-heading h2{font-size:2.4rem}.auth-form-row{align-items:flex-start;flex-direction:column}.auth-sun{width:130px;height:130px}}@media(prefers-reduced-motion:reduce){.auth-cloud,.auth-aircraft{animation:none}.auth-sky,.auth-aircraft{transform:none}}

/* Login aeronáutico premium */
.login-flight-page{min-height:100vh;background:#041a35;color:#fff;overflow-x:hidden}.flight-login-shell{position:relative;isolation:isolate;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);grid-template-rows:auto 1fr auto;gap:20px 56px;padding:38px clamp(30px,4vw,74px) 24px;background:linear-gradient(90deg,rgba(1,17,38,.55),rgba(2,33,67,.16) 56%,rgba(1,17,38,.3)),url('../images/login-flight-bg.webp') center/cover no-repeat;overflow:hidden}.flight-login-shell:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 78% 15%,rgba(255,224,151,.12),transparent 24%),linear-gradient(180deg,rgba(2,17,37,.05),rgba(2,17,37,.16) 64%,rgba(2,15,32,.62))}.flight-login-brand{grid-column:1/2;align-self:start;z-index:3}.flight-login-brand .brand{color:#fff}.flight-login-brand .brand small{color:#c9def0}.flight-login-brand .brand-mark{background:linear-gradient(135deg,#0a396a,#1ea4df);box-shadow:0 15px 34px rgba(0,10,28,.35)}.flight-login-copy{grid-column:1/2;align-self:center;max-width:700px;z-index:3;padding-top:20px}.flight-login-copy .eyebrow{color:#fff}.flight-login-copy h1{font-size:clamp(3.6rem,6.2vw,6.5rem);line-height:.98;letter-spacing:-.065em;margin:24px 0 28px;text-wrap:balance}.flight-login-copy h1 span{color:#f2bc42}.flight-login-copy>p{max-width:610px;color:#d5e5f2;font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.75}.flight-login-features{display:flex;flex-wrap:wrap;gap:22px;margin-top:38px}.flight-feature{display:flex;align-items:center;gap:12px;min-width:155px}.flight-feature-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(136,210,255,.25);background:rgba(8,59,104,.36);color:#4fc8ff;font-size:1.15rem;backdrop-filter:blur(12px)}.flight-feature strong,.flight-feature small{display:block}.flight-feature strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.flight-feature small{color:#bdd3e4;font-size:.72rem;margin-top:2px}.flight-login-panel{grid-column:2/3;grid-row:1/3;align-self:center;justify-self:end;width:min(100%,520px);z-index:4}.flight-login-card{padding:42px 40px 34px;border:1px solid rgba(180,218,243,.36);border-radius:28px;background:linear-gradient(155deg,rgba(27,78,120,.62),rgba(4,34,68,.74));box-shadow:0 34px 90px rgba(0,8,23,.42),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(22px)}.flight-login-heading{margin-bottom:32px}.flight-lock{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#0d78c9,#064781);border:1px solid rgba(111,199,255,.5);box-shadow:0 12px 30px rgba(0,32,73,.35);margin-right:14px;color:#fff}.flight-access-label{text-transform:uppercase;letter-spacing:.28em;color:#b6d1e5;font-size:.75rem}.flight-login-heading h2{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.045em;margin:24px 0 4px;color:#fff}.flight-login-heading p{margin:0;color:#c8ddeb}.flight-login-card .form-group{margin-bottom:20px}.flight-login-card .form-group label{color:#d8e8f4;font-size:.68rem}.flight-input-wrap{position:relative}.flight-input-wrap .form-control{height:58px;padding:0 52px 0 17px;color:#fff;border-color:rgba(176,213,238,.25);background:rgba(4,37,72,.44);border-radius:14px}.flight-input-wrap .form-control:focus{border-color:#45bce9;box-shadow:0 0 0 3px rgba(69,188,233,.13)}.flight-input-wrap>span,.flight-password-toggle{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#d9ecf7}.flight-password-toggle{border:0;background:transparent;padding:8px;cursor:pointer;font-size:1rem}.flight-login-options{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:10px 0 26px;font-size:.79rem}.flight-checkbox{display:flex;align-items:center;gap:8px;color:#e3eff7}.flight-checkbox input{width:17px;height:17px;accent-color:#168de0}.flight-help-link{color:#45bce9;font-weight:600}.flight-submit,.flight-register{width:100%;min-height:58px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:850;cursor:pointer}.flight-submit{justify-content:space-between;padding-inline:30px;border:0;color:#061a32;background:linear-gradient(90deg,#efb251,#ffd23f);box-shadow:0 15px 35px rgba(240,180,66,.2)}.flight-submit:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(240,180,66,.3)}.flight-divider{display:flex;align-items:center;gap:14px;margin:26px 0;color:#d6e7f2;font-size:.72rem}.flight-divider:before,.flight-divider:after{content:"";height:1px;flex:1;background:rgba(198,222,238,.16)}.flight-register{border:1px solid rgba(196,220,236,.27);color:#fff;background:rgba(10,48,84,.26)}.flight-register:hover{background:rgba(19,75,119,.38)}.flight-legal{text-align:center;margin:26px 0 0;color:#a9c3d6;font-size:.7rem;line-height:1.6}.flight-legal a{color:#42b8e7}.flight-login-footer{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:25px;border-top:1px solid rgba(255,255,255,.09);padding-top:20px;z-index:3;color:#d1e1ec;font-size:.72rem}.flight-login-footer p{margin:0}.flight-login-footer p span{color:#9fb7ca}.flight-footer-mark{font-size:2rem;color:#55c3ef;transform:rotate(-12deg)}.flight-socials{justify-self:end;display:flex;gap:12px}.flight-socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(192,220,238,.2);background:rgba(8,43,77,.33);font-weight:800}.flight-login-map{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.55}.flight-login-map:before{content:"";position:absolute;left:3%;bottom:9%;width:51%;height:34%;background:repeating-radial-gradient(ellipse at 42% 52%,transparent 0 42px,rgba(82,182,232,.11) 43px 44px,transparent 45px 82px);transform:rotate(-8deg);mask-image:linear-gradient(to right,#000,transparent)}.flight-route{position:absolute;height:1px;border-top:1px dashed rgba(78,186,238,.34);transform-origin:left center}.route-a{left:7%;bottom:19%;width:35%;transform:rotate(-13deg)}.route-b{left:15%;bottom:12%;width:31%;transform:rotate(8deg)}.flight-waypoint{position:absolute;color:#55c5ef;font-size:.74rem;font-weight:800}.flight-waypoint:before{content:"";position:absolute;width:7px;height:7px;border:2px solid #42b9e9;border-radius:50%;left:50%;top:21px;transform:translateX(-50%);box-shadow:0 0 0 4px rgba(66,185,233,.12)}.waypoint-hub{left:8%;bottom:19%}.waypoint-mad{left:33%;bottom:31%}.waypoint-destination{left:24%;bottom:16%}@media(max-width:1050px){.flight-login-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;padding:28px 24px 20px;background-position:64% center}.flight-login-brand,.flight-login-copy,.flight-login-panel{grid-column:1}.flight-login-copy{grid-row:2;padding-top:50px;max-width:760px}.flight-login-panel{grid-row:3;justify-self:center;width:min(100%,600px);margin:35px 0}.flight-login-footer{grid-row:4}.flight-login-copy h1{font-size:clamp(3.4rem,10vw,6rem)}.flight-login-map{opacity:.35}}@media(max-width:640px){.flight-login-shell{padding:22px 16px 16px;background-position:61% center}.flight-login-copy{padding-top:38px}.flight-login-copy h1{font-size:clamp(3rem,15vw,4.8rem)}.flight-login-copy>p{font-size:.95rem}.flight-login-features{gap:12px}.flight-feature{min-width:0;flex:1 1 100%;}.flight-login-card{padding:30px 22px 26px;border-radius:22px}.flight-login-heading h2{font-size:2.7rem}.flight-login-options{align-items:flex-start;flex-direction:column}.flight-login-footer{grid-template-columns:1fr auto}.flight-footer-mark{display:none}.flight-socials{grid-column:2}.flight-login-map{display:none}}@media(prefers-reduced-motion:reduce){.flight-submit{transition:none}}

/* Login visual exacto basado en la propuesta aprobada */
.login-reference-page{margin:0;min-height:100vh;background:#031a35;color:#fff;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
.login-reference-shell{position:relative;width:min(100%,1200px);aspect-ratio:2/3;margin:0 auto;background:#031a35;overflow:hidden;box-shadow:0 0 80px rgba(0,0,0,.28)}
.login-reference-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.login-reference-home,.login-reference-form,.login-reference-facebook,.login-reference-instagram{position:absolute;z-index:4}
.login-reference-home{left:3.2%;top:3.2%;width:22%;height:5.7%;border-radius:14px}
.login-reference-form{left:56.2%;top:23.7%;width:35.5%;height:56.5%;margin:0}
.login-reference-input{position:absolute;left:10%;width:80%;height:4.15%;border:1px solid transparent;border-radius:11px;background:rgba(5,42,78,.08);color:#c4d9e8;font:500 clamp(12px,1.25vw,18px)/1 Inter,sans-serif;padding:0 5%;outline:none;box-sizing:border-box;caret-color:#fff}
.login-reference-input:focus{border-color:rgba(80,191,244,.75);background:rgba(5,42,78,.42);box-shadow:0 0 0 3px rgba(34,158,224,.16)}
.login-reference-user{top:23.7%}
.login-reference-password{top:34.4%;padding-right:14%}
.login-reference-eye{position:absolute;right:9.7%;top:34.5%;width:12%;height:4.1%;border:0;background:transparent;cursor:pointer;border-radius:10px}
.login-reference-eye:focus-visible,.login-reference-submit:focus-visible,.login-reference-register:focus-visible,.login-reference-forgot:focus-visible,.login-reference-home:focus-visible{outline:3px solid #ffd34c;outline-offset:3px}
.login-reference-remember{position:absolute;left:8.2%;top:44.5%;width:8%;height:3.8%;cursor:pointer}
.login-reference-remember input{width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.login-reference-remember:has(input:focus-visible){outline:3px solid #ffd34c;outline-offset:3px;border-radius:5px}
.login-reference-forgot{right:7%;top:43.9%;width:42%;height:4.5%;border-radius:8px}
.login-reference-submit{position:absolute;left:9.6%;top:50.8%;width:80.7%;height:5.2%;border:0;border-radius:999px;background:transparent;cursor:pointer}
.login-reference-submit:hover{background:rgba(255,255,255,.08)}
.login-reference-register{left:9.6%;top:61.9%;width:80.7%;height:5.1%;border-radius:999px}
.login-reference-register:hover{background:rgba(255,255,255,.05)}
.login-reference-terms{position:absolute;left:18%;top:73.2%;width:31%;height:3%;border-radius:5px}
.login-reference-privacy{position:absolute;left:50%;top:73.2%;width:34%;height:3%;border-radius:5px}
.login-reference-facebook{right:11.5%;bottom:2.2%;width:5%;height:3.8%;border-radius:50%}
.login-reference-instagram{right:5%;bottom:2.2%;width:5%;height:3.8%;border-radius:50%}
.login-reference-facebook:hover,.login-reference-instagram:hover{background:rgba(255,255,255,.08)}
@media(max-width:900px){
  .login-reference-shell{width:100%;min-height:100vh;aspect-ratio:2/3}
  .login-reference-input{font-size:clamp(10px,2vw,15px)}
}
@media(max-width:600px){
  .login-reference-shell{width:100%;aspect-ratio:2/3;transform-origin:top center}
  .login-reference-page{background:#031a35}
  .login-reference-input{font-size:10px}
}

/* Corrección definitiva del login: composición HTML/CSS real, sin textos duplicados */
.login-flight-page{margin:0;min-height:100vh}
.login-flight-page .flight-login-shell{min-height:100svh;width:100%;max-width:none;grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr);grid-template-rows:auto 1fr auto;padding:clamp(24px,3vw,46px) clamp(24px,5vw,82px) 24px;background-position:center center}
.login-flight-page .flight-login-brand{grid-row:1;display:inline-flex;width:max-content}
.login-flight-page .flight-login-copy{grid-row:2;align-self:center;padding-top:1.5rem;max-width:660px}
.login-flight-page .flight-login-copy h1{font-size:clamp(3.4rem,6vw,6.3rem);max-width:650px}
.login-flight-page .flight-login-panel{grid-row:1/3;align-self:center;width:min(100%,485px)}
.login-flight-page .flight-login-card{padding:38px 36px 30px}
.login-flight-page .flight-login-heading{margin-bottom:26px}
.login-flight-page .flight-login-heading h2{font-size:clamp(2.6rem,4.2vw,4rem);margin-top:20px}
.login-flight-page .flight-login-footer{grid-row:3;align-self:end}
.login-flight-page .flight-input-wrap .form-control{font-size:1rem}
.login-flight-page .flight-feature-icon{font-weight:900}
@media (min-width:1400px){.login-flight-page .flight-login-copy{max-width:720px}.login-flight-page .flight-login-panel{width:min(100%,520px)}}
@media (max-width:1050px){.login-flight-page .flight-login-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;background-position:65% center}.login-flight-page .flight-login-brand{grid-column:1;grid-row:1}.login-flight-page .flight-login-copy{grid-column:1;grid-row:2;padding-top:70px}.login-flight-page .flight-login-panel{grid-column:1;grid-row:3;justify-self:center;width:min(100%,600px);margin:26px 0 42px}.login-flight-page .flight-login-footer{grid-column:1;grid-row:4}}
@media (max-width:640px){.login-flight-page .flight-login-shell{padding:20px 16px 16px;background-position:70% center}.login-flight-page .flight-login-copy{padding-top:70px}.login-flight-page .flight-login-copy h1{font-size:clamp(2.8rem,14vw,4.5rem)}.login-flight-page .flight-login-features{display:grid;grid-template-columns:1fr;gap:12px}.login-flight-page .flight-login-card{padding:28px 20px}.login-flight-page .flight-login-footer{grid-template-columns:1fr auto;gap:14px}.login-flight-page .flight-socials{grid-column:2}.login-flight-page .flight-footer-mark{display:none}}

/* Crédito corporativo VIELCON DESIGNS */
.footer-credit{border-top:1px solid rgba(255,255,255,.10);margin-top:45px;padding-top:22px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;font-size:.82rem;text-align:center;color:#c7d2e3}.footer-credit-brand{color:#fff;font-weight:600}.footer-credit-divider{color:#7e93b2;opacity:.75}.footer-credit-rights{color:#c7d2e3}.footer-credit-template{color:#c7d2e3}.footer-credit-template strong{color:#d4af37;font-weight:800;letter-spacing:.08em}.site-footer{background:#061426;color:#c7d2e3;padding:20px 24px}.site-footer .footer-credit{margin-top:0}.flight-login-credit{display:flex;align-items:center;flex-wrap:wrap;gap:7px;line-height:1.5}.flight-login-credit .footer-credit-template strong{color:#f2bc42}.flight-login-footer .flight-login-credit{margin:0}@media(max-width:640px){.footer-credit,.flight-login-credit{flex-direction:column;gap:4px}.footer-credit-divider,.flight-login-credit .footer-credit-divider{display:none}}

/* Acceso al Crew Center dentro del menú móvil */
.mobile-crew-link{display:none}
@media(max-width:980px){
 .nav-links.mobile-open .mobile-crew-link{display:flex!important;width:100%;flex-direction:column;align-items:flex-start;gap:2px;margin-top:8px;padding:14px 16px!important;border-radius:14px;background:var(--navy);color:#fff!important}
 .nav-links.mobile-open .mobile-crew-link span{font-weight:850}
 .nav-links.mobile-open .mobile-crew-link small{font-size:.72rem;font-weight:600;color:#c9d6e5}
}

@media(max-width:980px){.legal-crew-action{display:flex!important;margin-left:auto}.legal-crew-action .btn{width:auto;padding:11px 15px;font-size:.82rem}}

/* =========================================================
   GLOBAL RESPONSIVE COMPATIBILITY — MOBILE / TABLET / DESKTOP
   Preserves the approved visual identity while preventing
   horizontal clipping and fixed-width layouts on small screens.
   ========================================================= */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
body>nav,body>header,body>main,body>footer,
.navbar,.page-hero,.hero,.footer,.site-footer{
  width:100%;
  max-width:100%;
}
main,section,.container,.nav-inner,.section-head,.table-tools,
.footer-grid,.footer-bottom,.footer-disclaimer{
  min-width:0;
}
.container{
  width:calc(100% - 32px);
  max-width:var(--max);
}
img,svg,video,canvas,iframe{
  max-width:100%;
}
input,select,textarea,button{
  min-width:0;
}
.table-wrap,.mobile-scroll,.route-map,.map-placeholder,.radar-shell{
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}
.footer-disclaimer{
  width:calc(100% - 32px);
  max-width:var(--max);
  margin:28px auto 0;
  padding:20px 0 0;
  border-top:1px solid rgba(255,255,255,.1);
  color:#b9c8d9;
  font-size:.82rem;
  line-height:1.65;
}
.footer-disclaimer p{margin:0}
.footer-disclaimer a{display:inline;color:#fff;text-decoration:underline;text-underline-offset:3px}

@media(max-width:980px){
  .navbar{position:sticky;top:0}
  .nav-inner{position:relative;width:calc(100% - 24px);height:68px;gap:12px}
  .brand{min-width:0;max-width:calc(100% - 60px)}
  .brand>span:last-child{min-width:0;line-height:1.08}
  .brand small{white-space:normal}
  .menu-toggle{display:flex;flex:0 0 44px}
  .nav-links.mobile-open{
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 92px)!important;
    overscroll-behavior:contain;
  }
  .nav-dropdown,.nav-home,.mobile-crew-link{min-width:0;width:100%}
  .nav-dropdown-toggle,.nav-menu-item{white-space:normal;text-align:left}
  .nav-dropdown-menu,.nav-dropdown-wide{max-width:100%}
  .page-hero{padding:68px 0 54px}
  .page-hero .container{min-width:0}
  .page-hero h1{overflow-wrap:anywhere;text-wrap:balance}
  .section{padding:72px 0}
  .section-head{display:grid;grid-template-columns:1fr;align-items:start;gap:18px;margin-bottom:30px}
  .section-head .lead{margin:0;max-width:100%}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .footer-bottom{flex-wrap:wrap}
}

@media(max-width:760px){
  .container,.nav-inner,.footer-disclaimer{width:calc(100% - 24px)}
  .page-hero{padding:58px 0 46px}
  .page-hero h1{font-size:clamp(2.25rem,12vw,3.65rem);letter-spacing:-.045em}
  h2{font-size:clamp(1.8rem,9vw,2.7rem)}
  .section{padding:58px 0}
  .section-head{margin-bottom:26px}
  .lead{font-size:1rem;line-height:1.65}
  .table-tools{display:grid;grid-template-columns:1fr;gap:12px;width:100%}
  .table-tools .form-control,.table-tools .btn{width:100%;max-width:none}
  .table-wrap{width:100%;overflow-x:auto;border-radius:16px}
  .data-table{min-width:680px}
  .modal{padding:12px}
  .modal-card{max-height:calc(100dvh - 24px);overflow:auto;padding:22px 18px;border-radius:18px}
  .route-detail-summary,.route-detail-grid{min-width:0}
  .route-map,.map-placeholder{height:min(430px,62dvh)}
  .footer{padding:52px 0 24px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer-social-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .footer-social-button{min-width:0;width:100%}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:6px;margin-top:32px}
  .footer-disclaimer{margin-top:24px;padding-top:18px}
}

@media(max-width:520px){
  .container,.nav-inner,.footer-disclaimer{width:calc(100% - 22px)}
  .brand-mark{width:42px;height:42px;flex:0 0 42px}
  .brand>span:last-child{font-size:.82rem;overflow-wrap:anywhere}
  .brand small{font-size:.54rem;letter-spacing:.09em}
  .page-hero{padding:52px 0 42px}
  .page-hero h1{font-size:clamp(2.15rem,12.5vw,3.2rem)}
  .eyebrow{font-size:.68rem;letter-spacing:.12em}
  .section{padding:50px 0}
  .card,.aircraft-body{padding:19px}
  .table-wrap{border-radius:14px}
  .data-table{min-width:620px}
  .footer-social-links{grid-template-columns:1fr}
  .footer-social-button{justify-content:flex-start}
}

/* Tables become readable cards on narrow phones when data-label is present. */
@media(max-width:430px){
  .table-wrap{overflow:visible;border:0;background:transparent}
  .data-table{display:block;width:100%;min-width:0}
  .data-table thead{display:none}
  .data-table tbody{display:grid;gap:14px}
  .data-table tr{display:block;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(8,27,53,.05)}
  .data-table td{display:grid;grid-template-columns:minmax(92px,40%) minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:12px 14px;white-space:normal!important;text-align:right;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
  .data-table td:last-child{border-bottom:0}
  .data-table td[data-label]::before{content:attr(data-label);font-size:.68rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);text-align:left}
  .data-table td .status,.data-table td .badge{justify-self:end;max-width:100%;min-width:0}
  .empty-state{display:block!important;text-align:center!important;padding:26px 18px!important}
  .empty-state::before{display:none}
}


/* Public-site legal pages and independent-airline notice */
body.modal-lock{overflow:hidden}
.affiliation-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(3,15,29,.72);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.affiliation-modal.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.affiliation-dialog{position:relative;width:min(100%,660px);max-height:calc(100dvh - 48px);overflow:auto;padding:42px;border:1px solid rgba(255,255,255,.55);border-radius:30px;background:linear-gradient(155deg,#fff 0%,#f4f9fc 100%);box-shadow:0 38px 110px rgba(0,12,28,.34);outline:none;transform:translateY(16px) scale(.985);transition:transform .28s ease}
.affiliation-modal.is-visible .affiliation-dialog{transform:none}
.affiliation-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:1.55rem;line-height:1;cursor:pointer;transition:.2s ease}
.affiliation-close:hover,.affiliation-close:focus-visible{background:var(--navy);color:#fff;transform:rotate(4deg)}
.affiliation-icon{width:68px;height:68px;margin-bottom:22px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:1.8rem;box-shadow:0 16px 32px rgba(8,27,53,.2)}
.affiliation-dialog h2{font-size:clamp(2rem,5vw,3.35rem);margin-top:14px}
.affiliation-dialog p{color:var(--muted);font-size:1.02rem}
.affiliation-note{padding:14px 16px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:#fff8e8;color:var(--ink)!important}
.affiliation-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.affiliation-actions .btn{flex:1;min-width:220px}

.legal-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:28px;align-items:start}
.legal-nav{position:sticky;top:108px;padding:22px}
.legal-nav h3{margin-bottom:14px}
.legal-nav a{display:block;padding:10px 12px;margin:3px 0;border-radius:10px;color:var(--muted);font-size:.9rem;font-weight:750}
.legal-nav a:hover,.legal-nav a:focus-visible{background:#edf5fa;color:var(--blue)}
.legal-content{padding:clamp(24px,4vw,48px)}
.legal-content h2{margin-top:34px;font-size:clamp(1.35rem,3vw,1.9rem);letter-spacing:-.025em}
.legal-content h2:first-of-type{margin-top:20px}
.legal-content p,.legal-content li{color:#566a7e}
.legal-updated{display:inline-flex;padding:7px 11px;border-radius:999px;background:#edf5fa;color:var(--blue)!important;font-size:.78rem;font-weight:800}

.reference-facts,.story-grid,.values-grid,.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.story-grid,.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.source-note{margin-top:18px;color:var(--muted);font-size:.8rem;line-height:1.65}
.status-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 20px;color:var(--muted);font-size:.85rem;font-weight:750}
.status-legend span{display:inline-flex;align-items:center;gap:7px}
.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.legend-dot.available{background:#16865f}.legend-dot.reserved{background:#b57916}.legend-dot.enroute{background:#0b6fa8}
.status-available{background:rgba(22,134,95,.13);color:#16865f}.status-reserved{background:rgba(181,121,22,.13);color:#9a6712}.status-enroute{background:rgba(11,111,168,.13);color:#0b6fa8}
.table-message{text-align:center!important;color:var(--muted);padding:32px!important}
.table-secondary{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.resource-action{display:flex;justify-content:center;margin-top:32px}
.rank-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.rank-card-meta span{color:var(--muted);font-size:.78rem}.rank-card-meta strong{color:var(--navy)}
.rank-fallback-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:#eaf5fb;color:var(--blue);font-size:1.55rem;margin-bottom:20px}
.routes-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.routes-page-numbers{display:flex;gap:6px;flex-wrap:wrap}.routes-page-numbers button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800;cursor:pointer}.routes-page-numbers button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.support-card{display:flex;flex-direction:column;align-items:flex-start}.support-card .btn{margin-top:auto}
.runway-grid-single{grid-template-columns:minmax(0,760px);justify-content:center}

@media(max-width:980px){
 .legal-layout{grid-template-columns:1fr}.legal-nav{position:static;display:flex;gap:6px;flex-wrap:wrap}.legal-nav h3{width:100%}.legal-nav a{border:1px solid var(--line)}
 .reference-facts,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .affiliation-modal{padding:12px}.affiliation-dialog{max-height:calc(100dvh - 24px);padding:30px 20px 22px;border-radius:22px}.affiliation-actions{display:grid}.affiliation-actions .btn{min-width:0;width:100%}
 .story-grid,.support-grid,.reference-facts,.values-grid{grid-template-columns:1fr}
 .cta{padding:34px 24px;display:grid}.cta .btn{width:100%}
}
@media(max-width:430px){
 .affiliation-dialog h2{font-size:2rem}.affiliation-icon{width:56px;height:56px;border-radius:18px}.affiliation-close{top:10px;right:10px}
 .legal-content{padding:21px 17px}.legal-nav{padding:17px}.legal-nav a{width:100%}
 .routes-pagination>.btn{flex:1}.routes-pagination small{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.affiliation-modal,.affiliation-dialog,.affiliation-close{transition:none}}


/* v4.1 visibility, fleet-family and route-map corrections */
.brand-wordmark{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.02}
.brand-wordmark strong{display:block;font-family:Montserrat,Inter,sans-serif;font-size:1rem;font-weight:900;letter-spacing:.035em;color:var(--navy);text-shadow:none}
.brand-wordmark small{display:block;margin-top:6px;font-size:.63rem;font-weight:800;letter-spacing:.14em;color:#57718e}
.footer .footer-brand{display:inline-flex;align-items:center;gap:13px;margin:0 0 20px}
.footer .footer-brand .brand-mark{width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#0b4d8a,#35b6df);box-shadow:0 12px 30px rgba(0,0,0,.32);font-size:1.3rem}
.footer .footer-brand .brand-wordmark strong{color:#fff;font-size:1.08rem;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.footer .footer-brand .brand-wordmark small{color:#9fc1df;font-size:.68rem}
.footer-brand-column p{max-width:360px;color:#c8d7e6}
.fleet-summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.image-credit{margin:16px 0 0;font-size:.72rem;color:var(--muted);line-height:1.45}
.image-credit a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.aircraft-detail .aircraft-visual img{object-position:center}
.map-message{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--muted)}
.map-message strong{color:var(--navy)}
.route-item small{display:block;margin-top:7px;color:#9a5b00;font-size:.72rem;font-weight:700}
.route-item-unmapped{cursor:not-allowed;opacity:.72}
.route-item-unmapped:hover{transform:none;box-shadow:none;border-color:var(--line)}
.sva-route-line{stroke:var(--blue)}
.sva-route-marker{stroke:var(--navy);fill:var(--gold)}
.sva-airport-marker{stroke:#fff;fill:var(--blue)}
#network-map{scroll-margin-top:96px}
@media(max-width:1100px){.fleet-summary-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.fleet-summary-four{grid-template-columns:1fr}.footer .footer-brand .brand-mark{width:48px;height:48px}.brand-wordmark strong{font-size:.92rem}.brand-wordmark small{font-size:.58rem}}
@media(max-width:420px){.navbar .brand{gap:8px}.navbar .brand-mark{width:39px;height:39px;border-radius:12px}.navbar .brand-wordmark strong{font-size:.78rem}.navbar .brand-wordmark small{margin-top:4px;font-size:.49rem;letter-spacing:.1em}}


/* SriLankan corporate identity — palette supplied from the airline brand reference */
body{color:var(--ink);background:#fff}
.eyebrow{color:var(--brand-teal)}
.eyebrow:before{background:var(--brand-orange)}
.topbar{background:var(--brand-blue);color:rgba(255,255,255,.78)}
.navbar{border-bottom-color:rgba(15,30,125,.10)}
.brand{color:var(--brand-blue)}
.brand-mark{
  background:linear-gradient(145deg,var(--brand-blue) 0 48%,var(--brand-teal) 48% 76%,var(--brand-green) 76% 100%);
  border:2px solid rgba(255,60,0,.62);
  box-shadow:0 10px 24px rgba(15,30,125,.22)
}
.brand-wordmark strong{color:var(--brand-blue)}
.brand-wordmark small{color:var(--brand-teal)}
.nav-links a:hover,.nav-links a.active{color:var(--brand-teal)}
.nav-home:hover,.nav-home.active,.nav-dropdown:hover>.nav-dropdown-toggle,.nav-dropdown:focus-within>.nav-dropdown-toggle,.nav-dropdown.active>.nav-dropdown-toggle{background:rgba(2,116,153,.09);color:var(--brand-teal)}
.nav-menu-heading{color:var(--brand-teal)}
.nav-menu-item{color:var(--brand-blue)!important}
.nav-menu-item:hover{background:rgba(2,116,153,.07);color:var(--brand-teal)!important}
.btn-primary{background:var(--brand-orange);color:#111D4A}
.btn-primary:hover{box-shadow:0 12px 26px rgba(255,60,0,.28)}
.btn-dark{background:var(--brand-blue);color:#fff}
.btn-light{color:var(--brand-blue)}
.hero{
  background:
    radial-gradient(circle at 88% 18%,rgba(255,60,0,.22),transparent 25%),
    radial-gradient(circle at 72% 90%,rgba(1,116,47,.18),transparent 31%),
    linear-gradient(110deg,rgba(15,30,125,.97),rgba(15,30,125,.90) 42%,rgba(2,116,153,.62)),
    url('../images/hero-sky.svg') center/cover no-repeat
}
.page-hero{background:linear-gradient(118deg,var(--brand-blue) 0%,#132A89 45%,var(--brand-teal) 100%)}
.cta{background:linear-gradient(112deg,var(--brand-blue),var(--brand-teal))}
.icon-box{background:rgba(2,116,153,.10);color:var(--brand-teal)}
.badge,.status{background:rgba(1,116,47,.12);color:var(--brand-green)}
.badge.warning{background:rgba(255,60,0,.12);color:#A52E00}
.badge.blue{background:rgba(15,30,125,.10);color:var(--brand-blue)}
.badge.danger{background:rgba(220,0,28,.10);color:var(--brand-red)}
.notice{background:rgba(2,116,153,.09);color:var(--brand-teal)}
.notice.success{background:rgba(1,116,47,.09);color:var(--brand-green)}
.notice.warning{background:rgba(255,60,0,.08);color:#A52E00}
.form-control:focus{border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(2,116,153,.13)}
.progress span,.stats-progress span{background:linear-gradient(90deg,var(--brand-green),var(--brand-teal))}
.airline-stats-panel .stats-live{color:var(--brand-green)}
.airline-stats-panel .stats-live i,.live-dot{background:var(--brand-green)}
.stats-panel-icon{background:rgba(2,116,153,.09)!important;color:var(--brand-blue)!important}
.airport-board,.route-board{background:var(--brand-blue)}
.board-kicker,.board-live,.route-line span{color:var(--brand-orange)}
.footer{background:#090F45}
.footer-brand .brand-wordmark strong{color:#fff}
.footer-brand .brand-wordmark small{color:#76C0D5}
.footer a:hover{color:#fff}
.footer-credit-template strong{color:#fff}
.community-carousel-dot.is-active{background:var(--brand-orange)}
.community-carousel-arrow:hover{background:var(--brand-blue);border-color:var(--brand-blue)}

/* Fixed ranks and badges */
.rank-page-corporate{background:#fff}
.rank-corporate-hero{position:relative;isolation:isolate;overflow:hidden;min-height:500px;display:flex;align-items:center;background:
  radial-gradient(circle at 80% 22%,rgba(255,60,0,.28),transparent 24%),
  radial-gradient(circle at 92% 78%,rgba(1,116,47,.25),transparent 24%),
  linear-gradient(118deg,var(--brand-blue) 0%,#142988 52%,var(--brand-teal) 100%)}
.rank-corporate-hero:after{content:"";position:absolute;inset:auto -7% -58% auto;width:600px;height:600px;border:70px solid rgba(255,255,255,.06);border-radius:50%;z-index:-1}
.rank-hero-content{position:relative;z-index:2}
.rank-corporate-hero .lead{color:rgba(255,255,255,.82);max-width:760px}
.rank-hero-art{position:absolute;inset:0;pointer-events:none;z-index:1}
.rank-hero-art span{position:absolute;right:7%;top:26%;width:min(38vw,520px);height:160px;border-top:5px solid var(--brand-orange);border-radius:50%;transform:rotate(-9deg);opacity:.82}
.rank-hero-art span:before,.rank-hero-art span:after{content:"";position:absolute;left:12%;right:4%;height:4px;border-radius:99px}
.rank-hero-art span:before{top:20px;background:var(--brand-green)}
.rank-hero-art span:after{top:42px;background:var(--brand-red)}
.rank-hero-art i{position:absolute;right:17%;top:31%;font-style:normal;font-size:3rem;color:#fff;transform:rotate(-8deg);filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}
.rank-section{background:linear-gradient(180deg,#fff,#F6F8FC)}
.rank-page-corporate .rank-policy-note{border-color:rgba(2,116,153,.19);background:linear-gradient(135deg,rgba(2,116,153,.06),rgba(15,30,125,.04))}
.rank-page-corporate .rank-policy-note h3{color:var(--brand-blue)}
.rank-page-corporate .rank-grid{align-items:stretch}
.rank-page-corporate .rank-card{position:relative;background:#fff;border:1px solid var(--line);border-top:5px solid var(--brand-blue);border-radius:24px;padding:24px;box-shadow:0 16px 42px rgba(15,30,125,.07);transform:none}
.rank-page-corporate .rank-card:nth-child(5n+1){border-top-color:var(--brand-green)}
.rank-page-corporate .rank-card:nth-child(5n+2){border-top-color:var(--brand-teal)}
.rank-page-corporate .rank-card:nth-child(5n+3){border-top-color:var(--brand-orange)}
.rank-page-corporate .rank-card:nth-child(5n+4){border-top-color:var(--brand-red)}
.rank-page-corporate .rank-card:nth-child(5n+5){border-top-color:var(--brand-blue)}
.rank-page-corporate .rank-card:hover{transform:translateY(-3px);background:#fff;border-color:var(--line);box-shadow:0 22px 52px rgba(15,30,125,.12)}
.rank-page-corporate .rank-card img{width:min(100%,300px);margin:0 auto 18px;filter:none}
.rank-page-corporate .rank-card h3{color:var(--brand-blue)}
.rank-page-corporate .rank-card>p{color:var(--muted)}
.rank-page-corporate .rank-requirements span{background:#F7F9FC;border-color:var(--line)}
.rank-page-corporate .rank-requirements b{color:var(--brand-blue)}
.rank-page-corporate .rank-appointment-badge{background:rgba(255,60,0,.10);color:#A52E00}

/* Flightradar-inspired live map, adapted to the SriLankan palette */
.live-radar-page{background:#F4F6F9}
.live-radar-page .radar-page-hero{background:linear-gradient(118deg,#090F45,var(--brand-blue) 56%,var(--brand-teal))}
.live-radar-page .radar-shell{border-color:rgba(2,116,153,.55);background:#070C2C;box-shadow:0 28px 72px rgba(9,15,69,.28)}
.live-radar-page .radar-sidebar,.live-radar-page .radar-detail{background:#090F45}
.live-radar-page .radar-map-stage{background:#080F35}
.live-radar-page .radar-sidebar{border-right-color:rgba(255,255,255,.10)}
.live-radar-page .radar-detail{border-left-color:rgba(255,255,255,.10)}
.live-radar-page .radar-refresh{background:rgba(2,116,153,.20);border-color:rgba(118,192,213,.30)}
.live-radar-page .radar-refresh:hover{background:var(--brand-teal)}
.live-radar-page .radar-live-pill{background:rgba(1,116,47,.11);color:var(--brand-green)}
.live-radar-page .radar-live-pill i{background:var(--brand-green);box-shadow:0 0 0 6px rgba(1,116,47,.12)}
.live-radar-page .radar-flight-row:hover,.live-radar-page .radar-flight-row.active{background:rgba(2,116,153,.18)}
.live-radar-page .radar-row-main b,.live-radar-page .radar-route-line b{color:var(--brand-orange)}
.live-radar-page .radar-plane-icon{color:#43B7D6}
.live-radar-page .radar-plane-icon:hover span,.live-radar-page .radar-plane-icon:focus-visible span{color:var(--brand-orange)}
.live-radar-page .radar-plane-icon:focus-visible{outline-color:var(--brand-orange)}
.live-radar-page .radar-detail-placeholder span{color:var(--brand-orange)}
.live-radar-page .radar-progress span{background:linear-gradient(90deg,var(--brand-green),var(--brand-orange),var(--brand-red))}
.live-radar-page .radar-loading span{border-top-color:var(--brand-orange)}
.live-radar-page .live-radar-map .leaflet-control-attribution a{color:#76C0D5}
.live-radar-page .radar-map-legend{background:rgba(9,15,69,.90)}
.live-radar-page .legend-dot{background:#43B7D6}
.live-radar-page .legend-dot.route{background:var(--brand-orange)}

@media(max-width:760px){
  .rank-corporate-hero{min-height:430px}
  .rank-hero-art{opacity:.42}
  .rank-hero-art span{right:-24%;top:30%;width:90vw}
  .rank-hero-art i{right:13%;top:34%}
}
@media(max-width:620px){
  .rank-page-corporate .rank-card{padding:18px}
  .rank-page-corporate .rank-card img{width:min(100%,260px)}
  .live-radar-page .radar-shell{border-radius:18px}
}

/* v4.3 — clean SriLankan-inspired public website theme
   Uses the airline's published corporate colours as a restrained accent system.
   The layout and component structure remain unchanged. */
:root{
  --brand-green:#01742F;
  --brand-red:#DC001C;
  --brand-orange:#FF3C00;
  --brand-teal:#027499;
  --brand-blue:#0F1E7D;
  --navy:#0F1E7D;
  --blue:#027499;
  --sky:#2E91A9;
  --gold:#E9682A;
  --ink:#17213B;
  --muted:#667085;
  --line:#E3E8EF;
  --border:#E3E8EF;
  --surface:#F7F9FB;
  --success:#01742F;
  --warning:#B64A18;
  --danger:#C8172C;
  --shadow:0 18px 52px rgba(15,30,125,.09);
  --radius:20px;
}
html{background:#fff}
body{background:#fff;color:var(--ink)}
::selection{background:rgba(2,116,153,.18);color:var(--brand-blue)}

/* Brand ribbon and navigation */
.topbar{
  padding:7px 0;
  background:#0B174F;
  color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.topbar-status{color:#A9DFC2;font-weight:800}
.navbar{
  background:rgba(255,255,255,.985);
  border-bottom:0;
  box-shadow:0 8px 26px rgba(17,33,59,.06)
}
.navbar:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:linear-gradient(90deg,
    var(--brand-green) 0 22%,
    var(--brand-red) 22% 42%,
    var(--brand-orange) 42% 60%,
    var(--brand-teal) 60% 79%,
    var(--brand-blue) 79% 100%);
  opacity:.88
}
.nav-inner{height:82px}
.brand{gap:13px;color:var(--brand-blue)}
.brand-mark{
  width:46px;height:46px;
  color:var(--brand-blue);
  background:#fff;
  border:1px solid rgba(15,30,125,.14);
  box-shadow:0 9px 24px rgba(15,30,125,.10);
  position:relative;
  overflow:hidden
}
.brand-mark:before{
  content:"";
  position:absolute;
  inset:auto -5px -5px -5px;
  height:13px;
  background:linear-gradient(90deg,var(--brand-green),var(--brand-red),var(--brand-orange),var(--brand-teal),var(--brand-blue));
  opacity:.95
}
.brand-mark{font-size:1.05rem}
.brand-wordmark strong{color:var(--brand-blue);letter-spacing:.035em}
.brand-wordmark small{color:var(--brand-teal);letter-spacing:.16em}
.nav-links{color:#24314D}
.nav-home,.nav-dropdown-toggle{border-radius:999px}
.nav-home:hover,.nav-home.active,
.nav-dropdown:hover>.nav-dropdown-toggle,
.nav-dropdown:focus-within>.nav-dropdown-toggle,
.nav-dropdown.active>.nav-dropdown-toggle{
  background:#F2F7F8;
  color:var(--brand-blue)
}
.nav-dropdown-menu{
  border:1px solid var(--line);
  box-shadow:0 22px 60px rgba(17,33,59,.12)
}
.nav-menu-heading{color:var(--brand-teal)}
.nav-menu-item{color:var(--ink)!important}
.nav-menu-item:hover{background:#F5F9FA;color:var(--brand-blue)!important}
.menu-toggle span{background:var(--brand-blue)}

/* Buttons */
.btn{box-shadow:none}
.btn-primary{
  color:#fff;
  background:var(--brand-blue);
  border-color:var(--brand-blue)
}
.btn-primary:hover{
  background:#182B8D;
  border-color:#182B8D;
  box-shadow:0 12px 28px rgba(15,30,125,.20)
}
.btn-dark{
  color:#fff;
  background:var(--brand-blue);
  border-color:var(--brand-blue)
}
.btn-dark:hover{background:#182B8D;border-color:#182B8D;box-shadow:0 12px 28px rgba(15,30,125,.18)}
.btn-light{
  background:#fff;
  color:var(--brand-blue);
  border-color:#D8DEE8
}
.btn-light:hover{border-color:var(--brand-teal);color:var(--brand-teal);box-shadow:0 10px 24px rgba(2,116,153,.10)}
.btn-danger{background:var(--brand-red)}

/* Typography and section rhythm */
.eyebrow{color:var(--brand-teal)}
.eyebrow:before{background:linear-gradient(90deg,var(--brand-red),var(--brand-orange))}
h1,h2,h3{color:var(--ink)}
.section{padding:88px 0}
.section.alt{background:#F7F9FB}
.section-head{margin-bottom:40px}

/* Homepage hero — airy airline-booking visual language */
.hero{
  min-height:700px;
  color:var(--ink);
  background:
    linear-gradient(92deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 42%,rgba(245,250,251,.83) 68%,rgba(231,244,247,.70) 100%),
    url('../images/hero-sky.svg') center/cover no-repeat;
  border-bottom:1px solid #E6EBF1
}
.hero:before{
  content:"";
  position:absolute;
  right:-120px;
  top:-165px;
  width:620px;
  height:620px;
  border:82px solid rgba(2,116,153,.06);
  border-radius:50%;
  pointer-events:none
}
.hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:7px;
  background:linear-gradient(90deg,var(--brand-green),var(--brand-red),var(--brand-orange),var(--brand-teal),var(--brand-blue));
  opacity:.88
}
.hero-grid{min-height:620px}
.hero h1{color:var(--brand-blue);max-width:770px}
.hero p{color:#4F6078}
.hero .eyebrow{color:var(--brand-teal)!important}
.hero .btn-outline{
  color:var(--brand-blue);
  background:#fff;
  border-color:#CBD4E0
}
.hero .btn-outline:hover{color:var(--brand-teal);border-color:var(--brand-teal);box-shadow:0 10px 25px rgba(2,116,153,.10)}
.flight-panel{
  background:rgba(255,255,255,.985);
  border:1px solid #E1E7EE;
  box-shadow:0 28px 70px rgba(15,30,125,.12)
}
.stats-kicker{color:var(--brand-teal)}
.stats-panel-heading h2{color:var(--brand-blue)}
.stats-panel-icon{background:#EEF6F8!important;color:var(--brand-teal)!important}
.stats-panel-feature{background:linear-gradient(135deg,#0F1E7D,#163B79)!important}
.stats-progress{background:rgba(255,255,255,.18)}
.stats-progress span{background:linear-gradient(90deg,#7DCCB1,#4CB1C6)}
.stats-panel-footer{border-top-color:#E7EBF0}

/* Internal page headers */
.page-hero{
  color:var(--ink);
  background:
    radial-gradient(circle at 88% 16%,rgba(2,116,153,.10),transparent 28%),
    linear-gradient(120deg,#FFFFFF 0%,#F6FAFB 57%,#EDF6F7 100%);
  border-bottom:1px solid #E3E9EF;
  position:relative;
  overflow:hidden
}
.page-hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--brand-green),var(--brand-red),var(--brand-orange),var(--brand-teal),var(--brand-blue));
  opacity:.76
}
.page-hero h1{color:var(--brand-blue)}
.page-hero .lead,.page-hero p{color:#5D6B80}
.page-hero .eyebrow{color:var(--brand-teal)!important}

/* Cards, tables and forms */
.card,.kpi,.aircraft,.table-wrap,.modal-card,.map-message{
  border-color:var(--line);
  box-shadow:0 1px 0 rgba(15,30,125,.02)
}
.card:hover,.aircraft:hover{border-color:#D7E4E7;box-shadow:var(--shadow)}
.icon-box{background:#EEF6F8;color:var(--brand-teal)}
.form-control,.field{border-color:#DCE3EA}
.form-control:focus{border-color:var(--brand-teal);box-shadow:0 0 0 4px rgba(2,116,153,.10)}
.table-wrap{box-shadow:0 10px 32px rgba(17,33,59,.04)}
.data-table th{background:#F2F6F8;color:#263652}
.data-table tbody tr:hover{background:#F8FBFC}
.tab-btn.active{background:var(--brand-blue)}
.progress span{background:var(--brand-teal)}
.notice{background:#EEF6F8;color:#175D70}
.notice.success{background:#EDF8F2;color:var(--brand-green)}
.notice.warning{background:#FFF4EE;color:#A5421D}
.badge,.status{background:#EDF8F2;color:var(--brand-green)}
.badge.warning{background:#FFF2EC;color:#A5421D}
.badge.blue{background:#EEF1FB;color:var(--brand-blue)}
.badge.danger{background:#FDEDEF;color:var(--brand-red)}

/* Operational surfaces */
.route-board,.airport-board{background:#111F5B}
.board-kicker,.board-live,.route-line span{color:#F6A05B}
.board-live .live-dot,.live-dot{background:#43A878}
.aircraft-visual{background:linear-gradient(145deg,#F3F8FA,#E1F0F3)}
.sva-route-line{stroke:var(--brand-teal)}
.sva-route-marker{stroke:#fff;fill:var(--brand-orange)}
.sva-airport-marker{stroke:#fff;fill:var(--brand-blue)}

/* CTA and footer */
.cta{
  background:
    radial-gradient(circle at 86% 20%,rgba(255,255,255,.12),transparent 25%),
    linear-gradient(115deg,#0F1E7D 0%,#163B79 57%,#027499 100%);
  box-shadow:0 24px 60px rgba(15,30,125,.16)
}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.82)}
.cta .eyebrow{color:#CFEAF0!important}
.cta .btn-primary{background:#fff;color:var(--brand-blue);border-color:#fff}
.cta .btn-primary:hover{background:#F7FAFC;color:var(--brand-teal)}
.footer{background:#0B174F;color:#C5CEE0}
.footer h3{color:#fff}
.footer a:hover{color:#fff}
.footer .footer-brand .brand-mark{background:#fff;color:var(--brand-blue);border-color:rgba(255,255,255,.22)}
.footer .footer-brand .brand-wordmark strong{color:#fff}
.footer .footer-brand .brand-wordmark small{color:#8BC7D4}
.footer-credit-template strong{color:#F4A15D}
.footer-disclaimer a{color:#fff}

/* Affiliation modal */
.affiliation-modal{background:rgba(9,18,50,.64);backdrop-filter:blur(8px)}
.affiliation-dialog{border:1px solid rgba(15,30,125,.12);box-shadow:0 30px 90px rgba(15,30,125,.22)}
.affiliation-icon{background:#EEF6F8;color:var(--brand-teal)}

/* Ranks retain their custom structure with a cleaner airline palette */
.rank-corporate-hero{
  background:
    radial-gradient(circle at 88% 22%,rgba(255,255,255,.10),transparent 25%),
    linear-gradient(118deg,#0B174F 0%,#0F1E7D 58%,#027499 100%)
}
.rank-corporate-hero h1{color:#fff}
.rank-corporate-hero .eyebrow{color:#D9EFF3!important}
.rank-corporate-hero .eyebrow:before{background:#F4A15D}
.rank-hero-art span{border-top-color:#F4A15D}
.rank-hero-art span:before{background:#42A877}
.rank-hero-art span:after{background:#D83B4D}
.rank-section{background:linear-gradient(180deg,#fff,#F7F9FB)}
.rank-page-corporate .rank-card{border-top-color:var(--brand-blue);box-shadow:0 14px 36px rgba(15,30,125,.06)}
.rank-page-corporate .rank-card:nth-child(3n+1){border-top-color:var(--brand-teal)}
.rank-page-corporate .rank-card:nth-child(3n+2){border-top-color:var(--brand-blue)}
.rank-page-corporate .rank-card:nth-child(3n+3){border-top-color:#E9682A}
.rank-page-corporate .rank-card h3{color:var(--brand-blue)}

/* Live Map intentionally preserves the dark Flightradar-inspired interface. */
.live-radar-page{background:#F3F5F7}
.live-radar-page .radar-page-hero{
  background:linear-gradient(118deg,#101722,#17212E 58%,#24384A)
}
.live-radar-page .radar-page-hero h1{color:#fff}
.live-radar-page .radar-page-hero .lead{color:rgba(255,255,255,.74)}
.live-radar-page .radar-page-hero .eyebrow{color:#9DD9E5!important}
.live-radar-page .radar-page-hero .eyebrow:before{background:#F4A15D}
.live-radar-page .radar-shell{background:#151C24;border-color:#33404C;box-shadow:0 28px 70px rgba(17,24,31,.25)}
.live-radar-page .radar-sidebar,.live-radar-page .radar-detail{background:#151C24}
.live-radar-page .radar-map-stage{background:#1C252E}
.live-radar-page .radar-flight-row:hover,.live-radar-page .radar-flight-row.active{background:#26323D}
.live-radar-page .radar-row-main b,.live-radar-page .radar-route-line b{color:#F1A340}
.live-radar-page .radar-plane-icon{color:#E6B84D}
.live-radar-page .radar-plane-icon:hover span,.live-radar-page .radar-plane-icon:focus-visible span{color:#F1A340}
.live-radar-page .radar-progress span{background:linear-gradient(90deg,#47A977,#F1A340)}
.live-radar-page .radar-map-legend{background:rgba(21,28,36,.92)}
.live-radar-page .legend-dot{background:#E6B84D}
.live-radar-page .legend-dot.route{background:#F1A340}

@media(max-width:980px){
  .hero{min-height:auto}
  .hero:before{right:-320px;opacity:.65}
  .hero-grid{min-height:auto;padding:78px 0 92px}
}
@media(max-width:760px){
  .topbar{display:none}
  .nav-inner{height:74px}
  .navbar:after{height:2px}
  .hero-grid{padding:62px 0 72px}
  .hero:after{height:5px}
  .page-hero{padding-top:62px}
}
@media(max-width:480px){
  .brand-mark{width:41px;height:41px}
  .brand-wordmark strong{font-size:.8rem}
  .brand-wordmark small{font-size:.5rem}
  .hero{background:linear-gradient(160deg,#fff 0%,#F1F8F9 100%)}
}



/* v4.4 — refined empty-state alignment and clean ranks palette */
.board-body{
  min-height:88px;
}
.board-empty{
  width:100%;
  min-height:88px;
  padding:24px clamp(18px,4vw,42px);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#DDE9F5;
  background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(2,116,153,.10),rgba(255,255,255,.018));
  font-size:clamp(.9rem,1.45vw,1.02rem);
  font-weight:700;
  line-height:1.55;
  letter-spacing:.005em;
}

/* Ranks: restrained airline palette with no oversized multicolour artwork. */
.rank-page-corporate .rank-corporate-hero{
  min-height:460px;
  color:var(--ink);
  background:
    radial-gradient(circle at 86% 20%,rgba(2,116,153,.11),transparent 29%),
    linear-gradient(120deg,#FFFFFF 0%,#F8FAFC 58%,#EEF6F8 100%);
  border-bottom:1px solid var(--line);
  isolation:isolate;
}
.rank-page-corporate .rank-corporate-hero::before{
  content:"✈";
  position:absolute;
  right:7%;
  top:50%;
  transform:translateY(-50%) rotate(-8deg);
  color:rgba(15,30,125,.055);
  font-size:clamp(7rem,15vw,13rem);
  line-height:1;
  pointer-events:none;
  z-index:-1;
}
.rank-page-corporate .rank-corporate-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--brand-teal),var(--brand-blue));
  opacity:.9;
}
.rank-page-corporate .rank-hero-art{display:none!important}
.rank-page-corporate .rank-corporate-hero h1{color:var(--brand-blue)}
.rank-page-corporate .rank-corporate-hero .lead{color:#5C6C82;max-width:780px}
.rank-page-corporate .rank-corporate-hero .eyebrow{color:var(--brand-teal)!important}
.rank-page-corporate .rank-corporate-hero .eyebrow::before{background:var(--brand-orange)}
.rank-page-corporate .rank-section{background:linear-gradient(180deg,#FFFFFF 0%,#F7F9FB 100%)}
.rank-page-corporate .rank-policy-note{
  border:1px solid #DCE7EA;
  background:#F5F9FA;
  box-shadow:none;
}
.rank-page-corporate .rank-policy-note h3{color:var(--brand-blue)}
.rank-page-corporate .rank-card,
.rank-page-corporate .rank-card:nth-child(n){
  border-top:4px solid var(--brand-teal);
  box-shadow:0 14px 34px rgba(15,30,125,.055);
}
.rank-page-corporate .rank-card[data-rank-slug="chief_pilot"],
.rank-page-corporate .rank-card[data-rank-slug="director_operations"],
.rank-page-corporate .rank-card[data-rank-slug="ceo_founder"]{
  border-top-color:var(--brand-blue);
}
.rank-page-corporate .rank-card:hover{
  border-color:#D8E3E8;
  border-top-color:var(--brand-teal);
  box-shadow:0 20px 44px rgba(15,30,125,.09);
}
.rank-page-corporate .rank-card[data-rank-slug="chief_pilot"]:hover,
.rank-page-corporate .rank-card[data-rank-slug="director_operations"]:hover,
.rank-page-corporate .rank-card[data-rank-slug="ceo_founder"]:hover{
  border-top-color:var(--brand-blue);
}
.rank-page-corporate .rank-requirements span{background:#F8FAFC;border-color:#E2E8EF}
.rank-page-corporate .rank-appointment-badge{background:#EEF1FB;color:var(--brand-blue)}

@media(max-width:760px){
  .board-empty{min-height:96px;padding:22px 16px}
  .rank-page-corporate .rank-corporate-hero{min-height:390px}
  .rank-page-corporate .rank-corporate-hero::before{right:-4%;font-size:8.5rem;opacity:.8}
}
@media(max-width:480px){
  .rank-page-corporate .rank-corporate-hero{min-height:360px}
  .rank-page-corporate .rank-corporate-hero::before{right:-12%;font-size:7rem}
}


/* v4.5 — aviation photo hero for Ranks and Badges */
.rank-page-corporate .rank-photo-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:460px!important;
  display:flex!important;
  align-items:center!important;
  color:#fff!important;
  background-image:
    linear-gradient(90deg,rgba(5,20,43,.91) 0%,rgba(8,37,76,.78) 46%,rgba(8,47,78,.34) 100%),
    url('../images/ranks-hero.webp')!important;
  background-size:cover!important;
  background-position:center 56%!important;
  background-repeat:no-repeat!important;
  border-bottom:0!important;
  border-radius:0!important;
  clip-path:none!important;
  mask:none!important;
  box-shadow:none!important;
}
.rank-page-corporate .rank-photo-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  background:linear-gradient(180deg,rgba(4,15,34,.10),rgba(4,15,34,.34))!important;
  color:transparent!important;
  opacity:1!important;
  z-index:-1!important;
  pointer-events:none!important;
}
.rank-page-corporate .rank-photo-hero::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  width:auto!important;
  height:4px!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  background:linear-gradient(90deg,var(--brand-orange) 0 18%,var(--brand-teal) 18% 58%,var(--brand-blue) 58% 100%)!important;
  opacity:1!important;
  z-index:1!important;
  pointer-events:none!important;
}
.rank-page-corporate .rank-photo-hero .rank-hero-content{
  position:relative!important;
  z-index:2!important;
  max-width:860px!important;
  padding-top:76px!important;
  padding-bottom:76px!important;
}
.rank-page-corporate .rank-photo-hero .eyebrow{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.28)!important;
}
.rank-page-corporate .rank-photo-hero .eyebrow::before{
  background:var(--brand-orange)!important;
}
.rank-page-corporate .rank-photo-hero h1{
  max-width:850px!important;
  color:#fff!important;
  text-shadow:0 3px 22px rgba(0,0,0,.30)!important;
  text-wrap:balance!important;
}
.rank-page-corporate .rank-photo-hero .lead{
  max-width:760px!important;
  color:rgba(255,255,255,.93)!important;
  text-shadow:0 2px 14px rgba(0,0,0,.30)!important;
}
.rank-page-corporate .rank-photo-hero .rank-hero-art,
.rank-page-corporate .rank-photo-hero .rank-aviation-art,
.rank-page-corporate .rank-photo-hero .rank-flight-path,
.rank-page-corporate .rank-photo-hero .rank-flight-plane{
  display:none!important;
}
@media(max-width:900px){
  .rank-page-corporate .rank-photo-hero{
    min-height:410px!important;
    background-position:58% center!important;
  }
  .rank-page-corporate .rank-photo-hero .rank-hero-content{
    padding-top:62px!important;
    padding-bottom:62px!important;
    max-width:720px!important;
  }
}
@media(max-width:620px){
  .rank-page-corporate .rank-photo-hero{
    min-height:390px!important;
    background-position:63% center!important;
  }
  .rank-page-corporate .rank-photo-hero .rank-hero-content{
    padding-top:52px!important;
    padding-bottom:52px!important;
  }
  .rank-page-corporate .rank-photo-hero h1{
    font-size:clamp(2.55rem,12vw,4.2rem)!important;
    line-height:1.02!important;
  }
  .rank-page-corporate .rank-photo-hero .lead{
    font-size:1rem!important;
    line-height:1.65!important;
  }
}


/* v4.6 — ranks hero aligned with the homepage abstract background style */
.rank-page-corporate .rank-photo-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:460px!important;
  display:flex!important;
  align-items:center!important;
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 82% 18%, rgba(2,116,153,.11) 0%, rgba(2,116,153,.11) 16%, rgba(2,116,153,0) 17%),
    radial-gradient(circle at 93% 56%, rgba(15,30,125,.08) 0%, rgba(15,30,125,.08) 24%, rgba(15,30,125,0) 25%),
    radial-gradient(circle at 74% 86%, rgba(255,255,255,.78) 0%, rgba(255,255,255,.78) 15%, rgba(255,255,255,0) 16%),
    linear-gradient(90deg,#F8FBFD 0%, #F4F8FB 54%, #EAF2F7 100%)!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.rank-page-corporate .rank-photo-hero::before{
  content:""!important;
  position:absolute!important;
  right:-220px!important;
  top:-140px!important;
  width:760px!important;
  height:760px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 50% 50%, rgba(2,116,153,.12) 0%, rgba(2,116,153,.12) 31%, rgba(2,116,153,.055) 31.5%, rgba(2,116,153,.055) 48%, rgba(2,116,153,0) 48.5%)!important;
  transform:none!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:none!important;
}
.rank-page-corporate .rank-photo-hero::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  height:4px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(90deg,var(--brand-green) 0 18%,var(--brand-red) 18% 40%,var(--brand-orange) 40% 60%,var(--brand-teal) 60% 80%,var(--brand-blue) 80% 100%)!important;
  opacity:1!important;
  z-index:2!important;
  pointer-events:none!important;
}
.rank-page-corporate .rank-photo-hero .rank-hero-content{
  position:relative!important;
  z-index:3!important;
  max-width:860px!important;
  padding-top:76px!important;
  padding-bottom:76px!important;
}
.rank-page-corporate .rank-photo-hero .eyebrow{
  color:var(--brand-teal)!important;
  text-shadow:none!important;
}
.rank-page-corporate .rank-photo-hero .eyebrow::before{
  background:var(--brand-orange)!important;
}
.rank-page-corporate .rank-photo-hero h1{
  max-width:850px!important;
  color:var(--brand-blue)!important;
  text-shadow:none!important;
  text-wrap:balance!important;
}
.rank-page-corporate .rank-photo-hero .lead{
  max-width:760px!important;
  color:#5A6B82!important;
  text-shadow:none!important;
}
.rank-page-corporate .rank-photo-hero .rank-hero-art,
.rank-page-corporate .rank-photo-hero .rank-aviation-art,
.rank-page-corporate .rank-photo-hero .rank-flight-path,
.rank-page-corporate .rank-photo-hero .rank-flight-plane{
  display:none!important;
}
@media(max-width:900px){
  .rank-page-corporate .rank-photo-hero{
    min-height:410px!important;
  }
  .rank-page-corporate .rank-photo-hero::before{
    right:-260px!important;
    top:-120px!important;
    width:640px!important;
    height:640px!important;
  }
  .rank-page-corporate .rank-photo-hero .rank-hero-content{
    padding-top:62px!important;
    padding-bottom:62px!important;
    max-width:720px!important;
  }
}
@media(max-width:620px){
  .rank-page-corporate .rank-photo-hero{
    min-height:380px!important;
  }
  .rank-page-corporate .rank-photo-hero::before{
    right:-190px!important;
    top:-70px!important;
    width:440px!important;
    height:440px!important;
    opacity:.95!important;
  }
  .rank-page-corporate .rank-photo-hero .rank-hero-content{
    padding-top:52px!important;
    padding-bottom:52px!important;
  }
  .rank-page-corporate .rank-photo-hero h1{
    font-size:clamp(2.55rem,12vw,4.2rem)!important;
    line-height:1.02!important;
  }
  .rank-page-corporate .rank-photo-hero .lead{
    font-size:1rem!important;
    line-height:1.65!important;
  }
}


/* Full responsive hardening for public pages, tables and maps */
html,body{width:100%;max-width:100%;overflow-x:hidden}
main,header,footer,section,.container,.section-head,.detail-grid,.map-layout,.route-list,.rank-grid,.fleet-grid,.card-grid,.aircraft-detail,.airport-board,.board-top,.board-row,.board-footer,.cta{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
iframe,video{width:100%}
.page-hero h1,.page-hero h2,.section h1,.section h2,.section h3,.card h2,.card h3,.lead,p,li{overflow-wrap:anywhere}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table-message{width:100%;text-align:center!important;padding:30px 18px!important;color:var(--muted)}
.routes-pagination{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.routes-page-numbers{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.route-map,.radar-map,.map-placeholder{width:100%;max-width:100%}
.leaflet-container{font:inherit;max-width:100%}
.route-item{min-width:0;overflow-wrap:anywhere}
.aircraft-visual{min-width:0;overflow:hidden}
.aircraft-visual img{max-width:100%;height:auto;object-fit:contain}
.rank-card,.card,.kpi,.spec-card,.airport-fact{min-width:0}

@media(max-width:900px){
  .detail-grid,.aircraft-detail,.map-layout{grid-template-columns:1fr!important}
  .route-list{max-height:none!important}
  .route-map{height:clamp(390px,58dvh,540px)!important}
  .cta{display:grid;grid-template-columns:1fr;align-items:start;padding:42px 30px}
  .cta .btn{justify-self:start}
}

@media(max-width:680px){
  .container,.nav-inner,.footer-disclaimer{width:calc(100% - 22px)}
  .section-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
  .table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  .data-table{display:block;width:100%;min-width:0!important}
  .data-table thead{display:none}
  .data-table tbody{display:grid;gap:14px;width:100%}
  .data-table tr{display:block;width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(8,27,53,.05)}
  .data-table td{display:grid;grid-template-columns:minmax(94px,38%) minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:12px 14px;white-space:normal!important;text-align:right;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
  .data-table td:last-child{border-bottom:0}
  .data-table td[data-label]::before{content:attr(data-label);font-size:.67rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:left}
  .data-table td[colspan],.data-table td.table-message{display:block!important;text-align:center!important;border-bottom:0!important;padding:26px 18px!important}
  .data-table td[colspan]::before,.data-table td.table-message::before{display:none!important;content:none!important}
  .data-table td .status,.data-table td .badge{justify-self:end;max-width:100%;min-width:0}
  .routes-pagination{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .routes-pagination small,.routes-page-numbers{grid-column:1/-1}
  .routes-pagination .btn{width:100%}
  .route-map{height:clamp(340px,54dvh,450px)!important;border-radius:16px}
  .route-list{display:grid!important;grid-template-columns:1fr!important}
  .airport-facts,.spec-grid,.fleet-summary,.fleet-summary-four,.runway-grid,.rank-grid,.card-grid,.kpi-grid,.values-grid,.reference-facts,.story-grid,.support-grid{grid-template-columns:1fr!important}
  .airport-hero-card,.cta{padding:28px 20px}
  .cta .btn{width:100%;justify-self:stretch}
  .board-top,.board-footer{padding-inline:16px}
}

@media(max-width:430px){
  .page-hero h1{font-size:clamp(2.05rem,12.5vw,3rem)!important;line-height:1.02}
  .page-hero br{display:none}
  .data-table td{grid-template-columns:minmax(86px,42%) minmax(0,1fr);padding:11px 12px}
  .status,.badge,.rank-badge,.flight-status{white-space:normal;height:auto;min-height:34px;text-align:center;padding-block:8px}
  .footer-disclaimer,.footer-bottom{font-size:.76rem}
  .modal-card,.affiliation-dialog{width:100%;max-width:100%}
}

/* v4.8 — detailed schedule modal and responsive route actions */
.routes-table .data-table{min-width:1080px}
.route-details-btn{padding:11px 17px;min-height:42px;font-size:.82rem}
.route-detail-card{position:relative;border-top:5px solid var(--brand-red);box-shadow:0 30px 90px rgba(3,18,38,.34)}
.route-modal-head .close-modal{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#F1F5F8;color:var(--ink);transition:background .2s ease,transform .2s ease}
.route-modal-head .close-modal:hover{background:#E7EEF4;transform:rotate(4deg)}
.route-summary{position:relative;overflow:hidden;background:linear-gradient(112deg,#071A38 0%,var(--brand-blue) 58%,var(--brand-teal) 100%)}
.route-summary::after{content:"";position:absolute;right:-80px;top:-120px;width:280px;height:280px;border-radius:50%;border:48px solid rgba(255,255,255,.07);pointer-events:none}
.route-line small{display:inline-flex;margin-top:9px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.route-detail-wide{grid-column:span 2}
.route-modal-actions{padding-top:4px}
@media(max-width:900px){.route-detail-wide{grid-column:span 2}}
@media(max-width:700px){
  .routes-table .data-table{min-width:0}
  .routes-table td[data-label="Details"]{display:block;padding-top:14px;border-top:1px solid var(--line);margin-top:8px}
  .route-detail-wide{grid-column:auto}
  .route-detail-card{max-height:calc(100dvh - 24px)}
  .route-summary::after{right:-130px;top:-120px}
}
