/* Clear to Climb 1.5 — The Horizon visual direction.
   Screen-only design, no changes to data model, accounts, or print infographic. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
@media screen {
:root{--ink:#0d2949;--blue:#226ddc;--paper:#f5f7fa;--radius:22px;--shadow:0 10px 28px #15375909}
body{font-family:'DM Sans',system-ui,sans-serif;background:#f5f7fb;color:#13304d}
.app-shell{background:linear-gradient(135deg,#f8faff 0,#f3f6fa 36%,#f9fbff 100%)}
h1,h2,h3,.stat-card>strong,.brand strong{font-family:'Manrope',system-ui,sans-serif}
/* Slim, editorial navy sidebar */
.sidebar{width:234px;padding:29px 16px 19px;background:#091f38;border-right:1px solid #233b55;box-shadow:12px 0 26px #051a2e06}
.sidebar:before{content:'';position:absolute;left:0;top:0;right:0;height:240px;pointer-events:none;background:radial-gradient(ellipse at 0 0,#225e9b24,transparent 72%)}
.sidebar:after{display:none}
.brand{position:relative;padding:0 7px 54px;gap:12px}
.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#69bdff,#236ce0);color:white;box-shadow:0 8px 30px #219af03d}
.brand-mark svg{transform:rotate(-15deg)}
.brand strong{letter-spacing:-.065em;font-size:18px;font-weight:800;text-transform:lowercase;line-height:1.05}.brand-dot{color:#ffa851}
.brand small{font:700 8px 'DM Sans',sans-serif;letter-spacing:.15em;color:#6f9cbb;margin-top:7px}
.sidebar-label{margin:0 10px 15px;color:#6986a4;font-size:9px;letter-spacing:.13em;font-weight:800}
.side-call-sign{color:#52728e;font-size:8px}
.sidebar nav{gap:5px}
.sidebar .nav-link{font-size:12px;font-weight:700;color:#8ba3bc;border-radius:12px;padding:13px 14px;gap:13px;box-shadow:none!important;transition:background .2s,color .2s}
.sidebar .nav-link:hover{background:#153753;color:#fff}
.sidebar .nav-link.active{color:white;background:linear-gradient(90deg,#1e4770,#173450);box-shadow:inset 0 0 0 1px #ffffff0c!important}
.sidebar .nav-link.active:before{left:0;top:13px;bottom:13px;height:auto;width:3px;background:#58befd;border-radius:3px}
.sidebar .nav-link span{font-size:20px;width:20px;color:#8db6d2}
.sidebar .nav-link.active span{color:#7bd4ff}
.sidebar-flight-card{padding:22px 18px 25px;border-radius:20px;margin-top:auto;min-height:188px;background:radial-gradient(circle at 100% 0%,#7ec6fa2c,transparent 52%),linear-gradient(142deg,#1a456a,#123553);border:1px solid #4869889c;box-shadow:inset 0 1px #ffffff13}
.sidebar-flight-card:after{border:1px dashed #ffffff17}
.sidebar-flight-card span{font-size:9px;color:#9fcff4;letter-spacing:.17em}.sidebar-flight-card strong{max-width:150px;font-size:23px;letter-spacing:-.07em;line-height:1.17;margin-top:17px}
.sidebar-flight-card small{color:#9ec3d9;font-size:10px;margin-top:13px}.flight-card-orbit{opacity:.8;font-size:23px;top:17px;right:15px;color:#ffc16f}
.sidebar-bottom{margin-top:19px;padding:18px 6px 1px;border-top:1px solid #ffffff12;font-size:9px}
.sidebar-bottom span{font-weight:800;letter-spacing:.06em;color:#b4c9db}.sidebar-bottom small{color:#6b8ba4;letter-spacing:0;font-weight:500;margin-top:4px}
/* App heading */
.main-content{margin-left:234px;max-width:1850px;padding:0 clamp(22px,3vw,54px) 26px}
.topbar{height:86px;border-bottom:1px solid #e1e8ef;gap:12px}
.topbar-location{color:#8294a5;font-size:9px;font-weight:800;letter-spacing:.12em;gap:12px}.topbar-location b{color:#173c5f;font:800 11px 'DM Sans',sans-serif;letter-spacing:.08em}
.topbar-beacon{background:#22bf8f;width:7px;height:7px;box-shadow:0 0 0 5px #2fbb9920}.topbar-date{color:#748b9f;font-size:11px;font-weight:700}
.quiet-button{background:#fff;border:1px solid #e4edf2;border-radius:12px;padding:11px 13px;color:#4d6a83;font-weight:800;box-shadow:0 2px 10px #10375908}
.quiet-button:hover{background:#eef7ff;color:#2169b4}
.account-pill{background:#e9f5ff;border:1px solid #c9e5fb;color:#23668e;border-radius:11px;font-size:10px;box-shadow:none}
.avatar{width:37px;height:37px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#1c86cb,#114a9f);font-size:13px;box-shadow:0 7px 17px #1366af26}
.view{padding-top:26px}
/* THE HERO — cinematic illustration rather than a dark spreadsheet banner */
.flightdeck-hero{display:block;isolation:isolate;position:relative;overflow:hidden;min-height:540px;padding:clamp(30px,3.5vw,52px);border-radius:27px;background:linear-gradient(114deg,#0a2e59 1%,#104978 47%,#257db5 100%);box-shadow:0 24px 48px #0b42753d;border:1px solid #2875af;color:#fff}
.flightdeck-hero:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 81% 21%,#8de1fe5a 0,transparent 36%),radial-gradient(ellipse at 66% 90%,#40a2d427 0,transparent 41%)}
.flightdeck-hero:after{display:none}
.hero-ambient{position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,#072448c9 0%,#0b386abc 31%,#0e467962 49%,transparent 72%)}
.hero-copy{position:relative;z-index:3;max-width:590px;width:60%}
.hero-overline{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#b8ecff;background:#ffffff10;border:1px solid #ffffff25;border-radius:99px;padding:10px 13px}
.hero-signal{width:7px;height:7px;background:#71efd7;border-radius:50%;box-shadow:0 0 0 4px #51d2b51f}
.hero-overline-separator{font-size:8px;color:#67b6d2}
.hero-welcome{font:800 11px 'DM Sans',sans-serif;letter-spacing:.18em;color:#ffdaaa;margin:39px 0 13px;text-transform:uppercase}
.hero-welcome span:first-child{color:#ffdaaa}.hero-welcome span:last-child{color:#ffc676;padding-left:8px}
.flightdeck-hero h1{font:800 clamp(43px,4.5vw,73px)/1.09 'Manrope',sans-serif;letter-spacing:-.075em;margin:0;color:#fff;text-wrap:balance;max-width:750px}
.flightdeck-hero h1 span{display:inline-block;color:#a5e8ff;background:none;-webkit-text-fill-color:initial}
.hero-subtitle{font-size:13px;line-height:1.86;color:#daebf6;max-width:445px;margin:20px 0 25px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.hero-actions .primary-button{display:inline-flex;align-items:center;gap:9px;background:#ffb55f;color:#102f50;padding:14px 19px;border-radius:12px;font-size:12px;font-weight:800;box-shadow:0 9px 26px #f49f4f36}
.hero-actions .primary-button:hover{background:#ffcc85;color:#102f50}
.hero-action-arrow{font-size:15px;margin-left:9px}
.hero-secondary-button{display:inline-flex;align-items:center;gap:12px;border:1px solid #bdeaff55;color:white;background:#ffffff0c;padding:14px 19px;border-radius:12px;font-size:12px;font-weight:800;backdrop-filter:blur(5px)}
.hero-secondary-button:hover{background:#ffffff20}
.hero-tiny-note{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.17em;font-weight:800;margin-top:34px;color:#96cce4}.hero-note-dots{color:#ffba6e;font-size:16px}.hero-note-line{display:block;width:27px;height:1px;background:#719eb7}
.hero-plane-art{position:absolute;z-index:1;right:-20px;top:-22px;width:min(71%,910px);height:auto;pointer-events:none;filter:drop-shadow(0 12px 32px #06274624)}
.hero-top-stamp{position:absolute;right:37px;top:31px;font:700 10px 'DM Sans';letter-spacing:.17em;color:#cfedfb;opacity:.85;z-index:2}.hero-top-stamp span{margin-left:8px;font-size:17px;color:#ffd08e}
.hero-route-chip{display:none}
.flight-plan{position:absolute;right:clamp(20px,3vw,42px);bottom:52px;z-index:4;width:min(355px,40%);min-height:auto;padding:18px 21px 0;transform:none;border:1px solid #ffffff73;border-radius:17px;background:#ffffffeb;color:#123351;backdrop-filter:blur(18px);box-shadow:0 18px 44px #06294745}
.plan-head{color:#44617d;font-size:9px;font-weight:800;letter-spacing:.12em}.plan-head strong{font-size:10px;color:#245b82}.plan-head strong span{color:#f29f41}.plan-led{background:#13b994}
.plan-route{margin:19px 0 20px;gap:7px}.plan-route strong{font:800 28px 'Manrope',sans-serif;color:#153657;letter-spacing:-.06em}.plan-destination strong{color:#f09b35}.plan-route small,.plan-bottom small{font-size:8px;letter-spacing:.15em;color:#859baf}.plan-route>div>span:not(.plan-dashes):not(.plan-plane){color:#8195a7;font-size:9px}.plan-track{min-width:46px}.plan-dashes{border-color:#7faac1}.plan-plane{font-size:24px;color:#1b7baf}.plan-divider{border-top:1px dashed #cddce6}
.plan-bottom{margin:16px 0 20px;gap:10px}.plan-bottom strong{color:#153657;font-size:10px;font-weight:800;letter-spacing:.06em}.plan-target strong{color:#244f72}
.plan-foot{display:none}
.hero-bottom-strip{position:absolute;inset:auto 35px 16px;display:flex;justify-content:space-between;align-items:center;color:#b5ddf1;opacity:.75;letter-spacing:.16em;font-weight:700;font-size:9px}.hero-strip-icon{color:#ffd18c}
/* Data bento */
.section-caption{padding:32px 2px 15px;display:flex;justify-content:space-between;color:#72859b;font:800 10px 'DM Sans',sans-serif;letter-spacing:.16em}
.section-caption span:last-child{color:#9aafbd}.section-caption i{background:#19c8a0}
.stat-grid{gap:13px}
.stat-card{position:relative;border-radius:20px;padding:23px 22px 20px;min-height:159px;background:#fff;border:1px solid #e5ebf3;box-shadow:0 8px 23px #14375d08;transition:transform .18s,box-shadow .18s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 25px #14375d10}
.stat-card:before{display:none}
.stat-card:after{content:'';position:absolute;bottom:17px;right:15px;width:51px;height:32px;opacity:.5;background:no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 55 31'%3E%3Cpath d='M1 28 11 17 21 20 30 8 38 12 53 1' fill='none' stroke='%23399ce4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.stat-card:nth-child(2):after{transform:scaleY(-1)}.stat-card:nth-child(3):after{display:none}
.stat-card:nth-child(3){background:#0f3255;border-color:#234b70;color:#fff;box-shadow:0 11px 24px #0b3b6040}
.stat-card:nth-child(3) .stat-label,.stat-card:nth-child(3) small{color:#a7c4d9}
.stat-card:nth-child(3)>strong{color:#fff;font-size:clamp(18px,1.5vw,23px);white-space:normal;line-height:1.16}
.stat-label{color:#8091a5;letter-spacing:.13em;font-size:9px;font-weight:800}
.stat-icon{border-radius:11px;width:32px;height:32px;font-size:17px}.stat-icon.blue{background:#e7f2ff;color:#2383d5}.stat-icon.green{background:#e5faf4;color:#12a98d}.stat-icon.amber{background:#f8b85a;color:#1d4265}.stat-icon.violet{background:#f1eaff;color:#8465d5}
.stat-card>strong{color:#103559;margin:17px 0 7px;font:800 clamp(24px,2vw,33px) 'Manrope',sans-serif;letter-spacing:-.055em}
.stat-card small{font-size:10px;color:#8b9dac;font-weight:500}
/* Path route */
.flight-path-panel{margin:17px 0 0;padding:26px 29px 23px;border-radius:22px;border:1px solid #dfe8f0;box-shadow:0 8px 23px #14375d08}
.flight-path-panel:after{content:'FLIGHT PLAN / 001';font-size:46px;color:#124f8109}
.flight-path-intro{margin-bottom:28px}.flight-path-intro h2{font-family:'Manrope',sans-serif;font-size:21px;letter-spacing:-.055em}.flight-path-intro h2 span{color:#ffae52}
.path-counter{font:800 10px 'DM Sans',sans-serif;letter-spacing:.04em;background:#eaf5ff;color:#266da3;padding:10px 14px;border-radius:20px}
.path-steps:before{border-top:2px dashed #c5d9e9}
.path-stop .stop-dot{width:39px;height:39px;border:2px solid #dce9f2;color:#819bb2;background:#f6faff;font-weight:800;font-size:16px}
.path-stop.done .stop-dot{background:#2586bc;border-color:#2586bc;color:white}
.path-stop.next .stop-dot{background:#ffbc66;border:2px solid #ffbc66;color:#133655;box-shadow:0 0 0 5px #fff0df}
.path-stop strong{color:#35536f;font-weight:800;font-size:11px}.path-stop small{color:#91a7b7;font-size:9px}
.path-tail{margin-top:25px}.path-tail>span{font-family:'DM Sans',sans-serif;font-size:9px}.path-tail strong{font-size:12px}.path-tail a{color:#1675bb}
/* Subpages and graphs */
.panel{border-radius:21px;border:1px solid #e2eaf1;box-shadow:0 8px 25px #14375d08;padding:24px}
.panel-heading h2,.timeline-heading h2{color:#143657;font:800 18px 'Manrope',sans-serif;letter-spacing:-.045em}
.eyebrow{color:#1c82bf;letter-spacing:.16em;font-size:9px}
.text-link{color:#1e75b7;font-weight:800;font-size:11px}
.dashboard-grid{gap:15px;margin-top:16px}
.donut{box-shadow:0 0 0 1px #eef2f8}.donut-center strong{font-family:'Manrope',sans-serif}
.legend-row{padding:11px 0}
.achievement-panel{margin-top:18px}
.achievement-item{border-radius:14px}.dashboard-footer{padding-top:28px}
.page-heading h1{color:#123452;font:800 clamp(32px,3vw,43px) 'Manrope',sans-serif;letter-spacing:-.065em}
.page-heading .primary-button{background:#216fbd;padding:13px 18px}
.page-heading .primary-button:hover{background:#165795}
.filter-row select,.search-box{border-radius:12px}
.license-card{background:linear-gradient(110deg,#0b2c52,#176ca0);border-radius:21px}
.support-hero{background:radial-gradient(ellipse at 80% 13%,#4aacdb64,transparent 47%),linear-gradient(110deg,#0a2c53,#165a8d)}
.account-panel{z-index:31}.modal-backdrop{z-index:40}.toast{z-index:50}
}
@media screen and (min-width:1800px){.flightdeck-hero{min-height:590px}.hero-copy{padding-top:12px}.hero-plane-art{width:69%;right:-10px;top:-30px}.flight-plan{bottom:60px}}
@media screen and (max-width:1450px){.flightdeck-hero{min-height:520px}.flightdeck-hero h1{font-size:clamp(40px,4.1vw,58px)}.hero-plane-art{width:73%;top:20px;right:-75px}.flight-plan{width:340px;bottom:47px}.hero-copy{width:58%}.hero-subtitle{max-width:390px}}
@media screen and (max-width:1180px){.sidebar{width:209px}.main-content{margin-left:209px;padding:0 24px 25px}.brand strong{font-size:16px}.brand small{font-size:7px}.flightdeck-hero{padding:34px;min-height:545px}.hero-copy{width:70%}.flightdeck-hero h1{font-size:clamp(39px,4.4vw,56px)}.hero-plane-art{width:88%;right:-170px;top:12px;opacity:.87}.hero-ambient{background:linear-gradient(90deg,#0a2a51eb,#0e386bc4 45%,transparent 83%)}.flight-plan{width:min(330px,43%)}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-card{min-height:140px}.dashboard-grid{grid-template-columns:1fr}.sidebar-flight-card strong{font-size:20px}}
@media screen and (max-width:760px){
 .sidebar{inset:auto 0 0;width:100%;height:calc(74px + env(safe-area-inset-bottom));padding:6px 5px calc(7px + env(safe-area-inset-bottom));background:#081f37;border-top:1px solid #385575}
 .sidebar:before,.sidebar .brand,.sidebar .sidebar-label,.sidebar .sidebar-flight-card,.sidebar .sidebar-bottom{display:none}
 .sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:100%;gap:0}
 .sidebar .nav-link,.sidebar .nav-link.active,.sidebar .nav-link:not(.active){flex-direction:column;gap:2px;justify-content:center;align-items:center;min-width:0;padding:5px 2px 3px;font-size:10px!important;border-radius:11px;white-space:normal;background:transparent;box-shadow:none!important}
 .sidebar .nav-link b{font:700 9px 'DM Sans',sans-serif}.sidebar .nav-link span{font-size:20px;width:auto}
 .sidebar .nav-link.active{background:#ffffff10}.sidebar .nav-link.active:before{display:none}
 .main-content{margin:0;padding:0 18px 110px}.view{padding-top:18px}
 .topbar{height:70px}.topbar-date,.topbar-location{display:none}.mobile-brand{display:flex;align-items:center;gap:9px}.mobile-brand strong{font-size:11px;font-weight:800;letter-spacing:.03em}.mobile-brand .brand-mark{border-radius:10px}
 .quiet-button{padding:9px 10px}.quiet-button span:not(.quiet-icon){display:none}.quiet-button .quiet-icon{font-size:16px}
 .account-pill #accountLabel{display:none}.account-caret{display:none}
 .flightdeck-hero{padding:28px 26px 33px;min-height:730px;border-radius:22px}
 .hero-copy{width:100%;max-width:none}.hero-overline{font-size:8px}.hero-welcome{margin:23px 0 11px;font-size:10px}.flightdeck-hero h1{font-size:clamp(40px,7.5vw,58px)}
 .hero-subtitle{font-size:12px;max-width:530px;line-height:1.7;margin:15px 0 18px}.hero-tiny-note{display:none}
 .hero-plane-art{width:102%;max-width:none;top:245px;right:-60px;opacity:.8}.hero-ambient{background:linear-gradient(180deg,#082b52a8 0,#0f4372c4 45%,transparent 76%)}
 .hero-top-stamp{top:auto;bottom:295px;right:25px;font-size:8px}
 .flight-plan{width:calc(100% - 48px);max-width:480px;right:24px;left:24px;bottom:46px;padding:18px 19px 0}.hero-bottom-strip{left:28px;right:28px;bottom:15px;font-size:8px}
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:17px 15px;min-height:133px}.stat-card>strong{font-size:24px}.stat-card:nth-child(3)>strong{font-size:19px}
 .flight-path-panel{padding:21px 18px}.flight-path-intro h2{font-size:18px}
 .panel{padding:21px}.page-heading h1{font-size:33px}.dashboard-grid{grid-template-columns:1fr}
}
@media screen and (max-width:490px){
 .main-content{padding:0 12px 107px}.flightdeck-hero{min-height:714px;padding:23px 19px 25px}
 .hero-overline{padding:8px 10px;gap:5px;font-size:7px}.hero-welcome{margin:22px 0 10px}
 .flightdeck-hero h1{font-size:clamp(39px,10vw,46px)}.hero-subtitle{font-size:11px;margin:14px 0 18px}
 .hero-actions{gap:7px}.hero-actions .primary-button,.hero-secondary-button{padding:11px 12px;font-size:10px;gap:5px}.hero-action-arrow{margin-left:3px}
 .hero-plane-art{width:125%;right:-96px;top:262px;opacity:.8}.hero-top-stamp{bottom:289px;top:auto;right:17px;font-size:7px}
 .flight-plan{bottom:43px;left:14px;right:14px;width:calc(100% - 28px);padding:15px 15px 0}.plan-route{margin:15px 0}.plan-route strong{font-size:24px}.plan-route small{font-size:7px}.plan-route>div>span:not(.plan-dashes):not(.plan-plane){font-size:8px}.plan-bottom{margin:14px 0 17px}.plan-bottom strong{font-size:9px}
 .hero-bottom-strip{left:18px;right:18px;font-size:7px}.section-caption{font-size:9px;letter-spacing:.09em}.section-caption span:last-child{font-size:8px}
 .stat-card{padding:15px 13px;min-height:126px}.stat-label{font-size:8px;letter-spacing:.065em}.stat-icon{width:27px;height:27px;font-size:13px}.stat-card>strong{font-size:22px}.stat-card:nth-child(3)>strong{font-size:17px}.stat-card small{font-size:9px}
 .flight-path-panel{padding:19px 13px}.flight-path-intro{align-items:flex-start;gap:8px}.flight-path-intro h2{font-size:16px}.path-counter{font-size:8px;padding:7px 8px}.path-stop .stop-dot{width:30px;height:30px}.path-steps:before{top:15px}.path-stop strong{font-size:8px}.path-stop small{font-size:7px}
 .panel{padding:18px}
}
@media screen and (prefers-reduced-motion:reduce){.stat-card{transition:none}}
/* Keep decorative aircraft artwork fully within the viewport on compact devices. */
@media screen and (max-width:760px){
  .hero-plane-art{width:105%;right:-8px;top:255px}
  html,body{overflow-x:clip}
}
@media screen and (max-width:490px){
  .hero-plane-art{width:112%;right:-8px;top:274px}
}
/* Hidden-overflow containers can accidentally scroll when modal-launch buttons are focused.
   Clip the decorative hero without turning it into an inner scroll container. */
@media screen {.flightdeck-hero{overflow:clip}}
