:root{
  color-scheme:light;
  --bg:#f3f3f5;--surface:rgba(255,255,255,.84);--solid:#fff;--ink:#111318;--muted:#6e7078;
  --line:rgba(15,23,42,.08);--blue:#087ff5;--blue-soft:#eaf4ff;--green:#25a557;--red:#e84945;
  --shadow:0 16px 40px rgba(30,37,48,.08);--small-shadow:0 7px 24px rgba(30,37,48,.06);
  --radius-xl:32px;--radius-lg:24px;--radius-md:18px;--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:radial-gradient(circle at 10% -10%,rgba(8,127,245,.08),transparent 28%),var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Inter,Arial,sans-serif}
button,input{font:inherit}button{border:0}.hidden{display:none!important}
.app-shell{width:min(100%,780px);margin:0 auto;padding:0 16px calc(112px + var(--safe-bottom))}
.topbar{position:sticky;z-index:50;top:0;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top,0px)) 0 13px;background:linear-gradient(180deg,rgba(243,243,245,.96) 72%,rgba(243,243,245,0));backdrop-filter:blur(24px)}
.brand{display:flex;align-items:center;gap:11px;padding:0;background:transparent;text-align:left;color:var(--ink)}
.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:15px;background:#000;overflow:hidden;box-shadow:0 8px 18px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.15)}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand strong,.brand small{display:block}.brand strong{font-size:20px;line-height:1;letter-spacing:-.5px}.brand small{margin-top:4px;font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--muted)}
.icon-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.74);box-shadow:var(--small-shadow);color:#34363b}.icon-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.screen{display:none}.screen.active{display:block;animation:screen-in .22s ease-out}@keyframes screen-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.hero{position:relative;overflow:hidden;padding:26px;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-xl);background:radial-gradient(circle at 95% 5%,rgba(8,127,245,.18),transparent 37%),linear-gradient(150deg,rgba(255,255,255,.98),rgba(248,249,252,.88));box-shadow:var(--shadow)}
.hero:after{position:absolute;right:-36px;bottom:-80px;width:180px;height:180px;border:1px solid rgba(8,127,245,.10);border-radius:50%;content:""}
.eyebrow{font-size:10px;font-weight:850;letter-spacing:.13em;color:var(--blue)}
.hero h1,.page-intro h1{margin:9px 0 10px;font-size:clamp(36px,10vw,55px);line-height:.98;letter-spacing:-2.1px}.hero p,.page-intro p{max-width:540px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}.hero-actions{position:relative;z-index:1;display:flex;gap:10px;margin-top:20px}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 17px;border-radius:16px;font-weight:800;letter-spacing:-.15px;cursor:pointer}.button-dark{background:linear-gradient(180deg,#202631,#11151c);color:#fff;box-shadow:0 12px 22px rgba(17,21,28,.16)}.button-glass{border:1px solid var(--line);background:rgba(255,255,255,.75);color:var(--ink)}.button-primary{background:var(--blue);color:#fff}.button.wide{width:100%}.thumb-action{min-height:58px;font-size:16px}
.import-status{margin:14px 2px 0;padding:13px 15px;border-radius:15px;background:#eaf4ff;color:#075cae;font-size:13px;font-weight:700}.import-status.error{background:#ffeded;color:#a72e2b}
.section-block{margin-top:25px}.flight-head{padding:0 4px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--muted)}.verified-dot{display:flex;align-items:center;gap:6px;color:var(--green);letter-spacing:0;text-transform:none}.verified-dot:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.flight-head h2{margin:9px 0 15px;font-size:27px;line-height:1.08;letter-spacing:-1px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric{padding:12px 9px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);text-align:center}.metric span,.current-leg-grid span{display:block;font-size:9px;font-weight:850;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.metric strong{display:block;margin-top:5px;font-size:16px;letter-spacing:-.3px}
.current-leg{margin-top:18px;padding:18px;border-radius:27px;background:radial-gradient(circle at top right,rgba(8,127,245,.22),transparent 40%),linear-gradient(150deg,#202938,#0c1119);box-shadow:0 17px 34px rgba(13,18,27,.2);color:#fff}.current-leg-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:850;letter-spacing:.1em;color:#c7cfda}.current-leg-top button{display:flex;min-height:38px;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:11px;font-weight:800;letter-spacing:0}.current-leg-top button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.current-leg-nav{display:flex;justify-content:space-between;gap:12px;margin-top:4px}.current-leg-nav button{min-height:42px;padding:0;background:transparent;color:#fff;font-size:12px;font-weight:750}.current-leg-nav button:disabled{opacity:.32}.current-leg-nav b{font-size:18px}.current-leg-route{display:flex;align-items:center;gap:12px;margin:4px 0 17px;font-size:30px;letter-spacing:-1px}.current-leg-route span{color:#5daeff}.current-leg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.current-leg-grid div{min-width:0;padding:10px 7px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.07)}.current-leg-grid span{color:#abb5c3}.current-leg-grid strong{display:block;overflow:hidden;margin-top:4px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.branch-timer{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:12px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.075)}.branch-timer-display span,.branch-timer-display small{display:block}.branch-timer-display span{color:#aeb8c6;font-size:9px;font-weight:850;letter-spacing:.09em}.branch-timer-display strong{display:block;margin:3px 0 2px;font-variant-numeric:tabular-nums;font-size:32px;line-height:1;letter-spacing:-1px}.branch-timer-display small{color:#bfc7d2;font-size:10px}.branch-timer-actions{display:flex;gap:7px}.branch-timer-actions button{min-height:40px;padding:0 12px;border-radius:12px;background:#fff;color:#11151c;font-size:11px;font-weight:820}.branch-timer-actions button:last-child{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);color:#fff}.branch-timer-actions button:disabled{opacity:.35}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 3px 11px}.section-title-row h2{margin:4px 0 0;font-size:21px;letter-spacing:-.6px}.section-title-row p{margin:3px 0 0;color:var(--muted);font-size:12px}.text-button{padding:8px 0;background:transparent;color:var(--blue);font-size:13px;font-weight:750}.section-note{color:var(--muted);font-size:11px}
.map-card{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:1px solid rgba(255,255,255,.86);border-radius:26px;background:#dde5ec;box-shadow:var(--shadow);cursor:zoom-in}.map-card img{display:block;width:100%;aspect-ratio:1.98/1;object-fit:cover}.map-hint{position:absolute;right:12px;bottom:12px;padding:8px 11px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(17,19,24,.68);backdrop-filter:blur(16px);color:#fff;font-size:10px;font-weight:780}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:23px;background:rgba(255,255,255,.83);box-shadow:var(--small-shadow)}.flight-table{width:100%;min-width:690px;border-collapse:collapse}.flight-table th{padding:12px 10px;background:#f7f8fa;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.06em;text-align:left;text-transform:uppercase}.flight-table td{padding:15px 10px;border-top:1px solid var(--line);font-size:13px;font-weight:690;white-space:nowrap}.flight-table tbody tr{cursor:pointer}.flight-table tbody tr.active{background:var(--blue-soft)}.flight-table tbody tr.active td:first-child{color:var(--blue)}
.frequency-list{overflow:hidden;border:1px solid var(--line);border-radius:23px;background:rgba(255,255,255,.82);box-shadow:var(--small-shadow)}.frequency-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border-bottom:1px solid var(--line)}.frequency-row:last-child{border-bottom:0}.frequency-row span{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;text-overflow:ellipsis}.frequency-row strong{font-size:16px;letter-spacing:-.25px;text-align:right}.frequency-row strong small{display:block;margin-top:2px;color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.safety-strip{display:grid;grid-template-columns:40px 1fr;gap:12px;margin-top:20px;padding:15px;border:1px solid rgba(31,165,87,.13);border-radius:21px;background:#effaf3}.safety-strip-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:14px;background:#d9f3e2;color:#188a44;font-weight:900}.safety-strip strong{font-size:13px}.safety-strip p{margin:4px 0 0;color:#4f6f5b;font-size:11px;line-height:1.45}
.personalize-card{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:27px;background:rgba(255,255,255,.81);box-shadow:var(--small-shadow)}.personalize-card h2{margin:5px 0 5px;font-size:22px}.personalize-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.compact-fields label,.sheet-dialog label{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.compact-fields input,.sheet-dialog input{display:block;width:100%;height:50px;margin-top:6px;padding:0 13px;border:1px solid var(--line);border-radius:15px;outline:0;background:#fff;color:var(--ink);font-size:15px;font-weight:650;letter-spacing:0;text-transform:none}.compact-fields input:focus,.sheet-dialog input:focus{border-color:#a7ceff;box-shadow:0 0 0 4px rgba(8,127,245,.09)}
.empty-card{padding:28px 20px;border:1px dashed rgba(15,23,42,.15);border-radius:27px;background:rgba(255,255,255,.63);text-align:center}.empty-icon{display:grid;width:58px;height:58px;margin:0 auto 14px;place-items:center;border-radius:19px;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:900}.empty-card h2{margin:0 0 7px;font-size:20px}.empty-card p{max-width:390px;margin:0 auto 17px;color:var(--muted);font-size:12px;line-height:1.5}
.page-intro{padding:18px 4px 20px}.page-intro h1{font-size:44px}.tool-chips{display:flex;gap:8px;overflow:auto;margin:0 -16px;padding:0 16px 10px;scrollbar-width:none}.tool-chips::-webkit-scrollbar{display:none}.tool-chip{flex:none;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.75);color:#4b4c52;font-size:12px;font-weight:800}.tool-chip.active{border-color:#11151c;background:#11151c;color:#fff}
.result-card{padding:22px;border-radius:28px;background:radial-gradient(circle at 92% 8%,rgba(8,127,245,.25),transparent 42%),linear-gradient(145deg,#202938,#0c1119);box-shadow:0 18px 36px rgba(13,18,27,.2);color:#fff}.result-card>span{font-size:10px;font-weight:850;letter-spacing:.11em;color:#b4c0ce}.result-card>strong{display:block;margin:6px 0 5px;font-size:40px;line-height:1;letter-spacing:-1.6px}.result-card>p{margin:0;color:#d5dbe4;font-size:13px;line-height:1.45}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.result-detail{padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.07)}.result-detail span{display:block;color:#aeb8c6;font-size:9px;font-weight:800;text-transform:uppercase}.result-detail strong{display:block;margin-top:4px;font-size:15px}
.calculator-card{margin-top:13px;padding:19px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:var(--small-shadow)}.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.calc-field.full{grid-column:1/-1}.calc-field label{display:block;margin:0 0 6px 2px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.calc-input{position:relative}.calc-input input{width:100%;height:60px;padding:0 49px 0 14px;border:1px solid var(--line);border-radius:17px;outline:0;background:#fff;color:var(--ink);font-size:21px;font-weight:820}.calc-input span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:11px;font-weight:800}
.airspace-hero{padding:20px;border-radius:26px;background:linear-gradient(145deg,#202938,#0c1119);box-shadow:0 17px 34px rgba(13,18,27,.18);color:#fff}.airspace-hero span{font-size:9px;font-weight:850;letter-spacing:.12em;color:#aeb8c6}.airspace-hero strong{display:block;margin:6px 0 4px;font-size:27px;letter-spacing:-.8px}.airspace-hero p{margin:0;color:#d4dbe5;font-size:13px;line-height:1.45}.class-stack{display:grid;gap:9px;margin-top:14px}.class-card{display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.82)}.class-card>b{display:grid;width:48px;height:48px;place-items:center;border-radius:16px;background:#edf2f8;font-size:21px}.class-card h2{margin:0;font-size:15px}.class-card p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.class-card>span{padding:6px 8px;border-radius:999px;background:#eef1f5;color:#646871;font-size:8px;font-weight:900;letter-spacing:.06em}.class-card.critical>b{background:#ffeded;color:#c43632}.class-card.critical>span{background:#ffeded;color:#b92f2b}.class-card.controlled>b{background:#fff0df;color:#b76808}.class-card.controlled>span{background:#fff0df;color:#a75d06}.class-card.open>b{background:#eaf7ef;color:#188a44}.class-card.open>span{background:#eaf7ef;color:#188a44}.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.zone-grid article{padding:15px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72)}.zone-grid b{font-size:14px}.zone-grid p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.checklist-note{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:14px;border:1px solid rgba(232,73,69,.13);border-radius:20px;background:#fff0ef}.checklist-note>div{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:#ffdcd9;color:#b9322f;font-weight:900}.checklist-note p{margin:0;color:#81514f;font-size:11px;line-height:1.48}.search-row{display:grid;grid-template-columns:1fr 52px;gap:9px;margin:14px 0}.search-box{display:flex;height:52px;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.8)}.search-box svg{width:20px;fill:none;stroke:#8a8d95;stroke-width:1.8}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.add-button{border-radius:17px;background:#11151c;color:#fff;font-size:26px}.checklist-list{display:grid;gap:9px}.checklist-item{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.82)}.checklist-pdf{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:900}.checklist-item h2{margin:0;font-size:14px}.checklist-item p{margin:4px 0 0;color:var(--muted);font-size:10px}.checklist-actions{display:flex;gap:5px}.checklist-actions button{padding:8px;border-radius:11px;background:#f1f2f5;color:#444;font-size:11px;font-weight:800}.checklist-actions button.danger{color:#bd3733}
.tabbar{position:fixed;z-index:70;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,780px);margin:auto;padding:9px 12px calc(9px + var(--safe-bottom));border-top:1px solid var(--line);background:rgba(247,247,249,.9);backdrop-filter:blur(26px)}.tab{display:grid;min-height:54px;place-items:center;gap:3px;padding:7px 3px;border-radius:16px;background:transparent;color:#81848c;font-size:9px;font-weight:760}.tab svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.active{background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.08);color:#11151c;transform:translateY(-1px)}
dialog{padding:0;border:0}dialog::backdrop{background:rgba(8,11,16,.72);backdrop-filter:blur(8px)}.map-dialog{width:min(96vw,1100px);max-height:92vh;overflow:auto;border-radius:24px;background:#11151c;color:#fff}.map-dialog img{display:block;width:100%;min-width:760px}.map-dialog p{margin:0;padding:12px;text-align:center;color:#c7ccd5;font-size:11px}.dialog-close{position:sticky;z-index:2;top:10px;float:right;display:grid;width:38px;height:38px;margin:10px;place-items:center;border-radius:50%;background:rgba(17,21,28,.72);color:#fff;font-size:23px;cursor:pointer}.flight-view-dialog{width:min(100vw,900px);max-width:none;height:100dvh;max-height:none;overflow:hidden;background:#dce4e9;color:var(--ink)}.flight-map-shell,#flightLiveMap{width:100%;height:100%}.flight-map-shell{position:relative;overflow:hidden}.flight-map-topbar{position:absolute;z-index:500;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;background:linear-gradient(180deg,rgba(14,19,27,.9),rgba(14,19,27,.55),transparent);pointer-events:none;color:#fff}.flight-map-topbar>div,.flight-map-close{pointer-events:auto}.flight-map-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;color:#a9cdf4}.flight-map-topbar h2{margin:4px 0 0;font-size:21px;letter-spacing:-.6px}.flight-map-close{display:grid;width:43px;height:43px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(17,22,30,.72);backdrop-filter:blur(18px);color:#fff;font-size:25px}.flight-map-panel{position:absolute;z-index:500;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;padding:14px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(248,249,251,.91);box-shadow:0 18px 48px rgba(10,18,27,.24);backdrop-filter:blur(24px)}.flight-map-leg{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.flight-map-leg>div:last-child{text-align:right}.flight-map-leg span,.flight-map-gps span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.flight-map-leg strong{display:block;margin-top:3px;font-size:20px;line-height:1;letter-spacing:-.6px}.flight-map-leg>div:last-child strong{color:var(--blue)}.flight-map-gps{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:6px;margin-top:11px}.flight-map-gps>div{min-width:0;padding:9px 8px;border:1px solid rgba(15,23,42,.07);border-radius:13px;background:rgba(255,255,255,.62)}.flight-map-gps strong{display:block;overflow:hidden;margin-top:4px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.flight-map-gps small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.flight-map-gps strong.ok{color:var(--green)}.flight-map-gps strong.warn{color:#bb6b08}.flight-map-gps strong.error{color:#bc3531}.flight-map-message{margin:9px 2px 0;color:#5f6570;font-size:9px;line-height:1.35}.flight-map-actions{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:7px;margin-top:10px}.flight-map-actions button{min-height:45px;padding:0 8px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#252930;font-size:10px;font-weight:820}.flight-map-actions button.locate{border-color:#147de0;background:linear-gradient(180deg,#1889f3,#0878dc);box-shadow:0 9px 18px rgba(8,120,220,.2);color:#fff}.flight-map-actions button:disabled{opacity:.35}.flight-map-disclaimer{margin:9px 2px 0;color:#777d86;font-size:8px;line-height:1.35;text-align:center}.flight-waypoint-label{border:0!important;background:transparent!important;box-shadow:none!important;color:#111820;font-size:10px;font-weight:900;text-shadow:0 1px 2px #fff,0 0 5px #fff}.flight-waypoint-label:before{display:none}.live-aircraft{display:grid;width:34px;height:34px;place-items:center;border:3px solid #fff;border-radius:50%;background:#087ff0;box-shadow:0 6px 16px rgba(8,65,124,.35);transform:rotate(var(--aircraft-heading,0deg))}.live-aircraft svg{width:21px;fill:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}.leaflet-control-zoom{margin-top:90px!important;border:0!important;box-shadow:0 8px 24px rgba(15,23,42,.18)!important}.leaflet-control-zoom a{border:0!important;color:#242931!important}.leaflet-control-attribution{max-width:72%;background:rgba(255,255,255,.76)!important;font-size:8px!important}.sheet-dialog{width:min(92vw,460px);border-radius:27px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.25)}.sheet-dialog form{padding:23px}.sheet-dialog .dialog-close{position:static;margin:-10px -10px 5px auto;float:none}.sheet-dialog h2{margin:7px 0 10px;font-size:25px;letter-spacing:-.7px}.sheet-dialog p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.55}.sheet-dialog label{display:block;margin:12px 0}.sheet-dialog input[type=file]{height:auto;padding:13px;font-size:12px}.toast{position:fixed;z-index:100;right:16px;bottom:calc(88px + var(--safe-bottom));left:16px;max-width:460px;margin:auto;padding:13px 16px;border-radius:15px;background:rgba(17,21,28,.92);box-shadow:0 10px 30px rgba(0,0,0,.18);color:#fff;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:none}
@media(min-width:700px){.app-shell{padding-right:24px;padding-left:24px}.hero{padding:34px}.hero-actions{max-width:390px}.hero-actions .button{flex:1}.metrics{max-width:570px}.flight-table{min-width:100%}.page-intro{padding-top:26px}.tools-layout{display:grid;grid-template-columns:1fr 1fr}.tabbar{border-right:1px solid var(--line);border-left:1px solid var(--line);border-radius:22px 22px 0 0}.map-dialog img{min-width:0}}
@media(min-width:700px){.flight-view-dialog{height:min(94dvh,940px);border-radius:30px}.flight-map-panel{right:18px;bottom:18px;left:18px}.flight-map-topbar{padding-right:24px;padding-left:24px}}
@media(max-width:430px){.metrics{grid-template-columns:1fr 1fr}.current-leg-grid{grid-template-columns:1fr 1fr}.branch-timer{grid-template-columns:1fr}.branch-timer-actions button{flex:1}.compact-fields{grid-template-columns:1fr}.hero h1{font-size:40px}.flight-head h2{font-size:23px}.class-card{grid-template-columns:44px 1fr}.class-card>span{display:none}.flight-map-gps{grid-template-columns:1.2fr 1fr 1fr}.flight-map-gps>div:last-child{display:none}.flight-map-leg strong{font-size:18px}}
@media print{body{background:#fff}.topbar,.tabbar,.hero-actions,.text-button,.map-hint,.current-leg-nav,.current-leg-top button,.branch-timer-actions,.personalize-card,.safety-strip,.flight-view-dialog{display:none!important}.app-shell{width:100%;max-width:none;padding:0}.hero{box-shadow:none}.screen:not(#vfr),#flightEmpty{display:none!important}#vfr,#flightContent{display:block!important}.section-block,.current-leg{break-inside:avoid}.current-leg{color:#000;background:#f2f4f7;box-shadow:none}.current-leg-grid span{color:#555}.table-scroll{overflow:visible}.flight-table{min-width:0;font-size:9px}.map-card{box-shadow:none}.frequency-list{box-shadow:none}}

/* Airspace: native accordions preserve keyboard and offline access. */
.airspace-section-heading{margin:24px 0 6px}.airspace-caption{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.airspace-detail{overflow:hidden;border:1px solid var(--line);border-radius:21px;background:var(--surface);box-shadow:var(--small-shadow)}
.airspace-detail .class-card{border:0;border-radius:0;background:transparent;grid-template-columns:48px minmax(0,1fr) 22px;min-height:88px;cursor:pointer;list-style:none}
.airspace-detail summary::-webkit-details-marker,.airspace-info summary::-webkit-details-marker{display:none}
.airspace-detail .class-card small{display:inline-block;margin-top:7px;font-size:9px;font-weight:850;letter-spacing:.06em;color:var(--muted)}
.airspace-detail.controlled small{color:#a75d06}.airspace-detail.critical small{color:#b92f2b}.airspace-detail.open small{color:#188a44}
.airspace-detail .class-card>.airspace-chevron{display:block;background:none;padding:0;color:var(--muted);font-size:23px;transition:transform .2s}
.airspace-detail[open] .airspace-chevron,.airspace-info[open] summary>span{transform:rotate(180deg)}
.airspace-detail[open] summary{border-bottom:1px solid var(--line)}
.airspace-body{padding:4px 18px 18px;font-size:13px;line-height:1.65;color:var(--muted)}
.airspace-body dl{margin:0}.airspace-body dl>div{padding-top:14px}.airspace-body dt,.airspace-body strong{font-weight:750;color:var(--ink)}.airspace-body dd{margin:4px 0 0}.airspace-body p{margin:12px 0 0}
.airspace-info{margin-top:10px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.airspace-info summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:16px 18px;list-style:none;cursor:pointer;font-size:14px;font-weight:750}
.airspace-info summary>span{font-size:21px;color:var(--muted);transition:transform .2s}
.airspace-info summary:focus-visible,.airspace-detail summary:focus-visible{outline:3px solid var(--blue);outline-offset:-4px;border-radius:20px}
.vmc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vmc-grid article{padding:19px;border-radius:24px;background:var(--blue-soft);border:1px solid rgba(8,127,245,.1)}
.vmc-grid article>span{display:block;font-size:9px;letter-spacing:.06em;font-weight:850;color:#28669e}.vmc-grid article>strong{display:block;font-size:34px;letter-spacing:-1px;margin:8px 0;color:var(--ink)}.vmc-grid p{font-size:12px;line-height:1.6;margin:0;color:#405774}
.airspace-check{padding:22px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}.airspace-check h2{margin:6px 0;font-size:23px;letter-spacing:-.5px}.airspace-check ol{padding-left:22px;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.airspace-check li{padding:4px 0 4px 4px}.airspace-check li::marker{color:var(--blue);font-weight:800}
.airspace-sources{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 4px}.airspace-sources a{color:#146dc1;text-underline-offset:3px}
@media(max-width:430px){.vmc-grid{grid-template-columns:1fr}.airspace-detail .class-card{grid-template-columns:44px minmax(0,1fr) 22px}.airspace-body{padding-right:16px;padding-left:16px}}
@media(prefers-reduced-motion:reduce){.airspace-chevron,.airspace-info summary>span{transition:none}}

/* Match the app's outlined icons and animate both accordion directions. */
.airspace-chevron-icon{display:block;width:20px;height:20px}
.airspace-detail .class-card>.airspace-chevron,.airspace-info summary>span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#eef1f5;color:#69717e;transition:transform 280ms cubic-bezier(.22,1,.36,1),background-color 180ms ease}
.airspace-detail.controlled .airspace-chevron{background:#fff0df;color:#a75d06}
.airspace-detail.critical .airspace-chevron{background:#ffeded;color:#b92f2b}
.airspace-detail.open .airspace-chevron{background:#eaf7ef;color:#188a44}
.airspace-detail[data-expanded="false"] .airspace-chevron,.airspace-info[data-expanded="false"] summary>span{transform:rotate(0deg)}
.airspace-detail[data-expanded="true"] .airspace-chevron,.airspace-info[data-expanded="true"] summary>span{transform:rotate(180deg)}
.airspace-info{overflow:hidden}
@media(prefers-reduced-motion:reduce){.airspace-detail .class-card>.airspace-chevron,.airspace-info summary>span{transition:none}}

/* Search catalogue shares the hangar's light surfaces and generous controls. */
.catalogue-card{padding:22px;border:1px solid var(--line);border-radius:27px;background:var(--surface);box-shadow:var(--small-shadow)}
.catalogue-card .section-title-row{margin:0}.catalogue-badge{padding:6px 10px;border-radius:999px;background:var(--blue-soft);color:#146dc1;font-size:10px;font-weight:800}
.catalogue-intro,.catalogue-no-match p{font-size:13px;line-height:1.6;color:var(--muted)}
.catalogue-search-label,.catalogue-variant-label{display:block;margin:16px 0 8px;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.04em}
.catalogue-card .search-box{width:100%}
.catalogue-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.catalogue-suggestions button{min-height:38px;padding:8px 12px;border-radius:999px;background:#eef1f5;color:#4b5360;font-size:12px;font-weight:650;cursor:pointer}
#catalogueVariant{width:100%;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:#f7f8fa;color:var(--ink);font:inherit;font-size:14px}
.catalogue-status{font-size:11px;color:var(--muted);line-height:1.5;margin:16px 0 10px}.catalogue-results{display:grid;gap:12px}
.catalogue-result{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--solid)}
.catalogue-result-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.catalogue-result h3{margin:0;font-size:18px;letter-spacing:-.4px}.catalogue-source-badge{font-size:9px;color:#146dc1;background:var(--blue-soft);padding:6px 8px;border-radius:999px;font-weight:750}
.catalogue-result p{margin:8px 0;font-size:12px;color:var(--muted);line-height:1.5}.catalogue-result .catalogue-aircraft{font-weight:700;color:var(--ink)}
.catalogue-result dl{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0}.catalogue-result dt{font-size:9px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.catalogue-result dd{font-size:12px;margin:4px 0 0}
.catalogue-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}.catalogue-actions a,.catalogue-document-info a{font-size:12px;color:#146dc1;text-underline-offset:3px}.catalogue-actions button{min-height:44px;flex:1;font-size:12px}
.catalogue-footnote{margin:16px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}.catalogue-no-match{padding:18px;border-radius:18px;background:#f5f7fa;font-size:14px}
.checklist-hangar-heading{margin-top:28px}.catalogue-document-info{padding:15px;background:#f5f7fa;border-radius:16px;font-size:12px;line-height:1.6}.catalogue-document-info strong{display:block;color:var(--ink);font-size:15px}.catalogue-document-info p{margin:6px 0!important;font-size:12px!important}
#catalogueRegistration{text-transform:uppercase}.sheet-dialog .catalogue-confirm{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.6;color:var(--muted)}
.sheet-dialog .catalogue-confirm input{width:20px;height:20px;padding:0;flex-shrink:0;accent-color:var(--blue);margin-top:2px}
.catalogue-match-status,.catalogue-download-status{font-size:12px!important;line-height:1.5!important;margin:8px 0 14px!important;color:var(--muted)}
.catalogue-match-status[data-match="false"],.catalogue-download-status[data-error="true"]{color:#b92f2b}.catalogue-match-status[data-match="true"]{color:#188a44}
#catalogueSaveButton:disabled{opacity:.42;cursor:not-allowed}.catalogue-actions button:disabled{opacity:.65;cursor:default}
.checklist-provenance{margin:5px 0 0!important;font-size:10px!important;line-height:1.6}.checklist-provenance a{color:#146dc1;text-underline-offset:3px}
@media(max-width:430px){.catalogue-card{padding:18px}.catalogue-result{padding:15px}.catalogue-result-top{align-items:flex-start}.catalogue-source-badge{white-space:nowrap;font-size:8px}.catalogue-actions{gap:12px}.catalogue-actions button{flex-basis:100%}.checklist-item{min-width:0}.checklist-item h2{overflow-wrap:anywhere}}

.sheet-dialog .catalogue-confirm{text-transform:none;letter-spacing:normal;font-weight:400}

.checklist-viewer{width:min(96vw,800px);height:94dvh;max-height:94dvh;padding:0;border-radius:26px;background:var(--bg);box-shadow:var(--shadow)}
.checklist-viewer[open]{display:flex;flex-direction:column}.checklist-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;background:#fff}.checklist-viewer-head h2{margin:5px 0 0;font-size:17px;line-height:1.3;overflow-wrap:anywhere}.checklist-viewer-head .icon-button{flex-shrink:0;font-size:25px}
.checklist-viewer-note{font-size:11px;line-height:1.5;color:var(--muted);padding:10px 20px;margin:0}
.checklist-viewer-pages{flex:1;overflow:auto;min-height:0;text-align:center;padding:12px;overscroll-behavior:contain}.checklist-viewer-pages canvas{display:block;max-width:none;margin:0 auto;background:#fff;box-shadow:var(--small-shadow)}#checklistViewerStatus{font-size:13px;color:var(--muted)}
.checklist-viewer-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:#fff;border-top:1px solid var(--line)}
.checklist-viewer-controls button{width:44px;height:44px;border-radius:14px;background:var(--blue-soft);color:var(--blue);font-size:27px;cursor:pointer}.checklist-viewer-controls button:disabled{opacity:.35;cursor:default}.checklist-viewer-controls span{min-width:60px;font-size:13px;font-weight:700;text-align:center}.checklist-viewer-controls a{color:#146dc1;font-size:12px}

.document-tabs{display:flex;gap:4px;padding:5px;border-radius:17px;background:#e6e8ed;margin:0 0 22px}
.document-tabs button{flex:1;min-height:44px;padding:9px 12px;border-radius:13px;background:transparent;color:#686d77;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s}
.document-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(30,37,48,.1)}
.document-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
#checklistDocumentPanel[hidden],#chartDocumentPanel[hidden]{display:none!important}
.vac-search-card{padding:22px;border:1px solid var(--line);border-radius:27px;background:var(--surface);box-shadow:var(--small-shadow)}.vac-search-card .section-title-row{margin:0}.vac-search-card .search-box{width:100%}
.vac-index-status,.vac-operation-status{font-size:11px;color:var(--muted);line-height:1.6;margin:16px 0 10px}
.vac-operation-status[data-error="true"]{color:#b92f2b}.vac-results,.vac-saved-list{display:grid;gap:12px}
.vac-result,.vac-saved{padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;min-width:0}
.vac-card-heading{display:flex;gap:12px;align-items:center}.vac-code{display:grid;place-items:center;width:58px;min-height:46px;border-radius:14px;background:var(--blue-soft);font-size:13px;font-weight:800;color:#146dc1;flex-shrink:0}
.vac-card-heading h3{margin:0;font-size:15px;line-height:1.4;letter-spacing:-.2px}.vac-card-heading p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.vac-result-actions,.vac-saved-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.vac-result-actions button,.vac-saved-actions button{min-height:44px;padding:10px 12px;border-radius:13px;font-size:12px;font-weight:700;cursor:pointer;background:var(--blue-soft);color:#146dc1}
.vac-result-actions .vac-save,.vac-saved-actions .vac-open{background:#161c26;color:#fff}.vac-result-actions button:disabled,.vac-saved-actions button:disabled{opacity:.42;cursor:default}
.vac-saved-actions .vac-remove{color:#b92f2b;background:#ffeded}.vac-saved-meta{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}
.vac-currency{display:inline-block;padding:5px 8px;font-size:9px;font-weight:750;border-radius:999px;background:#eef1f5;color:#626b79;margin-top:10px}.vac-currency.stale{background:#fff0df;color:#a75d06}
.vac-source-link,.vac-saved-meta a{font-size:11px;color:#146dc1;text-underline-offset:3px}.vac-empty{text-align:center;padding:28px 20px;border:1px dashed rgba(15,23,42,.13);border-radius:23px;color:var(--muted)}.vac-empty h3{font-size:17px;color:var(--ink);margin:12px 0 6px}.vac-empty p{font-size:12px;line-height:1.6;margin:0}
#vacConnectionBadge.offline{background:#eef1f5;color:#626b79}.vac-result-actions .vac-saved-label{align-self:center;font-size:11px;color:#188a44;font-weight:700}
@media(max-width:430px){.vac-search-card{padding:18px}.vac-result,.vac-saved{padding:15px}.vac-result-actions button{flex:1}.vac-saved-actions .vac-open{flex:1}.document-tabs button{font-size:12px;padding-right:8px;padding-left:8px}.tabbar .tab span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.document-tabs button{transition:none}}

.flight-airport-charts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.flight-airport-charts[hidden]{display:none}
.flight-airport-charts button{display:flex;align-items:center;gap:11px;flex:1;min-width:180px;min-height:60px;padding:12px 15px;border:1px solid rgba(8,127,245,.12);border-radius:18px;background:var(--blue-soft);color:#146dc1;text-align:left;cursor:pointer}
.flight-airport-charts svg{width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flight-airport-charts strong{display:block;font-size:12px;line-height:1.4}.flight-airport-charts small{display:block;margin-top:3px;font-size:10px;color:#506b88}
.flight-airport-charts button:disabled{opacity:.5;cursor:wait}.flight-airport-charts button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:430px){.flight-airport-charts button{min-width:140px;padding:12px;gap:9px}}

/* Explicit action styling for the VFR chart shortcuts. */
.flight-airport-charts button{gap:12px;min-height:68px;padding:14px 16px;background:linear-gradient(145deg,#096fdc,#075fc4);border:1px solid rgba(4,68,145,.3);color:#fff;box-shadow:0 6px 15px rgba(7,95,196,.2),inset 0 1px 0 rgba(255,255,255,.17);transition:transform .16s ease,box-shadow .16s ease}
.flight-chart-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2)}
.flight-chart-icon svg{width:21px;height:21px}
.flight-chart-label{flex:1;min-width:0}.flight-airport-charts strong{font-size:14px;font-weight:750;letter-spacing:-.15px}.flight-airport-charts small{font-size:11px;color:rgba(255,255,255,.85)}
.flight-airport-charts .flight-chart-arrow{width:19px;height:19px;flex-shrink:0;stroke-width:2}
.flight-airport-charts button:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:0 2px 6px rgba(7,95,196,.2)}
.flight-airport-charts button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(hover:hover){.flight-airport-charts button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 20px rgba(7,95,196,.28)}}
@media(max-width:430px){.flight-airport-charts button{padding:12px;gap:9px;min-width:150px}.flight-chart-icon{width:31px;height:34px;border-radius:10px}.flight-airport-charts strong{font-size:13px}.flight-airport-charts small{font-size:10px}.flight-airport-charts .flight-chart-arrow{width:16px}}
@media(prefers-reduced-motion:reduce){.flight-airport-charts button{transition:none}.flight-airport-charts button:active:not(:disabled),.flight-airport-charts button:hover:not(:disabled){transform:none}}

.branch-timer{transition:background-color .2s ease,border-color .2s ease}
.branch-timer[data-state="warning"]{background:rgba(255,195,64,.12);border-color:rgba(255,211,107,.6)}
.branch-timer[data-state="warning"] .branch-timer-display strong{color:#ffd36b}
.branch-timer[data-state="warning"] .branch-timer-display span,.branch-timer[data-state="warning"] .branch-timer-display small{color:#ffe4a3}
.branch-timer[data-state="expired"]{background:rgba(239,76,76,.15);border-color:rgba(255,130,127,.7)}
.branch-timer[data-state="expired"] .branch-timer-display strong{color:#ff827f}
.branch-timer[data-state="expired"] .branch-timer-display span,.branch-timer[data-state="expired"] .branch-timer-display small{color:#ffb6b4}
@media(prefers-reduced-motion:reduce){.branch-timer{transition:none}}

.branch-timer[data-state="expired"]{background:linear-gradient(135deg,#c52738,#97152a);border:2px solid #ff7d88;box-shadow:0 0 0 3px rgba(255,88,108,.18),0 8px 22px rgba(166,24,47,.3)}
.branch-timer[data-state="expired"] .branch-timer-display strong{color:#fff;font-size:36px;font-weight:850}
.branch-timer[data-state="expired"] .branch-timer-display span,.branch-timer[data-state="expired"] .branch-timer-display small{color:#fff;font-weight:750}
.timer-haptics{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:5px}
.timer-haptics small{max-width:65%;color:#bfc7d2;font-size:10px;line-height:1.5}
.timer-haptics button{min-height:40px;padding:8px 0;background:none;color:#fff;font-size:10px;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.branch-timer[data-state="expired"] .timer-haptics small{color:#fff}

.hero-vfr .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px}
.hero-vfr .hero-actions .button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding-right:12px;padding-left:12px;font-size:12px}
.hero-actions .button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.active-flight-name{display:inline-block;margin:4px 0 12px;padding:7px 10px;border-radius:10px;background:var(--blue-soft);color:#146dc1;font-size:11px;font-weight:700}
.save-flight-copy{margin-top:10px}
.flight-library-dialog{width:min(94vw,680px);max-height:90dvh;padding:0;border-radius:27px;background:var(--bg);box-shadow:var(--shadow)}
.flight-library-dialog[open]{display:flex;flex-direction:column}
.flight-library-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 22px 12px}.flight-library-head h2{margin:5px 0 0;font-size:27px;letter-spacing:-.8px}.flight-library-head button{font-size:24px}
.flight-library-note,.flight-library-status{margin:0;padding:0 22px 14px;color:var(--muted);font-size:12px;line-height:1.6}
.flight-library-search{margin:0 22px 14px;flex-shrink:0}.flight-library-status{padding-bottom:10px;font-size:11px}
.flight-library-list{overflow:auto;padding:0 22px 22px;min-height:0;display:grid;gap:12px}
.saved-flight-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:#fff}
.saved-flight-card h3{margin:0;font-size:17px;letter-spacing:-.3px;overflow-wrap:anywhere}.saved-flight-card p{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.saved-flight-card .saved-flight-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.saved-flight-metrics span{padding:6px 9px;background:#f3f5f8;border-radius:9px;font-size:10px;font-weight:700;color:#555f70}
.saved-flight-card .saved-flight-date{font-size:10px}.saved-flight-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.saved-flight-actions button{min-height:42px;padding:10px 13px;border-radius:12px;font-size:11px;font-weight:750;background:var(--blue-soft);color:#146dc1;cursor:pointer}
.saved-flight-actions .saved-flight-open{flex:1;background:#161c26;color:#fff}.saved-flight-actions .saved-flight-delete{background:#ffeded;color:#b92f2b}
.saved-flight-actions button:disabled{opacity:.45;cursor:wait}
.saved-flight-empty{padding:24px 16px;text-align:center;border:1px dashed rgba(15,23,42,.12);border-radius:21px;color:var(--muted)}.saved-flight-empty strong{color:var(--ink);font-size:16px}.saved-flight-empty p{font-size:12px;line-height:1.6}
@media(max-width:430px){.hero-vfr .hero-actions .button{font-size:11px;gap:6px}.flight-library-head{padding:20px 18px 12px}.flight-library-list{padding:0 18px 18px}.flight-library-note,.flight-library-status{padding-right:18px;padding-left:18px}.flight-library-search{margin-right:18px;margin-left:18px}}


/* Original summary cards, with both local times in one card. */
#flightMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.metric-schedule-grid label{min-width:0}
.metric-schedule-grid input{display:block;width:100%;min-width:0;margin:5px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;font-weight:700;letter-spacing:-.3px;text-align:center;box-sizing:border-box}
.metric-schedule-grid input:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.metric-schedule-grid strong{font-size:16px;white-space:nowrap}
.metric-schedule small{display:block;margin-top:4px;font-size:8px;color:var(--muted)}
@media(max-width:767px){
.current-leg-nav{gap:12px;margin:12px 0 18px}
.current-leg-nav button{flex:1;min-height:56px;padding:12px 14px;border-radius:15px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-size:14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.current-leg-nav button b{font-size:26px;line-height:1}
.current-leg-nav button:last-child{background:rgba(8,127,245,.26);border-color:rgba(113,187,255,.6)}
.current-leg-nav button:disabled{opacity:1;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#97a4b4;box-shadow:none;cursor:default}
.current-leg-nav button:active:not(:disabled){background:rgba(255,255,255,.23)}
.current-leg-nav button:focus-visible{outline:3px solid #85c8ff;outline-offset:3px}
}
@media(max-width:430px){.current-leg-nav button{padding:12px 9px;font-size:13px}.metric-schedule-grid{gap:4px}.metric-schedule-grid span{font-size:8px}.metric-schedule-grid input,.metric-schedule-grid strong{font-size:14px}}

/* Consistent type and balanced active-flight summary cards. */
#flightMetrics .metric{min-width:0;min-height:82px;padding:12px 10px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:16px}
#flightMetrics .metric>span,#flightMetrics .metric-schedule-grid span{font-size:9px;font-weight:850;letter-spacing:.08em;line-height:1.3}
#flightMetrics .metric>strong{margin-top:6px;font-size:21px;font-weight:750;line-height:1.15;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
#flightMetrics .metric-schedule-grid{width:100%;gap:0;align-items:center}
#flightMetrics .metric-schedule-grid>div{border-left:1px solid var(--line);padding-left:6px}
#flightMetrics .metric-schedule-grid label{padding-right:6px}
#flightMetrics .metric-schedule-grid input,#flightMetrics .metric-schedule-grid strong{height:25px;margin:6px 0 0;padding:0;color:var(--ink);font-family:inherit;font-size:18px;font-weight:750;letter-spacing:-.5px;line-height:25px;font-variant-numeric:tabular-nums}
#flightMetrics .metric-schedule-grid input::-webkit-calendar-picker-indicator{display:none}
#flightMetrics .metric-schedule-grid input::-webkit-datetime-edit{padding:0}
#flightMetrics .metric-schedule-grid input{cursor:pointer}
.metric-branch-progress{display:flex;justify-content:center;gap:4px;height:4px;margin-top:7px;width:62px}
.metric-branch-progress i{flex:1;max-width:12px;border-radius:3px;background:#dce2e9}
.metric-branch-progress i.current{background:var(--blue)}
.metric-branch-progress i.completed{background:#91bce8}
@media(min-width:768px){#flightMetrics .metric{min-height:76px}#flightMetrics .metric>strong{font-size:19px}}

@media(min-width:768px){#flightMetrics{width:100%;max-width:none}}



.toast{display:flex;align-items:center;justify-content:space-between;gap:16px}
.toast.show{pointer-events:auto}
.toast>span{min-width:0}
.toast a{flex-shrink:0;display:flex;align-items:center;min-height:32px;padding:4px 0 4px 12px;color:#80bdff;font-size:12px;font-weight:800;text-decoration:none;border-left:1px solid rgba(255,255,255,.18)}
.toast a:focus-visible{outline:2px solid #80bdff;outline-offset:4px;border-radius:3px}

/* Ground preparation workspace. */
.tabbar{grid-template-columns:1fr 1fr 72px 1fr 1fr}
.tab.planner-tab{padding:0;gap:0;background:transparent;box-shadow:none;color:#146dc1;transform:none;min-height:54px}
.tab.planner-tab svg{width:58px;height:58px;margin-top:-24px;padding:12px;box-sizing:border-box;border:5px solid #f2f4f8;border-radius:50%;background:linear-gradient(145deg,#138cff,#066bd4);stroke:#fff;stroke-width:2.2;box-shadow:0 5px 14px rgba(8,127,245,.18)}
.tab.planner-tab span{margin-top:3px;font-size:9px}
.tab.planner-tab.active svg{background:linear-gradient(145deg,#087ff0,#0358b6);box-shadow:0 0 0 2px rgba(8,127,245,.18),0 5px 14px rgba(8,127,245,.2)}
.tab.planner-tab:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:16px}
.planner-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0 20px}
.planner-intro h1{font-size:32px;letter-spacing:-1.1px;margin:8px 0}
.planner-intro p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.planner-layout{display:grid;gap:16px}
.planner-card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:24px;padding:20px;min-width:0;box-shadow:var(--small-shadow)}
.planner-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.planner-card h2{font-size:17px;letter-spacing:-.35px;margin:0}
.planner-v1{padding:5px 8px;border-radius:8px;background:var(--blue-soft);color:#146dc1;font-size:9px;font-weight:750;white-space:nowrap}
.planner-field{display:block;font-size:10px;font-weight:750;color:#626b79;margin-bottom:14px}
.planner-field input,.planner-airport-search{width:100%;min-height:40px;border:1px solid #e0e5ec;border-radius:11px;background:#f8f9fb;color:var(--ink);font-family:inherit;font-size:12px;padding:10px 11px;box-sizing:border-box;margin-top:7px}
.planner-field input:focus,.planner-airport-search:focus{outline:2px solid rgba(8,127,245,.4);outline-offset:1px;background:#fff}
.planner-airport-field{position:relative;margin-top:15px}
.planner-airport-field label{margin-bottom:0}
.planner-role{display:inline-grid;place-items:center;width:19px;height:19px;background:var(--blue-soft);border-radius:6px;font-size:9px;font-style:normal;color:#146dc1;margin-right:5px}
.planner-airport-field>small{display:block;font-size:9px;color:var(--muted);margin-top:7px}
.planner-airport-results:not(:empty){position:absolute;top:69px;left:0;right:0;z-index:20;padding:5px;background:#fff;box-shadow:0 10px 32px rgba(15,23,42,.17);border:1px solid var(--line);border-radius:13px;max-height:240px;overflow:auto}
.planner-airport-results button{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:10px;border-radius:8px;background:none;font-size:10px;color:var(--ink);cursor:pointer}
.planner-airport-results button:hover,.planner-airport-results button:focus{background:var(--blue-soft)}
.planner-airport-results b{color:#146dc1;font-size:11px}.planner-airport-results p{font-size:11px;color:var(--muted);padding:8px}
.planner-loop{background:none;color:#146dc1;font-size:11px;font-weight:700;padding:12px 0;cursor:pointer}
.planner-loop:disabled{opacity:.45;cursor:default}
.planner-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:5px}
.planner-calculation-note{font-size:10px;color:var(--muted);margin:0 0 18px}
.planner-steps-title{border-top:1px solid var(--line);padding-top:17px;margin-bottom:10px}
.planner-steps-title h2{font-size:13px}.planner-steps-title small{font-size:9px;color:var(--muted)}
.planner-no-steps{font-size:11px;line-height:1.7;color:var(--muted);margin:0}
.planner-waypoints{display:grid;gap:8px}
.planner-waypoint{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.planner-step{display:grid;place-items:center;width:23px;height:23px;flex-shrink:0;background:var(--blue-soft);border-radius:8px;color:#146dc1;font-size:10px;font-weight:750}
.planner-waypoint>div:first-of-type{min-width:0;flex:1}
.planner-waypoint input{width:100%;padding:4px 0;border:0;background:none;font-family:inherit;font-size:12px;font-weight:700;box-sizing:border-box;color:var(--ink)}
.planner-waypoint small{display:block;font-size:9px;color:var(--muted)}
.planner-waypoint-actions{display:flex;gap:3px}.planner-waypoint-actions button{width:26px;height:29px;background:#f0f3f7;border-radius:7px;color:#536074;cursor:pointer}.planner-waypoint-actions button:disabled{opacity:.3}
.planner-map-column{min-width:0;display:grid;gap:16px;align-content:start}
.planner-map-card{padding:0;overflow:hidden}
.planner-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px}
.planner-map-toolbar strong{display:block;font-size:13px}.planner-map-toolbar small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.planner-map-toolbar>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.planner-map-toolbar button{min-height:34px;padding:8px 10px;border:1px solid var(--line);background:#f7f9fc;border-radius:10px;font-size:10px;color:#536074;font-weight:700;cursor:pointer}
.planner-map-toolbar #plannerAddPoint{background:var(--blue-soft);color:#146dc1;border-color:rgba(8,127,245,.15)}
.planner-map-toolbar #plannerAddPoint[aria-pressed="true"]{background:var(--blue);color:#fff}
.planner-map{height:380px;z-index:1;background:#e6edf3}
.planner-map.adding{cursor:crosshair}
.planner-map-note{font-size:9px;line-height:1.5;color:var(--muted);padding:10px 15px;margin:0}
.planner-pin{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:3px solid white;background:#087ff0;color:white;font-family:inherit;font-size:11px;font-weight:800;box-shadow:0 3px 9px rgba(15,23,42,.3)}
.planner-pin.airport{background:#172334}
.planner-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:17px}
.planner-totals>div{padding:12px;background:#f3f6fa;border-radius:13px}
.planner-totals span{display:block;font-size:9px;color:var(--muted);font-weight:700}
.planner-totals strong{display:block;margin-top:5px;font-size:19px;letter-spacing:-.6px}
.planner-log-scroll{overflow:auto}.planner-log{width:100%;border-collapse:collapse;font-size:11px}
.planner-log th{text-align:left;font-size:8px;color:var(--muted);padding:8px 6px;text-transform:uppercase;white-space:nowrap}
.planner-log td{padding:10px 6px;border-top:1px solid var(--line);white-space:nowrap}.planner-log td:first-child{white-space:normal;min-width:110px}.planner-log td:nth-child(2){color:#146dc1;font-weight:750}
.planner-status{font-size:11px;color:var(--muted);line-height:1.6;margin:15px 0}
.planner-status[data-error="true"]{color:#b92f2b}
.planner-save-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:16px}
.planner-save-row>small{font-size:9px;color:var(--muted);line-height:1.5;max-width:45%}
.planner-save-row .button{padding:11px 14px;font-size:11px;min-height:40px;border-radius:12px}
.planner-save-row .button:disabled{opacity:.45;cursor:default}
.planner-source-note{font-size:10px;color:var(--muted);line-height:1.7;padding:4px 4px 18px}
@media(min-width:768px){.planner-layout{grid-template-columns:270px minmax(0,1fr)}.planner-setup{align-self:start;padding:18px}.planner-map{height:400px}.planner-map-toolbar{flex-wrap:wrap}.planner-map-toolbar>div:last-child{width:100%;justify-content:flex-start}.planner-save-row{flex-wrap:wrap}.planner-save-row>small{max-width:none}}
@media(max-width:430px){.tabbar{grid-template-columns:1fr 1fr 58px 1fr 1fr;padding-right:8px;padding-left:8px}.planner-intro h1{font-size:28px}.planner-card{padding:17px}.planner-map-card{padding:0}.planner-map{height:350px}.planner-map-toolbar{gap:8px;padding:12px}.planner-map-toolbar>div:first-child{max-width:38%}.planner-map-toolbar button{font-size:9px;padding:8px}.planner-totals strong{font-size:17px}.planner-save-row{gap:10px}}

.planner-place-form{padding:12px;background:#f4f7fb;border:1px solid var(--line);border-radius:13px;margin-bottom:12px}
.planner-place-form .planner-field{margin-bottom:7px;line-height:1.5}
.planner-place-query{display:flex;gap:6px}
.planner-place-query input,.planner-point-name{min-width:0;width:100%;border:1px solid #e0e5ec;border-radius:9px;background:#fff;color:var(--ink);padding:9px;font-size:11px;font-family:inherit;box-sizing:border-box}
.planner-place-query button{width:34px;flex-shrink:0;border-radius:9px;background:var(--blue);color:white;font-size:22px;cursor:pointer}
.planner-place-query button:disabled{opacity:.45}.planner-point-name{margin-top:7px}
.planner-place-form>small{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:7px}
.planner-place-results{display:grid;gap:5px;margin-top:6px;max-height:260px;overflow:auto}
.planner-place-results:empty{margin:0}
.planner-place-results button{position:relative;background:white;border:1px solid var(--line);border-radius:9px;padding:10px 8px;text-align:left;cursor:pointer;color:var(--ink)}
.planner-place-results strong{display:block;font-size:11px;font-weight:750;margin-right:50px}
.planner-place-results small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.5}
.planner-place-results button>span{position:absolute;right:8px;top:10px;font-size:9px;font-weight:750;color:#146dc1}
.planner-place-results p{font-size:10px;color:var(--muted);line-height:1.6;margin:4px}
.planner-map-options{padding:0 15px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:10px;color:#626b79}
.planner-map-options>label:first-child{display:flex;align-items:center;gap:7px}
.planner-map-options select{max-width:180px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:#f7f9fc;font-size:10px;color:var(--ink);font-family:inherit}
.planner-airports-check{display:flex;align-items:center;gap:5px;white-space:nowrap}
.planner-airports-check input{margin:0;accent-color:var(--blue)}
.planner-external-maps{display:flex;gap:13px;width:100%}
.planner-external-maps a{font-size:10px;color:#146dc1;text-decoration:none;font-weight:700}
.planner-airport-label{font-size:9px;box-shadow:none;border:1px solid var(--line);padding:2px 5px}
.planner-airport-popup{font-family:inherit;max-width:240px}
.planner-airport-popup strong{display:block;font-size:12px;line-height:1.5}
.planner-airport-popup small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.planner-airport-popup>div{display:flex;gap:6px;margin-top:10px}
.planner-airport-popup button{padding:7px 9px;background:var(--blue-soft);color:#146dc1;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer}
@media(max-width:430px){.planner-map-options{padding:0 12px 12px;gap:8px 12px}.planner-map-options select{max-width:145px}}

.planner-advanced-settings{border-top:1px solid var(--line);margin:12px 0;padding-top:12px}
.planner-advanced-settings summary{font-size:12px;font-weight:750;cursor:pointer;margin-bottom:12px;color:var(--ink)}
.planner-history{display:flex;gap:8px;padding:13px 15px 0;flex-wrap:wrap}
.planner-history button,.planner-exchange button,.planner-profile-row button,.planner-weather-controls button{min-height:32px;padding:7px 10px;border-radius:9px;background:var(--blue-soft);color:#146dc1;font-size:10px;font-weight:700;cursor:pointer}
.planner-history button:disabled{opacity:.4;cursor:default}
.planner-profile-row{display:flex;gap:7px;margin-bottom:8px}
.planner-profile-row input,.planner-profile-row select,.planner-insert-label select,.planner-weather-controls input{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:11px;font-family:inherit;box-sizing:border-box;color:var(--ink)}
.planner-profile-row button{flex-shrink:0}
.planner-insert-label{display:block;font-size:9px;color:var(--muted);margin:10px 0}
.planner-insert-label select{margin-top:5px}
.planner-alt-label{display:flex;align-items:center;gap:6px;font-size:8px;color:var(--muted);margin-top:5px}
.planner-waypoint .planner-alt-label input{border:1px solid var(--line);border-radius:6px;padding:4px;width:75px;font-size:10px;background:#fff}
.planner-fuel-totals{margin-top:18px}
.planner-fuel-totals strong{font-size:15px}
.fuel-low{color:#bd3434!important}
.planner-field textarea{display:block;margin-top:7px;resize:vertical;width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8f9fb;color:var(--ink);font:11px/1.6 inherit;box-sizing:border-box}
.planner-terrain-chart svg{width:100%;display:block;max-height:250px}
.planner-terrain-chart svg text{font-size:11px;fill:#66717f;font-family:inherit}
.planner-briefing-links,.planner-exchange{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.planner-briefing-links a{font-size:11px;color:#146dc1;font-weight:700;text-decoration:none}
.planner-weather-controls{display:flex;gap:8px;margin-top:15px}
.planner-weather-controls button{flex-shrink:0}
.planner-weather-item{padding:12px;background:#f4f7fb;border:1px solid var(--line);border-radius:12px;margin-top:10px}
.planner-weather-item strong{font-size:12px}
.planner-weather-item p{font-size:9px;font-weight:750;color:var(--muted);margin:12px 0 4px}
.planner-weather-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.6;margin:0;font-family:ui-monospace,monospace}
.planner-map-column~.planner-card{margin-top:16px}
.planner-screen>.planner-card{margin-top:16px}

.planner-aerodrome-symbol{display:grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#204b7b;color:white;font-size:15px;line-height:1;box-shadow:0 2px 5px rgba(15,23,42,.3)}
.planner-obstacle-marker span{color:#ac6129;font-size:14px;text-shadow:0 0 2px white,1px 1px 2px white}
.planner-aero-note,.planner-aero-source{margin:0;padding:6px 15px;font-size:9px;color:var(--muted);line-height:1.6}
.planner-aero-source a{color:#146dc1;text-decoration:none}
.planner-weather-target{padding:12px;background:var(--blue-soft);border-radius:12px;margin:12px 0}
.planner-weather-target strong,.planner-weather-target small{display:block}
.planner-weather-target strong{font-size:11px;color:#146dc1}.planner-weather-target small{margin-top:6px;font-size:9px;color:#536074;line-height:1.6}
.weather-station-reference{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:7px}
.planner-forecast-period{padding:10px 0;border-top:1px solid var(--line);display:grid;gap:5px;font-size:10px;margin-top:10px}
.planner-forecast-period b{color:#146dc1}.planner-forecast-period small{font-size:9px;color:var(--muted)}
.planner-weather-item details{margin-top:12px}.planner-weather-item summary{font-size:10px;color:#626b79;cursor:pointer}

/* Planner workspace: roomy desktop canvas and an expanded editing view. */
.planner-airspace-legend{display:flex;flex-wrap:wrap;gap:6px 13px;padding:9px 15px;border-top:1px solid var(--line);font-size:9px;color:#536074}
.planner-airspace-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.planner-airspace-legend i{width:13px;height:3px;border-radius:3px}
.planner-airspace-legend small{width:100%;font-size:8px;color:var(--muted)}
#plannerExpand{display:inline-flex;align-items:center;gap:6px}
#plannerExpand svg{width:14px;height:14px;flex-shrink:0}
@media(min-width:1024px){
 body.planner-active .app-shell{width:100%;max-width:none;padding:0 24px 110px}
 body.planner-active .planner-intro{padding:8px 0 15px}
 body.planner-active .planner-intro h1{font-size:27px}
 body.planner-active .planner-layout{grid-template-columns:310px minmax(0,1fr);gap:20px;align-items:start}
 body.planner-active .planner-setup{max-height:calc(100dvh - 220px);overflow:auto;scrollbar-width:thin}
 body.planner-active .planner-map-card{display:flex;flex-direction:column;height:max(570px,calc(100dvh - 220px))}
 body.planner-active .planner-map{flex:1;min-height:250px;height:auto}
 body.planner-active .planner-map-toolbar{flex-wrap:nowrap;padding:12px 16px}
 body.planner-active .planner-map-toolbar>div:last-child{width:auto;justify-content:flex-end}
 body.planner-active .planner-map-options{padding-bottom:10px}
 body.planner-active .planner-external-maps{width:auto;margin-left:auto}
 body.planner-active .planner-aero-note,body.planner-active .planner-aero-source,body.planner-active .planner-map-note{padding-top:4px;padding-bottom:4px}
}
body.planner-map-expanded{overflow:hidden}
body.planner-map-expanded .topbar,body.planner-map-expanded .tabbar{visibility:hidden}
body.planner-map-expanded .planner-layout{position:fixed;inset:12px;z-index:100;display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;background:var(--bg);padding:0;border-radius:24px}
body.planner-map-expanded .planner-setup{height:100%;max-height:none;overflow:auto;scrollbar-width:thin;align-self:stretch}
body.planner-map-expanded .planner-map-column{display:block;height:100%;min-height:0}
body.planner-map-expanded .planner-map-column>.planner-card:not(.planner-map-card){display:none}
body.planner-map-expanded .planner-map-card{display:flex;flex-direction:column;height:100%;max-height:none;margin:0}
body.planner-map-expanded .planner-map{flex:1;min-height:0;height:auto}
body.planner-map-expanded .planner-map-toolbar{flex-wrap:nowrap}
body.planner-map-expanded .planner-map-toolbar>div:last-child{width:auto}
body.planner-map-expanded #plannerExpand{background:var(--blue-soft);color:#146dc1}
@media(max-width:767px){
 body.planner-map-expanded .planner-layout{inset:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);grid-template-columns:minmax(0,1fr);border-radius:0}
 body.planner-map-expanded .planner-setup{display:none}
 body.planner-map-expanded .planner-map-card{border-radius:0}
 body.planner-map-expanded .planner-map-toolbar{flex-wrap:wrap}
 body.planner-map-expanded .planner-map-toolbar>div:first-child{display:none}
 body.planner-map-expanded .planner-map-toolbar>div:last-child{max-width:none;width:100%;justify-content:flex-start}
 body.planner-map-expanded .planner-map-note{display:none}
 body.planner-map-expanded .planner-airspace-legend small{display:none}
}

@media(min-width:1024px){body.planner-active .planner-intro .eyebrow,body.planner-active .planner-intro p{display:none}body.planner-active .planner-intro h1{margin:4px 0}body.planner-active .planner-intro{padding:5px 0 12px}}

.planned-route-map{width:100%;height:clamp(250px,51vw,380px);z-index:0;background:#e6edf3;pointer-events:none}.planned-route-source{font-size:9px;color:var(--muted);line-height:1.5;margin:8px 4px 0}.planned-route-source a{color:inherit}.map-card .map-hint{z-index:2}

.planner-inline-stops{position:relative;padding:13px 0 2px 19px;margin:8px 0;border-left:2px solid #d8e9fa}
.planner-inline-stops .planner-place-form{padding:0;background:none;border:0;border-radius:0;margin:0 0 8px}
.planner-inline-stops .planner-place-form>small{font-size:8px}
.planner-inline-stops .planner-point-name{margin-top:5px}
.planner-inline-stops .planner-no-steps{display:none}
.planner-weather-roles{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.planner-weather-role{display:inline-flex;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:750;background:#e2efff;color:#145da2}
.planner-weather-role.arrival{background:#e3f4ed;color:#237350}
.planner-radio-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:11px}
.planner-radio-heading button{padding:6px 9px;border-radius:7px;color:#146dc1;background:var(--blue-soft);font-size:10px}
.planner-auto-radio{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.planner-auto-radio strong{display:block;font-size:11px}.planner-auto-radio small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.planner-auto-radio>b{font-size:14px;color:#146dc1}
.planner-vertical-settings{margin-bottom:12px}.planner-vertical-settings summary{cursor:pointer;font-size:11px;font-weight:700;margin-bottom:12px}

.flight-airspaces-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 0;font-size:10px;color:#526276}.flight-airspaces-row label{display:flex;gap:6px;align-items:center;font-weight:700}.flight-airspaces-row input{accent-color:var(--blue)}.flight-airspaces-row a{color:#526276;text-decoration:none;font-size:9px}#flightAirspacesStatus{margin:4px 0 0;font-size:9px}

.catalogue-discovery-links{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0;font-size:11px}.catalogue-discovery-links a{color:#146dc1;font-weight:700;text-decoration:none}#catalogueSource{width:100%;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-size:12px}

/* Flight navigation is a dedicated edge-to-edge screen. */
body.flight-navigation-active{overflow:hidden;background:#17212c}
body.flight-navigation-active .topbar,body.flight-navigation-active .tabbar{display:none}
.flight-navigation{position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;background:#dce4e9;overflow:hidden}
.flight-navigation.active{animation:none}
.flight-navigation #flightLiveMap{position:absolute;inset:0;width:100%;height:100%;z-index:0;isolation:isolate}
.navigation-top{position:absolute;z-index:500;inset:0 0 auto;display:grid;grid-template-columns:64px minmax(0,1fr) 88px;align-items:start;gap:8px;padding:calc(12px + env(safe-area-inset-top)) 14px 42px;background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.62) 65%,transparent);color:#fff;pointer-events:none}
.navigation-top button,.navigation-progress{pointer-events:auto}
.navigation-top button,.navigation-bottom button,.navigation-map-settings summary{cursor:pointer}
.navigation-icon,.navigation-position{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(18,25,35,.58);color:#fff;backdrop-filter:blur(12px)}
.navigation-icon{width:44px}
.navigation-position{gap:5px;width:88px;font-size:11px;font-weight:750}
.navigation-icon svg,.navigation-position svg,.navigation-map-settings svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.navigation-position.gps-live{border-color:rgba(95,220,156,.6);color:#a5f0c9}
.navigation-position.needs-gps{animation:gps-nudge 8s infinite}
@keyframes gps-nudge{0%,86%,100%{transform:none}88%,92%,96%{transform:translateX(-3px) rotate(-2deg)}90%,94%,98%{transform:translateX(3px) rotate(2deg)}}
.navigation-summary{max-width:320px;justify-self:center;width:100%;text-align:center;min-width:0}
.navigation-summary>small{display:block;font-size:10px;line-height:1.3;color:rgba(255,255,255,.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.navigation-metrics{display:flex;justify-content:center;align-items:center;gap:18px;margin:6px 0 5px;font-variant-numeric:tabular-nums}
.navigation-metrics>strong{font-size:26px;letter-spacing:-.9px;white-space:nowrap}
.navigation-metrics>span{padding-left:15px;border-left:1px solid rgba(255,255,255,.25)}
.navigation-metrics span small{display:block;white-space:nowrap;font-size:7px;font-weight:750;letter-spacing:.06em;color:#c6ccd4}
.navigation-metrics span strong{display:block;margin-top:2px;font-size:23px;letter-spacing:-.6px}
.navigation-summary #mapEstimateSource{font-size:8px;color:#c6ccd4}
.navigation-progress{display:flex;gap:4px;width:100%;margin-top:7px;min-height:18px;align-items:center}
.navigation-progress button{flex:1;min-width:0;height:6px;padding:0;border-radius:2px;background:rgba(255,255,255,.35);position:relative}
.navigation-progress button:before{content:"";position:absolute;inset:-7px 0}
.navigation-progress button.done{background:#47cf98}
.navigation-progress button.current{background:#168bff;box-shadow:0 0 10px rgba(22,139,255,.5)}
.navigation-progress button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.navigation-bottom{position:absolute;z-index:500;bottom:calc(22px + env(safe-area-inset-bottom));left:14px;right:14px;pointer-events:none}
.navigation-bottom button,.navigation-map-settings{pointer-events:auto}
.navigation-options{display:flex;gap:9px;align-items:stretch;max-width:490px;margin-bottom:11px}
.navigation-map-settings{position:relative;flex-shrink:0}
.navigation-map-settings summary{display:flex;align-items:center;gap:7px;min-height:49px;padding:10px 12px;border:1px solid rgba(255,255,255,.5);border-radius:14px;background:rgba(249,251,253,.94);box-shadow:0 5px 18px rgba(0,0,0,.14);font-size:11px;font-weight:750;list-style:none}
.navigation-map-settings summary::-webkit-details-marker{display:none}
.navigation-map-settings>div{position:absolute;left:0;bottom:calc(100% + 10px);width:270px;max-width:calc(100vw - 28px);padding:16px;border-radius:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.2);font-size:12px}
.navigation-map-settings label{display:block;font-weight:750}
.navigation-map-settings select{width:100%;margin:8px 0 14px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#f4f6f9;color:var(--ink);font:inherit}
.navigation-map-settings .navigation-check{display:flex;align-items:center;gap:8px}
.navigation-map-settings p,.navigation-map-settings a{font-size:10px;line-height:1.5}
.navigation-map-settings a{color:var(--blue)}
.navigation-radio{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:280px;padding:7px 13px;text-align:left;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(17,25,35,.92);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.14);backdrop-filter:blur(12px)}
.navigation-radio small{font-size:8px;color:#bfcada;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.navigation-radio strong{font-size:16px;margin-top:3px;font-variant-numeric:tabular-nums}
.navigation-leg-controls{display:flex;justify-content:space-between;gap:12px}
.navigation-leg-controls button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;min-width:128px;padding:7px 16px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(20,29,41,.92);backdrop-filter:blur(12px);color:#fff;box-shadow:0 7px 24px rgba(0,0,0,.2);font-size:13px;font-weight:750}
.navigation-leg-controls button:last-child{background:rgba(7,111,217,.95)}
.navigation-leg-controls button span{font-size:28px;line-height:1}
.navigation-leg-controls button:disabled{opacity:.45;cursor:default}
.navigation-dialog{z-index:2000}
.navigation-dialog .flight-map-gps{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 16px}
.navigation-dialog .flight-map-gps>div:last-child{display:block}
.navigation-dialog .flight-map-gps strong{font-size:17px;white-space:normal}
.navigation-dialog .flight-map-gps small{font-size:11px}
.navigation-dialog p.navigation-eta-note{font-size:11px}
.navigation-dialog .button{margin-top:8px}
#flightRadioList article{display:grid;gap:7px;padding:12px 0;border-top:1px solid var(--line)}
#flightRadioList article>strong{font-size:12px}
#flightRadioList small{font-size:11px;color:var(--muted)}
#flightRadioList button{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--blue-soft);color:#0869bd;text-align:left;font-size:12px;cursor:pointer}
.flight-navigation .leaflet-control-attribution{max-width:85%;font-size:8px!important}
@media(min-width:800px){.navigation-top{padding-left:24px;padding-right:24px;grid-template-columns:100px minmax(0,1fr) 100px}.navigation-position{width:100px;font-size:12px}.navigation-bottom{left:24px;right:24px;bottom:28px}.navigation-summary{max-width:350px}.navigation-metrics>strong{font-size:30px}.navigation-leg-controls button{min-height:46px;min-width:130px}.navigation-options{margin-bottom:12px}}
@media(max-width:360px){.navigation-top{grid-template-columns:44px minmax(0,1fr) 76px;padding-left:9px;padding-right:9px;gap:5px}.navigation-position{width:76px;font-size:10px}.navigation-metrics{gap:8px}.navigation-metrics>strong{font-size:22px}.navigation-metrics span strong{font-size:20px}.navigation-metrics>span{padding-left:8px}.navigation-metrics span small{font-size:6px}.navigation-options{gap:6px}.navigation-map-settings summary{padding:10px;font-size:10px}.navigation-radio{padding:8px}.navigation-radio strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.navigation-position.needs-gps{animation:none}}
@media print{.flight-navigation,.navigation-dialog{display:none!important}}

/* Navigation warning state and compact radio controls. */
.navigation-position.needs-gps{background:#f6c444;border-color:#ffdc78;color:#332500;box-shadow:0 4px 18px rgba(246,196,68,.18)}
.navigation-leg-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);gap:8px;align-items:stretch}
.navigation-leg-controls>button{min-width:0;padding:7px 9px;font-size:11px}
.navigation-leg-controls>#mapPreviousLegButton{justify-self:start}
.navigation-leg-controls>#mapNextLegButton{justify-self:end}
.navigation-leg-controls>.navigation-radio{justify-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;max-width:220px;text-align:left;background:rgba(17,25,35,.94)}
.navigation-leg-controls>.navigation-radio small{font-size:7px;line-height:1.4}
.navigation-leg-controls>.navigation-radio strong{font-size:14px;line-height:1.3}
.navigation-map-settings>div{transform-origin:bottom left;will-change:opacity,transform}
@media(min-width:800px){.navigation-leg-controls>button{min-height:46px;font-size:13px;padding:7px 16px}.navigation-leg-controls>#mapPreviousLegButton,.navigation-leg-controls>#mapNextLegButton{min-width:130px}.navigation-leg-controls>.navigation-radio small{font-size:8px}.navigation-leg-controls>.navigation-radio strong{font-size:16px}}
@media(max-width:360px){.navigation-leg-controls{gap:5px}.navigation-leg-controls>button{font-size:10px;padding:7px 6px;gap:6px}.navigation-leg-controls>.navigation-radio strong{font-size:12px}.navigation-leg-controls>.navigation-radio small{font-size:6px}}

/* Compact document previews and a full-screen checklist catalogue. */
.catalogue-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 12px}
.catalogue-results-heading small{font-size:11px;color:var(--muted)}
.catalogue-results-heading button{padding:8px 11px;border-radius:10px;background:var(--blue-soft);color:#0769c1;font-size:12px;font-weight:750;cursor:pointer}
.checklist-library-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg);overflow:auto}
.checklist-library-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(16px + env(safe-area-inset-top)) 20px 16px;background:rgba(243,243,245,.94);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.checklist-library-header h2{margin:4px 0 0;font-size:24px;letter-spacing:-.7px}
#checklistLibraryContent{max-width:1100px;margin:auto;padding:20px 16px calc(24px + env(safe-area-inset-bottom))}
#checklistLibraryContent .catalogue-card{margin:0}
#checklistLibraryContent .catalogue-results-heading{display:none}
#checklistLibraryContent .catalogue-results{display:grid;gap:14px}
#checklistLibraryContent .catalogue-result{margin:0}
@media(min-width:850px){#checklistLibraryContent .catalogue-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
.flight-weather-section .planner-weather-item{padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin-top:12px}
.flight-weather-section .planner-weather-target{padding:15px;border-radius:14px;background:var(--blue-soft)}
.flight-weather-section pre{overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.5}
.weather-forecast-heading{margin:14px 0 7px;font-size:12px}
.flight-weather-section details summary{font-size:12px;font-weight:700;cursor:pointer;margin-top:14px}
.flight-weather-section .planner-weather-target small,.flight-weather-section .weather-station-reference{display:block;font-size:11px;margin-top:7px;line-height:1.5}
.planner-airport-results button{align-items:flex-start;flex-direction:column;gap:5px}
.planner-airport-results button span{font-size:10px;line-height:1.45}
#plannerWeatherWindNote{padding:10px 12px;border-radius:10px;background:var(--blue-soft);color:#245879}
.live-aircraft{width:44px;height:44px;background:rgba(8,127,240,.9);border-width:2px}
.live-aircraft svg{width:37px;height:37px;fill:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.live-aircraft .aircraft-cockpit{fill:#144b82}
.live-aircraft .aircraft-detail{fill:none;stroke:#b8d8f5;stroke-width:1;stroke-linecap:round}

/* Shaded aircraft icon: lightweight relief, heading still follows GPS. */
.live-aircraft.aircraft-relief{width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none}
.live-aircraft.aircraft-relief svg{width:52px;height:52px;fill:none;filter:drop-shadow(2px 4px 2px rgba(12,28,45,.48)) drop-shadow(0 0 1px rgba(255,255,255,.8))}

/* Minimal radio readout aligned with the map's top metrics. */
.navigation-leg-controls>.navigation-radio{align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;color:#fff}
.navigation-leg-controls>.navigation-radio strong{margin:0;font-size:22px;line-height:1.1;font-weight:700;letter-spacing:-.6px;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.65)}
.navigation-leg-controls>.navigation-radio:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:8px}
.timer-haptics:has(#timerVibrationStatus:empty){display:none}
@media(min-width:800px){.navigation-leg-controls>.navigation-radio strong{font-size:26px}}
@media(max-width:360px){.navigation-leg-controls>.navigation-radio strong{font-size:18px;letter-spacing:-.5px}}

/* Dated weather layers stay below the route and airspaces. */
.map-weather-panel{padding:8px 14px 10px;border-top:1px solid var(--line)}
.map-weather-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:11px}
.map-weather-controls label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}
.map-weather-controls select,.map-weather-controls input{min-width:0;max-width:230px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.map-weather-controls .map-weather-time-field[hidden]{display:none}
.map-weather-controls button{padding:8px 10px;background:var(--blue-soft);color:#0868be;border-radius:8px;font-size:10px;font-weight:750;cursor:pointer}
.map-weather-controls button:disabled{opacity:.4}
.map-weather-controls p,.map-weather-controls .map-weather-legend{flex-basis:100%;margin:0;font-size:10px;line-height:1.45;color:#546374}
.map-weather-controls .map-weather-source{font-size:10px;color:#0868be}
.weather-grid-marker{pointer-events:none!important}
.weather-grid-value{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;line-height:1.2;color:#12334d;text-shadow:0 1px 1px #fff,0 0 4px #fff;background:rgba(255,255,255,.55);border-radius:7px;padding:4px 5px;font-variant-numeric:tabular-nums}
.weather-wind-arrow{display:block;font-style:normal;font-size:24px;color:#155b82;line-height:1}
.metar-map-value{flex-direction:column;gap:3px;border:1px solid rgba(255,255,255,.8)}
.metar-map-value small{font-size:8px}.weather-old{opacity:.55}
.flight-weather-settings{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.navigation-map-settings .flight-weather-settings summary{min-height:30px;padding:5px 0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:11px}
.navigation-map-settings>div{max-height:70dvh;overflow:auto}
#flightMapWeather .map-weather-controls{display:grid;gap:8px;margin-top:9px}
#flightMapWeather .map-weather-controls label{display:grid}
#flightMapWeather select,#flightMapWeather input{width:100%;max-width:none}

.planner-notam-section{margin:12px 0 20px;padding:12px;border:1px solid var(--line);border-radius:14px}
.planner-notam-section>summary{font-size:12px;font-weight:750;cursor:pointer}
.notam-tools,.notam-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
.notam-tools button,.notam-tools a{padding:8px 10px;border-radius:8px;font-size:11px;font-weight:700;text-decoration:none}
.notam-tools button{background:var(--blue);color:white;cursor:pointer}.notam-tools a{background:var(--blue-soft);color:#1468b6}.notam-tools button:disabled{opacity:.4}
.notam-filters label{display:flex;align-items:center;gap:5px;font-size:11px}
.notam-filters input[type=number]{width:50px;padding:6px;border:1px solid var(--line);border-radius:7px;font:inherit}
.notam-status,.notam-map-note{margin:10px 0;font-size:11px;line-height:1.5;color:#5a6675}
.notam-import{margin:12px 0}.notam-import summary{cursor:pointer;font-weight:700;font-size:11px}
.notam-import p,.notam-review{font-size:11px;line-height:1.5}
.notam-text{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;resize:vertical;font-family:monospace;font-size:11px}
.notam-file{max-width:100%;font-size:11px}
.notam-review{display:flex;align-items:center;gap:7px}
.notam-item{margin:9px 0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.notam-item summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:11px;cursor:pointer}
.notam-item summary span{color:var(--muted)}
.notam-item p,.notam-item a{font-size:11px;line-height:1.4}
.notam-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.45}
#flightNotamLayerStatus{font-size:9px;line-height:1.5}



.map-weather-hours{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}.map-weather-hours[hidden]{display:none}.map-weather-controls .map-weather-hours button{min-height:36px;min-width:44px;font-size:11px}
.navigation-map-settings>div{max-height:70dvh;overflow-y:auto;overscroll-behavior:contain}
/* Forecast raster and animated wind share the geographic map transform. */
.weather-canvas-layer{position:absolute;pointer-events:none}.weather-colour-canvas,.weather-particle-canvas{position:absolute;inset:0;pointer-events:none}.weather-map-dock{position:absolute;right:14px;bottom:27px;z-index:600;width:min(410px,calc(100% - 28px));padding:12px 14px;border-radius:16px;background:rgba(16,28,44,.9);box-shadow:0 6px 28px rgba(0,0,0,.25);color:#fff;font:12px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;backdrop-filter:blur(14px);pointer-events:auto}.weather-dock-top,.weather-dock-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.weather-dock-top strong{font-size:12px}.weather-center-value{font-size:10px;color:#e2edf8}.weather-scale{height:8px;border-radius:8px;margin-top:10px}.weather-scale-ticks{white-space:pre;display:block;font-size:9px;color:#d4dfed;word-spacing:8px;text-align:center;margin:4px 0 7px}.weather-timeline{display:flex;align-items:center;gap:7px}.weather-timeline button{min-width:34px;min-height:34px;border:0;border-radius:9px;color:#fff;background:rgba(255,255,255,.14);font-size:18px;cursor:pointer}.weather-timeline-slider{width:100%;min-width:40px;accent-color:#7ecaff;cursor:pointer}.weather-dock-bottom{margin-top:6px}.weather-timestamp{font-size:11px}.weather-dock-bottom small{font-size:9px;color:#bdcddd}#flightLiveMap .weather-map-dock{bottom:135px}#flightLiveMap .weather-map-dock:has(.weather-timeline-slider:disabled){opacity:.7}@media(max-width:600px){.weather-map-dock{right:10px;bottom:25px;width:calc(100% - 20px);padding:10px 12px}#flightLiveMap .weather-map-dock{bottom:155px}.weather-dock-top strong{font-size:11px}.weather-scale-ticks{word-spacing:3px}.weather-timeline button{min-height:38px;min-width:36px}}

.flight-airport-marker span{display:grid;width:100%;height:100%;place-items:center;border-radius:50%;background:#fff;color:#14528a;border:2px solid #18598f;box-shadow:0 1px 5px #173b5b55;font-size:13px}.flight-airport-label{padding:2px 4px!important;border:0!important;box-shadow:none!important;border-radius:4px!important;background:#ffffffd9!important;color:#12436c!important;font-size:10px!important;font-weight:800!important}.flight-airport-vac{display:block;margin:10px 0;padding:9px 12px;border-radius:9px;background:#e5f0ff;color:#1263aa;font-weight:750;cursor:pointer}

/* Keep the map menu above the forecast dock; stack controls on narrow screens. */
.flight-navigation .navigation-bottom{z-index:700}
 .flight-navigation:has(.weather-map-dock) .navigation-options{margin-bottom:calc(var(--flight-weather-height,136px) + 24px)}
 #flightLiveMap .weather-map-dock{bottom:calc(22px + env(safe-area-inset-bottom) + var(--flight-leg-controls-height,48px) + 12px)}
 .flight-navigation:has(.weather-map-dock) .navigation-map-settings>div{max-height:max(100px,calc(100dvh - var(--flight-weather-height,136px) - var(--flight-leg-controls-height,48px) - 240px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}

#radioDecisionStatus{font-size:12px;line-height:1.6}#flightRadioList article small{display:block;line-height:1.6;margin:6px 0}#flightRadioList button[aria-pressed="true"]{background:var(--blue);color:#fff}#flightRadioButton.radio-uncertain{color:#ffd069}

.navigation-leg-controls>#flightRadioButton{color:#ffd069}

.planner-weather-target.planner-weather-warning{background:#fff3cd;border:1px solid #e6bd55}.planner-weather-target.planner-weather-warning strong{color:#906600}.planner-weather-target.planner-weather-warning small{color:#735c24}


/* Direct navigation and route weather, sized for one-handed use. */
.navigation-options .direct-open{padding:12px 14px;border:1px solid #ffffff77;border-radius:15px;background:#fff7dd;color:#32250b;font-weight:750;font-size:11px;box-shadow:0 5px 16px #0002;min-height:46px}
.navigation-options{flex-wrap:wrap}.direct-resume{border:1px solid #ffffff70;border-radius:9px;padding:5px 9px;background:#ffffff20;color:#fff;font-size:10px;margin-top:6px;pointer-events:auto}
#directToReadout{display:block;color:#ffd069;line-height:1.4;margin-top:6px}#directToReadout[hidden],.direct-resume[hidden]{display:none}
.direct-dialog,.enroute-dialog{width:min(600px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:24px}.direct-dialog h3,.enroute-dialog h3{font-size:15px;margin:20px 0 10px}.direct-dialog label{display:block;font-size:12px;font-weight:700;margin:12px 0}.direct-dialog input,.direct-dialog select{width:100%;min-height:44px;border:1px solid #d7dfe8;border-radius:10px;padding:10px;background:#fff;font:inherit}.direct-controls{display:flex;gap:10px;align-items:center;margin-top:15px}.direct-controls>input{flex:1;min-width:0}.direct-controls label{width:130px}.direct-dialog p,.direct-dialog small{font-size:12px;line-height:1.5;color:#566174}.direct-dialog article{display:flex;align-items:center;gap:8px;margin:8px 0}.direct-destination{flex:1;min-width:0;min-height:60px;text-align:left;padding:12px;border-radius:12px;border:1px solid #dde4ed;background:#f4f8ff;color:#164e89;font-size:14px;font-weight:750;cursor:pointer}.direct-destination small{display:block;margin-top:5px;font-weight:400}.direct-warning{background:#fff3cd;border-color:#e6bd55}.direct-cancel{margin-top:20px;width:100%}
.enroute-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.enroute-controls label{flex:1;min-width:170px;font-size:12px;font-weight:700}.enroute-controls select,.enroute-time-shift select{width:100%;min-height:44px;margin-top:7px;border:1px solid #d8e0ea;border-radius:10px;padding:9px;background:#fff;font:inherit}.enroute-status,.enroute-sigmet-status{font-size:12px;line-height:1.6;color:#566174}.enroute-timeline{display:flex;align-items:center;gap:12px;margin:16px 0}.enroute-timeline button{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:#e4efff;color:#146dc1;font-size:25px}.enroute-slider{flex:1;min-width:0;accent-color:#087ff0}.enroute-time-shift{display:block;font-size:12px;max-width:250px}.enroute-sample{background:#f4f8ff;border-radius:16px;padding:16px;margin-top:15px}.enroute-sample h3{font-size:16px;margin:0}.enroute-sample p,.enroute-sample>small{font-size:11px;line-height:1.5;color:#566174}.enroute-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.enroute-values small,.enroute-values strong{display:block}.enroute-values small{font-size:10px;color:#66748b}.enroute-values strong{font-size:14px;margin-top:5px}.enroute-points{display:flex;gap:7px;overflow:auto;padding:12px 0}.enroute-points button{flex:none;min-height:44px;border:1px solid #d8e0ea;border-radius:10px;background:#fff;color:#526278;padding:8px 11px;font:inherit;font-size:11px}.enroute-points button[aria-pressed="true"]{background:#087ff0;color:#fff}.enroute-sigmets details{margin:10px 0;background:#fff1e8;border:1px solid #f4c7aa;border-radius:12px;padding:12px}.enroute-sigmets summary{font-size:12px;font-weight:700}.enroute-sigmets pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.enroute-warning{color:#926500!important}
@media(max-width:600px){.enroute-values{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation-options .direct-open{font-size:10px;padding:10px}.direct-dialog,.enroute-dialog{padding:20px 16px}.direct-controls{flex-wrap:wrap}.direct-controls label{width:100%}}

/* Readable flight heading and quick diversion controls. */
.navigation-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:8px}
.navigation-summary{max-width:440px;min-width:0}
.navigation-metrics>strong{white-space:nowrap}
.navigation-metrics .navigation-heading strong{color:#ffd069}
#directToReadout{font-size:19px;font-weight:800;line-height:1.3;margin:9px 0 4px;color:#ffd069}
#directToReadout.fuel-low{color:#ffad9e}
.navigation-options{justify-content:space-between;align-items:flex-end}
.navigation-options .direct-open{margin-left:auto;background:#c73030;color:#fff;border:1px solid #ffb8b870;font-size:13px;font-weight:800;min-height:48px;padding:12px 16px;box-shadow:0 4px 16px #0003}
.direct-dialog h2{margin-bottom:8px}.direct-dialog .direct-source{font-size:11px;margin:0 0 14px}
.direct-nearest{width:100%;min-height:82px;padding:15px;background:#c73030;color:#fff;border:0;border-radius:16px;cursor:pointer;text-align:left}
.direct-nearest strong,.direct-nearest span{display:block}.direct-nearest strong{font-size:18px}.direct-nearest span{margin-top:7px;font-size:13px;line-height:1.4}.direct-nearest:disabled{opacity:.5}
.direct-oaci-label{margin:20px 0 8px!important}.direct-search{font-size:20px!important;font-weight:750;text-transform:uppercase;letter-spacing:2px}
.direct-dialog .direct-destination{padding:14px;min-height:78px;width:100%;display:grid;grid-template-columns:70px 1fr;gap:4px 8px;color:#183d69}
.direct-destination strong{font-size:20px;align-self:center}.direct-destination span{font-size:13px;align-self:center}.direct-destination small{grid-column:2;margin:0;font-size:13px}
.direct-fuel-settings{margin-top:18px;font-size:12px}.direct-fuel-settings summary{min-height:44px;padding:12px 0;cursor:pointer}
@media(max-width:600px){
 .navigation-top{grid-template-columns:44px minmax(0,1fr) 72px;gap:5px;padding-left:9px;padding-right:9px}
 .navigation-position{width:72px;font-size:10px}
 .navigation-metrics{gap:5px}
 .navigation-metrics>strong,.navigation-metrics span strong{font-size:23px;letter-spacing:-.7px}
 .navigation-metrics>span{padding-left:5px}
 .navigation-metrics span small{font-size:6px;white-space:nowrap}
 #directToReadout{font-size:17px;line-height:1.3}
 .navigation-options .direct-open{font-size:12px;padding:12px;min-height:48px}
}
@media(max-width:360px){.navigation-metrics>strong,.navigation-metrics span strong{font-size:20px}#directToReadout{font-size:15px}}

.navigation-options{max-width:none;width:100%}
#mapEstimateSource{display:none!important}

.navigation-options .direct-open{width:50px;height:50px;min-height:50px;padding:0;display:grid;place-items:center;font-size:24px}.navigation-options .direct-open span{font-size:24px;line-height:1}

.direct-dialog .direct-cancel{margin:0 0 14px;min-height:48px;width:100%}

.map-weather-controls .map-weather-time-field[hidden],.map-weather-hours[hidden],.map-weather-rain-choice[hidden]{display:none!important}.map-weather-rain-choice{display:flex;gap:6px;flex-wrap:wrap;flex-basis:100%}.map-weather-rain-choice button{min-height:40px;flex:1}.map-weather-rain-choice button[aria-pressed="true"]{background:#087ff0;color:#fff}

/* Centre of the forecast readout; stays fixed while the geographic raster moves. */
.weather-center-marker{position:absolute;left:50%;top:50%;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#132236;box-shadow:0 0 0 3px rgba(19,34,54,.4),0 1px 7px rgba(0,0,0,.5);transform:translate(-50%,-50%);z-index:450;pointer-events:none}
.weather-dock-top{flex-wrap:wrap;align-items:flex-start}
.weather-center-value{font-size:14px;font-weight:750;line-height:1.4;color:#ffd069;padding:4px 7px;border-radius:7px;background:rgba(255,208,105,.1)}
@media(max-width:600px){.weather-center-value{font-size:14px}.weather-dock-top strong{font-size:12px}}

.weather-map-alert{position:absolute;top:145px;left:50%;transform:translateX(-50%);z-index:610;width:min(480px,calc(100% - 28px));padding:12px 14px;border:2px solid #edab3c;border-radius:12px;background:#fff0c4;color:#672900;box-shadow:0 4px 18px rgba(0,0,0,.24);font:750 14px/1.45 system-ui;pointer-events:none}
.map-weather-status[data-error="true"]{padding:10px!important;border-radius:10px;background:#fff0c4;color:#8a3100!important;font-weight:750!important;font-size:13px!important;border:1px solid #edab3c}
.weather-center-value[data-missing="true"]{color:#ffe1a1;background:rgba(193,72,26,.3)}
.map-weather-refresh[hidden]{display:none!important}
.direct-dialog .direct-cancel{background:#0868be;color:#fff;border:1px solid #0868be;font-weight:750}
.direct-dialog .direct-cancel:disabled{opacity:1;background:#315e88;border-color:#315e88;color:#e4edf6;cursor:default}
@media(max-width:600px){.weather-map-alert{top:calc(160px + env(safe-area-inset-top));font-size:14px}}

.weather-timeline button:disabled{opacity:.4;cursor:default}

.weather-map-dock[data-rain-empty="true"] .weather-dock-bottom small{font-size:13px;font-weight:700;color:#c8edff}
.flight-map-gps .gps-altitude-detail strong{color:#087ff0;font-size:26px}
.flight-map-gps small{display:block;margin-top:5px;font-size:11px;line-height:1.4}
.flight-map-gps .gps-barometer-detail{grid-column:1/-1}
.navigation-altitude-note{font-size:12px;line-height:1.5;color:#697487}

#mapGpsAltitudeQuality{color:#94600b;font-weight:650}

.flight-alerts{position:absolute;top:calc(165px + env(safe-area-inset-top,0px));left:12px;z-index:650;width:min(340px,calc(100% - 24px));pointer-events:auto}
.flight-alert-panel{border:1px solid #61768a;border-radius:14px;background:rgba(24,39,55,.94);color:#fff;box-shadow:0 4px 16px #0003}
.flight-alert-panel summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:10px 12px;cursor:pointer;font-size:13px;font-weight:800;list-style:none}
.flight-alert-heading{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-alert-count{padding:2px 7px;border-radius:8px;background:#ffffff25}
.flight-alerts[data-severity="warning"] .flight-alert-panel{border-color:#e4b14a}.flight-alerts[data-severity="warning"] summary{color:#ffdc80}
.flight-alerts[data-severity="critical"] .flight-alert-panel{border-color:#f36661}.flight-alerts[data-severity="critical"] summary{color:#ffb6b1}
.flight-alert-list{max-height:min(28dvh,250px);overflow:auto;padding:0 12px;font-size:12px}.flight-alert-list article{padding:9px 0;border-top:1px solid #ffffff25}.flight-alert-list strong,.flight-alert-list span,.flight-alert-list small{display:block;margin:3px 0}.flight-alert-list strong{font-size:14px}.flight-alert-list small{color:#e4e8ef}.flight-alert-list article[data-severity="critical"] strong{color:#ffb6b1}
.flight-alert-source{font-size:10px;line-height:1.5;margin:10px 12px;color:#d5dfeb}.flight-alert-enable{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 12px}.flight-alert-enable input{width:18px;height:18px}
.alert-altitude-settings{margin:14px 0;font-size:12px}.alert-altitude-settings label{display:block;margin:10px 0}.alert-altitude-settings input{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px}.alert-altitude-settings button{min-height:44px;padding:9px 12px;background:#0868be;color:white;border-radius:10px}.alert-altitude-settings p{font-size:11px;line-height:1.5}
.profile-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;margin:10px 0}.profile-margin-warning{padding:10px 12px;border-radius:10px;background:#fff3cf;color:#815109;font-size:12px;font-weight:750;line-height:1.5}.profile-details{font-size:12px;line-height:1.5;margin:10px 0}.profile-details summary{font-weight:750;cursor:pointer}.profile-details ul{padding-left:20px}
@media(max-width:600px){.flight-alerts{top:calc(158px + env(safe-area-inset-top,0px));width:calc(100% - 24px)}.flight-alert-panel summary{min-height:38px;padding:8px 10px;font-size:12px}}
.flight-navigation .weather-map-alert{top:calc(211px + env(safe-area-inset-top,0px))}

.flight-alert-summary{display:block;min-width:0;flex:1}.flight-alert-heading{display:block}.flight-alert-preview{display:block;margin-top:3px;color:#fff;font-size:12px;font-weight:700;line-height:1.4}.flight-alert-preview[hidden]{display:none}

/* Direct-To: vector triangle and readable label, consistent across devices. */
.navigation-options .direct-open{width:76px;display:flex;align-items:center;justify-content:center;gap:5px}
.navigation-options .direct-open .direct-to-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;flex:none}
.navigation-options .direct-open .direct-to-label{font-size:14px;font-weight:850;line-height:1;letter-spacing:.02em}

.flight-alerts{top:calc(var(--flight-hud-bottom,158px) + 6px)}
.flight-alert-heading{font-size:13px;font-weight:850;letter-spacing:.06em}

/* Centred proximity banner below the flight HUD. */
.flight-alerts{left:50%;right:auto;transform:translateX(-50%);width:min(480px,calc(100% - 24px))}
.flight-alerts[hidden]{display:none!important}
.flight-alert-heading,.flight-alert-preview{text-align:center}
.flight-alert-panel summary{position:relative;padding-left:36px;padding-right:36px}
.flight-alert-count{position:absolute;right:10px;top:12px}
@media(max-width:600px){.flight-alerts{left:50%;width:calc(100% - 24px)}.flight-alert-count{top:9px}}

.flight-alert-list article{display:flex;gap:8px;align-items:flex-start}
.flight-alert-focus{flex:1;min-width:0;text-align:left;background:transparent;border:0;padding:6px 0;color:inherit;cursor:pointer}
.flight-alert-focus:focus-visible,.flight-alert-dismiss:focus-visible{outline:2px solid #ffd069;outline-offset:3px}
.flight-alert-metrics{display:flex!important;gap:14px;margin:8px 0!important}.flight-alert-metrics b{font-size:21px;color:#ffd069;font-weight:850;white-space:nowrap}
.flight-alert-dismiss{flex:none;min-width:48px;min-height:44px;padding:8px;border:1px solid #ffffff45;border-radius:10px;background:#ffffff15;color:#fff;font-weight:750;cursor:pointer}
.flight-alert-focus strong{line-height:1.4}.flight-alert-focus small{font-size:11px;line-height:1.5}
#flightAlertDataStatus{font-size:11px;line-height:1.5;color:#566174}

.flight-alert-metrics{flex-wrap:wrap;row-gap:5px}

.traffic-marker{background:transparent;border:0}.traffic-aircraft{display:block;width:28px;height:28px;line-height:28px;text-align:center;font-size:24px;font-weight:800;color:#c568ff;text-shadow:0 0 2px #fff,0 1px 4px #172334;transform-origin:center}
.flight-traffic-controls{margin:12px 0;padding:12px 0;border-top:1px solid #ffffff25}.flight-traffic-controls p{font-size:11px;line-height:1.5}.flight-traffic-controls summary{font-size:12px}.traffic-own{width:100%;min-height:40px;margin:7px 0}
.vfr-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}.vfr-profile-fields label{font-size:12px;font-weight:700;color:#697487}.vfr-profile-fields input{width:100%;min-height:44px;margin-top:7px;border:1px solid #d6dde7;border-radius:12px;background:#fff;padding:10px;font:inherit}
.vfr-profile-status,.vfr-profile-parameters{font-size:12px;line-height:1.6}.vfr-profile-parameters summary{cursor:pointer;min-height:40px;padding:9px 0}.vfr-profile-chart svg{display:block;width:100%;height:auto;min-height:180px}.vfr-profile-chart svg text{font-family:inherit;font-size:11px;fill:#697487}.vfr-profile-chart{margin-top:20px}.profile-load{font-size:12px;white-space:nowrap}
.navigation-metrics button.navigation-heading{border:0;background:transparent;color:inherit;padding:3px 5px;cursor:pointer;font:inherit;text-align:center;min-width:0;border-radius:8px}
.navigation-metrics button.navigation-heading small{display:block;font-size:7px;font-weight:750;white-space:nowrap}
.navigation-metrics button.navigation-heading strong{display:block;font-size:30px;font-weight:800;letter-spacing:-.7px;color:#ffd069}
.navigation-metrics button.navigation-heading[aria-pressed="true"]{background:#ffd06918}
.navigation-metrics button.navigation-heading:focus-visible{outline:2px solid #ffd069}
@media(max-width:600px){.navigation-metrics button.navigation-heading strong{font-size:23px}.navigation-metrics button.navigation-heading small{font-size:6px}.navigation-metrics button.navigation-heading{padding:3px}}
@media(max-width:360px){.navigation-metrics button.navigation-heading strong{font-size:20px}}

.profile-hit{cursor:pointer}.profile-hit:focus{outline:none;stroke:#0059b8;stroke-width:3}.profile-selected{stroke:#0059b8;stroke-width:3;fill-opacity:.32}
.profile-click-hint{font-size:12px;color:#697487;margin:10px 0}.profile-selection{position:relative;padding:16px 90px 16px 16px;border:1px solid #c6dcf7;border-radius:14px;background:#edf5ff;color:#18283c;margin:12px 0}.profile-selection[hidden]{display:none}.profile-selection strong{display:block;font-size:14px}.profile-selection p{font-size:12px;line-height:1.6;margin:6px 0 0}.profile-selection button{position:absolute;right:12px;top:12px;border:0;border-radius:8px;padding:8px;background:#fff;color:#0965c7;font:inherit;font-size:12px;cursor:pointer}
.profile-zone-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.profile-zone-buttons button{border:1px solid #d5dde7;background:#fff;border-radius:8px;padding:7px 10px;font:inherit;font-size:11px;color:#34445c;cursor:pointer}.profile-zone-buttons button.profile-selected{border-color:#087ff0;background:#edf5ff}

.flight-traffic-controls .traffic-incomplete{color:#c52c32;font-size:12px;font-weight:700;line-height:1.5;margin:8px 0}.flight-traffic-controls details small{display:block;color:#697487;margin-bottom:10px}

.aircraft-fields,.aircraft-loads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.aircraft-planning-card label{display:block;font-size:12px;font-weight:650;color:#5b6878}.aircraft-planning-card input:not([type=checkbox]),.aircraft-planning-card select,.aircraft-planning-card textarea{width:100%;margin-top:6px;border:1px solid #d5dde7;border-radius:9px;background:#fff;color:#18283c;padding:10px;font:inherit;font-weight:400}.aircraft-planning-card textarea{line-height:1.6}.aircraft-planning-card details{border-top:1px solid #e1e7ef;padding-top:12px;margin:16px 0}.aircraft-planning-card summary{cursor:pointer;font-size:13px;font-weight:750}.aircraft-planning-card .aircraft-check{display:flex;gap:8px;align-items:flex-start;margin-top:12px;line-height:1.5}.aircraft-profile-actions{display:flex;gap:10px;align-items:center}.aircraft-profile-actions button{border:0;border-radius:10px;background:#edf5ff;color:#0873da;padding:10px;font:inherit;font-size:12px;cursor:pointer}.aircraft-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.aircraft-metrics>div{background:#f5f7fa;border-radius:12px;padding:12px;text-align:center}.aircraft-metrics span,.aircraft-metrics small{display:block;font-size:11px;color:#697487}.aircraft-metrics strong{display:block;font-size:19px;margin:5px 0;color:#18283c}.aircraft-pending{font-size:12px;line-height:1.6;color:#697487}.aircraft-fail{color:#c52c32;font-weight:750;font-size:12px}.aircraft-ok{color:#218856;font-size:12px}.aircraft-planning-card svg{width:100%;height:auto}.aircraft-planning-card svg text{font:11px sans-serif;fill:#5b6878}.aircraft-planning-card small{font-size:11px;line-height:1.6}.aircraft-planning-card h3{font-size:14px;margin-top:20px}
@media(max-width:500px){.aircraft-fields,.aircraft-loads{gap:10px}.aircraft-metrics strong{font-size:16px}.aircraft-metrics>div{padding:10px 6px}.aircraft-profile-actions{flex-wrap:wrap}}

/* Keep proximity alerts below the branch rectangles and clear of radio/timeline controls. */
.flight-alerts{top:var(--flight-alert-top,140px);max-height:var(--flight-alert-room,50dvh);overflow:hidden}
.flight-alert-panel{max-height:var(--flight-alert-room,50dvh);overflow:auto;overscroll-behavior:contain}
.flight-alert-list{max-height:none;font-size:11px}.flight-alert-focus strong{font-size:12px;line-height:1.35}.flight-alert-focus small{font-size:10px;line-height:1.4}.flight-alert-metrics{gap:10px;margin:5px 0!important}.flight-alert-metrics b{font-size:17px}.flight-alert-preview{font-size:11px;line-height:1.35}.flight-alert-source{font-size:9px;margin:7px 12px}.flight-alert-compact .flight-alert-preview{display:none}
.flight-haptic-test{min-height:44px;padding:9px 12px;border:0;border-radius:10px;background:#eaf4ff;color:#0868be;font-size:12px;font-weight:750;cursor:pointer}
#flightHapticStatus{font-size:11px;line-height:1.4}#flightHapticStatus[data-state="blocked"],#flightHapticStatus[data-state="unsupported"],#flightHapticStatus[data-state="error"]{color:#92620d;font-weight:700}
.navigation-metrics button.navigation-heading #mapHeadingReason{max-width:100%;white-space:normal;font-size:7px;line-height:1.2;color:#ffdc80;letter-spacing:0;margin-top:2px}.navigation-metrics button.navigation-heading #mapHeadingReason[hidden]{display:none}

.flight-alert-list{max-height:var(--flight-alert-list-height,300px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.traffic-popup .leaflet-popup-content{max-width:calc(100vw - 66px);max-height:280px;overflow:auto;overscroll-behavior:contain;margin:12px 15px;font-size:12px;line-height:1.4}
.traffic-popup .leaflet-popup-content p{margin:8px 0}.traffic-popup .leaflet-popup-content strong{font-size:14px}.traffic-popup .leaflet-popup-content small{display:block;font-size:10px;color:#59677a}
.traffic-route-description{white-space:pre-line}
.traffic-popup.traffic-popup-docked{position:absolute!important;left:var(--traffic-popup-left,12px)!important;top:var(--traffic-popup-top,130px)!important;bottom:auto!important;transform:none!important;margin:0!important}
.traffic-popup-docked .leaflet-popup-tip-container{display:none}
/* Map-first VFR preparation. Original controls retain their data and handlers. */
body.planner-active{overflow:hidden}body.planner-active .topbar,body.planner-active>.tabbar{display:none}body.planner-active .app-shell{padding:0!important}body.planner-active #planner{position:fixed;inset:0;z-index:80;padding:0;margin:0;overflow:hidden;background:var(--bg)}#planner>.planner-intro,#planner>.planner-layout,#planner>.planner-source-note{display:none}.pw-map-stage{position:absolute;inset:0}.pw-map-stage .planner-map-card{position:absolute!important;inset:0;height:100%!important;border:0;border-radius:0;padding:0;margin:0;overflow:hidden}.pw-map-stage #plannerMap{position:absolute;inset:0;width:100%;height:100%!important;min-height:0}.pw-map-top{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;z-index:450;display:flex;justify-content:space-between;pointer-events:none}.pw-map-top button{pointer-events:auto;background:var(--surface,#fff);border:1px solid var(--line,#e4e7ee);border-radius:18px;min-height:52px;padding:13px 17px;font-weight:750;color:var(--text,#152332);box-shadow:0 5px 22px #182b3b20}.pw-preparation svg{width:25px;height:25px;display:block}.pw-map-stage>.planner-map-toolbar{position:absolute;z-index:450;top:calc(max(16px,env(safe-area-inset-top)) + 64px);left:16px;background:var(--surface,#fff);border-radius:16px;padding:5px!important;box-shadow:0 4px 15px #182b3b18}.pw-map-stage .planner-map-toolbar [hidden]{display:none!important}.pw-summary{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:16px;right:16px;z-index:450;max-width:560px;background:var(--surface,#fff);border:1px solid var(--line,#e4e7ee);border-radius:21px;padding:13px 16px;box-shadow:0 6px 30px #17253622}.pw-summary summary{cursor:pointer;list-style:none;display:grid;gap:5px}.pw-summary summary:after{content:'⌃';position:absolute;right:16px;top:18px}.pw-summary[open] summary:after{content:'⌄'}.pw-summary-metrics{font-size:13px;color:var(--muted,#66717d)}.pw-summary-detail{font-size:13px;margin:12px 0;line-height:1.6}.pw-exit{border:0;border-radius:12px;background:var(--blue-soft,#eaf4ff);color:#1767a4;padding:12px;font-weight:700}.pw-map-status{position:absolute;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 90px);left:20px;z-index:450;margin:0;max-width:min(500px,80vw);font-size:12px;background:#fffffff0;border-radius:10px;padding:7px 10px;pointer-events:none}.pw-map-status:empty{display:none}.pw-map-status[data-error=true]{background:#fff1cb;color:#805600}
.planner-chapter-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg,#f4f5f7);color:var(--text,#182331)}.planner-chapter-dialog>header,.planner-filter-dialog>header,.planner-preparation-menu>header{display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;background:var(--surface,#fff);border-bottom:1px solid var(--line,#e4e7ee)}.planner-chapter-dialog h2{font-size:18px;flex:1;margin:0}.planner-chapter-dialog header button,.planner-filter-dialog header button,.planner-preparation-menu header button{border:0;background:var(--blue-soft,#eaf4ff);color:#1767a4;border-radius:13px;min-height:44px;padding:9px 14px;font-weight:700}.pw-chapter-body{height:calc(100% - 82px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;padding:18px 18px max(32px,env(safe-area-inset-bottom))}.pw-chapter{max-width:1100px;margin:auto}.pw-chapter[hidden]{display:none!important}.pw-chapter>.planner-card{margin-bottom:16px}.pw-chapter .planner-setup{height:auto!important;max-height:none!important;overflow:visible!important;display:block!important}.pw-chapter .planner-advanced-settings{background:var(--surface,#fff);border-radius:18px;padding:18px;margin:0 0 16px}.pw-chapter .planner-settings{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.pw-chapter .planner-preview{display:block}.pw-chapter .planner-save-row{background:var(--surface,#fff);padding:18px;border-radius:18px;margin:16px 0;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.pw-chapter button:not(.text-button){min-height:44px}.pw-chapter .planner-log-scroll{overflow:auto}.planner-preparation-menu,.planner-filter-dialog{position:fixed;max-height:90dvh;max-width:min(540px,calc(100vw - 24px));width:100%;border:0;border-radius:24px;padding:0;background:var(--surface,#fff);color:var(--text,#182331)}.planner-preparation-menu nav{display:grid;gap:8px;padding:16px}.planner-preparation-menu nav button{text-align:left;border:0;border-radius:14px;padding:17px;background:var(--blue-soft,#eaf4ff);color:#155f99;font-weight:700}.planner-preparation-menu header h2,.planner-filter-dialog header h2{flex:1;font-size:19px}.planner-filter-dialog{padding-bottom:18px}.planner-filter-dialog .planner-map-options{display:flex;flex-direction:column;align-items:stretch;padding:18px;gap:18px}.planner-filter-dialog .map-weather-panel{position:static!important;max-height:none;max-width:none;width:auto;margin:0 18px}.pw-extra-layers{display:grid;gap:17px}.pw-extra-layers label,.planner-filter-dialog label{display:flex;align-items:center;gap:9px}.pw-hide-basemap .pw-basemap-layer{visibility:hidden}.pw-checklist,.pw-enroute,.pw-diversions,.pw-exports,.pw-log-detail{background:var(--surface,#fff);padding:18px;border-radius:20px;margin:0 0 16px}.pw-checklist label{display:flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line,#e4e7ee)}.pw-checklist input{width:22px;height:22px;accent-color:#087ff0}.pw-diversions article{padding:14px 0;border-bottom:1px solid var(--line,#e4e7ee)}.pw-diversions button,.pw-exports button{border:0;background:var(--blue-soft,#eaf4ff);color:#1767a4;padding:10px 15px;border-radius:12px;margin:5px 5px 5px 0;font-weight:700}.pw-diversion-form{display:flex;align-items:end;gap:10px;margin-bottom:18px}.pw-diversion-form label{display:grid;gap:8px;flex:1}.pw-diversion-form input{width:100%;min-height:48px;border:1px solid var(--line,#dce1e8);border-radius:12px;padding:10px;font:inherit}.pw-exports p{font-size:13px;color:var(--muted,#66717d);line-height:1.6}@media(max-width:500px){.pw-chapter-body{padding:12px 10px 32px}.planner-chapter-dialog>header{padding-left:10px;padding-right:10px}.planner-chapter-dialog h2{font-size:15px}.pw-summary{max-width:calc(100vw - 32px)}.pw-map-stage .planner-map-toolbar button{font-size:12px;padding:9px}.pw-diversion-form{flex-wrap:wrap}}
.direct-planned{background:#173f70;padding:16px;border-radius:18px;color:#fff;margin:16px 0}.direct-planned h3{font-size:16px;margin:0 0 10px}.direct-planned .direct-destination{background:#ffffff18;color:#fff;border:1px solid #ffffff50;min-height:54px;width:100%;padding:12px;text-align:left;border-radius:12px;font-weight:750}
.direct-planned .direct-destination{display:block;line-height:1.5;white-space:normal}
/* Keep navigation available around the map and its floating menus. */
body.planner-active>.tabbar{display:grid;z-index:90}body.planner-active:has(.planner-chapter-dialog[open])>.tabbar{display:none}.pw-map-stage{bottom:var(--planner-nav-height,80px)}.pw-summary{bottom:calc(var(--planner-nav-height,80px) + 12px);max-height:min(55dvh,calc(100dvh - var(--planner-nav-height,80px) - 160px));overflow:auto;overscroll-behavior:contain}.pw-map-status{bottom:calc(var(--planner-nav-height,80px) + var(--planner-summary-height,140px) + 22px)}
.pw-map-top>.pw-dropdown{position:relative;inset:auto;width:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:visible;pointer-events:auto;color:var(--ink)}.pw-map-top>.pw-dropdown>summary{min-height:49px;padding:10px 14px;font-size:12px;border-radius:14px}.pw-dropdown>summary svg{display:block;width:24px;height:24px;flex-shrink:0}.pw-map-top .pw-dropdown>.pw-dropdown-panel{top:calc(100% + 10px);bottom:auto;left:0;right:auto;width:300px;max-width:calc(100vw - 32px);max-height:min(70dvh,calc(100dvh - var(--planner-nav-height,80px) - 110px));padding:16px;overflow-y:auto;overscroll-behavior:contain;transform-origin:top left;will-change:opacity,transform;pointer-events:auto}.pw-map-top .planner-filter-dialog>.pw-dropdown-panel{right:0;left:auto;transform-origin:top right}.pw-dropdown-panel>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pw-dropdown-panel>header h2{margin:0;flex:1;font-size:15px;letter-spacing:-.2px}.pw-map-top .pw-dropdown-panel>header button{padding:0;width:32px;min-height:32px;border:0;border-radius:10px;box-shadow:none;background:#f0f3f7;color:var(--ink);font-size:18px}.pw-map-top .planner-preparation-menu nav{display:grid;padding:0;gap:5px}.pw-map-top .planner-preparation-menu nav button{padding:12px 10px;text-align:left;min-height:44px;border:0;border-radius:12px;background:var(--blue-soft);box-shadow:none;color:#1767a4;font-size:12px;line-height:1.45}.pw-map-top .planner-filter-dialog .planner-map-options{padding:0;gap:14px}.pw-map-top .planner-filter-dialog .map-weather-panel{margin:14px 0 0;width:100%;padding:0;box-shadow:none;border:0}.pw-map-top .planner-filter-dialog .planner-external-maps{margin:0;width:100%}.pw-map-top .planner-filter-dialog .planner-airspace-legend{padding:12px 0}.pw-summary-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.pw-summary-quick>div,.pw-brief-grid>div{min-width:0}.pw-summary-quick span,.pw-brief-grid span{display:block;color:var(--muted);font-size:9px;line-height:1.35;margin-bottom:4px}.pw-summary-quick strong{display:block;color:var(--ink);font-size:12px;line-height:1.4;font-weight:780}.pw-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pw-brief-grid strong{font-size:13px}.pw-summary-detail h3{font-size:14px;margin:14px 0 8px}.pw-summary-detail p{font-size:12px;line-height:1.5}.pw-brief-warning{color:#8b4400!important;background:#fff0c9;border-radius:10px;padding:6px}.pw-brief-warning strong{color:#8b4400}.pw-brief-sources,.pw-summary-detail small{color:var(--muted);font-size:10px!important}.pw-summary .pw-route-name{padding-right:18px}

/* Floating map menus stay above the expanded flight briefing. */
.pw-map-top{z-index:460}

/* Solid briefing and structured chapter navigation. */
.pw-summary{background:#fff;opacity:1;backdrop-filter:none}
.pw-map-top .planner-preparation-menu>.pw-dropdown-panel{width:360px;padding:18px;background:#fff}
.planner-preparation-menu .pw-dropdown-panel>header{padding-bottom:14px;border-bottom:1px solid #e9edf3}
.pw-map-top .planner-preparation-menu nav{gap:6px}
.pw-map-top .planner-preparation-menu nav button{display:grid;grid-template-columns:32px minmax(0,1fr) 12px;align-items:center;gap:10px;padding:11px 10px;background:#f5f7fa;color:#283848;border:1px solid transparent;transition:background .18s,border-color .18s,transform .18s}
.pw-map-top .planner-preparation-menu nav button:hover{background:#edf4fd;border-color:#d5e5f8}
.pw-map-top .planner-preparation-menu nav button:active{transform:scale(.98)}
.pw-map-top .planner-preparation-menu nav button[aria-current=step]{background:#eaf3ff;border-color:#c5ddfa;color:#125f9c}
.pw-chapter-number{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e7edf4;color:#536a7f;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
[aria-current=step] .pw-chapter-number{background:#1767a4;color:#fff}
.pw-chapter-title{font-size:13px;line-height:1.35}.pw-chapter-arrow{color:#8194a7;font-size:22px;font-weight:400}
.planner-chapter-dialog>header{min-height:82px}.planner-chapter-dialog h2:before{content:attr(data-step);display:block;font-size:10px;font-weight:700;color:#758596;letter-spacing:.08em;margin-bottom:4px}
.planner-chapter-dialog header .pw-next{background:#1767a4;color:#fff;display:flex;align-items:center;gap:8px;white-space:nowrap}
.planner-branch-metrics{border:0;background:transparent;box-shadow:none;padding:0;pointer-events:none!important}
.planner-branch-rotation{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}
.planner-branch-rotation>span{position:absolute;left:0;top:11px;transform:translateX(-50%);white-space:nowrap;padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:#16334c;text-shadow:0 1px 2px #fff;font-size:12px;font-weight:750;line-height:1.4;box-shadow:none;border:0}
@media(prefers-reduced-motion:reduce){.pw-map-top .planner-preparation-menu nav button{transition:none}}

.vfr-plan-summary{padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--card,#fff)}.vfr-plan-summary .section-title-row{align-items:flex-start;margin-bottom:12px}.vfr-plan-date{font-size:11px;color:var(--muted,#697487);text-align:right}.vfr-plan-name{font-size:14px;font-weight:700;margin:0 0 14px}.vfr-plan-summary h3{font-size:13px;margin:20px 0 10px}.vfr-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vfr-plan-metric{padding:12px;background:#f4f6f9;border-radius:12px;min-width:0}.vfr-plan-metric span{display:block;font-size:10px;font-weight:650;color:#697487;margin-bottom:5px}.vfr-plan-metric strong{display:block;font-size:14px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}.vfr-plan-metric.is-warning{background:#fff0ec;color:#b53428}.vfr-plan-aircraft{font-size:14px;font-weight:750}.vfr-plan-summary details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.vfr-plan-summary summary{font-size:12px;font-weight:700;cursor:pointer;padding:6px 0}.vfr-plan-summary details p,.vfr-plan-footnote{font-size:11px;line-height:1.6;color:#697487}.vfr-plan-warning{font-size:12px;color:#b53428}.vfr-plan-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.vfr-plan-links button,.vfr-plan-alternate button{border:0;border-radius:9px;background:#e9f3ff;color:#126bbd;padding:10px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.vfr-plan-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vfr-plan-sources button{display:grid;gap:6px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:var(--ink,#18283c);font:inherit;cursor:pointer}.vfr-plan-sources strong{font-size:12px}.vfr-plan-sources small{font-size:10px;color:#697487}.vfr-plan-sources span{font-size:11px;font-weight:750;color:#087ff0}.vfr-plan-alternate{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0}.vfr-plan-alternate strong,.vfr-plan-alternate span{display:block;font-size:12px}.vfr-plan-alternate span{font-size:11px;color:#697487;margin-top:4px}.vfr-plan-notes{white-space:pre-wrap;overflow-wrap:anywhere}.vfr-plan-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;font-size:11px;color:#526174}.vfr-plan-checks li{display:flex;gap:7px}.vfr-plan-checks li>span{font-weight:800;color:#167f63}.vfr-plan-summary button:focus-visible,.vfr-plan-summary summary:focus-visible{outline:3px solid #087ff0;outline-offset:3px}
@media(min-width:900px){.vfr-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:400px){.vfr-plan-summary{padding:16px}.vfr-plan-metric strong{font-size:13px}}

.simulator-exports{border:1px solid #d6e2ef;border-radius:18px;background:#f8fbff;padding:18px;margin-top:20px}.simulator-exports h3{margin:0 0 14px;font-size:16px}.simulator-export-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.simulator-export-fields label{font-size:12px;font-weight:700}.simulator-export-fields select,.simulator-export-fields input{display:block;width:100%;margin-top:7px;border:1px solid #d6dde7;border-radius:10px;padding:12px;background:#fff;font:inherit;color:#18283c}.simulator-exports .simulator-cycle[hidden]{display:none}.simulator-exports .simulator-download{margin-top:14px;border:0;border-radius:11px;padding:12px 16px;background:#087ff0;color:#fff;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.simulator-status{font-size:12px;font-weight:650;overflow-wrap:anywhere}.simulator-format-note,.simulator-exports details{font-size:12px;line-height:1.6;color:#526174}.simulator-exports summary{cursor:pointer;font-weight:750;color:#18283c}.simulator-exports button:focus-visible,.simulator-exports select:focus-visible,.simulator-exports input:focus-visible{outline:3px solid #087ff0;outline-offset:2px}@media(max-width:600px){.simulator-export-fields{grid-template-columns:minmax(0,1fr)}}


.automatic-planning{margin:0 0 20px;padding:22px;border:1px solid #dce6ee;border-radius:22px;background:#f8fbff;color:#182633}
.automatic-planning h3{font-size:18px;margin:0 0 12px}.automatic-planning p,.automatic-planning small{color:#66717e;line-height:1.5}.automatic-planning label{display:grid;gap:7px;font-weight:600;font-size:13px}.automatic-planning input,.automatic-planning select{width:100%;min-width:0;padding:12px;border:1px solid #dce1e7;border-radius:12px;background:#fff;color:#17212b;font:inherit}.automatic-planning label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}.automatic-planning input[type=checkbox]{width:18px}.automatic-planning button{border:0;border-radius:12px;padding:12px 16px;background:#087ff0;color:#fff;font-weight:650;margin:12px 0}.automatic-planning button:disabled{opacity:.55}.automatic-planning details{padding:13px 0;border-top:1px solid #e1e8ef}.automatic-planning summary{cursor:pointer;font-weight:650}.automatic-planning .aircraft-fields{margin:16px 0}.auto-fuel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.auto-fuel-grid>div{background:white;border:1px solid #e3e9ef;border-radius:14px;padding:14px}.auto-fuel-grid span{display:block;font-size:12px;color:#6b7380}.auto-fuel-grid strong{display:block;font-size:20px;margin-top:8px}.auto-warnings{color:#8b5600;font-size:13px;line-height:1.6}.auto-vfr-leg{padding:12px 0;border-top:1px solid #e1e8ef}.auto-vfr-leg p{margin:8px 0}.automatic-planning input:focus-visible,.automatic-planning select:focus-visible{outline:2px solid #087ff0;outline-offset:2px}
@media(max-width:640px){.automatic-planning{padding:16px;border-radius:18px}.auto-fuel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auto-fuel-grid strong{font-size:18px}}

.stopover-results article{padding:12px 0;border-top:1px solid #e5e9ef}.stopover-results h4{margin:6px 0}.live-fuel-panel{margin:22px 0;padding:24px;border-radius:24px;background:#fff;scroll-margin-top:90px}.live-fuel-settings label{display:block;margin:14px 0}.live-fuel-start-value{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #dce2e9;border-radius:12px}.live-fuel-actions{display:flex;gap:10px;flex-wrap:wrap}.live-fuel-actions button{padding:12px 16px;border-radius:12px;border:1px solid #d7e1ed;background:#edf5ff;color:#15577c;font-weight:700}.navigation-fuel{align-self:flex-start;border:0;background:rgba(13,24,37,.78);backdrop-filter:blur(12px);color:white;padding:8px 12px;border-radius:12px;font-family:inherit;font-weight:600;font-size:12px}.navigation-fuel.fuel-low{color:#ffcf57}.automatic-planning details{margin:12px 0}.automatic-planning details>label{display:block;margin:12px 0}

.vac-georef-warning{pointer-events:auto;position:relative;max-width:510px;margin:7px auto 0;padding:8px 34px 8px 11px;border:1px solid #ffce65;border-radius:12px;background:rgba(53,36,7,.95);color:#ffe3a0;text-align:left;box-shadow:0 4px 16px #0002}.vac-georef-warning[hidden],.vac-document-georef[hidden]{display:none}.vac-georef-warning strong{display:block;font-size:12px;font-weight:800}.vac-georef-quality{display:block;font-size:10px;line-height:1.4;margin-top:2px}.vac-georef-warning button{position:absolute;right:4px;top:4px;width:28px;height:28px;color:inherit;background:transparent;border:0;font-size:22px;cursor:pointer}.vac-georef-settings{margin:12px 0;padding-top:8px;border-top:1px solid #ffffff30}.vac-georef-settings summary{font-weight:700;color:#ffe0a0}.vac-georef-settings p{font-size:12px;line-height:1.5}.vac-georef-settings button,.vac-document-georef button{border-radius:12px;padding:11px 14px;border:1px solid #e7bc60;background:#fff3d4;color:#6b4709;font:inherit;font-weight:700;margin:5px 0}.vac-georef-settings input[type=range]{width:100%}.vac-document-georef{margin:0 16px 12px;padding:12px 16px;border:1px solid #efd18f;border-radius:14px;background:#fff7e3;color:#6b4709}.vac-document-georef p{margin:7px 0;font-size:12px;line-height:1.45}

.automatic-planning textarea{display:block;width:100%;padding:12px;border:1px solid #dce1e7;border-radius:12px;background:#fff;color:#17212b;font:inherit;line-height:1.6;resize:vertical;min-height:96px}.automatic-planning>label{margin:12px 0}.automatic-planning textarea:focus-visible{outline:2px solid #087ff0;outline-offset:2px}.aircraft-itinerary-performances details>button{margin:12px 8px 12px 0;border:0;border-radius:10px;padding:10px 12px;background:#edf5ff;color:#0873da;font:inherit;font-weight:650;cursor:pointer}.aircraft-itinerary-performances details>button:disabled{opacity:.55}.aircraft-itinerary-performances details>p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}

/* Planner: explicit pending inputs and actionable preflight review. */
.pw-input-review{background:#fff1ce;border:1px solid #ecd49a;border-radius:16px;padding:16px;margin-bottom:16px;color:#76520b}.pw-input-review p{margin:0 0 12px;font-size:13px;line-height:1.5}.pw-input-review label{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:650}.pw-input-review input{min-width:20px;height:20px}.pw-input-review.is-reviewed{background:#edf7f2;border-color:#c9e6d9;color:#24694d}.pw-preparation-issues{background:#fff;border-radius:18px;padding:18px;margin-bottom:18px}.pw-preparation-issues h3{font-size:17px;margin:0 0 10px}.pw-preparation-issues>p{color:var(--muted);font-size:13px;line-height:1.5}.pw-preparation-issues button{display:flex;gap:12px;justify-content:space-between;align-items:center;text-align:left;width:100%;margin:8px 0;padding:13px;background:#fff6df;border:1px solid #f0dfb5;border-radius:12px;color:#624c1c;font:inherit;font-size:13px}.pw-preparation-issues button strong{font-size:11px;white-space:nowrap;color:#1767a4}.pw-checklist input:disabled{opacity:.45}.pw-chapter .planner-field{margin:12px 0}.pw-chapter>.planner-card{padding:18px;border-radius:18px}.planner-surface-wind:empty{display:none}.planner-surface-wind{padding:14px;border-radius:14px;background:#eef5fc;margin:14px 0;font-size:13px;line-height:1.5}.planner-surface-wind button{padding:10px 14px;color:#1767a4;background:#fff;border:1px solid #ccdfef;border-radius:12px;font-weight:650}.pw-map-top .planner-preparation-menu nav button .pw-chapter-arrow{font-size:12px;font-weight:750}


.pw-preparation-issues button[data-kind="limit"]{background:#fff0f0;border-color:#eebaba;color:#972d2d}

/* Shared chapter form language, including aircraft controls moved to chapter 1. */
.planner-chapter-dialog{display:none;flex-direction:column}.planner-chapter-dialog[open]{display:flex}.planner-chapter-dialog>header{flex-shrink:0}.pw-chapter-body{flex:1;min-height:0;height:auto;scroll-padding:24px}.pw-chapter{width:100%;max-width:960px;min-width:0}.pw-chapter>section,.pw-chapter>details{min-width:0}.pw-chapter :is(input,select,textarea,button){box-sizing:border-box;max-width:100%}
.pw-chapter label{min-width:0;overflow-wrap:anywhere}.pw-chapter :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){display:block;min-width:0;width:100%;min-height:48px;border:1px solid #dce3eb;border-radius:12px;padding:12px 13px;background:#fff;color:#182b40;font-family:inherit;font-size:15px;line-height:1.4;box-shadow:0 1px 2px #182b4003}.pw-chapter textarea{resize:vertical;min-height:120px;line-height:1.65}.pw-chapter :is(input,select,textarea):focus-visible{outline:3px solid #087ff02b;border-color:#087ff0;outline-offset:1px}.pw-chapter input[type=checkbox]{width:20px;height:20px;min-width:20px;flex:0 0 20px;margin:1px 0;accent-color:#1978bd}
.pw-chapter>.planner-card{border:1px solid #e4eaf0;box-shadow:0 4px 20px #20344804;padding:24px;border-radius:22px}.pw-card-eyebrow{display:block;margin-bottom:8px;color:#7a8b9e;font-size:10px;line-height:1.4;letter-spacing:1.4px;font-weight:750}.pw-flight-identity h2,.aircraft-profile-card>h2{font-size:22px;letter-spacing:-.6px;color:#192c40;margin:0 0 9px}.pw-flight-identity>p,.aircraft-profile-card>p{font-size:13px;line-height:1.65;color:#718094;margin:0 0 22px;max-width:620px}.pw-identity-fields{display:grid;grid-template-columns:2fr 1fr;gap:18px}.pw-identity-fields .planner-field{margin:0;display:grid;align-content:start;gap:8px;font-size:13px;font-weight:650;color:#52647a}.pw-identity-fields input{margin:0}
.aircraft-profile-card .aircraft-profile-actions{padding:16px;background:#f3f7fb;border:1px solid #e6edf4;border-radius:16px;margin:0 0 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.aircraft-profile-card .aircraft-profile-actions select{margin:0;background:#fff}.aircraft-profile-card .aircraft-profile-actions button{margin:0;padding:12px 16px;min-height:48px;background:#1b70a9;color:#fff;font-size:13px;font-weight:650;border-radius:12px}
.aircraft-profile-card :is(.aircraft-configuration,.aircraft-performance-config){margin:14px 0 0;padding:0;border:1px solid #e3eaf1;border-radius:16px;background:#fff;overflow:hidden}.aircraft-profile-card details>summary{position:relative;display:flex;align-items:center;gap:12px;list-style:none;padding:20px 46px 20px 18px;line-height:1.45;font-size:15px;font-weight:700;color:#253d56;cursor:pointer}.aircraft-profile-card details>summary::-webkit-details-marker{display:none}.aircraft-profile-card details>summary:before{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#edf5fc;color:#2377af;font-size:12px;content:'01'}.aircraft-profile-card .aircraft-performance-config>summary:before{content:'02'}.aircraft-profile-card details>summary:after{content:'';position:absolute;right:22px;top:30px;width:7px;height:7px;border-right:2px solid #8295a8;border-bottom:2px solid #8295a8;transform:rotate(45deg)}.aircraft-profile-card details[open]>summary{background:#f8fafc;border-bottom:1px solid #e9eef4}.aircraft-profile-card details[open]>summary:after{transform:rotate(225deg);top:34px}.aircraft-profile-card details>label,.aircraft-profile-card details>p,.aircraft-profile-card details>.aircraft-fields{margin:20px}.aircraft-profile-card .aircraft-fields{gap:20px 16px}.aircraft-profile-card label{font-size:13px;color:#53677e;font-weight:600;line-height:1.5}.aircraft-profile-card label>small{display:block;font-weight:400;font-size:12px;color:#8390a0;margin:6px 0 8px;line-height:1.6}.aircraft-profile-card label>textarea{margin-top:8px;background:#fbfcfe;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.aircraft-profile-card .aircraft-check{padding:14px;background:#f2f7fc;border:1px solid #e4edf6;border-radius:12px;font-size:12px;font-weight:400;color:#536b83;line-height:1.6}.aircraft-profile-card details>p{font-size:13px;color:#718094;line-height:1.7}
@media(max-width:600px){.pw-chapter>.planner-card{padding:20px 16px;border-radius:19px}.pw-flight-identity h2,.aircraft-profile-card>h2{font-size:21px}.pw-identity-fields{grid-template-columns:1fr;gap:16px}.aircraft-profile-card .aircraft-profile-actions{grid-template-columns:1fr;padding:12px;gap:10px}.aircraft-profile-card .aircraft-profile-actions button{width:100%}.aircraft-profile-card .aircraft-fields{grid-template-columns:1fr;gap:18px}.aircraft-profile-card details>label,.aircraft-profile-card details>p,.aircraft-profile-card details>.aircraft-fields{margin:18px 14px}.aircraft-profile-card details>summary{padding-left:14px;font-size:14px}.pw-chapter :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){font-size:16px}.aircraft-profile-card label>textarea{font-size:13px}.pw-chapter-body{padding:16px 12px 40px}}
/* Guided aircraft tables: named fields on desktop, compact cards on phones. */
.pw-chapter .pte-source[hidden]{display:none!important}.planning-table-editor{margin:22px 20px;min-width:0}.planning-table-editor>h4{margin:0 0 8px;font-size:15px;color:#253d56;letter-spacing:-.2px}.planning-table-editor .pte-help{font-size:12px;line-height:1.65;color:#738398;margin:0 0 16px}.pte-rows{display:grid;gap:16px}.planning-table-editor .pte-row{min-width:0;padding:14px;border:1px solid #e0e8f0;border-radius:15px;background:#f8fafc;margin:0}.pte-row legend{padding:0 7px;color:#34536f;font-size:12px;font-weight:750}.pte-actions{display:flex;justify-content:flex-end;gap:6px;margin-bottom:12px}.pw-chapter .pte-actions button{min-height:36px;min-width:36px;padding:7px 10px;margin:0;border:1px solid #dfe7ef;border-radius:9px;background:#fff;color:#63798f;font-size:12px;line-height:1.2;cursor:pointer}.pte-actions button:last-child{color:#a04747}.pte-actions button:disabled{opacity:.3;cursor:default}.planning-table-editor .pte-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.planning-table-editor[data-table-editor=envelope] .pte-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-chapter .planning-table-editor label{display:flex;flex-direction:column;gap:7px;margin:0;font-size:12px;line-height:1.5;color:#53677e;font-weight:600}.planning-table-editor label>span{min-height:18px}.pw-chapter .planning-table-editor :is(input,select){margin:0;min-height:46px;background:#fff;font-size:14px;font-weight:400}.pw-chapter .planning-table-editor .pte-error{font-size:11px;font-weight:400;color:#a75737;line-height:1.5;margin:0}.pte-error:empty{display:none}.planning-table-editor [aria-invalid=true]{border-color:#ddc3a5!important}.pw-chapter .planning-table-editor .pte-add{display:inline-flex;align-items:center;min-height:44px;border:1px solid #cfe2f1;border-radius:12px;background:#edf6fd;color:#1c6ea8;padding:11px 16px;margin:14px 0 0;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.planning-table-editor .pte-status{margin:12px 0 0;color:#7d8c9d;font-size:11px;line-height:1.6}.planning-table-editor :is(button,input,select):focus-visible{outline:3px solid #087ff02b;outline-offset:2px}.automatic-planning .planning-table-editor{margin:18px 0 24px}
@media(max-width:600px){.planning-table-editor{margin:20px 14px}.planning-table-editor .pte-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.planning-table-editor[data-table-editor=stations] .pte-fields label:first-child,.planning-table-editor[data-table-editor=performanceTable] .pte-fields label:first-child{grid-column:1/-1}.planning-table-editor[data-table-editor=cruiseTable] .pte-fields{grid-template-columns:1fr}.planning-table-editor .pte-row{padding:12px}.pw-chapter .planning-table-editor :is(input,select){font-size:16px;padding:11px 10px}.planning-table-editor .pte-add{width:100%;justify-content:center}.planning-table-editor label>span{min-height:36px}.planning-table-editor[data-table-editor=stations] label:first-child>span,.planning-table-editor[data-table-editor=performanceTable] label:first-child>span,.planning-table-editor[data-table-editor=cruiseTable] label>span{min-height:0}}
@media(max-width:350px){.planning-table-editor .pte-fields,.planning-table-editor[data-table-editor=envelope] .pte-fields{grid-template-columns:1fr}.planning-table-editor label>span{min-height:0}}
/* Local PDF proposals retain an explicit comparison and confirmation step. */
.pdf-import-card[hidden],.pdf-import-card [hidden]{display:none!important}.pdf-import-card h2{font-size:21px;letter-spacing:-.4px;margin:0 0 12px;color:#203a52}.pdf-import-card .pdf-import-intro{font-size:14px;line-height:1.65;color:#566d83}.pdf-import-card .pdf-import-scope{font-size:12px;line-height:1.65;color:#7c8998;margin:0 0 20px}.pw-chapter .pdf-import-card label{display:grid;gap:8px;font-size:13px;font-weight:650;color:#4e647a;margin:16px 0}.pdf-import-context{background:#f1f6fb;padding:12px 14px;border-radius:12px;color:#486984;font-size:12px;line-height:1.6}.pdf-import-buttons{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.pw-chapter .pdf-import-card button{min-height:44px;border-radius:11px;font-size:12px;font-family:inherit;font-weight:650;padding:11px 14px;cursor:pointer;margin:0}.pdf-import-primary{background:#1c71a9;border:1px solid #1c71a9;color:#fff}.pdf-import-secondary{background:#edf5fc;border:1px solid #d8e6f0;color:#226b9b}.pdf-import-tertiary{background:#fff;border:1px solid #e0e6ed;color:#7a8797}.pdf-import-card button:disabled{opacity:.4;cursor:default}.pdf-import-status{font-size:12px;line-height:1.6;color:#5e7489;margin:12px 0}.pdf-import-document{padding:14px;background:#f5f7fa;border:1px solid #e5ebf1;border-radius:12px;margin-top:20px;overflow-wrap:anywhere}.pdf-import-document strong{display:block;font-size:13px}.pdf-import-document small{display:block;font-size:10px;line-height:1.6;color:#7c8b9a;margin-top:6px}.pw-chapter .pdf-import-card .pdf-import-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.65;font-weight:450;padding:12px;background:#f4f8fc;border-radius:12px}.pdf-import-results blockquote{margin:12px 0;padding:12px 14px;border-left:3px solid #c6ddee;background:#f5f9fc;font-size:12px;line-height:1.7;color:#536b80;overflow-wrap:anywhere;white-space:pre-wrap}.pdf-import-review{background:#eef4fa;border:1px solid #dce7f1;border-radius:16px;padding:16px;margin:20px 0;scroll-margin-top:24px}.pdf-import-review h3{font-size:15px;line-height:1.5;margin:0 0 12px}.pdf-import-review canvas{display:block;width:100%;height:auto;background:#fff;border-radius:5px}.pdf-import-proposal{padding:18px;margin:14px 0;border:1px solid #e2e9ef;border-radius:16px;background:#fff}.pdf-import-proposal h3{font-size:14px;color:#2f4b63;margin:0 0 10px}.pdf-import-value{font-size:23px;letter-spacing:-.5px;color:#1e709f}.pdf-import-ref{font-size:11px;line-height:1.6;color:#7c8c9c;overflow-wrap:anywhere}.pdf-import-before,.pdf-import-conversion,.pdf-import-notice,.pdf-import-skipped p{font-size:12px;line-height:1.65;color:#7b6c53}.pdf-import-error{color:#a64242}.pdf-import-skipped{font-size:12px;margin:18px 0;padding:12px;border-radius:10px;background:#fff7e8;color:#89682e}.pdf-import-history{margin-top:20px;border-top:1px solid #e5ebf1;padding-top:14px}.pdf-import-history:empty{display:none}.pdf-import-history h3{font-size:13px;color:#506b81}.pdf-import-history p{font-size:11px;line-height:1.65;color:#7c8b9b;overflow-wrap:anywhere}@media(max-width:600px){.pdf-import-buttons button{flex:1 1 130px}.pdf-import-proposal{padding:15px}.pdf-import-review{padding:10px}.pdf-import-document small{font-size:10px}}

/* Flight action row: fuel participates in layout instead of floating over the dock. */
.navigation-options .navigation-fuel{flex:0 1 auto;align-self:stretch;min-height:44px;max-width:100%;white-space:normal;line-height:1.35;margin:0;overflow-wrap:anywhere}
.navigation-options .navigation-fuel[hidden]{display:none}
@media(max-width:600px){.navigation-options .navigation-fuel{flex:0 1 auto;width:fit-content;max-width:116px;min-width:0;align-self:center;padding:8px 10px;text-align:center}.navigation-options{row-gap:8px}}
/* PDF reference stays one tap away while the chapter keeps its scroll and fields. */
.planner-pdf-reader{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#edf1f5;color:#203a52;overflow:hidden}
.planner-pdf-reader[open]{display:flex;flex-direction:column}.planner-pdf-reader header{display:flex;align-items:center;gap:14px;background:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid #dce4ec;flex:none}.planner-pdf-reader header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.planner-pdf-reader button,.pdf-source-picker button{font:inherit;min-height:44px;border:1px solid #d8e6f0;background:#edf5fc;color:#226b9b;border-radius:12px;padding:10px 14px;cursor:pointer}.planner-pdf-reader .pdf-reader-return{white-space:nowrap;flex:none;background:#1c71a9;color:#fff;border-color:#1c71a9;font-weight:700}.planner-pdf-reader nav{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:8px;background:#fff;flex:none}.planner-pdf-reader nav label{display:flex;gap:8px;align-items:center;font-size:13px}.planner-pdf-reader nav select{min-height:44px;border:1px solid #cdd9e4;border-radius:10px;padding:8px;max-width:90px}.pdf-reader-zoom{font-size:12px;min-width:40px;text-align:center}.pdf-reader-status{margin:0;padding:8px 16px;font-size:12px;line-height:1.5;max-height:65px;overflow:auto;flex:none}.pdf-reader-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;padding:12px 12px max(16px,env(safe-area-inset-bottom))}.pdf-reader-scroll canvas{display:block;height:auto;max-width:none;background:white;box-shadow:0 3px 18px #223b521a;margin:0 auto}.pdf-reader-scroll canvas[hidden]{display:none}
.pdf-source-picker{width:min(560px,calc(100vw - 24px));max-height:85dvh;padding:20px;border:0;border-radius:22px;background:#fff;color:#203a52}.pdf-source-picker::backdrop{background:#15263b88}.pdf-source-picker header{display:flex;align-items:center;gap:12px}.pdf-source-picker h2{font-size:19px;flex:1;margin:0}.pdf-source-options{display:grid;gap:10px;margin:20px 0}.pdf-source-options button{text-align:left;font-weight:700}.pdf-source-library[hidden]{display:none}.pdf-source-library label{display:grid;gap:8px;font-size:13px}.pdf-source-library input{width:100%;min-height:44px;border:1px solid #ccd8e2;border-radius:10px;padding:10px;font:inherit}.pdf-source-library p{font-size:13px;line-height:1.6;color:#667e91}.pdf-source-list{display:grid;gap:10px}.pdf-source-list .pdf-source-item{display:block;text-align:left;width:100%;background:#f6f9fc;overflow-wrap:anywhere}.pdf-source-item strong,.pdf-source-item small{display:block}.pdf-source-item small{font-size:12px;color:#6e8192;margin-top:6px}.aircraft-identity-fields{margin:18px 0}.aircraft-profile-card>.pdf-import-card{margin:20px 0;border:1px solid #dce7f1}.planner-chapter-dialog>header .pw-pdf{background:#203a52;color:#fff;flex:none}.planner-chapter-dialog>header h2{min-width:0}
@media(max-width:500px){.planner-chapter-dialog>header{gap:6px}.planner-chapter-dialog>header button{padding:9px 10px}.planner-chapter-dialog>header h2{font-size:13px}.planner-pdf-reader header{padding-left:10px;padding-right:10px}.planner-pdf-reader button{padding:9px 11px}}

/* Essential map briefing stays readable on mobile without covering the route. */
.pw-summary-quick{gap:6px}.pw-summary-quick>div{min-width:0}.pw-summary-quick strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.pw-summary-metrics{font-variant-numeric:tabular-nums}
@media(max-width:420px){.pw-summary{padding:11px 12px;left:10px;right:10px}.pw-summary-quick span{font-size:9px}.pw-summary-quick strong{font-size:11px}.planner-pdf-reader nav{gap:5px;padding:6px}.planner-pdf-reader nav button{padding:8px 10px}}

/* EFB settings — quiet, native-style list with hairline separators and real SVG icons. */
#settingsButton{width:42px;height:42px;border-radius:13px;border:1px solid rgba(38,59,81,.09);background:rgba(255,255,255,.88);color:#25364a;box-shadow:0 2px 9px #182e430b;transition:background .15s ease,transform .15s ease}
#settingsButton:hover{background:#f1f5fa}
#settingsButton:active{transform:scale(.96)}
#settingsButton svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
#settingsButton:focus-visible{outline:3px solid #2688db;outline-offset:3px}
.efb-settings-dialog{position:fixed;inset:0;width:min(100vw - 24px,790px);height:min(100dvh - 36px,860px);max-width:100%;max-height:100dvh;margin:auto;padding:0;border:0;border-radius:22px;background:#fff;color:#172c43;box-shadow:0 20px 70px rgba(13,31,52,.17);overflow:hidden}
.efb-settings-dialog::backdrop{background:rgba(22,39,57,.45);backdrop-filter:blur(3px)}
.efb-settings-dialog[open]{display:flex;flex-direction:column}
.efb-settings-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:calc(18px + env(safe-area-inset-top,0px)) 24px 15px;background:#fff;border-bottom:1px solid rgba(25,46,66,.065);flex:none}
.efb-settings-head small{display:block;color:#8090a0;font-size:10px;letter-spacing:1.05px;font-weight:700}
.efb-settings-head h2{margin:4px 0 0;font-size:24px;font-weight:760;letter-spacing:-.65px;color:#172b3f}
.efb-settings-close{display:grid;place-items:center;width:35px;height:35px;border:0;border-radius:50%;background:#f1f3f5;color:#53667b;font-size:18px;cursor:pointer;flex:none}
.efb-settings-close:hover{background:#e8edf2;color:#163752}
.efb-settings-close:focus-visible{outline:3px solid #2688db;outline-offset:2px}
.efb-settings-main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;padding:20px 24px max(30px,env(safe-area-inset-bottom))}
.efb-settings-search{display:block;margin-bottom:8px}
.efb-settings-search input{width:100%;min-height:46px;padding:12px 15px;border:0;outline:0;border-radius:12px;background:#f3f5f8;color:#203a50;font:inherit;font-size:15px;box-shadow:none}
.efb-settings-search input:focus-visible{box-shadow:0 0 0 2px #76b3ed;background:#f8fafc}
.efb-settings-search input::placeholder{color:#909da9}
.efb-settings-context,.efb-settings-footnote{font-size:11px;line-height:1.5;color:#8693a1;margin:10px 2px 17px}
.efb-settings-groups{display:block;gap:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.efb-settings-section{display:block;margin:0;border:0;border-bottom:1px solid rgba(22,48,75,.085);border-radius:0;background:transparent;overflow:visible;box-shadow:none}
.efb-settings-section[hidden]{display:none!important}
.efb-settings-section>summary{display:block;box-sizing:border-box;width:100%;min-height:65px;padding:12px 5px;cursor:pointer;list-style:none;color:#273d54;font-size:14px;line-height:1.35;font-weight:650;letter-spacing:-.1px;border-radius:0;background:transparent;transition:background .15s ease}
.efb-settings-summary-row{display:grid;grid-template-columns:35px minmax(0,1fr) 20px;align-items:center;gap:14px;width:100%;min-width:0}
.efb-settings-section>summary::-webkit-details-marker{display:none}
.efb-settings-section>summary::marker{content:""}
.efb-settings-section>summary:hover{background:#f8fafc}
.efb-settings-section>summary:focus-visible{outline:2px solid #338bd3;outline-offset:-2px;border-radius:8px}
.efb-settings-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:10px;color:#37658f;background:#ebf2fa;flex:none}
.efb-settings-icon svg{display:block;fill:none;stroke:currentColor}
.efb-settings-icon--navigation,.efb-settings-icon--gps{color:#246db3;background:#e9f3ff}
.efb-settings-icon--map,.efb-settings-icon--download{color:#27817c;background:#e9f7f4}
.efb-settings-icon--plane,.efb-settings-icon--radio{color:#516bb1;background:#edf0fc}
.efb-settings-icon--shield{color:#b8753e;background:#fff2e8}
.efb-settings-icon--cloud{color:#4c7ca4;background:#eaf4fc}
.efb-settings-icon--sliders{color:#6b67a5;background:#f1effb}
.efb-settings-icon--user{color:#608371;background:#eef6f0}
.efb-settings-icon--help{color:#788694;background:#f0f2f4}
.efb-settings-name{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal;writing-mode:horizontal-tb;text-orientation:mixed}
.efb-settings-chevron{display:block;flex:none;color:#a7b1bc;transition:transform .18s ease;stroke:currentColor}
.efb-settings-section[open]>summary{background:transparent;color:#132e48}
.efb-settings-section[open]>summary .efb-settings-chevron{transform:rotate(90deg)}
.efb-settings-content{padding:4px 12px 19px 54px;border:0;background:#fff;color:#536b7e}
.efb-settings-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;cursor:pointer;border-bottom:1px solid rgba(22,48,75,.065)}
.efb-settings-choice>span{display:grid;gap:4px;min-width:0}
.efb-settings-choice strong,.efb-settings-note strong,.efb-settings-unavailable strong{display:block;font-size:13px;line-height:1.45;font-weight:650;color:#273f57}
.efb-settings-choice small{color:#768697;font-size:11px;line-height:1.5}
.efb-settings-choice input[type="checkbox"]{width:21px;height:21px;accent-color:#1678bb;flex:none;cursor:pointer}
.efb-settings-field{display:grid;gap:8px;padding:13px 0}.efb-settings-field strong{font-size:13px}
.efb-settings-field select{min-height:44px;width:100%;font-size:15px;color:#20455e;background:#f5f7f9;border:0;border-radius:9px;padding:10px}
.efb-settings-field select:focus-visible{outline:2px solid #4d9ada;outline-offset:2px}
.efb-settings-note{padding:12px 0;border-bottom:1px solid rgba(22,48,75,.065)}
.efb-settings-note p,.efb-settings-unavailable p{color:#758699;font-size:11px;line-height:1.6;margin:5px 0 1px}
.efb-settings-note a{color:#267fc0}
.efb-settings-unavailable{padding:13px 0;margin:0;border:0;border-bottom:1px solid rgba(22,48,75,.065);border-radius:0;background:transparent}
.efb-settings-unavailable span{display:inline-block;margin-bottom:5px;font-size:10px;letter-spacing:.2px;font-weight:600;color:#8995a1}
.efb-settings-unavailable strong{color:#728091}
.efb-settings-reset{margin-top:21px;padding:13px 16px;min-height:45px;width:100%;border:0;background:#f3f6fa;color:#236b9d;font:inherit;font-size:13px;font-weight:700;border-radius:11px;cursor:pointer}
.efb-settings-reset:hover{background:#eaf1f8}
.efb-settings-reset:focus-visible{outline:2px solid #3a91d4;outline-offset:2px}
.efb-settings-empty{padding:30px 10px;text-align:center;color:#768697}
.efb-settings-dialog .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
body.efb-contrast #vfr :is(.section-note,.section-label,.planner-calculation-note,.flight-library-note){color:#1d3950}
body.efb-contrast :is(.efb-settings-context,.efb-settings-note p,.efb-settings-choice small){color:#385b78}
body.efb-contrast :is(.flight-head,.section-block,.current-leg){box-shadow:0 0 0 2px #1e5d8b20,0 4px 20px #162f4220}
@media(max-width:650px){.efb-settings-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.efb-settings-main{padding:15px 15px max(25px,env(safe-area-inset-bottom))}.efb-settings-head{padding-left:16px;padding-right:16px}.efb-settings-section>summary{min-height:60px;padding:10px 3px}.efb-settings-summary-row{grid-template-columns:33px minmax(0,1fr) 20px;gap:12px}.efb-settings-icon{width:33px;height:33px}.efb-settings-content{padding:1px 8px 16px 47px}}
@media(prefers-reduced-motion:reduce){.efb-settings-section>summary,.efb-settings-chevron,#settingsButton{transition:none}}


/* EFB settings responsive forms */
.efb-settings-icon--message{color:#287e9f;background:#eaf3fa}
.efb-settings-aircraft-info{font-size:12px;line-height:1.55;color:#65788d}
.efb-settings-action{display:block;width:100%;min-height:46px;margin:12px 0;padding:12px;border:0;border-radius:11px;background:#176faa;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.efb-settings-action:disabled{opacity:.55}
.efb-settings-new-aircraft{margin:15px 0;border-top:1px solid #dce4ea;padding-top:14px}
.efb-settings-new-aircraft>summary{cursor:pointer;font-size:13px;font-weight:700;color:#2a6c9c;min-height:36px}
.efb-settings-new-aircraft label,.efb-settings-suggestion label{display:grid;gap:7px;margin:12px 0;font-size:12px;font-weight:650;color:#253e55}
.efb-settings-new-aircraft input,.efb-settings-new-aircraft select,.efb-settings-suggestion input,.efb-settings-suggestion textarea{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;border:1px solid #cad7e4;background:#fff;color:#182d44;border-radius:10px;padding:12px;font:inherit;font-size:15px}
.efb-settings-suggestion p,.efb-settings-form-status,.efb-settings-field small{font-size:12px;line-height:1.5;color:#657a8e}
.efb-settings-legal{display:grid;gap:8px;margin:15px 0}
.efb-settings-legal a{display:block;border:1px solid #dce8f0;border-radius:11px;padding:12px;background:#f7fafc;color:#226e9e;text-decoration:none;font-size:13px;font-weight:600}
.efb-settings-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:650px){.efb-settings-content{padding-right:8px}.efb-settings-action{min-height:46px}}


/* Route guidance (advisory): compact HUD and perpendicular XTE projection. */
.navigation-summary .flight-route-status{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;margin:4px auto 0;padding:5px 7px;border-radius:8px;background:rgba(12,28,45,.74);color:#e7f5ff;font-size:10px;line-height:1.35;font-weight:650}
.navigation-summary .flight-route-status[hidden]{display:none}
/* Persistent thresholds make the deviation visible even after the haptic notification. */
.navigation-summary .flight-route-status.flight-route-warning{background:#facc15;color:#422006;border:1px solid #f59e0b;font-weight:850;box-shadow:0 3px 14px #0004}
.navigation-summary .flight-route-status.flight-route-critical{background:#c62828;color:#fff;border:1px solid #ff8a80;font-weight:900;box-shadow:0 3px 16px #7f1d1d80}
.route-xte-marker{border:0;background:transparent;pointer-events:none}
.route-xte-marker span{display:block;width:max-content;max-width:110px;padding:4px 7px;border:1px solid #e9d5ff;border-radius:8px;background:#6b21a8;color:#fff;text-align:center;font-size:11px;font-weight:850;box-shadow:0 2px 9px #2e1065a8;white-space:nowrap}
.efb-settings-field small{display:block;margin-top:4px;color:#687888;font-size:11px}
@media(max-width:600px){.navigation-summary .flight-route-status{font-size:9px;padding:4px 6px}.route-xte-marker span{font-size:10px}}


/* Compact, native-feeling preference rows for independent navigation alerts. */
.efb-settings-route-card{margin:0;padding:15px 0 5px;border:0;border-bottom:1px solid #e9eef3;background:transparent}
.efb-settings-route-heading{margin:0 0 5px}
.efb-settings-route-heading h3{margin:0;color:#233b50;font-size:14px;font-weight:700;line-height:1.45}
.efb-settings-route-heading p{margin:3px 0 6px;color:#81909d;font-size:11px;line-height:1.5}
.efb-settings-route-card .efb-settings-route-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:49px;margin:0;padding:10px 0;border-bottom:1px solid #f0f2f5}
.efb-settings-route-switch strong{color:#344b5d;font-size:13px;font-weight:600}
.efb-settings-route-switch input[type="checkbox"]{appearance:none;-webkit-appearance:none;position:relative;display:block;flex:none;width:46px;height:28px;margin:0;border:0;border-radius:999px;background:#d6dce3;box-shadow:inset 0 0 0 1px #00000008;cursor:pointer;transition:background .16s ease}
.efb-settings-route-switch input[type="checkbox"]::before{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .16s ease}
.efb-settings-route-switch input[type="checkbox"]:checked{background:#2288de}
.efb-settings-route-switch input[type="checkbox"]:checked::before{transform:translateX(18px)}
.efb-settings-route-switch input[type="checkbox"]:focus-visible{outline:2px solid #1678d4;outline-offset:3px}
.efb-settings-route-distance{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:61px;margin:0;padding:8px 0;border-bottom:1px solid #f0f2f5}
.efb-route-distance-label{display:grid;gap:3px;min-width:0}
.efb-route-distance-label strong{font-size:13px;font-weight:600;color:#344b5d;line-height:1.4}
.efb-route-distance-label small{color:#95a0ad;font-size:10px;line-height:1.3}
.efb-route-distance-control{display:flex;flex:none;align-items:center;justify-content:flex-end;gap:5px;min-width:104px;min-height:40px;padding:0 10px;border-radius:11px;background:#f2f5f8;border:1px solid transparent}
.efb-route-distance-control:focus-within{border-color:#75b7ef;box-shadow:0 0 0 2px #1678d41b}
.efb-route-distance-control input{appearance:textfield;-moz-appearance:textfield;min-width:0;width:60px;height:40px;padding:0;margin:0;border:0;outline:0;background:transparent;text-align:right;color:#25455f;font:inherit;font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}
.efb-route-distance-control input::-webkit-inner-spin-button,.efb-route-distance-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.efb-route-distance-control>span{color:#7d8d9c;font-size:11px;font-weight:650}
.efb-settings-route-card .efb-route-vibration-test{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin:0;padding:8px 1px;border:0;border-radius:0;background:transparent;color:#1877bd;text-align:left;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.efb-settings-route-card .efb-route-vibration-test>span{font-size:22px;font-weight:400;color:#9baec0}
.efb-settings-route-card .efb-route-vibration-test:focus-visible{outline:2px solid #2c88ca;outline-offset:2px;border-radius:5px}
@media(prefers-reduced-motion:reduce){.efb-settings-route-switch input[type="checkbox"],.efb-settings-route-switch input[type="checkbox"]::before{transition:none}}

/* Voice alerts are opt-in, compact and independently configurable by type. */
.efb-settings-voice-row{min-height:43px;margin-top:-1px;margin-bottom:4px;padding:7px 0 9px 12px;border-bottom:1px solid #f0f2f5}
.efb-settings-voice-row strong{font-size:12px;font-weight:550;color:#75889b}
.efb-settings-voice-row input[type="checkbox"]{flex:none}
.efb-settings-voice-demo{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 1px;border:0;background:transparent;color:#1877bd;font-size:12px;font-weight:600;cursor:pointer;text-align:left}
.efb-settings-voice-demo span{font-size:22px;color:#9baec0}
.efb-settings-voice-demo:focus-visible{outline:2px solid #2c88ca;outline-offset:2px;border-radius:5px}

/* Local-first readiness in Settings. Stale aeronautical data is never rendered as live. */
.efb-settings-offline{padding:4px 0 16px}
.efb-settings-offline>p{margin:8px 0 12px;font-size:13px;font-weight:700;color:#455970}
.efb-settings-offline>p[data-state="ready"]{color:#247445}
.efb-settings-offline>p[data-state="incomplete"]{color:#9b5b1d}
.efb-settings-offline ul{list-style:none;margin:0;padding:0}
.efb-settings-offline li{padding:9px 0;border-bottom:1px solid #eef1f5;font-size:12px;line-height:1.55;color:#64758a}
.efb-offline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.efb-offline-actions button{flex:1 1 150px;min-height:44px;padding:9px 11px;border:1px solid #d3dfeb;border-radius:10px;background:#f6f9fc;color:#226298;font-size:13px;font-weight:700;cursor:pointer}
.efb-offline-actions button:first-child{color:white;background:#296fba;border-color:#296fba}
.efb-offline-actions button:disabled{opacity:.45;cursor:default}
.efb-offline-actions button:focus-visible{outline:2px solid #348bea;outline-offset:2px}
.efb-weather-stale-warning{border:1px solid #eab85b;background:#fff4db;color:#753f06;padding:10px 12px;margin:8px 0;border-radius:9px;font-size:12px;font-weight:750;line-height:1.5}

/* Offline regional map pack controls — compact settings appearance. */
.efb-region-panel{padding:14px 0 9px;margin-top:10px;border-top:1px solid #e7ecf2}
.efb-region-panel h3{margin:0 0 6px;color:#253e53;font-size:15px;font-weight:750}
.efb-region-panel h4{margin:16px 0 5px;color:#344c60;font-size:13px}
.efb-region-panel>p{color:#6d7d8f;font-size:12px;line-height:1.55;margin:6px 0}
.efb-region-form{display:grid;gap:12px}
.efb-region-form label{display:grid;gap:5px;color:#435a70;font-size:12px;font-weight:650}
.efb-region-form input[type="number"],.efb-region-form select{display:block;width:100%;height:40px;border:1px solid #d7e0e9;background:#f8fafc;border-radius:9px;padding:7px 10px;font-size:13px;color:#243e52}
.efb-region-coordinates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.efb-region-form fieldset{display:grid;gap:2px;margin:0;padding:5px 0 2px;border:0}
.efb-region-form legend{padding:0 0 4px;color:#334c61;font-size:12px;font-weight:750}
.efb-region-form fieldset label{display:flex;align-items:center;gap:10px;min-height:40px;border-bottom:1px solid #f0f2f5;font-weight:500}
.efb-region-form fieldset input{accent-color:#2988d5;width:16px;height:16px;flex:none}
.efb-region-form .efb-region-disabled{opacity:.55}
.efb-region-link{justify-self:start;border:0;background:transparent;color:#2578be;padding:0;font-size:12px;font-weight:700;cursor:pointer;text-align:left}
.efb-region-panel [data-region-status]{color:#355570;font-size:12px;line-height:1.5}
.efb-region-panel [data-region-preview]{font-weight:650;color:#617a8f}
.efb-region-panel [data-region-saved]{list-style:none;margin:0;padding:0}
.efb-region-panel [data-region-saved] li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e8edf4;color:#617387;font-size:12px;line-height:1.5}
.efb-region-panel [data-region-saved] li span{min-width:0}
.efb-region-panel [data-region-saved] li button{flex:none;border:1px solid #ebc3c3;border-radius:9px;padding:7px;background:#fff;color:#aa4646;font-size:12px}
.efb-region-panel .efb-region-warning{margin-top:14px;padding:10px 12px;border-radius:8px;background:#fff8e9;color:#86622b;font-size:11px}
.efb-region-panel button:focus-visible,.efb-region-panel input:focus-visible,.efb-region-panel select:focus-visible{outline:2px solid #2995de;outline-offset:2px}

/* Full-width bottom vertical profile, based on real sampled data and integrated with flight map. */
.flight-navigation .flight-live-vertical{--live-profile-height:clamp(174px,23dvh,296px);position:absolute;z-index:640;inset:auto 0 0 0;bottom:0;left:0;right:0;width:100%;max-width:none;margin:0;border:0;border-top:2px solid #365e8e;border-radius:0;box-shadow:0 -6px 18px #061b344a;background:#9bd4ff;color:#18364a;height:var(--live-profile-height);max-height:48dvh;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}
.flight-live-vertical[hidden]{display:none!important}
.live-profile-head{flex:none;display:flex;align-items:center;gap:8px;padding:4px 12px;min-height:28px;background:#ecf5fbf2;border-bottom:1px solid #87b5ce}
.live-profile-head strong{font-size:11px;white-space:nowrap}.live-profile-head strong small{font-size:9px;font-weight:500;color:#5c7287}
.live-profile-grip{width:19px;height:17px;position:relative;flex:none}
.live-profile-grip:after{content:'';position:absolute;top:7px;left:0;right:0;height:3px;border-radius:3px;background:#9dafbf}
.live-profile-next{flex:1;min-width:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;color:#255a77}
.live-profile-head button{border:1px solid #aac4d7;border-radius:7px;background:#fff;color:#24455b;min-width:28px;min-height:24px;font-size:17px;cursor:pointer}
.live-profile-details{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}
.live-profile-state{font-size:10px;line-height:1.25;margin:0;padding:4px 10px;color:#174d71;background:#ecf7ffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
.live-profile-actions{display:flex;align-items:center;gap:8px;margin:0;padding:0 10px;background:#d9eeffe3;flex:none}
.live-profile-actions button{font-size:10px;font-weight:700;border:1px solid #9fbad1;background:#eef7ff;color:#205d86;border-radius:6px;padding:3px 8px;cursor:pointer}
.live-profile-actions button[hidden]{display:none}
.live-profile-chart{position:relative;flex:1;min-height:75px;width:100%;overflow:hidden;background:#9bd4ff}
.live-profile-chart svg{display:block;width:100%;height:100%;min-height:0}
.live-profile-chart svg text{font-family:system-ui,sans-serif;font-size:10px;fill:#234766}
.live-profile-chart .profile-legend,.live-profile-chart .planner-calculation-note{display:none}
.live-profile-chart .profile-selection{position:absolute;z-index:2;bottom:4px;left:12px;right:12px;padding:7px;background:#fffdef;border-radius:8px;box-shadow:0 2px 9px #0003;font-size:11px}
.live-profile-chart .profile-selection[hidden]{display:none}
.live-profile-chart .live-profile-aircraft line{stroke:#ee4429;stroke-width:2.5;stroke-dasharray:5 3}
.live-profile-chart .live-profile-aircraft text{font-size:11px;font-weight:800;fill:#ae3d24}
.live-profile-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:8px;background:linear-gradient(#9bd4ff 0%,#b2e6fe 72%,#80b861 73%,#5e9b48 100%);color:#234663;font-size:12px}
.live-profile-altitude{flex:none;font-size:10px;line-height:1.2;font-weight:700;color:#244a62;background:#e6f6ffdf;margin:0;padding:3px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-profile-disclaimer{flex:none;margin:0;padding:2px 10px max(4px,env(safe-area-inset-bottom));font-size:9px;line-height:1.3;color:#4c6578;background:#e6f6ff}
.flight-navigation .flight-live-vertical.expanded{--live-profile-height:clamp(238px,36dvh,420px)}
/* Navigation remains just above the dock; the dock never sits on top of controls. */
.flight-navigation:has(#flightLiveVertical:not([hidden])) .navigation-bottom{bottom:calc(var(--live-profile-height,clamp(174px,23dvh,296px)) + 12px)}
.flight-navigation:has(#flightLiveVertical.expanded:not([hidden])) .navigation-bottom{bottom:calc(clamp(238px,36dvh,420px) + 12px)}
.flight-navigation:has(#flightLiveVertical:not([hidden])) .navigation-options{margin-bottom:8px}
.flight-navigation:has(#flightLiveVertical:not([hidden])) .weather-map-dock{bottom:calc(clamp(174px,23dvh,296px) + 18px)}
.flight-navigation:has(#flightLiveVertical.expanded:not([hidden])) .weather-map-dock{bottom:calc(clamp(238px,36dvh,420px) + 18px)}
@media(max-width:600px){.flight-navigation .flight-live-vertical{--live-profile-height:clamp(164px,24dvh,246px)}.flight-navigation .flight-live-vertical.expanded{--live-profile-height:clamp(218px,35dvh,335px)}
 .flight-navigation:has(#flightLiveVertical:not([hidden])) .navigation-bottom{bottom:calc(clamp(164px,24dvh,246px) + 7px)}
 .flight-navigation:has(#flightLiveVertical.expanded:not([hidden])) .navigation-bottom{bottom:calc(clamp(218px,35dvh,335px) + 7px)}
 .live-profile-head{padding:3px 8px;gap:6px}.live-profile-next{font-size:9px}.live-profile-head strong{font-size:10px}
}
@media(max-height:520px){.flight-navigation .flight-live-vertical{--live-profile-height:clamp(115px,27dvh,170px)}.flight-navigation:has(#flightLiveVertical:not([hidden])) .navigation-bottom{bottom:calc(clamp(115px,27dvh,170px) + 5px)}.live-profile-disclaimer{display:none}}
/* Keep Leaflet rotate's overlay panes below the navigation controls. */
.flight-navigation .navigation-top{z-index:900}
.flight-navigation #flightBackButton{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation}

/* Touching navigation controls must not trigger automatic browser double-tap zoom. */
#vfr button,.flight-navigation button,.tabbar button{touch-action:manipulation}

/* v191 — live profile: flight-instrument styling, readable on narrow screens. */
.flight-navigation .flight-live-vertical{border-top:2px solid #5483a2;background:#9dd3f7;box-shadow:0 -6px 24px #102d4255}
.flight-live-vertical .live-profile-head{min-height:37px;padding:5px 12px;background:#122c44;color:#f3faff;border-bottom:1px solid #3d6681}
.flight-live-vertical .live-profile-grip:after{background:#9cb9cc}
.flight-live-vertical .live-profile-head strong{font-size:12px;letter-spacing:.04em;color:#f7fbff}
.flight-live-vertical .live-profile-head strong small{font-size:10px;letter-spacing:0;color:#b8d5e6}
.flight-live-vertical .live-profile-next{color:#b8eafa;font-size:10px;font-variant-numeric:tabular-nums}
.flight-live-vertical .live-profile-head button{border:1px solid #466b85;border-radius:8px;background:#284b65;color:#f3faff;min-width:32px;min-height:29px}
.flight-live-vertical .live-profile-state{padding:4px 12px;background:#e0f0fa;color:#386078;font-size:10px}
.flight-live-vertical .live-profile-actions{padding:4px 12px;background:#daeefa}
.flight-live-vertical .live-profile-actions button{border:1px solid #a9c6d9;background:#fff;color:#1d577c;border-radius:8px;padding:5px 10px}
.flight-live-vertical .live-profile-chart{background:linear-gradient(180deg,#8dc9fa 0%,#b2e2fc 100%)}
.flight-live-vertical .live-profile-chart .live-profile-aircraft line{stroke:#aa3527;stroke-width:1.8;stroke-dasharray:5 3}
.flight-live-vertical .live-profile-chart .live-profile-aircraft circle{fill:#205576;stroke:#fff;stroke-width:2.7}
.flight-live-vertical .live-profile-chart .live-profile-aircraft path{fill:#fff;stroke:#133d57;stroke-width:1;stroke-linejoin:round}
.flight-live-vertical .live-profile-chart .live-profile-aircraft text{fill:#153d53;font-size:12px;font-weight:900;paint-order:stroke;stroke:#f0fbff;stroke-width:3}
.flight-live-vertical .live-profile-altitude{font-size:11px;padding:5px 12px;color:#24485d;background:#e8f4fc}
.flight-live-vertical .live-profile-disclaimer{font-size:9px;background:#e8f4fc;color:#587087;padding:2px 12px max(4px,env(safe-area-inset-bottom))}
@media(max-width:420px){.flight-live-vertical .live-profile-head strong{font-size:10px}.flight-live-vertical .live-profile-next{font-size:9px}}

/* v192 · Apple-like forward flight profile and accessible independent detail sheet */
.flight-live-vertical .live-profile-head{border-bottom:1px solid #e1e9f1;background:#fcfdff;color:#162b43;min-height:36px}
.flight-live-vertical .live-profile-head strong{color:#1d354b;letter-spacing:.015em}
.flight-live-vertical .live-profile-head strong small,.flight-live-vertical .live-profile-next{color:#56738a}
.flight-live-vertical .live-profile-head button{background:#f0f4f8;border:0;color:#29435a;border-radius:10px}
.flight-live-vertical .live-profile-chart{background:#f5faff}
.flight-live-vertical .live-profile-chart svg{shape-rendering:geometricPrecision;text-rendering:optimizeLegibility;overflow:visible}
.flight-live-vertical .live-profile-state{background:#f5faff;color:#5b7890}
.flight-live-vertical .live-profile-actions{background:#f5faff;gap:6px;padding:3px 10px}
.flight-live-vertical .live-profile-actions button{background:#e8eef7;color:#2d5471;border:0;border-radius:10px;padding:7px 11px;min-height:30px;font-size:11px;line-height:1.2}
.flight-live-vertical .live-profile-actions .live-profile-qnh{margin-left:auto;background:#dceafa;color:#245d8a}
.flight-live-vertical .live-profile-altitude{background:#f0f6fc;color:#31546b;font-size:10px}
.flight-live-vertical .live-profile-disclaimer{background:#f0f6fc;color:#7b8fa1}
.flight-live-vertical .live-profile-chart .live-profile-aircraft line{stroke:#245f8d;stroke-width:1.75;stroke-dasharray:5 4}
.flight-live-vertical .live-profile-chart .live-profile-aircraft circle{fill:#2c6caf;stroke:#fff;stroke-width:3}
.flight-live-vertical .live-profile-chart .live-profile-aircraft path{fill:white;stroke:#173e68;stroke-width:.9}
.flight-live-vertical .live-profile-chart .live-profile-aircraft text{fill:#17416b;font-size:11px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3}
.flight-live-vertical .live-profile-chart .live-profile-aircraft.altitude-unconfirmed{opacity:.73}
.flight-live-vertical .live-profile-chart [data-profile-title]{cursor:pointer;touch-action:manipulation}
.flight-profile-modal{position:fixed;inset:auto 0 0;max-height:min(82dvh,650px);max-width:560px;width:100%;min-width:0;margin:auto auto 0;padding:0;overflow:hidden;border:0;border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -14px 60px #0c223947;color:#263a4c;overscroll-behavior:contain}
.flight-profile-modal:not([open]){display:none}
.flight-profile-modal::backdrop{background:rgba(11,27,49,.48);backdrop-filter:blur(5px)}
.flight-profile-modal-card{display:flex;flex-direction:column;max-height:min(82dvh,650px);min-height:150px}
.flight-profile-modal header{position:relative;flex:none;display:flex;align-items:center;gap:10px;padding:26px 20px 7px}
.flight-profile-modal header:before{content:"";position:absolute;top:9px;left:50%;width:38px;height:4px;transform:translateX(-50%);background:#d5dfe7;border-radius:10px}
.flight-profile-modal-eyebrow{flex:1;color:#6b8293;font-size:10px;font-weight:750;letter-spacing:.07em}
.flight-profile-modal-close{width:32px;height:32px;border:0;border-radius:50%;background:#edf2f5;color:#425b6d;font-size:23px;line-height:1;cursor:pointer;touch-action:manipulation}
.flight-profile-modal-title{flex:none;margin:4px 20px 9px;color:#192d40;font-size:19px;line-height:1.3;overflow-wrap:anywhere}
.flight-profile-modal-text{flex:1;overflow:auto;padding:3px 20px 16px;color:#395368;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
.flight-profile-modal footer{flex:none;display:flex;align-items:center;gap:15px;padding:10px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e7edf3;background:#fff}
.flight-profile-modal footer span{flex:1;color:#7b90a1;font-size:11px;line-height:1.4}
.flight-profile-modal-done{border:0;border-radius:11px;padding:11px 16px;background:#1976d2;color:white;font-weight:700;font-size:13px;cursor:pointer}
@media(min-width:620px){.flight-profile-modal{border-radius:20px;margin:auto;max-width:540px;max-height:70dvh}.flight-profile-modal-card{max-height:70dvh}}
@media(max-width:420px){.flight-live-vertical .live-profile-actions button{padding:7px 8px;font-size:10px}.flight-live-vertical .live-profile-head strong{font-size:10px}.flight-profile-modal-title{font-size:17px}}

/* Automated VFR route entry and focused configuration dialog. */
.planner-auto-route-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:12px 0;padding:12px 16px;border:0;border-radius:14px;background:linear-gradient(135deg,#5675e8,#3058c9);color:#fff;font:inherit;font-size:14px;font-weight:800;letter-spacing:.01em;box-shadow:0 7px 20px #3058c934;cursor:pointer;transition:transform .15s,box-shadow .15s}
.planner-auto-route-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #3058c94b}
.planner-auto-route-button:active{transform:translateY(0)}
.planner-auto-route-button:focus-visible,.planner-auto-route-dialog button:focus-visible{outline:3px solid #84a8ff;outline-offset:3px}
.planner-auto-route-dialog{width:min(520px,calc(100vw - 24px));max-height:min(90dvh,740px);border:0;border-radius:22px;padding:0;box-shadow:0 24px 72px #0c1b3150;overflow:auto;color:#24354a}
.planner-auto-route-dialog::backdrop{background:#12213c88;backdrop-filter:blur(4px)}
.planner-auto-route-dialog form{display:flex;flex-direction:column;gap:14px;padding:clamp(18px,4vw,28px);background:#fff}
.planner-auto-route-dialog h2{font-size:21px;line-height:1.25;margin:0;color:#142a47}
.planner-auto-route-dialog p{font-size:12px;line-height:1.5;margin:0;color:#5c6e81}
.planner-auto-route-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:#304760}
.planner-auto-route-dialog label:has(input[type="checkbox"]){flex-direction:row;align-items:center;gap:10px;font-weight:600}
.planner-auto-route-dialog select,.planner-auto-route-dialog input:not([type="checkbox"]){width:100%;min-height:44px;background:#f7f9fd;border:1px solid #d8e2ef;border-radius:11px;padding:10px 12px;font:inherit;color:#263b56}
.planner-auto-route-dialog input[type="checkbox"]{width:17px;height:17px;accent-color:#5675e8}
.planner-auto-route-actions{display:flex;gap:10px;margin-top:4px}
.planner-auto-route-actions button{flex:1;min-height:46px;padding:10px 12px;border:1px solid #dbe4f0;border-radius:12px;background:#f5f8fc;color:#304965;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.planner-auto-route-actions button[type="submit"]{flex:1.5;border-color:#5675e8;background:#5675e8;color:#fff}
@media(max-width:420px){.planner-auto-route-dialog form{padding:18px}.planner-auto-route-dialog h2{font-size:19px}}


.planner-route-review{white-space:pre-line;padding:12px 14px;border-radius:12px;background:#fff5d9;color:#684d12;font-size:12px;line-height:1.5}
.planner-auto-route-dialog small{font-weight:400;line-height:1.4;color:#5c6e81}

.flight-live-vertical .live-profile-chart .live-profile-aircraft.altitude-estimated circle{fill:#9a641c;stroke-dasharray:3 2}
.flight-live-vertical .live-profile-chart .live-profile-aircraft.altitude-estimated text{fill:#805416}

/* Cockpit: readable five-column HUD and a single, reachable tools menu. */
.flight-navigation .navigation-top{grid-template-columns:44px minmax(0,1fr) 44px;padding:calc(10px + env(safe-area-inset-top)) 10px 24px;gap:7px;align-items:center}
.flight-navigation .navigation-summary{grid-column:1/-1;width:100%;max-width:none;text-align:center}
.flight-navigation .navigation-clock{display:flex;gap:10px;justify-content:center;align-items:center;min-width:0;font-size:10px;color:#d7e5f1;font-variant-numeric:tabular-nums}
.navigation-clock button{border:0;background:transparent;color:inherit;font:inherit;min-height:44px;padding:4px;cursor:pointer}
.navigation-clock span{display:grid;gap:3px}.navigation-clock strong{color:white;font-size:15px}
.flight-navigation .navigation-icon{width:44px;height:44px;min-height:44px;padding:10px}
.flight-navigation .navigation-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:5px 0;align-items:start}
.flight-navigation .navigation-metrics>span{border:0;padding:3px 2px;min-width:0}
.flight-navigation .navigation-metrics strong,.flight-navigation .navigation-metrics button.navigation-heading strong{font-size:clamp(14px,3.5vw,27px);font-weight:800;letter-spacing:-.4px;white-space:nowrap;line-height:1.4;color:#fff;margin:0}
.flight-navigation .navigation-metrics small,.flight-navigation .navigation-metrics button.navigation-heading small{display:block;white-space:normal;font-size:clamp(6px,1.55vw,10px);line-height:1.35;color:#d7e5f1}
.flight-navigation .navigation-metrics button{min-height:64px;border-radius:8px;padding:3px 2px}
.flight-navigation .navigation-metrics button[aria-pressed=true]{background:#ffffff18}
.flight-navigation .navigation-metrics #mapHeadingValue{color:#ffd069}
.flight-navigation .navigation-fuel{font-size:11px;line-height:1.4;border:0;background:transparent;color:#f0f6ff;padding:4px 10px;min-height:36px;pointer-events:auto;border-radius:10px}
.flight-navigation .navigation-fuel.fuel-low{background:#a32525}
.flight-navigation #flightRadioButton,.flight-navigation #flightDirectToButton[hidden],.flight-navigation #mapLocateButton[hidden],.flight-navigation .navigation-map-settings[hidden]{display:none!important}
.flight-navigation .navigation-options{align-items:flex-end;margin-bottom:8px;pointer-events:none}
.flight-frame-controls{display:grid;gap:7px;pointer-events:auto}
.flight-frame-controls button,#flightMenuButton{min-height:44px;border:1px solid #ffffff99;border-radius:14px;background:#f8fbfff2;color:#193a55;padding:10px 13px;box-shadow:0 4px 14px #0003;font-weight:750}
#flightMenuButton{margin-left:auto;min-width:78px;min-height:54px;background:#087ff0;color:#fff;pointer-events:auto;font-size:19px}
#flightMenuButton span{font-size:13px}.flight-frame-controls span{font-size:11px}
.flight-navigation .navigation-leg-controls{display:flex;justify-content:space-between;gap:10px}
.flight-shortcuts,.flight-tool{width:min(94vw,660px);max-height:88dvh;overflow:auto;padding:18px;border-radius:24px;background:var(--surface,#fff);color:var(--ink,#18334d)}
.flight-shortcuts header,.flight-tool header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.flight-shortcuts header h2,.flight-tool header h2{font-size:21px;margin:0}.flight-shortcuts header button,.flight-tool header button{min-height:44px;border:0;border-radius:12px;padding:8px 14px;background:#eaf4ff;color:#1767a4;font-weight:700}
.flight-shortcuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.flight-shortcuts-grid button,.flight-profile-choices button,.flight-notes-actions button{min-height:70px;border:1px solid #dce8f1;border-radius:15px;background:#eff7ff;color:#1b4f7c;padding:12px 8px;font-size:13px;font-weight:750;cursor:pointer}
.flight-profile-choices{display:grid;gap:10px}.flight-tool-body label{display:block;margin:12px 0}.flight-tool-body select,.flight-tool-body textarea{max-width:100%;width:100%;padding:12px;border:1px solid #dce3ed;border-radius:12px;font:inherit;background:#f7f9fc;color:#193a55}.flight-tool-body textarea{resize:vertical}.flight-tool-body canvas{width:100%;height:auto;aspect-ratio:1;background:repeating-linear-gradient(white,white 29px,#e4edf5 30px);touch-action:none;border:1px solid #dce3ed;border-radius:12px}.flight-tool-body [hidden]{display:none!important}.flight-notes-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.flight-notes-actions button{min-height:44px}.flight-notes-actions span{font-size:12px}
.flight-tool-body .flight-weather-settings{margin-top:14px}.flight-tool-body .navigation-check{display:flex;gap:10px;align-items:center}.flight-tool-body input[type=checkbox]{width:20px;height:20px}.flight-tool-body p{font-size:12px;line-height:1.5}.flight-tool-body .section-block{margin:0;padding:0;box-shadow:none;border:0}
.planner-pin-selected .planner-pin{outline:4px solid #ffc34d;outline-offset:3px;cursor:grab}
.pw-map-stage .leaflet-bottom.leaflet-left{bottom:calc(var(--planner-summary-height,140px) + 20px)}
.pw-map-status{bottom:calc(var(--planner-nav-height,80px) + var(--planner-summary-height,140px) + 54px)}
.flight-navigation[data-profile-position=top] #flightLiveVertical{top:0;bottom:auto;max-height:min(32dvh,max(70px,calc(100dvh - var(--cockpit-header-height,220px) - 145px)))}
.flight-navigation[data-profile-position=top]:has(#flightLiveVertical:not([hidden])) .navigation-bottom{bottom:max(12px,env(safe-area-inset-bottom))}
.flight-navigation[data-profile-position=top]:has(#flightLiveVertical:not([hidden])) .weather-map-dock{bottom:155px}
@media(min-width:800px){.flight-navigation .navigation-summary{max-width:850px;justify-self:center}.flight-navigation .navigation-top{grid-template-columns:52px minmax(0,1fr) 52px}.flight-navigation .navigation-metrics button{min-height:76px}.flight-shortcuts-grid button{min-height:90px}}
@media(max-height:520px){.flight-navigation .navigation-top{padding-top:4px;gap:0;padding-bottom:8px}.navigation-clock button{min-height:32px}.flight-navigation .navigation-metrics button{min-height:44px}.flight-navigation .navigation-metrics strong,.flight-navigation .navigation-metrics button.navigation-heading strong{font-size:18px}.flight-frame-controls{display:flex}.flight-navigation .navigation-fuel{min-height:26px}}
/* Keep all five metric labels and values on common baselines. */
.flight-navigation .navigation-top{background:linear-gradient(180deg,rgba(7,17,27,.94),rgba(7,17,27,.82) 80%,transparent)}
.flight-navigation .navigation-metrics>span,.flight-navigation .navigation-metrics>button.navigation-heading{display:grid;grid-template-rows:22px 25px auto;align-content:start;align-items:start;justify-items:center;min-height:73px;box-sizing:border-box;padding:3px 1px}
.flight-navigation .navigation-metrics>span>small:first-child,.flight-navigation .navigation-metrics>button>small:first-child{font-size:8px;line-height:11px;align-self:end;padding-bottom:2px}
.flight-navigation .navigation-metrics strong,.flight-navigation .navigation-metrics button.navigation-heading strong{font-size:clamp(14px,4vw,27px);line-height:25px}
.flight-navigation .navigation-metrics>span>small:last-child:not(:first-child),.flight-navigation .navigation-metrics>button>small:last-child:not(:first-child){font-size:7px;line-height:10px;max-width:100%}
@media(max-height:520px){.flight-navigation .navigation-metrics>span,.flight-navigation .navigation-metrics>button.navigation-heading{grid-template-rows:15px 24px auto;min-height:53px}.flight-navigation .navigation-metrics>span>small:first-child,.flight-navigation .navigation-metrics>button>small:first-child{font-size:8px;line-height:10px}.flight-navigation .navigation-metrics strong,.flight-navigation .navigation-metrics button.navigation-heading strong{font-size:20px}}

/* Full-page flight launcher: map controls stay compact and text remains accessible. */
.flight-navigation .navigation-top{display:block}
.flight-navigation .navigation-summary{margin:auto}
.flight-navigation #flightMenuHeader{display:none}
.flight-frame-controls button,#flightMenuButton{width:48px;height:48px;min-width:48px;min-height:48px;padding:12px;display:grid;place-items:center;box-sizing:border-box}
.flight-frame-controls button svg,#flightMenuButton svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.flight-shortcuts{position:fixed;inset:0;z-index:2000;width:100%;height:100dvh;max-height:none;max-width:none;margin:0;border:0;border-radius:0;padding:0;background:var(--bg,#f4f5f7);color:var(--ink,#19334d);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.flight-shortcuts[hidden]{display:none!important}
.flight-menu-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--surface,#fff);border-bottom:1px solid #e3e9f0;flex:none}
.flight-menu-header .navigation-icon{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #dce7f2;border-radius:14px;background:#edf5ff;color:#21689f;cursor:pointer;box-sizing:border-box}
.flight-menu-header .navigation-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flight-menu-header .navigation-clock{display:flex;justify-content:center;align-items:center;gap:14px;min-width:0;font-size:11px;color:#60758a;text-align:center;font-variant-numeric:tabular-nums}
.flight-menu-header .navigation-clock button{color:#254b6b;font-weight:700;font-size:11px;max-width:60%;line-height:1.5}
.flight-menu-header .navigation-clock strong{color:#173b5b;font-size:16px}
.flight-menu-title{width:min(100%,900px);box-sizing:border-box;align-self:center;padding:20px 20px 12px;flex:none}
.flight-menu-title>span{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#7a8c9e}.flight-menu-title h1{margin:5px 0 0;font-size:28px;letter-spacing:-.8px;color:#19334d}
.flight-shortcuts .flight-shortcuts-grid{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;width:min(100%,900px);align-self:center;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(100px,1fr);gap:12px;padding:8px 16px max(18px,env(safe-area-inset-bottom));}
.flight-shortcuts .flight-shortcuts-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:100px;padding:14px 6px;background:var(--surface,#fff);border:1px solid #e1e8f1;border-radius:20px;box-shadow:0 3px 12px #1b416407;color:#254b6b;cursor:pointer;font-size:12px;font-weight:700;line-height:1.3;text-align:center}
.flight-shortcut-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:15px;color:#1776ce;background:#edf6ff}
.flight-shortcut-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.flight-shortcut-title{max-width:100%;overflow-wrap:break-word}.flight-shortcuts button:focus-visible{outline:3px solid #087ff0;outline-offset:-3px}.flight-shortcuts-grid button:active{background:#edf6ff;transform:scale(.98)}
@media(max-width:375px){.flight-shortcuts .flight-shortcuts-grid{gap:9px;padding-left:12px;padding-right:12px}.flight-shortcuts .flight-shortcuts-grid button{font-size:11px;gap:9px}.flight-menu-header{gap:7px;padding-left:12px;padding-right:12px}.flight-menu-header .navigation-clock{gap:7px;font-size:10px}.flight-menu-header .navigation-clock button{font-size:10px}}
@media(orientation:landscape) and (max-height:600px){.flight-shortcuts .flight-shortcuts-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(100px,1fr)}.flight-menu-header{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}.flight-menu-title{padding-top:10px;padding-bottom:5px}.flight-menu-title h1{font-size:23px}.flight-menu-title>span{display:none}}

/* Fuel occupies the sixth cell of the same HUD row, retaining its litres/minutes toggle. */
.flight-navigation .navigation-metrics:has(>#flightFuelOpen:not([hidden])){grid-template-columns:repeat(6,minmax(0,1fr))}
.flight-navigation .navigation-metrics #flightFuelOpen{margin:0;max-width:none;width:100%;border:0;pointer-events:auto}
.flight-navigation .navigation-metrics #flightFuelOpen[hidden]{display:none!important}
.flight-navigation .navigation-metrics:has(>#flightFuelOpen:not([hidden])) strong{font-size:clamp(12px,3.4vw,25px);letter-spacing:-.5px}
.flight-navigation .navigation-metrics:has(>#flightFuelOpen:not([hidden]))>span>small:first-child,.flight-navigation .navigation-metrics:has(>#flightFuelOpen:not([hidden]))>button>small:first-child{font-size:7px}

/* Every cockpit tool has a page-sized surface; alert bulletins keep a focused detail popup. */
body.flight-navigation-active :is(.flight-tool,#flightGpsDialog,#flightRadioDialog,#flightEnrouteDialog,#flightDirectToDialog,#efbSettingsDialog,#checklistViewer,#checklistDialog,#manualVacDialog,#checklistLibraryDialog){position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-sizing:border-box;overflow:auto;padding:calc(18px + env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:var(--bg,#f4f5f7);color:var(--ink,#19334d)}
body.flight-navigation-active :is(.flight-tool,#flightEnrouteDialog)>header{position:sticky;top:0;z-index:3;background:var(--bg,#f4f5f7);padding-bottom:12px}
body.flight-navigation-active #checklistViewer{padding:0;display:flex;flex-direction:column;overflow:hidden}
body.flight-navigation-active #checklistViewer:not([open]){display:none}
body.flight-navigation-active #checklistViewer .checklist-viewer-head{flex:none;padding-top:max(14px,env(safe-area-inset-top))}
.flight-document-switcher{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;background:#eef5fc;flex:none}
.flight-document-switcher button{min-height:44px;padding:10px;border:1px solid #d8e5f1;border-radius:12px;background:white;color:#1c5d94;font-weight:700}
/* Flight alert details: readable NOTAM / SIGMET summary and unaltered source text. */
.flight-alert-detail-dialog{box-sizing:border-box;width:min(92vw,520px);max-width:520px;max-height:min(86dvh,760px);overflow-y:auto;overscroll-behavior:contain;margin:auto;border:1px solid #dfe8f2;border-radius:24px;padding:0 0 16px;background:#fff;color:#172a43;box-shadow:0 24px 70px rgba(8,26,48,.28);font-family:inherit}
.flight-alert-detail-dialog::backdrop{background:rgba(11,27,46,.56);backdrop-filter:blur(3px)}
.flight-alert-detail-dialog .alert-dialog-topline{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 2px;gap:12px}
.flight-alert-detail-dialog .alert-source-type{display:inline-flex;align-items:center;min-height:28px;padding:5px 11px;border-radius:999px;background:#fff2df;color:#93600b;font-size:11px;letter-spacing:.08em;font-weight:850}
.flight-alert-detail-dialog[data-kind="sigmet"] .alert-source-type{background:#fff0e8;color:#ae491c}
.flight-alert-detail-dialog[data-severity="critical"] .alert-source-type{background:#ffebe9;color:#b63134}
.flight-alert-detail-dialog .alert-dialog-close{width:40px;height:40px;min-height:40px;padding:10px;border:0;border-radius:12px;background:#eff5fb;color:#37658b;display:grid;place-items:center}
.flight-alert-detail-dialog .alert-dialog-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.flight-alert-detail-dialog .alert-dialog-heading{display:flex;align-items:flex-start;gap:13px;padding:11px 20px 0}
.flight-alert-detail-dialog .alert-dialog-heading>div{min-width:0;flex:1}
.flight-alert-detail-dialog .alert-dialog-symbol{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;background:#fff3e1;color:#b06a16}
.flight-alert-detail-dialog[data-severity="critical"] .alert-dialog-symbol{background:#ffebea;color:#bc3439}
.flight-alert-detail-dialog .alert-dialog-symbol svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.flight-alert-detail-dialog .alert-dialog-eyebrow{margin:0 0 5px;color:#7a8798;font-size:11px;line-height:1.4;letter-spacing:.02em;font-weight:700}
.flight-alert-detail-dialog h2{margin:0;font-size:21px;line-height:1.25;letter-spacing:-.35px;color:#172a43;overflow-wrap:anywhere}
.flight-alert-detail-dialog .alert-source-notice{margin:19px 20px 16px;padding:13px 14px;border:1px solid #f1d6ae;border-radius:15px;background:#fff9ef}
.flight-alert-detail-dialog[data-severity="critical"] .alert-source-notice{background:#fff4f2;border-color:#f2cbc6}
.flight-alert-detail-dialog .alert-source-notice>strong{display:block;margin:0 0 5px;font-size:12px;color:#93611e}
.flight-alert-detail-dialog[data-severity="critical"] .alert-source-notice>strong{color:#b63b3b}
.flight-alert-detail-dialog .alert-source-note{margin:0;color:#4f4b46;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.flight-alert-detail-dialog .alert-source-document{margin:17px 20px 0;border:1px solid #e2e9f2;border-radius:16px;overflow:hidden;background:#f5f8fc}
.flight-alert-detail-dialog .alert-source-document-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e2e9f2;background:#fff}
.flight-alert-detail-dialog .alert-source-document-heading strong{font-size:12px;color:#263e57}
.flight-alert-detail-dialog .alert-source-document-heading span{font-size:10px;color:#788899;text-align:right}
.flight-alert-detail-dialog .alert-source-bulletin{box-sizing:border-box;display:block;max-height:34dvh;overflow:auto;margin:0;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;background:transparent;color:#33475b;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
.flight-alert-detail-dialog .alert-source-origin{margin:10px 20px 0;font-size:11px;line-height:1.5;color:#77889a;overflow-wrap:anywhere}
.flight-alert-detail-dialog .alert-dialog-footer{padding:17px 20px 2px}
.flight-alert-detail-dialog .alert-source-more{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 14px;border:0;border-radius:14px;background:#087ff0;color:#fff;font-size:13px;font-weight:800;text-align:center;cursor:pointer}
.flight-alert-detail-dialog .alert-source-more svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flight-alert-detail-dialog button:focus-visible{outline:3px solid #7bb6fa;outline-offset:2px}
.flight-alert-detail-dialog [hidden]{display:none!important}
@media(max-width:520px){.flight-alert-detail-dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 80px);border-radius:22px}.flight-alert-detail-dialog .alert-dialog-topline{padding:12px 16px 2px}.flight-alert-detail-dialog .alert-dialog-heading{padding:10px 16px 0}.flight-alert-detail-dialog h2{font-size:19px}.flight-alert-detail-dialog .alert-source-notice{margin:16px 16px 13px}.flight-alert-detail-dialog .alert-source-document{margin:15px 16px 0}.flight-alert-detail-dialog .alert-source-origin{margin-left:16px;margin-right:16px}.flight-alert-detail-dialog .alert-dialog-footer{padding:16px 16px 0}}
#flightEnrouteDialog .flight-weather-settings{display:block;padding:16px;background:var(--surface,#fff);border:1px solid #e0e8f0;border-radius:18px;margin:0 0 16px}
#flightEnrouteDialog .flight-weather-settings>summary{font-weight:750;cursor:pointer;min-height:32px}

/* Top profile occupies the first dock; navigation follows directly below it. */
.flight-navigation[data-profile-position=top]:has(#flightLiveVertical:not([hidden])) .navigation-top{top:var(--cockpit-profile-height,0px)}
body.flight-navigation-active #flightCockpitTool.flight-notepad{display:flex;flex-direction:column;overflow:hidden;padding:0}
body.flight-navigation-active #flightCockpitTool.flight-notepad>header{flex:none;margin:0;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid #dce7ef}
#flightCockpitTool.flight-notepad .flight-tool-body{flex:1;min-height:0;display:flex;overflow:hidden}
#flightCockpitTool.flight-notepad .flight-notes{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}
#flightCockpitTool.flight-notepad .flight-notes-toolbar{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface,#fff);border-bottom:1px solid #dce7ef}
#flightCockpitTool.flight-notepad .flight-notes-toolbar label{margin:0;flex:1;min-width:0;font-size:10px}
#flightCockpitTool.flight-notepad .flight-notes-toolbar select{padding:8px;min-height:44px}
#flightCockpitTool.flight-notepad .flight-notes-actions{display:contents}
#flightCockpitTool.flight-notepad .flight-notes-actions button{min-height:44px;padding:8px;font-size:12px;flex:none}
#flightCockpitTool.flight-notepad .flight-notes>canvas,#flightCockpitTool.flight-notepad .flight-notes>textarea{flex:1;min-height:0;width:100%;height:0;aspect-ratio:auto;border:0;border-radius:0;margin:0;box-sizing:border-box;resize:none}
#flightCockpitTool.flight-notepad .flight-notes>textarea{padding:14px}
#flightCockpitTool.flight-notepad .flight-notes>[role=status]{flex:none;font-size:10px;min-height:14px;padding:2px 12px max(2px,env(safe-area-inset-bottom));background:var(--surface,#fff)}

body.flight-navigation-active #flightCockpitTool.flight-notepad:not([open]){display:none}

/* Compact document picker and shared VAC calibration controls. */
.flight-document-picker{max-width:760px;margin:auto}
.flight-tool-body .flight-document-intro{font-size:13px;line-height:1.5;color:#6a7b8d;margin:0 0 18px}
.flight-tool-body .flight-document-upload{position:relative;display:flex;align-items:center;gap:14px;margin:0;padding:18px;border:1px solid #c9dff6;border-radius:18px;background:#edf6ff;color:#205d92;cursor:pointer;text-transform:none;letter-spacing:0}
.flight-document-upload-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;background:#dcecff;border-radius:14px}
.flight-document-upload-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.flight-document-upload strong{display:block;font-size:15px}.flight-document-upload small{display:block;margin-top:5px;font-size:11px;font-weight:500;color:#63809b}
.flight-tool-body .flight-document-upload input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer}
.flight-document-upload:focus-within{outline:3px solid #6aaeff;outline-offset:3px}
.flight-document-chevron{margin-left:auto;flex:none;font-size:23px;font-weight:500;color:#5583ad}
.flight-tool-body .flight-document-status{font-size:12px;color:#8e5c16;margin:12px 0}.flight-document-status:empty{display:none}
.flight-document-list-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#77879a;margin:26px 3px 10px}
.flight-document-list{display:grid;gap:9px}
.flight-document-row{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px;border:1px solid #e0e7ef;border-radius:15px;background:var(--surface,#fff);color:#25435e;cursor:pointer;min-width:0}
.flight-document-row>span:nth-child(2){min-width:0}.flight-document-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.flight-document-row small{display:block;font-size:11px;font-weight:400;color:#8190a1;margin-top:5px;overflow-wrap:anywhere}
.flight-document-row-icon{flex:none;display:grid;place-items:center;width:36px;height:42px;border-radius:8px;background:#eef4fa;color:#6390b5;font-size:10px;font-weight:800}
.flight-tool-body .flight-document-empty{font-size:13px;color:#7b8998;padding:18px 12px;text-align:center}
#checklistViewer .flight-document-switcher{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;padding:6px 12px;background:#fff;border-bottom:1px solid #e5ebf2}
#checklistViewer .flight-document-switcher button{margin:0;padding:8px 12px;min-height:38px;font-size:12px;border-radius:10px;white-space:nowrap}
#checklistViewer .flight-document-switcher select{flex:1;min-width:0;max-width:100%;padding:8px;border:1px solid #dae5f0;border-radius:10px;background:#f5f9fd;color:#315b7d;font:inherit;font-size:12px}
#vacDocumentGeoref{flex:none;display:flex;align-items:flex-start;gap:8px;padding:6px 10px;margin:0;border:0;border-block:1px solid #ecdba8;border-radius:0;background:#fff9e9;font-size:11px}
#vacDocumentGeoref[hidden]{display:none}#vacDocumentGeoref details{flex:1;min-width:0;align-self:center}
#vacDocumentGeoref summary{cursor:pointer;font-size:11px;font-weight:700;line-height:1.4}#vacDocumentGeoref p{font-size:11px;line-height:1.45;margin:8px 0 4px}
#vacDocumentGeoref button{flex:none;min-height:38px;font-size:11px;margin:0;padding:8px 10px;border-radius:9px;white-space:nowrap}
#vacDocumentGeoref button:disabled{color:#8b8577;background:transparent;border-color:#e1d9c8;cursor:default}

/* Calibration belongs to the PDF title banner, without a separate strip. */
#checklistViewer .checklist-viewer-head{align-items:flex-start;gap:10px;padding:12px 14px}
#checklistViewer .checklist-viewer-head>div:first-child{flex:1;min-width:0}
#checklistViewer .checklist-viewer-head .eyebrow{font-size:9px;letter-spacing:.08em}
#checklistViewer .checklist-viewer-head h2{font-size:15px;margin-top:4px}
#checklistViewer .checklist-viewer-head #vacDocumentGeoref{padding:0;margin:7px 0 0;border:0;background:transparent;gap:7px;align-items:flex-start}
#checklistViewer .checklist-viewer-head #vacDocumentGeoref summary{font-size:10px;color:#85601d}
#checklistViewer .checklist-viewer-head #vacDocumentGeoref button{min-height:34px;font-size:10px;padding:7px 9px}
#checklistViewer .checklist-viewer-head #vacDocumentGeoref p{font-size:10px}

/* Questions and field help stay beside the existing flight inputs. */
.planning-field-question{display:block;margin-top:6px;color:#41627e;font-size:11px;line-height:1.45;font-weight:500;letter-spacing:0;text-transform:none}
.planning-field-help{margin:5px 0 0;padding:0;border:0;background:none;font-size:11px;letter-spacing:0;text-transform:none}
.planning-field-help>summary{font-size:11px;color:#1875b9;cursor:pointer;min-height:30px;display:flex;align-items:center}
.planning-field-help>summary::before{content:'?';display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #b9d8ee;border-radius:50%;margin-right:6px;font-weight:750}
.planning-field-help p{font-size:12px;line-height:1.5;font-weight:400;color:#48627a;padding:9px;background:#edf6ff;border-radius:9px;margin:2px 0}
.planning-guidance-summary{padding:18px;border:1px solid #d9e7f3;border-radius:20px;background:#f7fbff;margin-bottom:18px}
.planning-guidance-summary h3{margin:5px 0 8px;font-size:20px}.planning-guidance-summary>p{font-size:12px;color:#627a91;line-height:1.5}
.planning-readiness{margin-top:10px;border:1px solid #e0e9f2;border-radius:12px;background:#fff;overflow:hidden}
.planning-readiness>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;cursor:pointer;font-size:12px}
.planning-readiness>summary>span{white-space:nowrap;color:#947025;font-size:10px;background:#fff5d9;border-radius:8px;padding:5px 7px}
.planning-readiness[data-state=available]>summary>span{background:#e7f5ef;color:#267350}.planning-readiness[data-state=limit]>summary>span{background:#ffe9e6;color:#a13e32}
.planning-readiness>div{padding:0 12px 10px}.planning-readiness button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;border-top:1px solid #edf1f6;padding:10px 0;min-height:44px;background:white;color:#284d6c;cursor:pointer;font-size:12px}
.planning-readiness button small{font-size:10px;color:#2a80ba;margin-top:4px}.planning-readiness p{font-size:12px;color:#63788a;line-height:1.5}
.aircraft-loads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aircraft-loads .guided-load{display:block;padding:13px;border:1px solid #dce7f1;border-radius:15px;background:#f7fbff;min-width:0}
.guided-load-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e4f1fc;color:#4189ba;margin-bottom:9px}.guided-load-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.aircraft-loads .guided-load input{width:100%;box-sizing:border-box}
@media(max-width:400px){.planning-readiness>summary{align-items:flex-start;flex-direction:column}.aircraft-loads{grid-template-columns:1fr}}
/* Inline help must not inherit the numbered aircraft configuration panels. */
.planner-chapter-dialog .planning-field-help>summary{position:static;display:flex;gap:0;padding:0;min-height:30px;line-height:1.4;font-size:11px;font-weight:600;color:#1875b9;background:transparent;border:0;list-style:none}
.planner-chapter-dialog .planning-field-help>summary::before{content:'?';width:16px;height:16px;flex:0 0 16px;border-radius:50%;font-size:10px;background:transparent;line-height:1}
.planner-chapter-dialog .planning-field-help>summary::after{display:none;content:none}
.planner-chapter-dialog .planning-field-help>p{margin:2px 0;padding:9px;font-size:12px;line-height:1.5;background:#edf6ff;border-radius:9px}

/* VFR briefing: essentials first, calculations available on demand. */
.vfr-plan-summary .vfr-plan-aircraft{margin:0 0 14px;font-size:13px}.vfr-plan-aircraft>span{font-weight:400;color:#788698}
.vfr-brief-alerts{padding:12px 14px;border:1px solid #f0c990;background:#fff7e8;color:#855b19;border-radius:13px;margin-bottom:14px;font-size:12px}.vfr-brief-alerts ul{padding-left:18px;margin:6px 0 0;line-height:1.6}
.vfr-plan-summary .vfr-brief-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.vfr-plan-summary h3{font-size:12px;color:#5a7084;margin:18px 0 9px}
.vfr-plan-summary .vfr-plan-sources button{position:relative;padding-right:25px;min-height:64px;gap:5px}.vfr-plan-sources button>span{position:absolute;right:12px;top:21px;font-size:20px}.vfr-plan-sources .is-missing{background:#fff8e9;border-color:#ecdcae}
.vfr-brief-vacs{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.vfr-brief-vacs button{min-height:40px;padding:8px 12px;border:1px solid #d9e8f4;border-radius:10px;background:#edf6ff;color:#226d9e;font-weight:700;cursor:pointer}
.vfr-aircraft-details>summary{font-weight:750;font-size:14px;min-height:44px;display:flex;align-items:center;cursor:pointer}.vfr-aircraft-details[open]>summary{margin-bottom:16px}

.vfr-brief-pending{padding:12px 14px;border:1px solid #eeddb0;background:#fff8e9;border-radius:12px;font-size:12px;color:#8b6b29;line-height:1.5}

.ats-preparation .section-title-row{align-items:center}.ats-preparation h3{margin:4px 0;font-size:20px}.ats-badge{font-size:11px;font-weight:750;padding:7px 10px;border-radius:9px;background:#fff1d3;color:#8b6626;white-space:nowrap}
.ats-settings{border:1px solid #dbe7f2;background:#f8fbff;border-radius:14px;padding:14px;margin:14px 0}.ats-settings>summary,.ats-missing>summary{cursor:pointer;font-size:13px;font-weight:750;min-height:32px}
.ats-inputs,.ats-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ats-inputs label{font-size:11px;font-weight:650;color:#526c85}.ats-inputs input,.ats-inputs select,.ats-field input,.ats-sectors select{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #dae5ef;border-radius:10px;padding:10px;background:#fff;color:#1e3e59;font:inherit;font-size:14px;margin-top:6px}
.ats-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:12px;line-height:1.5}.ats-confirm input{width:20px;height:20px;flex:none}.ats-date{background:#edf6ff;padding:12px;border-radius:12px}.ats-field{border:1px solid #e2e9f0;border-radius:12px;padding:11px;background:#fff;min-width:0}.ats-field>span{font-size:11px;font-weight:750;color:#647c92}.ats-field>div{display:flex;gap:6px;align-items:center}.ats-field input{min-width:0;font-family:ui-monospace,monospace}.ats-field button{flex:none;margin:6px 0 0!important;padding:8px!important;min-height:40px!important}
.ats-missing{background:#fff8e9;border:1px solid #efdfb3;padding:10px 13px;border-radius:12px;margin-bottom:14px}.ats-missing ul,.ats-warnings{font-size:12px;line-height:1.6;color:#806029;padding-left:18px}.ats-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.ats-actions a{padding:12px;background:#087ff0;color:#fff;border-radius:12px;text-decoration:none;font-size:12px;font-weight:750}.ats-copy-text{width:100%;min-height:180px;font:12px/1.5 ui-monospace,monospace}.ats-sectors{display:block;margin:12px 0;font-size:12px}
@media(max-width:600px){.ats-inputs,.ats-fields{grid-template-columns:1fr}}

.ats-sectors[hidden]{display:none}

/* Community catalogue */
#community{padding:28px max(20px,env(safe-area-inset-left));max-width:1060px;margin:auto}
.community-head{padding:12px 0 22px}
.community-head h1{font-size:clamp(28px,5vw,42px);line-height:1.12;letter-spacing:-.035em;margin:12px 0}
.community-head p{font-size:15px;line-height:1.55;color:#647084;max-width:710px}
.community-back{border:0;background:transparent;color:#3159bd;font:inherit;font-weight:700;padding:10px 0;cursor:pointer}
.community-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:end;margin:0 0 20px}
.community-tabs{display:flex;gap:4px;padding:5px;background:#ebeff5;border-radius:16px}
.community-tab{padding:10px 14px;border:0;border-radius:11px;background:transparent;font-weight:650;color:#657087;cursor:pointer}
.community-tab.is-active{background:#fff;color:#1b2942;box-shadow:0 1px 5px #21314c1c}
.community-search{color:#576579;font-size:12px;font-weight:650;display:flex;flex-direction:column;gap:6px;flex:1;max-width:420px;min-width:210px}
.community-search input{font:inherit;font-size:15px;padding:12px 14px;border:1px solid #dbe2ee;border-radius:13px;outline-offset:2px;background:white}
.community-status{font-size:14px;color:#657087}
.community-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px;margin-top:14px}
.community-item,.community-empty{border:1px solid #e5eaf1;border-radius:18px;background:white;padding:20px;box-shadow:0 2px 12px #24334e0a}
.community-item h3{font-size:18px;line-height:1.25;margin:8px 0}
.community-item p,.community-empty p{font-size:14px;color:#657087;line-height:1.5}
.community-tag{display:inline-block;background:#edf2ff;color:#3b5fc2;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:750}
.community-item button{background:#1d355e;color:white;border:0;border-radius:11px;padding:10px 13px;font-weight:650;cursor:pointer}
.community-warning{font-size:12px;color:#7b8493;line-height:1.5;margin-top:26px}
@media(max-width:600px){#community{padding:14px 16px 90px}.community-toolbar{display:block}.community-search{max-width:none;margin-top:16px}}

/* Community publication and author account use the full available mobile page. */
#flightContent>.current-leg:first-child{margin-top:20px}
.community-account{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.community-account button,.community-dialog button{border:1px solid #dbe5ee;border-radius:14px;background:#edf6ff;color:#205c87;padding:13px 17px;font:inherit;font-weight:700;cursor:pointer}
.community-account button[aria-pressed="true"]{background:#087ff5;color:white}
.community-dialog[open]{display:flex;flex-direction:column;position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#f4f6f9;color:#172a3b;box-sizing:border-box}
.community-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:calc(14px + env(safe-area-inset-top)) 20px 14px;background:white;border-bottom:1px solid #e1e7ee;flex-shrink:0}
.community-dialog>header h2{font-size:21px;margin:0}.community-dialog-main{padding:20px 20px calc(24px + env(safe-area-inset-bottom));overflow:auto;flex:1;display:flex;flex-direction:column;gap:16px;max-width:800px;width:100%;margin:auto;box-sizing:border-box}
.community-dialog-main p{margin:0;line-height:1.5}.community-dialog-main label{display:flex;flex-direction:column;gap:8px;font-weight:650}.community-dialog-main input:not([type="checkbox"]),.community-dialog-main textarea{width:100%;box-sizing:border-box;background:white;color:#172a3b;border:1px solid #dce3eb;border-radius:13px;padding:14px;font:inherit}
.community-dialog-main .community-consent{flex-direction:row;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5}.community-consent input{flex-shrink:0;width:20px;height:20px}.community-preview{border:1px solid #dce5ee;background:white;padding:18px;border-radius:18px;display:grid;gap:10px}.community-preview h3{margin:0}.community-dialog button:disabled{opacity:.55}.community-dialog [role="status"]{color:#a53c17}


/* Community uses the same surfaces, type and controls as the rest of EFB Pocket. */
#community{padding:8px 0 24px;min-width:0}
.community-head{padding:6px 4px 18px;border-bottom:1px solid var(--line)}
.community-back{display:inline-flex;align-items:center;min-height:44px;padding:0 0 12px;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}
.community-head h1{margin:10px 0;font-size:clamp(30px,7vw,40px);line-height:1.08;letter-spacing:-1.4px}
.community-head>p{max-width:560px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.community-account{margin-top:16px;gap:8px;font-size:12px;color:var(--muted)}
.community-account>span{flex:1;min-width:120px}
.community-account button{min-height:42px;padding:10px 12px;font-size:12px;background:var(--solid);border-color:var(--line);color:var(--ink)}
.community-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.community-actions .button{font-size:13px;min-height:44px}
.community-actions .button-primary{flex:1}
.community-toolbar{display:grid;gap:16px}
.community-tabs{display:flex;gap:4px;padding:4px;border-radius:15px;background:#e7e7eb}
.community-tab{flex:1;min-height:42px;padding:10px;border-radius:11px;background:transparent;color:var(--muted);font-weight:750;cursor:pointer}
.community-tab.is-active{background:var(--solid);color:var(--ink);box-shadow:0 2px 8px #1113180d}
.community-search{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:650}
.community-search input{width:100%;min-width:0;min-height:48px;padding:12px 15px;border:1px solid var(--line);border-radius:15px;background:var(--solid);color:var(--ink);font:inherit;font-size:16px}
.community-status{margin:16px 4px 12px;color:var(--muted);font-size:12px}
.community-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-item{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:10px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--small-shadow);overflow-wrap:anywhere}
.community-tag{padding:5px 8px;border-radius:7px;color:var(--blue);background:var(--blue-soft);font-size:10px;font-weight:800}
.community-item h3{margin:0;font-size:20px;letter-spacing:-.5px;line-height:1.2}
.community-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.community-item button{width:100%;min-height:44px;margin-top:auto;padding:12px;border-radius:13px;background:var(--blue);color:white;font-weight:750;cursor:pointer}
.community-empty{grid-column:1/-1;padding:32px 20px;text-align:center;border:1px dashed #d8d8dd;border-radius:var(--radius-lg);color:var(--muted)}
.community-empty h3{margin:0 0 8px;color:var(--ink);font-size:17px}.community-empty p{margin:0;font-size:13px;line-height:1.5}
.community-more{width:100%;margin-top:12px}.community-warning{margin:22px 4px 0;color:var(--muted);font-size:11px;line-height:1.5}
.community-dialog[open]{inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(92vw,560px);max-height:calc(100dvh - 48px);height:auto;border-radius:var(--radius-lg);background:var(--bg);color:var(--ink);box-shadow:var(--shadow)}
.community-dialog>header{padding:18px 20px;background:var(--solid);border-color:var(--line)}
.community-dialog>header h2{font-size:20px;letter-spacing:-.5px}.community-dialog>header button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--bg);color:var(--muted)}
.community-dialog-main{margin:0;padding:20px;flex:initial;gap:14px;min-height:0;overflow-y:auto}
.community-dialog-main p{font-size:13px;color:var(--muted)}.community-dialog-main h2,.community-dialog-main h3{margin:0;overflow-wrap:anywhere}
.community-dialog-main label{font-size:13px;color:var(--ink)}
.community-dialog-main input:not([type=checkbox]),.community-dialog-main textarea{font-size:16px;color:var(--ink);border-color:var(--line);background:var(--solid)}
.community-dialog-main>button{min-height:46px;background:var(--solid);color:var(--blue);border-color:var(--line);font-size:14px}
.community-dialog-main>button:first-of-type{background:var(--blue);color:white}
.community-preview{padding:16px;border-radius:16px;border-color:var(--line);background:var(--solid)}
.community-dialog-main .community-consent{font-weight:500;font-size:12px}
.community-dialog button:focus-visible,#community button:focus-visible,#community input:focus-visible{outline:3px solid #087ff56b;outline-offset:3px}
#community [hidden],.community-dialog [hidden]{display:none!important}
@media(max-width:520px){.community-cards{grid-template-columns:minmax(0,1fr)}.community-item{padding:18px}.community-account>span{flex-basis:100%}.community-dialog[open]{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.community-dialog-main{padding:18px}}


/* Secondary 3D view retains the existing flight HUD and bottom controls. */
#flight3dMap{position:absolute;inset:0;z-index:1}#flight3dMap[hidden]{display:none}.is-3d #flightLiveMap{visibility:hidden}
.flight-3d-toolbar{position:absolute;right:12px;top:calc(env(safe-area-inset-top) + 160px);z-index:450;display:flex;align-items:flex-start;gap:6px;max-width:calc(100% - 24px)}
.flight-3d-toolbar button{min-width:44px;min-height:44px;border:1px solid #ffffff60;border-radius:13px;background:#172b40e8;color:white;font:inherit;font-size:12px;font-weight:750;padding:9px 12px;touch-action:manipulation}
#flight3dControls{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}#flight3dControls[hidden]{display:none}.flight-3d-toolbar button[aria-pressed="true"]{background:#087ff0}
.flight-3d-status{position:absolute;left:12px;bottom:calc(env(safe-area-inset-bottom) + 126px);z-index:440;max-width:min(340px,calc(100% - 24px));font-size:10px;line-height:1.4;background:#172b40de;color:white;border-radius:8px;padding:5px 8px;pointer-events:none}.flight-3d-status:empty{display:none}
#flight3dMap .cesium-viewer-bottom{bottom:100px;max-width:55%;font-size:9px}
@media(max-width:400px){.flight-3d-toolbar{top:calc(env(safe-area-inset-top) + 175px)}}
.flight-navigation[data-profile-position=top]:has(#flightLiveVertical:not([hidden])) .flight-3d-toolbar{top:calc(env(safe-area-inset-top) + var(--cockpit-profile-height,0px) + 160px)}
@media(orientation:landscape) and (max-height:520px){.flight-3d-toolbar{top:100px;right:10px}#flight3dControls{grid-template-columns:repeat(4,1fr)}.flight-3d-status{max-width:48%;bottom:100px}}

.flight-3d-basemap{grid-column:1/-1;display:flex;align-items:center;gap:6px;color:#fff;font-size:11px;background:#172b40e8;border-radius:10px;padding:5px 8px}.flight-3d-basemap select{min-width:0;flex:1;min-height:34px;color:#fff;background:#253e56;border:1px solid #ffffff40;border-radius:8px;font:inherit;padding:4px}

/* Timer reset stays beside the elapsed time in the flight menu. */
.flight-menu-header .navigation-clock{flex-wrap:wrap;gap:2px 10px}.navigation-elapsed{display:flex;align-items:center;justify-content:center;gap:4px;max-width:100%}.flight-menu-header .navigation-elapsed #flightElapsed{max-width:none;min-width:0}.flight-menu-header .navigation-clock .elapsed-reset{display:grid;place-items:center;flex:none;min-width:44px;width:44px;min-height:44px;max-width:none;padding:10px;border:1px solid #dce7f2;border-radius:12px;background:#edf5ff}.flight-menu-header .navigation-clock .elapsed-reset[hidden]{display:none}.elapsed-reset svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Put the status after the commands in normal flow, clear of map attribution. */
.flight-navigation .navigation-leg-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:8px;align-items:center}.navigation-leg-controls>#mapPreviousLegButton{grid-column:1;grid-row:1}.navigation-leg-controls>#mapNextLegButton{grid-column:3;grid-row:1}.navigation-leg-controls>#flight3dStatus{grid-column:2;grid-row:1;position:static;transform:none;width:100%;max-width:none;min-width:0;margin:0;box-sizing:border-box;text-align:center;font-size:11px;line-height:1.35;padding:7px 6px;overflow-wrap:anywhere}.navigation-leg-controls>#flight3dStatus:empty{display:none}.navigation-bottom:has(#flight3dStatus:not(:empty)){padding-bottom:0}@media(max-width:400px){.flight-navigation .navigation-leg-controls{gap:5px}.navigation-leg-controls>#mapPreviousLegButton,.navigation-leg-controls>#mapNextLegButton{gap:5px;padding:7px 5px;font-size:10px}}

.community-route-map{height:260px;border-radius:16px;overflow:hidden;margin:14px 0;z-index:0}.community-route-table{overflow-x:auto;margin:12px 0}.community-route-table table,.community-diff{width:100%;border-collapse:collapse;font-size:12px}.community-route-table th,.community-route-table td,.community-diff td{padding:10px 6px;text-align:left;border-bottom:1px solid #dfe6ed}.community-diff{table-layout:fixed;overflow-wrap:anywhere}.community-sort{min-height:44px;border:1px solid #dfe6ed;border-radius:12px;padding:8px;background:white;color:#19334d;max-width:100%}

.live-tracking{padding:20px 14px 100px}.live-tracking-map{height:55dvh;min-height:240px;margin:16px 0;border-radius:18px;overflow:hidden;z-index:0}.live-share-controls{margin:18px 0;padding:16px;border:1px solid #dce7f2;border-radius:16px;background:#f5f9ff}.live-share-controls h3{margin:0 0 8px}.live-share-controls p{font-size:12px;line-height:1.5}.live-share-controls label{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin-bottom:10px}.live-share-controls button{min-height:44px;border:1px solid #cbdced;border-radius:12px;padding:10px;color:#1a5687;background:white;margin:4px;cursor:pointer}.live-share-controls [hidden]{display:none!important}

.flight-3d-toolbar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.live-share-details{margin-top:16px}.live-share-details>summary{min-height:44px;display:flex;align-items:center;color:#1a5687;font-weight:700;cursor:pointer}
.community-dialog-main>*{flex-shrink:0}.community-dialog-main .community-route-map{height:260px;min-height:260px;flex:0 0 260px}.community-diff th{padding:10px 6px;text-align:left;border-bottom:1px solid #dfe6ed;font-weight:650;width:42%;vertical-align:top}.community-diff td{white-space:pre-wrap;vertical-align:top}
.efb-account-panel{display:grid;gap:10px;padding:4px 0 12px}.efb-account-actions{display:grid;gap:10px}.efb-account-panel button{min-height:48px;padding:12px 18px;border:1px solid #d7dce3;border-radius:14px;background:#fff;color:#16191e;font:inherit;font-weight:650;cursor:pointer}.efb-account-panel .efb-account-provider--apple{background:#14161b;color:#fff;border-color:#14161b}.efb-account-panel button:disabled{opacity:.48;cursor:default}.efb-account-panel button:focus-visible{outline:3px solid #1388ef;outline-offset:3px}.efb-account-panel p,.efb-account-panel small{margin:0;line-height:1.5;overflow-wrap:anywhere}.efb-account-panel small,.efb-account-note{color:#697383;font-size:.86rem}.efb-account-panel [role=status]{font-size:.92rem}

/* Public publication photos */
.community-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.community-photo-gallery figure{margin:0;min-width:0}
.community-photo-gallery img,.community-photo-cover img{display:block;width:100%;height:150px;object-fit:cover;border-radius:16px;background:#edf1f4}
.community-photo-gallery>button{padding:0;overflow:hidden;background:#edf1f4;border-radius:16px;min-width:0}
.community-photo-gallery figure button{width:100%;margin-top:6px}
.community-photo-cover{margin:-4px -4px 16px;overflow:hidden;border-radius:18px}
.community-photo-cover img{height:180px}
.community-photo-editor{border-top:1px solid #e4e9ed;margin-top:20px;padding-top:12px}
.community-photo-editor input[type=file]{max-width:100%;font-size:14px}
.community-photo-viewer{border:0;border-radius:20px;background:#101b26;color:white;padding:16px;max-width:94vw;max-height:94dvh}
.community-photo-viewer::backdrop{background:rgba(0,0,0,.8)}
.community-photo-viewer button{display:block;margin:0 0 12px auto;padding:10px 18px;border-radius:14px}
.community-photo-viewer img{display:block;max-width:85vw;max-height:75dvh;object-fit:contain}
.photo-unavailable:after{content:'Photo indisponible';display:block;padding:16px;font-size:13px;color:#607080}

.community-photo-gallery>button:only-child{grid-column:1/-1}
.community-photo-gallery>button:only-child img{height:220px}

.flight-stopwatch-dialog{max-width:360px;padding:24px;border:0;border-radius:24px}.stopwatch-actions{display:grid;gap:12px}.stopwatch-actions button{padding:16px;border:0;border-radius:16px;background:#edf4fc;color:#163c59;font-weight:700}.flight-stopwatch-dialog::backdrop{background:#10223366}

.ats-open-page{padding:18px 24px;border:0;border-radius:18px;background:#087ff0;color:white;font-weight:750;font-size:17px;width:100%}
.ats-page{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;background:#f7f8fa;color:#142936}
.ats-page[open]{display:flex;flex-direction:column}.ats-page>header{display:flex;align-items:center;gap:20px;padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));background:white;border-bottom:1px solid #e4e7eb;padding-top:max(16px,env(safe-area-inset-top))}.ats-page h2{font-size:20px;margin:0}.ats-page>header button{border:0;border-radius:12px;padding:12px;background:#edf4fc;color:#0874d0;font-weight:700}
.ats-page-body{overflow:auto;flex:1;padding:24px max(20px,calc((100vw - 900px)/2));padding-bottom:max(24px,env(safe-area-inset-bottom))}.ats-input-hint{font-size:12px;color:#526e64}.ats-needs-input{border-left:3px solid #e8a523;padding-left:10px!important}.ats-needs-input .ats-input-hint{color:#875500}.ats-page .ats-fields input{min-width:0}.ats-page .ats-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ats-page .ats-inputs label{display:grid;gap:7px;font-size:14px}.ats-page input,.ats-page select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #dce3e9;border-radius:12px;background:white;color:#142936}.ats-page .ats-confirm input{width:auto}.ats-page::backdrop{background:#14293680}
@media(max-width:600px){.ats-page .ats-inputs{grid-template-columns:1fr}.ats-page-body{padding:20px}.ats-page .ats-field>div{display:flex;gap:8px}.ats-page .ats-field input{width:100%}}

[data-cloud-panel]{margin-top:24px;padding-top:18px;border-top:1px solid #e5e9ed}.efb-cloud-actions{display:grid;gap:12px}.efb-cloud-actions>button{padding:14px;border:1px solid #dde5ec;border-radius:14px;background:#f6f9fc;color:#163c59;font-weight:650}.efb-cloud-actions>label{font-size:14px;line-height:1.5}.efb-cloud-actions label input[type=checkbox]{margin-right:8px}.efb-cloud-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.efb-cloud-compare pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:11px;padding:10px;background:#f4f6f8;border-radius:12px}[data-cloud-panel] section{padding:16px 0;border-bottom:1px solid #ddd}[data-cloud-panel] section h4{overflow-wrap:anywhere}[data-cloud-panel] section>button{display:block;margin:10px 0;padding:12px;border:1px solid #dde5ec;border-radius:12px}

.ats-page .ats-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.ats-page .ats-actions button,.ats-page .ats-actions a{display:block;padding:13px 16px;border:1px solid #dce5ed;border-radius:14px;background:#fff;color:#183b59;font:650 14px system-ui;text-decoration:none}.ats-page .ats-actions a{background:#087ff0;color:white;border-color:#087ff0}.ats-page .ats-confirm{display:flex;align-items:center;gap:10px;margin-top:24px;line-height:1.5}.ats-page .ats-inputs small{font-size:12px;color:#637b8a}.ats-page .ats-needs-input small{color:#986313}.ats-page .ats-inputs input{font:600 16px system-ui}.ats-page .ats-inputs input:focus{outline:2px solid #2489ed;outline-offset:2px}

.ats-sofia-open{display:block;box-sizing:border-box;text-align:center;text-decoration:none}.ats-transfer-note,.ats-transfer-status{font-size:13px;color:#697487}.ats-transfer-status:empty{display:none}.ats-prepare-secondary{margin-top:12px;padding:12px 16px;border:0;border-radius:12px;background:#edf4fc;color:#163c59;font-weight:650}

.vac-calibration-editor{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#f5f7fa;color:#173245;box-sizing:border-box}.vac-calibration-editor::backdrop{background:#132e4480}.vac-calibration-editor>header{display:flex;align-items:center;gap:16px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:white;border-bottom:1px solid #dce4eb}.vac-calibration-editor h2{font-size:19px;margin:0}.vac-calibration-editor button{border:0;border-radius:12px;padding:12px 16px;background:#e7f1fb;color:#1668a3;font-weight:700}.vac-calibration-editor button[aria-pressed=true]{background:#086fce;color:white}.vac-calibration-body{height:calc(100% - 78px - env(safe-area-inset-top));overflow:auto;padding:16px max(16px,calc((100vw - 1000px)/2)) calc(24px + env(safe-area-inset-bottom));box-sizing:border-box}.vac-calibration-body>p{font-size:13px;line-height:1.55}.vac-calibration-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.vac-calibration-editor label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.vac-calibration-editor input:not([type=checkbox]):not([type=range]),.vac-calibration-editor select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #c4d2df;border-radius:10px;background:white;color:#173245;font:inherit;font-weight:400}.vac-calibration-viewport{overflow:auto;max-height:58dvh;background:#d6dfe7;border:1px solid #c4d2df;border-radius:12px;padding:8px;overscroll-behavior:contain}.vac-calibration-paper{position:relative;background:white;margin:auto;max-width:none;cursor:crosshair;touch-action:pan-x pan-y}.vac-calibration-paper canvas{display:block;width:100%;height:auto}.vac-calibration-paper svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.vac-calibration-point{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:end;margin:12px 0}.vac-calibration-point button{min-height:44px;padding:12px 8px}.vac-calibration-metadata{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.vac-calibration-editor .vac-calibration-confirm{display:flex;flex-direction:row;align-items:start;gap:10px;font-weight:400;line-height:1.5}.vac-calibration-confirm input{flex:none;width:20px;height:20px;margin:0}.vac-calibration-editor [data-error]{color:#a52432;min-height:20px}.vac-calibration-editor [data-save]{width:100%;background:#087ff0;color:white;min-height:48px}.vac-calibration-editor button:disabled{opacity:.45}.vac-georef-settings label{display:grid;gap:6px;margin:12px 0}.vac-georef-settings input:not([type=range]),.vac-georef-settings select{padding:12px;border:1px solid #c4d2df;border-radius:10px;max-width:100%;width:100%;box-sizing:border-box}.vac-georef-actions{display:flex;gap:8px;flex-wrap:wrap}

.efb-radius-input{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 16px;background:#f5f7f9;border:1px solid #d7e0e9;border-radius:12px;color:#61798d}
.efb-radius-input:focus-within{border-color:#2988d5;box-shadow:0 0 0 3px #2988d51a}
.efb-radius-input input{width:100%;min-width:0;min-height:50px;border:0;outline:0;background:transparent;color:#20455e;font-family:inherit;font-size:18px;font-weight:700}
.efb-radius-input>span{font-size:13px;font-weight:700}
.efb-region-map-panel{margin:12px 0 16px;padding:12px;background:#f5f8fb;border:1px solid #dce5ee;border-radius:14px}
.efb-region-map-panel[hidden]{display:none}
.efb-region-map-panel p{margin:0 0 10px;font-size:12px;line-height:1.5;color:#61778b}
.efb-region-map-panel [data-region-map-status]{margin:10px 0 0}
.efb-region-map{height:300px;max-height:55dvh;border-radius:10px;overflow:hidden;isolation:isolate;background:#e7eef4}
.efb-region-panel>[data-region-map-preview]{width:100%;margin:8px 0 12px}
.vac-calibration-methods{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.vac-calibration-methods [data-place]{background:#087ff0;color:white}
.vac-placement-editor{position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#f5f7fa;color:#173245}
.vac-placement-editor[open]{display:flex;flex-direction:column}
.vac-placement-editor>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:#fff}
.vac-placement-editor h2{font-size:17px;margin:0}
.vac-placement-editor button{border:0;border-radius:10px;padding:11px 12px;font-size:12px;font-weight:700;background:#e4effa;color:#176ca7;min-height:42px}
.vac-placement-editor [data-apply],.vac-placement-editor [data-drag][aria-pressed=true]{background:#087ff0;color:#fff}
.vac-placement-editor [data-apply]{max-width:130px}
.vac-placement-map{flex:1;min-height:100px;isolation:isolate;background:#dce7ed}
.vac-placement-image{position:absolute;top:0;left:0;transform-origin:0 0;max-width:none!important;cursor:move;touch-action:none;user-select:none;pointer-events:auto}
.vac-placement-tools{padding:10px 14px calc(10px + env(safe-area-inset-bottom));max-height:42dvh;overflow:auto;background:white;border-top:1px solid #dce4eb}
.vac-placement-tools p{font-size:12px;line-height:1.4;margin:0 0 8px;color:#526d82}
.vac-placement-tools [data-status]{margin:7px 0 0}
.vac-placement-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.vac-placement-tools label{display:grid;gap:5px;min-width:0;color:#526d82;font-size:12px;font-weight:650}
.vac-placement-values{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:10px 0}
.vac-placement-tools input:not([type=range]),.vac-placement-tools select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d2dfeb;border-radius:9px;padding:9px 10px;background:#f5f8fb;color:#173245;font:inherit;min-height:40px}
.vac-placement-tools input[type=range]{width:100%;min-width:0;accent-color:#087ff0;min-height:30px}
.vac-placement-editor button:disabled{opacity:.45}
.vac-placement-editor button:focus-visible,.vac-placement-tools input:focus-visible,.vac-placement-tools select:focus-visible{outline:2px solid #2988d5;outline-offset:2px}
.flight-recordings-dialog,.flight-replay-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#f5f7fa;color:#173245;box-sizing:border-box}
.flight-recordings-dialog>header,.flight-replay-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#fff;border-bottom:1px solid #dce5ed}
.flight-recordings-dialog h2,.flight-replay-dialog h2{font-size:19px;margin:0}.flight-recordings-dialog h3{font-size:17px;margin:0 0 14px}.flight-recordings-dialog header small{font-size:10px;letter-spacing:1px;color:#698092}
.flight-recordings-dialog button,.flight-replay-dialog button{min-height:42px;border:0;border-radius:11px;padding:10px 14px;background:#e6f1fb;color:#176ca7;font-size:13px;font-weight:700}
.flight-recordings-dialog button:disabled,.flight-replay-dialog button:disabled{opacity:.4}
.flight-recordings-body{height:calc(100% - 82px - env(safe-area-inset-top));box-sizing:border-box;padding:20px max(16px,calc((100vw - 900px)/2)) calc(20px + env(safe-area-inset-bottom));overflow:auto}
.recording-capture,.recording-card{padding:18px;background:white;border:1px solid #e0e7ee;border-radius:18px;margin:0 0 18px}.recording-card h4{margin:0 0 8px;font-size:16px}.recording-card p,.recording-capture p,.flight-recordings-body>[data-status]{font-size:12px;line-height:1.5;color:#647b8e}
.flight-recordings-dialog label{display:grid;gap:6px;margin:12px 0;font-size:13px;font-weight:650}.flight-recordings-dialog input:not([type=file]),.flight-recordings-dialog select,.flight-replay-dialog select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d4dfe9;border-radius:10px;padding:11px;background:#f6f9fc;color:#173245;font:inherit}
.flight-recordings-dialog [data-start]{background:#087ff0;color:#fff}.recording-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.recording-card details{margin-top:16px;border-top:1px solid #e5ebf2;padding-top:12px;font-size:12px}.recording-card details input{margin:12px 0}.recording-card details button{margin-right:8px}.recording-import{margin-bottom:16px}.recording-import input{max-width:100%}.recording-gps-control{margin-top:14px}.recording-gps-control [data-recording-live]{font-size:14px}#flightRecordingsEntry{padding:0 18px 10px}
.flight-replay-dialog[open]{display:flex;flex-direction:column}.flight-replay-dialog>header{flex:none}.flight-replay-dialog header>div{min-width:0}.flight-replay-dialog h2{font-size:15px;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-replay-dialog [data-source]{display:block;font-size:10px;margin-top:4px;color:#2479b3}.flight-replay-dialog header>button{padding:10px;flex:none}
.flight-replay-scene{position:relative;flex:1;min-height:100px;isolation:isolate;background:#dae4ec}.flight-replay-scene>[data-map2d],.flight-replay-scene>[data-map3d]{position:absolute;inset:0}.flight-replay-scene [hidden]{display:none!important}.flight-replay-cameras{position:absolute;top:10px;right:10px;z-index:500;display:flex;gap:5px}.flight-replay-cameras button{background:#ffffffe6;min-height:36px;padding:8px 10px;font-size:12px}
.flight-replay-hud{flex:none;display:grid;grid-template-columns:repeat(4,1fr);padding:12px 8px;gap:4px;background:#fff;border-top:1px solid #dce5ee}.flight-replay-hud>div{display:grid;gap:4px;text-align:center}.flight-replay-hud small{font-size:10px;color:#688093}.flight-replay-hud strong{font-size:14px}
.flight-replay-dialog footer{flex:none;max-height:38dvh;overflow:auto;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1e8f0}.flight-replay-dialog footer p{font-size:11px;line-height:1.45;color:#617a8e;margin:4px 0 8px}.flight-replay-dialog [data-time]{width:100%;margin:8px 0;accent-color:#087ff0;min-height:28px}.flight-replay-transport{display:flex;align-items:center;justify-content:space-between;gap:8px}.flight-replay-transport label{display:flex;align-items:center;gap:6px;font-size:11px}.flight-replay-transport select{width:auto;padding:8px}.flight-replay-transport output{font-size:11px;font-variant-numeric:tabular-nums}.flight-replay-dialog [data-play]{min-width:65px;background:#087ff0;color:white}.flight-replay-comparison{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:10px}.flight-replay-comparison input{accent-color:#087ff0}.flight-replay-dialog button[aria-pressed=true]{background:#087ff0;color:white}
.flight-replay-comparison[hidden]{display:none}

.flight-replay-basemap{position:absolute;left:10px;bottom:36px;z-index:500;display:flex;align-items:center;gap:6px;background:#fffffff0;border-radius:11px;padding:4px 8px;font-size:11px;color:#173245;max-width:calc(100% - 20px)}.flight-replay-basemap select{padding:8px;width:145px;background:transparent;border:0;min-height:36px}.flight-replay-dialog [data-profile]{border-bottom:1px solid #e1e8f0;padding-bottom:8px;margin-bottom:8px}.flight-replay-dialog [data-profile][hidden]{display:none}.flight-replay-dialog [data-profile] summary{cursor:pointer;color:#176ca7;font-size:13px;font-weight:650;padding:6px 0}.replay-profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.replay-profile-fields label{display:grid;gap:5px;font-size:11px}.replay-profile-fields input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d4dfe9;background:#f6f9fc;border-radius:9px;padding:9px;font:inherit;color:#173245}

.saved-flight-card .saved-flight-name{all:unset;display:inline-block;max-width:100%;overflow-wrap:anywhere;cursor:pointer;line-height:1.35;font:inherit;color:inherit}.saved-flight-card .saved-flight-name:focus-visible{outline:2px solid #087ff0;outline-offset:4px;border-radius:4px}.saved-flight-card .saved-flight-name:disabled{opacity:.55;cursor:wait}.saved-flight-card .saved-flight-name:hover{text-decoration:underline;text-decoration-color:#b5c9da;text-underline-offset:4px}
.recording-import-heading{font-size:15px;font-weight:700;margin-top:20px}.flight-recordings-dialog label.recording-file-picker{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:16px;border:1px solid #d6e4ef;border-radius:15px;background:#edf5fc;color:#176ca7;cursor:pointer;box-sizing:border-box}.recording-file-picker>svg{width:25px;height:25px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.recording-file-picker>span{display:grid;gap:5px;min-width:0}.recording-file-picker small{font-weight:400;color:#647b8e;font-size:11px}.recording-file-picker [data-import-filename]{font-size:11px;color:#385d79;font-weight:500;overflow-wrap:anywhere}.recording-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.recording-file-picker:focus-within{outline:2px solid #087ff0;outline-offset:2px}.recording-capture .recording-chrono-note{color:#246a9c;background:#eff6fc;border-radius:10px;padding:10px 12px}.stopwatch-recording-note{font-size:12px;line-height:1.5;color:#617a8e}.navigation-clock #flightRecordingHint{flex-basis:100%;font-size:10px;line-height:1.4;color:#617a8e;margin-top:4px}.navigation-clock #flightRecordingHint[data-state=recording]{color:#c02c3e}.navigation-clock #flightRecordingHint[data-state=waiting]{color:#ad7115}


/* File actions shared by publication photos and private backup restore. */
.community-dialog-main label.efb-file-picker,.efb-cloud-actions>label.efb-file-picker{position:relative;display:flex;align-items:center;gap:14px;box-sizing:border-box;min-height:72px;margin:0;padding:16px;border:1px solid #d8e5ef;border-radius:16px;background:#f2f7fc;color:#176ca7;cursor:pointer;overflow:hidden}
.efb-file-picker>svg{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.efb-file-picker>span{display:grid;gap:4px;min-width:0}.efb-file-picker strong{font-size:15px;font-weight:650;line-height:1.35}.efb-file-picker small{font-size:12px;line-height:1.4;font-weight:400;color:#61798c;overflow-wrap:anywhere}
.community-dialog-main .efb-file-picker input[type=file],.efb-cloud-actions .efb-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.efb-file-picker:focus-within{outline:3px solid #087ff0;outline-offset:3px}.efb-file-picker:active{background:#e7f1fb}.efb-file-picker.is-disabled,.efb-file-picker:has(input:disabled){opacity:.5;cursor:default}.efb-file-picker input:disabled{cursor:default}
.efb-account-panel [role=status]:empty,.community-photo-editor [role=status]:empty,.community-photo-gallery:empty{display:none}.community-photo-editor h3{margin:0 0 12px}.efb-account-panel:has([role=status]:empty){padding-bottom:0}


.recording-select-label{margin:0 0 16px!important}.recording-select-label select{min-height:52px;font-weight:600}.flight-recordings-body>[data-capture-status]{font-size:12px;color:#bf3346;line-height:1.5}.flight-recordings-body>.recording-actions:has(button:not([hidden])){margin-bottom:16px}.flight-recordings-body>[data-list]:empty{display:none}

/* Route generation: indeterminate progress and persistent result feedback. */
.pw-map-status[data-route-state]{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dce7ef;box-shadow:0 4px 20px #17253618;font-size:13px;line-height:1.4;max-width:min(500px,calc(100vw - 40px));box-sizing:border-box}
.pw-map-status[data-route-state=loading]::before,.planner-auto-route-button[data-route-state=loading]::before{content:"";display:inline-block;flex:none;width:18px;height:18px;border:2px solid #b9dafa;border-top-color:#087ff0;border-radius:50%;animation:route-spinner .8s linear infinite}
.planner-auto-route-button[data-route-state=loading]{display:flex;align-items:center;justify-content:center;gap:10px}
.pw-map-status[data-route-state=success]{background:#edf9f1;color:#23683c;border-color:#c9e7d4}.pw-map-status[data-route-state=success]::before{content:"✓";font-size:20px;font-weight:800}
.pw-map-status[data-route-state=error]{background:#fff0ef;color:#9c342f;border-color:#efccc8}.pw-map-status[data-route-state=error]::before{content:"!";display:grid;place-items:center;flex:none;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font-weight:800}
@keyframes route-spinner{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pw-map-status[data-route-state=loading]::before,.planner-auto-route-button[data-route-state=loading]::before{animation:none}}

.planner-endpoint-warning{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 138px);left:16px;right:16px;max-width:560px;max-height:25dvh;overflow:auto;z-index:451;background:#fff4d2;color:#714d07;border:1px solid #e3c879;border-radius:14px;padding:12px 16px;box-shadow:0 3px 12px #0002;font-size:.88rem;line-height:1.4}.planner-endpoint-warning[hidden]{display:none}.planner-endpoint-warning>summary{cursor:pointer;font-weight:700}.planner-endpoint-warning>div{white-space:pre-line;margin-top:10px}.planner-route-review{white-space:pre-line}

/* Public profiles and visual publication catalogue. */
#community .community-item{display:block;padding:0;overflow:hidden;border-radius:20px;background:var(--solid)}
.community-item .community-cover-link{display:block;position:relative;width:100%;margin:0;padding:0;border:0;border-radius:0;background:#dfebf4;overflow:hidden;aspect-ratio:16/9;cursor:pointer}
.community-cover-link .community-photo-cover{width:100%;height:100%;margin:0}.community-cover-link .community-photo-cover img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.community-cover-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;background:linear-gradient(145deg,#e7f1ec,#cedff0);color:#244a6b}.community-cover-placeholder>span{font-size:52px}.community-cover-placeholder>strong{font-size:23px;max-width:90%;text-align:center}
.community-card-info{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 0}.community-card-info>:not(.community-feed-view){margin-left:18px;margin-right:18px}.community-card-info h3{font-size:22px;line-height:1.3}.community-card-info .community-tag{justify-self:start}.community-card-info small{color:var(--muted);font-size:12px}
.community-item .community-title-button{padding:0;margin:0;background:transparent;color:var(--ink);border:0;border-radius:0;min-height:0;font:inherit;text-align:left;overflow-wrap:anywhere}
.community-item .community-author,.community-author{display:flex;align-items:center;gap:9px;width:auto;min-height:40px;margin:0;padding:0;background:transparent!important;border:0;color:var(--ink)!important;font:inherit;font-size:13px;text-align:left;cursor:pointer}
.community-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:34px;height:34px;overflow:hidden;border-radius:50%;background:#e7f0fa;color:#23639a;font-size:15px;font-weight:700}.community-avatar img{width:100%;height:100%;object-fit:cover}
.community-profile-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.community-profile-heading .community-avatar,.community-profile-editor .community-avatar{width:76px;height:76px;font-size:30px}.community-profile-heading>div{min-width:0}.community-profile-heading h3{font-size:24px}.community-profile-heading p{white-space:pre-wrap;overflow-wrap:anywhere}
.community-profile-editor,.community-discussion{border-top:1px solid var(--line);padding-top:18px;margin-top:14px}.community-profile-editor>summary{cursor:pointer;font-weight:700;min-height:44px}.community-profile-tabs{display:flex;gap:8px;margin:20px 0 12px}.community-profile-tabs button{flex:1}.community-profile-tabs button[aria-pressed=true]{background:var(--blue);color:#fff}
.community-profile-publication{padding:16px 0;border-top:1px solid var(--line)}.community-profile-publication>strong{display:block;overflow-wrap:anywhere}.community-profile-publication button{margin-right:8px}.community-profile-publication p{margin:8px 0}
.community-profile-editor form,.community-discussion form{display:grid;gap:14px}.community-profile-editor label,.community-discussion label{display:grid;gap:8px}.community-profile-editor input:not([type=file]),.community-profile-editor textarea,.community-discussion textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:16px;background:var(--solid)}
.community-profile-editor button,.community-profile-tabs button,.community-profile-publication button,.community-discussion button,.community-video-editor button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--solid);color:var(--blue);font:inherit;cursor:pointer}.community-discussion [type=submit],.community-profile-editor [type=submit]{background:var(--blue);color:white;font-weight:700}
.community-discussion{display:grid;gap:16px}.community-discussion details>summary{padding:12px 0;font-weight:650;cursor:pointer}.community-stars{display:flex;gap:4px}.community-stars button{font-size:32px;line-height:1;padding:6px;color:#b97600;background:transparent;border:0}.community-stars button[aria-pressed=true]{background:#fff2ca}.community-comment{padding:18px 0;border-top:1px solid var(--line)}.community-comment>p{white-space:pre-wrap;overflow-wrap:anywhere}.community-comment>small{display:block;color:var(--muted);margin:6px 0}
.community-video-editor{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.community-video-editor h3{margin-bottom:12px}.community-video{display:block;width:100%;max-height:50dvh;aspect-ratio:16/9;object-fit:contain;border-radius:14px;background:#121c26;margin:14px 0}.community-video-badge{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:6px;background:#101722dc;color:white;font-size:12px}
.community-crop-dialog[open]{display:flex;flex-direction:column;gap:14px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;padding:20px;width:min(92vw,560px);max-height:90dvh;overflow-y:auto;border:0;border-radius:20px;background:var(--solid);color:var(--ink)}.community-crop-dialog::backdrop{background:#101927a6}.community-crop-dialog h2{margin:0;font-size:21px}.community-crop-dialog canvas{display:block;width:100%;height:auto;border-radius:12px}.community-crop-dialog label{display:grid;gap:8px;margin-bottom:12px}.community-crop-dialog input{width:100%;min-height:36px}.community-crop-dialog button{min-height:44px;border:0;border-radius:12px;padding:12px;font:inherit;background:var(--blue-soft);color:var(--blue)}.community-crop-dialog button:last-child{background:var(--blue);color:#fff}

.community-discussion [role=status],.community-profile-editor [role=status],.community-video-editor [role=status]{color:var(--muted);font-size:13px}.community-discussion [role=status]:empty,.community-video-editor [role=status]:empty{display:none}

.planner-endpoint-warning>summary{padding-right:32px}.planner-endpoint-close{position:absolute;right:6px;top:4px;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:inherit;font-size:26px;cursor:pointer}.planner-endpoint-close:focus-visible{outline:2px solid currentColor}

.planner-route-error-dialog{width:min(440px,calc(100vw - 32px));max-height:80dvh;overflow:auto;border:1px solid #e0e5ec;border-radius:22px;padding:24px;color:var(--ink);background:#fff;box-sizing:border-box}.planner-route-error-dialog::backdrop{background:#15233370;backdrop-filter:blur(3px)}.planner-route-error-dialog header{display:flex;align-items:center;gap:12px}.planner-route-error-dialog h2{font-size:20px;flex:1;margin:0}.planner-route-error-dialog p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.planner-route-error-dialog #plannerRouteErrorReason{color:#993b32}.planner-route-error-dialog button{min-height:44px;border:0;border-radius:12px;background:#e8f2fc;color:#1767a4;padding:10px 18px;font:inherit;cursor:pointer}.planner-route-error-dialog header button{padding:0;width:44px;font-size:24px}.planner-route-error-dialog form>button{width:100%;background:#087ff0;color:#fff;font-weight:700}.planner-detour-reason{color:#965107;font-weight:700}

.planner-required-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#1767a4;margin:6px 0}.planner-required-label input{width:18px;min-height:18px;accent-color:#087ff0}.planner-pin.mandatory{outline:2px solid #1767a4;outline-offset:3px}.planner-loop-options{border:1px solid #dce6ef;border-radius:14px;padding:12px;display:grid;gap:10px}.planner-loop-options[hidden]{display:none}.planner-loop-options legend{font-size:13px;font-weight:700;padding:0 5px}


/* Mémo and community use the existing document tabs and form controls. */
#memoSpacesPanel[hidden],#memoProceduresPanel[hidden],#tools[hidden]{display:none!important}
#tools{padding-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#community .community-tabs{display:flex;flex-wrap:wrap;gap:6px}
.community-recording-preview{padding:12px 0;border-top:1px solid #e7ebf0}.community-recording-preview h3{margin:0 0 6px}.community-recording-preview p{margin:0;color:#667587;font-size:13px}
@media(max-width:420px){.tabbar .tab[data-target="community"] span{font-size:10px}.community-tab{padding:10px 12px}}

.community-account .community-profile-card{display:flex;align-items:center;gap:14px;width:100%;max-width:480px;padding:18px;text-align:left;border-radius:20px;background:var(--solid);box-shadow:0 6px 20px rgba(20,50,80,.05)}
.community-profile-card .community-avatar{width:52px;height:52px;font-size:22px}
.community-profile-card-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.community-profile-card-copy strong{font-size:16px;overflow-wrap:anywhere;color:var(--ink)}
.community-profile-card-copy>span{font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}
.community-profile-card-arrow{font-size:28px;font-weight:400;color:var(--muted)}
.community-account .community-profile-card:hover{border-color:#4098e0}
.community-account .community-profile-card:focus-visible{outline:3px solid #4098e0;outline-offset:3px}

/* Community overview: compact profile header, actions + categories, then search + sorting. */
#community .community-head{padding-bottom:18px}
#community .community-head-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,42%);align-items:center;gap:20px}
#community .community-head-text{min-width:0}
#community .community-head-text>p{max-width:550px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
#community .community-profile-slot{min-width:0}
#community .community-profile-slot .community-account{display:block;margin:0;width:100%}
#community .community-profile-slot .community-profile-card{width:100%;max-width:none;min-height:76px;box-sizing:border-box;padding:12px 14px;border-radius:16px;gap:10px}
#community .community-profile-slot .community-avatar{width:44px;height:44px;font-size:18px}
#community .community-profile-slot .community-profile-card-copy strong{font-size:14px}
#community .community-profile-slot .community-profile-card-copy>span{font-size:11px;line-height:1.35}
#community .community-profile-slot .community-profile-card-arrow{font-size:22px}
#community .community-controls{display:block;margin:18px 0 12px}
#community .community-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;box-sizing:border-box;width:100%;min-width:0;gap:4px;padding:4px}
#community .community-tab{flex:1 1 auto;min-width:0;padding:8px 9px;font-size:12px;line-height:1.2;white-space:nowrap}
#community .community-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,200px);align-items:end;gap:12px;margin:0 0 18px}
#community .community-search{min-width:0;max-width:none;margin:0}
#community .community-sort{width:100%;min-width:0;min-height:48px;box-sizing:border-box;background:var(--solid)}
@media(max-width:760px){
  #community .community-head-content{grid-template-columns:minmax(0,1fr) minmax(215px,40%)}
}
@media(max-width:520px){
  #community .community-head-content{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
  #community .community-head-text h1{font-size:clamp(24px,6vw,30px);letter-spacing:-1px}
  #community .community-profile-slot .community-profile-card{width:auto;min-height:48px;padding:10px;gap:7px}
  #community .community-profile-slot .community-avatar{width:34px;height:34px;font-size:14px}
  #community .community-profile-slot .community-profile-card-copy strong{font-size:12px}
  #community .community-profile-slot .community-profile-card-copy>span,#community .community-profile-slot .community-profile-card-arrow{display:none}
  #community .community-tabs{overflow-x:auto;scrollbar-width:thin}
  #community .community-toolbar{grid-template-columns:minmax(0,1fr) minmax(118px,35%);gap:8px}
  #community .community-search input{font-size:14px}
}

/* My Profile lives in its own app screen; publication details stay dialogs. */
#community-profile{box-sizing:border-box;min-width:0;width:100%;padding:8px 4px 120px}
#community-profile .community-back{padding:0 0 14px;min-height:44px}
.community-profile-page-title{padding:6px 0 20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.community-profile-page-title h1{font-size:clamp(30px,7vw,42px);line-height:1.1;letter-spacing:-.04em;margin:12px 0 0}
.community-profile-page-content{max-width:850px;margin:0 auto;min-width:0}
.community-profile-inner{min-width:0}
.community-profile-page-content .community-profile-heading{gap:18px;padding:20px 0 24px;margin:0}
.community-profile-page-content .community-profile-heading .community-avatar{width:108px;height:108px;font-size:42px;box-shadow:0 0 0 4px var(--solid),0 3px 16px #14283f1b}
.community-profile-page-content .community-profile-heading h3{font-size:clamp(22px,4vw,28px);margin:0 0 8px}
.community-profile-page-content .community-profile-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.community-profile-page-content .community-profile-editor{padding:18px 0;border-top:1px solid var(--line)}
.community-profile-page-content .community-profile-editor form{max-width:620px}
.community-profile-page-content .community-profile-editor .community-avatar{width:92px;height:92px;box-shadow:0 0 0 3px var(--solid)}
.community-profile-page-content .community-profile-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0 10px}
.community-profile-page-content .community-profile-tabs button{min-width:0;padding:10px 6px;font-size:13px}
.community-profile-page-content .community-profile-publications{min-width:0}
.community-profile-page-content .community-profile-publication{padding:18px 4px}
.community-profile-page-content>.community-profile-inner+p{color:var(--muted);font-size:13px;margin:24px 0 12px}
.community-profile-page-content>button{margin-top:8px}
.community-avatar img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%}
.community-crop-dialog{box-sizing:border-box}
.community-crop-help{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.community-crop-preview{position:relative;display:block;overflow:hidden;align-self:center;width:min(100%,440px);border-radius:14px;touch-action:none;cursor:grab;user-select:none;background:#101927}
.community-crop-preview.is-dragging{cursor:grabbing}
.community-crop-preview canvas{display:block;width:100%;height:auto;max-width:none}
.community-crop-preview.is-avatar::after{content:'';position:absolute;inset:4%;border-radius:50%;border:2px solid #ffffffeb;box-shadow:0 0 0 200px #10192769;pointer-events:none}
.community-crop-controls{display:grid;gap:10px}
.community-crop-controls label{display:grid;grid-template-columns:minmax(135px,1fr) minmax(0,1.3fr);align-items:center;gap:12px;margin:0;font-size:13px;color:var(--ink)}
.community-crop-controls input{min-width:0;width:100%;accent-color:var(--blue);touch-action:pan-x}
.community-crop-actions{display:flex;gap:10px;margin-top:4px}
.community-crop-actions button{flex:1}
@media(max-width:520px){
 #community-profile{padding:8px 12px 120px}
 .community-profile-page-content .community-profile-heading .community-avatar{width:88px;height:88px;font-size:32px}
 .community-profile-page-content .community-profile-tabs{gap:4px}
 .community-profile-page-content .community-profile-tabs button{font-size:11px;padding:10px 3px}
 .community-crop-dialog[open]{width:calc(100vw - 22px);max-height:calc(100dvh - 24px);padding:16px}
 .community-crop-controls label{grid-template-columns:1fr;gap:4px}
}

/* Communauté — prominent loading indicator for fetch, search and refresh. */
#communityLoading[hidden]{display:none!important}
#communityLoading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:190px;padding:18px 14px;margin:12px 0 18px;border:1px solid var(--line);border-radius:22px;background:var(--solid);text-align:center;color:var(--ink)}
.community-loading-spinner{display:block;width:62px;height:62px;box-sizing:border-box;border:6px solid var(--blue-soft);border-top-color:var(--blue);border-right-color:var(--blue);border-radius:50%;animation:community-spin .85s linear infinite;margin-bottom:8px}
#communityLoading strong{font-size:16px;font-weight:780}
#communityLoading>span:last-child{font-size:12px;color:var(--muted)}
@keyframes community-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.community-loading-spinner{animation-duration:3s}}

/* Click-to-edit user identity; no separate profile editing panel. */
.community-profile-avatar-editor{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;gap:4px}
.community-avatar-trigger{display:block;position:relative;border:0;background:transparent;padding:0;cursor:pointer;border-radius:50%}
.community-avatar-trigger .community-avatar{width:108px;height:108px;display:grid;place-items:center;font-size:40px}
.community-avatar-trigger::after{content:'✎';position:absolute;right:1px;bottom:1px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;border:3px solid var(--solid);font-size:15px;font-weight:700;box-shadow:0 2px 8px #0002}
.community-avatar-trigger:hover .community-avatar{filter:brightness(.94)}
.community-avatar-trigger:focus-visible,.community-inline-edit:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.community-avatar-remove{background:none;border:none;padding:6px;color:var(--muted);font-size:11px;cursor:pointer}
.community-profile-identity{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:5px;flex:1}
.community-profile-identity h3{margin:0}
.community-inline-edit{border:0!important;background:transparent!important;display:block;padding:3px 8px 3px 0;color:var(--ink)!important;text-align:left;max-width:100%;overflow-wrap:anywhere;cursor:text}
.community-inline-edit::after{content:'✎';font-size:12px;color:var(--muted);margin-left:9px;opacity:.55}
.community-inline-name{font-size:clamp(22px,4vw,28px);line-height:1.25;font-weight:780;letter-spacing:-.6px}
.community-inline-bio{font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--muted)!important}
.community-inline-input{box-sizing:border-box;display:block;min-width:0;width:min(100%,500px);min-height:46px;padding:10px 12px;border:1px solid var(--blue);border-radius:13px;background:var(--solid);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.community-profile-identity .community-inline-input{width:100%}
.community-profile-status{font-size:12px;color:var(--muted);margin:0 0 8px}
.community-profile-status:empty{display:none}
.community-profile-page-content .community-profile-heading{align-items:center}
@media(max-width:520px){.community-avatar-trigger .community-avatar{width:88px;height:88px;font-size:32px}.community-avatar-trigger::after{width:25px;height:25px}.community-inline-name{font-size:22px}}

/* Alphabet OACI, same minimal visual vocabulary as the calculators. */
#toolResultCard[hidden],#toolCalculatorCard[hidden],#icaoAlphabetCard[hidden]{display:none!important}
.icao-alphabet-card{margin-top:4px;padding:22px;border:1px solid var(--line);border-radius:26px;background:var(--solid);box-shadow:var(--small-shadow)}
.icao-alphabet-card h2{font-size:26px;letter-spacing:-.5px;margin:10px 0 6px;color:var(--ink)}
.icao-alphabet-card>p:not(.icao-spelling){font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.icao-alphabet-card>label{display:block;font-size:12px;font-weight:750;margin-bottom:8px}
#icaoSpellInput{box-sizing:border-box;display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--solid);color:var(--ink);font:inherit;font-size:16px}
#icaoSpellInput:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.icao-spelling{min-height:24px;margin:12px 0 21px;padding:12px 14px;border-radius:12px;background:var(--blue-soft);font-size:13px;font-weight:680;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
.icao-alphabet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.icao-alphabet-letter{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.icao-alphabet-letter strong{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue-soft);font-size:16px;font-weight:850;color:var(--blue)}
.icao-alphabet-letter span{font-size:13px;font-weight:720;min-width:0;overflow-wrap:anywhere;color:var(--ink)}
@media(max-width:800px){.icao-alphabet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.icao-alphabet-card{padding:17px;border-radius:20px}.icao-alphabet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.icao-alphabet-letter{gap:9px;padding:9px}.icao-alphabet-letter strong{width:32px;height:32px}.icao-alphabet-letter span{font-size:12px}}

/* v267: compact, keyboard-accessible, touch-friendly preset avatar gallery. */
.community-avatar-picker[open]{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(500px,calc(100vw - 24px));max-height:min(720px,calc(100dvh - 28px));padding:25px;border:1px solid var(--line);border-radius:25px;background:var(--solid);color:var(--ink);box-shadow:0 22px 60px #11192d38;overflow-y:auto}
.community-avatar-picker::backdrop{background:#131d2f88;backdrop-filter:blur(5px)}
.community-avatar-picker h2{margin:0 0 8px;font-size:24px;letter-spacing:-.6px}
.community-avatar-picker>p{margin:0 0 20px;font-size:13px;line-height:1.5;color:var(--muted)}
.community-avatar-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.community-avatar-preset{display:flex;flex-direction:column;align-items:center;gap:7px;padding:11px 5px;border:1px solid var(--line);border-radius:17px;background:var(--solid);color:var(--ink);font:inherit;cursor:pointer;transition:background .15s,border-color .15s}
.community-avatar-preset:hover,.community-avatar-preset:focus-visible{background:var(--blue-soft);border-color:var(--blue);outline:none}
.community-avatar-preset[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}
.community-avatar-preset img{display:block;width:min(100%,68px);aspect-ratio:1;border-radius:50%;object-fit:cover}
.community-avatar-preset span{font-size:11px;text-align:center;line-height:1.3}
.community-avatar-picker-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.community-avatar-picker-actions button{min-height:44px;border:1px solid var(--line);border-radius:13px;background:var(--solid);font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.community-avatar-picker-actions button:first-child{grid-column:span 2;background:var(--blue);border-color:var(--blue);color:#fff}
.community-avatar-picker-actions button:hover{filter:brightness(.96)}
.community-profile-publish{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;border:0;border-radius:13px;margin:20px 0 12px;background:var(--blue);color:#fff;font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.community-profile-publish:hover{filter:brightness(.94)}
.community-profile-publish:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.community-profile-publish+.community-profile-tabs{margin-top:0}
@media(max-width:520px){.community-avatar-picker[open]{padding:18px;border-radius:21px}.community-avatar-picker-grid{gap:6px}.community-avatar-preset{padding:9px 2px}.community-avatar-preset img{width:min(100%,58px)}.community-avatar-preset span{font-size:10px}}

/* One-finger drag and two-finger pinch on photo crop: no directional sliders. */
.community-crop-preview{touch-action:none;overscroll-behavior:contain}
.community-crop-controls{margin-top:5px}
.community-crop-controls label{grid-template-columns:80px minmax(0,1fr)}
@media(max-width:520px){.community-crop-controls label{grid-template-columns:65px minmax(0,1fr)}}

/* Credentials next to the pilot's public nickname. Self-declared, not verified. */
.community-profile-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;width:100%;margin-bottom:4px}
.community-profile-name-row .community-inline-name,.community-profile-name-row h3{flex:0 1 auto;margin:0 6px 0 0}
.community-license-chip{display:inline-flex;align-items:center;justify-content:center;min-height:25px;max-width:100%;padding:3px 9px;box-sizing:border-box;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}
.community-license-edit{min-height:28px;padding:4px 9px;background:var(--solid);border:1px solid var(--line);border-radius:10px;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}
.community-license-edit:hover,.community-license-edit:focus-visible{color:var(--blue);border-color:var(--blue);outline:none}
.community-credential-picker[open]{position:fixed;inset:0;box-sizing:border-box;width:min(660px,calc(100vw - 22px));max-height:calc(100dvh - 36px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--solid);box-shadow:0 25px 80px #1b24384a;color:var(--ink);overflow-y:auto}
.community-credential-picker::backdrop{background:#13243a8a;backdrop-filter:blur(5px)}
.community-credential-picker h2{margin:0 0 8px;font-size:24px;letter-spacing:-.6px}
.community-credential-picker>p{margin:0 0 15px;font-size:12px;line-height:1.6;color:var(--muted)}
.community-credential-picker input[type=search]{display:block;width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:13px;padding:9px 12px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;margin:0 0 12px}
.community-credential-groups{display:grid;gap:16px}
.community-credential-groups>section{padding:6px 0 12px}
.community-credential-groups>section[hidden],.community-credential-choice[hidden]{display:none!important}
.community-credential-groups h3{font-size:14px;margin:0 0 10px}
.community-credential-choice{display:flex;align-items:center;gap:12px;padding:9px 10px;margin:3px 0;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.community-credential-choice:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.community-credential-choice input{width:17px;height:17px;flex:none;accent-color:var(--blue)}
.community-credential-choice span{display:flex;flex-direction:column;gap:2px}
.community-credential-choice strong{font-size:13px;font-weight:750}
.community-credential-choice small{font-size:11px;line-height:1.4;color:var(--muted)}
.community-credential-actions{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;gap:8px;padding:13px 0 3px;background:var(--solid)}
.community-credential-actions button{padding:10px 13px;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--solid);color:var(--ink);font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.community-credential-actions button:last-child{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:520px){.community-credential-picker[open]{padding:16px;border-radius:20px}.community-credential-actions{bottom:-16px}.community-profile-name-row{gap:5px}}

/* v270 — consistent feed tiles, including profile and rounded photographic headers. */
.community-item{isolation:isolate;overflow:hidden;border-radius:20px}
.community-item>.community-cover-link{border-radius:20px!important;overflow:hidden;margin:0!important;clip-path:inset(0 round 20px)}
.community-cover-link>.community-photo-cover,.community-cover-link>.community-photo-cover img{display:block;width:100%!important;height:100%!important;border-radius:0!important;margin:0!important;object-fit:cover}
.community-cover-link>.community-photo-cover{position:absolute;inset:0;z-index:0}
.community-item>.community-card-info{position:relative;background:var(--solid);margin-top:0;border-radius:0 0 20px 20px}
.community-feed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;align-items:start}
.community-feed-grid>.community-item{min-width:0;box-shadow:var(--small-shadow)}
.community-profile-publications .community-progress{grid-column:1/-1}
.community-download-stats{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px;border-radius:12px;background:var(--blue-soft);font-size:13px;font-weight:700;color:var(--ink)}
/* A visible spinner for data fetches, publishing, replay and video transcoding. */
.community-progress{display:flex;align-items:center;justify-content:center;gap:12px;min-height:84px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--solid);font-size:14px;color:var(--muted)}
.community-progress-spinner{width:34px;height:34px;display:block;flex:none;border:4px solid var(--blue-soft);border-top-color:var(--blue);border-right-color:var(--blue);border-radius:50%;animation:community-spin .78s linear infinite}
.community-dialog button.is-loading{position:relative;pointer-events:none;opacity:.75;padding-right:44px}
.community-dialog button.is-loading:after{content:'';position:absolute;right:14px;top:50%;width:15px;height:15px;margin-top:-9px;border:2px solid currentColor;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;animation:community-spin .7s linear infinite}
.community-profile-status:not(:empty):first-child:before{content:'';display:inline-block;vertical-align:middle;width:18px;height:18px;margin-right:9px;border:3px solid var(--blue-soft);border-top-color:var(--blue);border-radius:50%;animation:community-spin .9s linear infinite}
.community-video-editor [role=status]:not(:empty):before{content:'';display:inline-block;vertical-align:middle;width:16px;height:16px;margin-right:8px;border:2px solid var(--blue-soft);border-top-color:var(--blue);border-radius:50%;animation:community-spin .8s linear infinite}
.community-dialog-main>.community-progress{margin:20px 0}
/* Five animated aircraft pictograms instead of classic stars. */
.community-stars{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.community-stars button{font-size:27px;line-height:1.2;opacity:.4;filter:grayscale(1);transform:scale(.9);border:1px solid transparent;border-radius:12px;background:transparent;padding:9px;transition:opacity .2s,transform .23s cubic-bezier(.2,1.6,.35,1),filter .2s,background .2s}
.community-stars button:hover,.community-stars button:focus-visible{opacity:1;filter:none;transform:scale(1.22);background:var(--blue-soft)}
.community-stars button.is-selected{opacity:1;filter:none;transform:scale(1.1);background:var(--blue-soft);border-color:var(--blue)}
.community-stars button.is-choosing{animation:community-plane-bounce .42s cubic-bezier(.15,1.55,.4,1)}
@keyframes community-plane-bounce{0%{transform:scale(.8) rotate(-13deg)}55%{transform:scale(1.32) rotate(11deg)}100%{transform:scale(1.1) rotate(0)}}
/* Share chooser uses a separate focused popup over the publication details. */
.community-share-dialog[open]{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 26px));max-height:calc(100dvh - 40px);padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--solid);color:var(--ink);box-shadow:0 15px 60px #10203455}
.community-share-dialog::backdrop{background:#101a2d99;backdrop-filter:blur(4px)}
.community-share-dialog h2{font-size:23px;margin:0 0 16px}
.community-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.community-share-actions button{min-height:48px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.community-share-actions button:hover{border-color:var(--blue);background:var(--blue-soft)}
.community-share-actions button:first-child{grid-column:1/-1;background:var(--blue);color:white;border-color:var(--blue)}
.community-share-dialog>input{width:100%;padding:10px;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.community-progress-spinner,.community-video-editor [role=status]:before,.community-dialog button.is-loading:after,.community-profile-status:before,.community-stars button.is-choosing{animation:none!important}.community-stars button{transition:none}}

/* v271 — full-page community publications, 2D route and 3D replay access */
#community-publication{box-sizing:border-box;min-width:0;padding:8px 4px 125px;width:100%}
#community-publication>.community-back{display:block;min-height:42px;margin:0 0 16px;padding:5px 0}
.community-publication-content{min-width:0;max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.community-publication-content>h1{font-size:clamp(26px,4.5vw,38px);line-height:1.18;letter-spacing:-.04em;margin:3px 0 0}
.community-publication-content>p{font-size:14px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.community-publication-content>.community-publication-route{min-width:0;margin:6px 0 14px}
.community-publication-route .community-route-map{height:min(58vh,500px);min-height:330px;position:relative;border-radius:20px;overflow:hidden;isolation:isolate}
.community-publication-route .community-route-table{margin:18px 0}
.community-publication-view-switch{display:flex;gap:9px;padding:5px;border-radius:15px;background:var(--blue-soft);align-self:start}
.community-publication-view-switch button{padding:10px 15px;min-height:43px;border:0;border-radius:11px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);background:transparent;cursor:pointer}
.community-publication-view-switch button.is-selected{background:var(--solid);box-shadow:0 2px 12px #142a4621}
.community-publication-view-switch button:hover{background:var(--solid)}
.community-publication-content>.community-author{align-self:flex-start}
.community-publication-content>.community-replay-primary,.community-publication-content>.community-import-button{display:block;width:100%;min-height:47px;border:1px solid var(--blue);border-radius:13px;font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.community-publication-content>.community-replay-primary{background:var(--blue);color:white}
.community-publication-content>.community-import-button{background:var(--blue-soft);color:var(--blue)}
.community-publication-content>.community-discussion{margin-top:14px}
.community-discussion>h3{margin:0 0 10px}
.community-discussion-stats{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:13px 15px;border-radius:14px;background:var(--blue-soft);font-size:13px;font-weight:720;color:var(--ink)}
.community-discussion-rating,.community-discussion-imports{display:inline-flex;align-items:center;gap:6px}
.community-discussion-rating{overflow-wrap:anywhere}
.community-discussion .community-stars{margin-top:10px}
.community-single-comment-message{font-size:12px;line-height:1.5;color:var(--muted);padding:10px 13px;background:var(--surface);border-radius:12px}
.community-single-comment-message[hidden]{display:none!important}
.community-delete-button{justify-self:start;padding:8px 13px;border:1px solid #f3b8b8;border-radius:10px;background:#fff0f0;color:#b91c1c;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.community-delete-button:hover,.community-delete-button:focus-visible{border-color:#cc3333;background:#ffe3e3;outline:none}
.community-item .community-delete-button{min-height:38px;max-width:100%}
@media(max-width:520px){
 #community-publication{padding:6px 10px 115px}
 .community-publication-route .community-route-map{height:340px;min-height:280px}
 .community-publication-view-switch{width:100%;box-sizing:border-box}
 .community-publication-view-switch button{flex:1;padding:10px 6px}
}

/* v273 — natural-size aircraft emojis and compact selectable rating. */
.community-stars{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.community-stars button{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  width:35px;height:35px;min-width:35px;min-height:35px;padding:5px!important;
  font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:18px!important;font-weight:400;line-height:1!important;
  color:inherit!important;background:transparent;border:1px solid transparent;border-radius:9px;
  opacity:1!important;filter:none!important;transform:none!important;
  cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;
}
.community-stars button:hover,.community-stars button:focus-visible{
  opacity:1;filter:none;transform:none!important;background:var(--blue-soft);
}
.community-stars button.is-selected{
  opacity:1;filter:none;transform:none!important;background:var(--blue-soft);
  border-color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue);
}
.community-stars button.is-choosing{animation:community-plane-selected .28s ease-out!important}
@keyframes community-plane-selected{50%{background:var(--blue-soft);box-shadow:0 0 0 3px var(--blue-soft)}}
.community-discussion-rating{font-size:13px;line-height:1.6}
.community-discussion-stats{min-width:0}

/* Single cohesive white card per comment: author/date, media gallery, then message. */
.community-discussion .community-comment{
  box-sizing:border-box;display:flex;flex-direction:column;gap:13px;
  min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;
  background:#fff;color:var(--ink);box-shadow:0 2px 14px #14283f0c;
}
.community-discussion .community-comment+.community-comment{margin-top:12px}
.community-comment-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;min-width:0;
}
.community-discussion .community-comment-author{
  display:inline-flex;align-items:center;gap:11px;min-width:0;
  flex:1;min-height:44px;padding:0;text-align:left;
  color:var(--ink);background:transparent;border:0;
}
.community-comment-author .community-avatar{width:42px;height:42px;font-size:17px}
.community-comment-identity{display:flex;flex-direction:column;gap:4px;min-width:0;align-items:flex-start}
.community-comment-identity strong{font-size:14px;font-weight:750;line-height:1.2;overflow-wrap:anywhere}
.community-comment-identity small{
  display:block;margin:0;color:var(--muted);
  font-size:11px;line-height:1.4;font-weight:400;font-variant-numeric:tabular-nums;
}
.community-comment-delete{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:38px;height:38px;padding:5px;border:1px solid var(--line);
  border-radius:11px;background:#fff;color:var(--ink);
  font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:18px;line-height:1;cursor:pointer;
}
.community-comment-delete:hover,.community-comment-delete:focus-visible{
  background:#fff0f0;border-color:#f1aaaa;outline:none;
}
.community-comment-delete:disabled{opacity:.5;cursor:wait}
.community-comment-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.community-comment-media .community-photo-gallery{display:contents}
.community-comment-media .community-photo-gallery>button{
  width:100%;min-width:0;margin:0;padding:0;
  overflow:hidden;border-radius:13px;background:var(--surface);
}
.community-comment-media .community-photo-gallery img{
  display:block;width:100%;height:100%;aspect-ratio:4/3;
  object-fit:cover;border-radius:0;
}
.community-comment-media>.community-video{
  box-sizing:border-box;display:block;width:100%;height:100%;max-height:250px;
  aspect-ratio:4/3;min-width:0;margin:0;border-radius:13px;
  object-fit:contain;background:#111827;
}
.community-comment-media>.community-video:only-child{grid-column:1/-1;aspect-ratio:16/9;height:auto}
.community-discussion .community-comment-text{
  margin:0!important;color:var(--ink);font-size:13px;line-height:1.55;
  white-space:pre-wrap;overflow-wrap:anywhere;
}
@media(max-width:520px){
  .community-discussion .community-comment{padding:13px;gap:11px;border-radius:15px}
  .community-comment-author .community-avatar{width:38px;height:38px}
  .community-comment-media{gap:7px}
  .community-comment-media .community-photo-gallery img{aspect-ratio:1;max-height:260px}
  .community-comment-media>.community-video{max-height:260px}
}
@media(prefers-reduced-motion:reduce){.community-stars button.is-choosing{animation:none!important}}

/* v274 — publication secondary actions, quiet aircraft ratings, map explorer */
.community-publication-attribution{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 2px}
.community-publication-byline{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.community-publication-byline .community-author{margin:0!important;padding:0!important;min-height:32px;background:transparent;border:0;font-size:13px;font-weight:700}
.community-publication-byline .community-avatar{width:28px;height:28px;font-size:12px}
.community-publication-attribution>small{font-size:12px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.community-publication-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0;margin:4px 0 10px}
.community-publication-secondary-actions button{
 display:flex;align-items:center;justify-content:center;min-height:45px;min-width:0;padding:10px 13px;
 border:1px solid var(--line);border-radius:13px;font:inherit;font-size:13px;font-weight:750;
 cursor:pointer;transition:background .16s,border-color .16s,transform .16s;
}
.community-publication-share{background:var(--blue);border-color:var(--blue)!important;color:#fff}
.community-publication-share:hover{filter:brightness(.95)}
.community-publication-report{background:var(--solid);color:var(--muted)}
.community-publication-report:hover{border-color:#afb9c8;background:var(--surface);color:var(--ink)}
.community-publication-secondary-actions button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media(max-width:420px){.community-publication-secondary-actions{grid-template-columns:1fr;gap:8px}}

/* Emoji alone conveys state: natural size and full color when selected, grey when unselected. */
.community-stars{gap:3px}
.community-stars button,.community-stars button:hover,.community-stars button:focus-visible,
.community-stars button.is-selected,.community-stars button.is-choosing{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 box-sizing:border-box!important;width:41px!important;height:42px!important;min-width:41px!important;min-height:42px!important;
 padding:3px!important;margin:0!important;background:transparent!important;border:0!important;
 border-radius:8px!important;box-shadow:none!important;
 font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
 font-size:23px!important;font-weight:400!important;line-height:1!important;
 opacity:1!important;color:inherit!important;
}
.community-stars button:not(.is-selected){filter:grayscale(1)!important;opacity:.38!important;transform:none!important}
.community-stars button.is-selected{filter:none!important;opacity:1!important;transform:none!important}
.community-stars button:hover,.community-stars button:focus-visible{outline:1px solid var(--line)!important;outline-offset:0}
.community-stars button.is-choosing{animation:community-plane-flash .23s ease-out!important}
@keyframes community-plane-flash{50%{transform:scale(1.13)!important}}
.community-discussion-rating{font-size:15px;letter-spacing:.1px}
.community-comment-delete,.community-comment-delete:not(:hover){color:#b91c1c!important;background:#fff0f0!important;border-color:#efbbbb!important}
.community-comment-delete:hover{background:#ffe0e0!important;border-color:#c33!important}

/* The preview behaves like a portal to the full-world map, not a second tiny map. */
.community-route-preview-wrap{position:relative;display:block;min-width:0;border-radius:20px;overflow:hidden;margin:10px 0 16px;isolation:isolate}
.community-route-preview-wrap>.community-route-map{height:min(57vh,500px);min-height:290px;margin:0!important;border-radius:20px;pointer-events:none}
.community-route-preview-open{position:absolute;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:flex-end;
 width:100%;height:100%;padding:15px;border:0;background:transparent;cursor:zoom-in;color:var(--ink);text-align:right;
 font:inherit;font-size:12px;font-weight:750;text-shadow:none}
.community-route-preview-open::first-line{background:var(--solid)}
.community-route-preview-open:hover{background:#122f500d}
.community-route-preview-open:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.community-publication-route .community-route-table{width:100%;overflow-x:auto}
.community-publication-route .community-route-table table{width:100%;min-width:480px}
.community-publication-route .community-route-table th,.community-publication-route .community-route-table td{white-space:nowrap}
@media(max-width:520px){.community-route-preview-wrap>.community-route-map{min-height:270px;height:350px}.community-route-preview-open{padding:12px;font-size:11px}}

/* Full-width map, using the application's Leaflet and Cesium engines. */
#community-map-viewer.screen.active{display:block;position:fixed;top:67px;bottom:76px;left:0;right:0;z-index:43;
 width:100%;max-width:none;min-height:0;margin:0;padding:0;background:#edf2f7;overflow:hidden;box-sizing:border-box}
.community-map-explorer-content{position:relative;width:100%;height:100%;margin:0;overflow:hidden}
.community-explorer-toolbar{position:absolute;inset:0 0 auto;z-index:1100;box-sizing:border-box;display:flex;align-items:center;gap:10px;
 min-height:66px;padding:10px max(12px,calc((100vw - 1300px)/2));background:#fffef9f5;border-bottom:1px solid #dde4eb;box-shadow:0 3px 16px #0b204111}
.community-explorer-toolbar button,.community-explorer-toolbar select{
 min-height:41px;box-sizing:border-box;padding:8px 13px;border:1px solid #d8e0e9;border-radius:12px;
 background:#fff;color:#203348;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.community-explorer-toolbar button:hover{background:var(--blue-soft)}
.community-explorer-back{flex:none}
.community-explorer-heading{display:flex;flex-direction:column;flex:1;min-width:0}
.community-explorer-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.community-explorer-heading small{font-size:11px;color:#637287}
.community-explorer-basemap{display:flex;flex-direction:column;gap:2px;font-size:10px;color:#637287;flex:none}
.community-explorer-basemap select{min-width:115px}
.community-explorer-dimensions{display:flex;gap:4px;padding:3px;border-radius:12px;background:#e8eff8}
.community-explorer-dimensions button{border:0;background:transparent;min-width:47px;padding:9px 10px}
.community-explorer-dimensions button[aria-pressed=true]{background:white;color:var(--blue);box-shadow:0 2px 10px #112a4915}
.community-explorer-scene{position:absolute;top:66px;left:0;right:0;bottom:0;overflow:hidden;background:#e8eff3}
.community-explorer-2d,.community-explorer-3d{position:absolute;inset:0;width:100%;height:100%}
.community-explorer-2d[hidden],.community-explorer-3d[hidden]{display:none!important}
.community-explorer-legend{display:flex;gap:12px;position:absolute;left:15px;bottom:20px;z-index:950;
 background:#fffffff0;padding:10px 13px;border-radius:12px;box-shadow:0 4px 18px #14293f26;font-size:12px;font-weight:700}
.community-explorer-legend .community-explorer-plan{color:#087ff0}
.community-explorer-legend .community-explorer-trace{color:#159a73}
.community-explorer-legend span[hidden]{display:none!important}
.community-explorer-status{position:absolute;right:15px;bottom:20px;z-index:960;max-width:55ch;box-sizing:border-box;
 margin:0;padding:8px 12px;border-radius:12px;background:#fffffff0;color:#3b4c61;box-shadow:0 4px 15px #18305026;
 font-size:11px;line-height:1.45}
.community-explorer-status:empty{display:none}
@media(max-width:720px){
 #community-map-viewer.screen.active{top:60px;bottom:69px}
 .community-explorer-toolbar{flex-wrap:wrap;justify-content:space-between;gap:6px;min-height:117px;padding:7px 10px}
 .community-explorer-back{order:0;padding:8px!important;font-size:12px!important}
 .community-explorer-heading{order:1;flex:1 1 38%;gap:2px}
 .community-explorer-basemap{order:2;flex:1 1 auto}
 .community-explorer-basemap select{width:100%;min-width:90px}
 .community-explorer-dimensions{order:3;flex:0 0 auto}
 .community-explorer-fit{order:4;flex:1}
 .community-explorer-scene{top:117px}
 .community-explorer-status{right:10px;bottom:10px;max-width:60%;font-size:10px}
 .community-explorer-legend{left:10px;bottom:10px;padding:8px;font-size:10px}
}

/* v275 — owner-only actions stay on publication pages; feed uses a full-width CTA. */
.community-card-info .community-feed-view{
 display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;
 width:100%!important;min-width:0;min-height:46px;margin:auto 0 0;padding:11px 13px;
 border:0;border-radius:13px;background:var(--blue);color:#fff;font:inherit;
 font-size:14px;font-weight:750;text-align:center;cursor:pointer;
}
.community-card-info .community-feed-view:hover{filter:brightness(.95)}
.community-card-info .community-feed-view:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.community-publication-owner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0 18px;padding:18px 0 0;border-top:1px solid var(--line)}
.community-publication-owner-actions button{
 display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:0;padding:10px 14px;
 border-radius:13px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:background .16s,border-color .16s
}
.community-publication-owner-edit{color:var(--blue);background:var(--blue-soft);border:1px solid var(--blue)}
.community-publication-owner-edit:hover{background:#d7e8ff}
.community-publication-owner-delete{color:#b91c1c;background:#fff0f0;border:1px solid #efacac}
.community-publication-owner-delete:hover{background:#ffe0e0;border-color:#be2626}
.community-publication-owner-actions button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:520px){.community-publication-owner-actions{grid-template-columns:1fr}}

/* Report is unambiguously red, even before hover. */
.community-publication-secondary-actions .community-publication-report{
 background:#fff1f2!important;color:#b91c1c!important;border-color:#efb0b5!important;
}
.community-publication-secondary-actions .community-publication-report:hover{
 background:#ffe3e5!important;border-color:#d13b44!important;color:#991b1b!important;
}

/* Hide the whole composer: nested file inputs and button must not remain visible. */
.community-discussion form[hidden],.community-discussion form[style*="display: none"],
.community-discussion .community-photo-editor[hidden],
.community-discussion .community-video-editor[hidden]{display:none!important}

/* Media picker in the language of the app, no unstyled browser file input. */
.community-discussion form details{
 margin:12px 0 14px;padding:12px 14px;border:1px solid var(--line);
 border-radius:17px;background:var(--solid);box-sizing:border-box;
}
.community-discussion form details>summary{display:list-item;cursor:pointer;font-size:13px;font-weight:750;color:var(--ink);padding:5px 3px}
.community-discussion form details[open]>summary{padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.community-discussion form .community-photo-editor,
.community-discussion form .community-video-editor{display:block;padding:12px 0;margin:0;border:0;background:transparent;box-shadow:none}
.community-discussion form .community-photo-editor+.community-video-editor{border-top:1px solid var(--line);margin-top:6px;padding-top:17px}
.community-discussion form .community-photo-editor h3,
.community-discussion form .community-video-editor h3{font-size:13px;font-weight:750;color:var(--ink);margin:0 0 10px}
.community-discussion form .efb-file-picker{
 position:relative;display:flex!important;align-items:center;gap:12px;min-height:68px;
 width:100%;box-sizing:border-box;padding:13px;border:1px dashed #b9cadb;
 border-radius:14px;background:#f5f9fd;color:var(--ink);cursor:pointer;
 transition:background .15s,border-color .15s;
}
.community-discussion form .efb-file-picker:hover,
.community-discussion form .efb-file-picker:focus-within{border-color:var(--blue);background:var(--blue-soft)}
.community-discussion form .efb-file-picker svg{display:block;flex:none;width:23px;height:23px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.community-discussion form .efb-file-picker>span{display:flex;flex-direction:column;gap:5px;min-width:0}
.community-discussion form .efb-file-picker strong{font-size:13px;font-weight:750}
.community-discussion form .efb-file-picker small{font-size:11px;color:var(--muted);line-height:1.4}
.community-discussion form .efb-file-picker input[type=file]{
 display:block!important;position:absolute!important;inset:0!important;z-index:1;
 width:100%!important;height:100%!important;max-width:none!important;
 padding:0!important;margin:0!important;opacity:0!important;cursor:pointer!important;
}
.community-discussion form .efb-file-picker.is-disabled{opacity:.55;cursor:not-allowed}
.community-discussion form .community-photo-editor [role=status]:empty,
.community-discussion form .community-video-editor [role=status]:empty{display:none}

/* Fullscreen photo viewer: one dialog, arrow navigation, counter and touch swipe. */
.community-photo-viewer[open]{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(1100px,calc(100vw - 18px));height:min(91dvh,850px);
 max-width:none;max-height:none;padding:12px;border:1px solid #334458;border-radius:22px;background:#111b28;color:#fff;box-shadow:0 20px 80px #0008}
.community-photo-viewer::backdrop{background:#050d17db;backdrop-filter:blur(4px)}
.community-photo-viewer-header{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 4px 8px}
.community-photo-viewer-count{font-size:13px;color:#d5deee;font-variant-numeric:tabular-nums}
.community-photo-viewer .community-photo-viewer-close{
 display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;border:1px solid #607187;
 background:#334357;color:#fff;font-size:17px;border-radius:50%;cursor:pointer
}
.community-photo-viewer-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;height:calc(100% - 48px);min-height:0}
.community-photo-viewer-stage img{display:block;width:100%;height:100%;min-width:0;max-height:none;max-width:none;object-fit:contain;user-select:none;touch-action:pan-y}
.community-photo-viewer-stage button{width:44px;height:54px;margin:0;padding:0;border:1px solid #53677e;border-radius:13px;
 background:#293c51;color:#fff;font-size:37px;line-height:1;cursor:pointer}
.community-photo-viewer-stage button:hover{background:#3d5874}
.community-photo-viewer-stage button[hidden]{visibility:hidden;display:block!important;pointer-events:none}
@media(max-width:520px){.community-photo-viewer[open]{height:90dvh;padding:8px;border-radius:15px}
 .community-photo-viewer-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px}
 .community-photo-viewer-stage button{width:30px;height:45px;font-size:29px}}

/* Comment likes, single per user, styled independently of the rating control. */
.community-comment-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:-4px}
.community-comment-like{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:5px 11px;
 border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.community-comment-like>span:first-child{font-size:22px;line-height:1}
.community-comment-like[aria-pressed=true]{background:#fff1f3;border-color:#f3b9c6;color:#be2348}
.community-comment-like:hover{background:#fff0f4;border-color:#efb0c1}
.community-comment-like:disabled{opacity:.65;cursor:wait}

/* Friendly share-grid app icons, names below. */
.community-share-dialog[open]{width:min(435px,calc(100vw - 26px))}
.community-share-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 19px}
.community-share-header h2{margin:0;font-size:22px}
.community-share-close{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-height:36px;
 border:0;border-radius:50%;background:var(--surface);color:var(--ink);font:inherit;font-size:18px;cursor:pointer}
.community-share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}
.community-share-actions .community-share-option,
.community-share-actions .community-share-option:first-child{
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;min-width:0;min-height:93px;
 background:transparent!important;border:0!important;border-radius:15px;padding:8px 4px;color:var(--ink)!important;
 font:inherit;font-size:12px;font-weight:680;cursor:pointer;text-align:center
}
.community-share-actions .community-share-option:hover{background:var(--blue-soft)!important}
.community-share-icon{display:flex;align-items:center;justify-content:center;flex:none;width:50px;height:50px;border-radius:16px;background:#e7eefb;color:#355b99}
.community-share-icon svg{width:26px;height:26px}
.community-share-icon-whatsapp{background:#e0f9e8;color:#169a4e}
.community-share-icon-telegram{background:#e1f4fe;color:#229bd6}
.community-share-icon-email{background:#feeeee;color:#c34143}
.community-share-icon-apps{background:#e9e7ff;color:#6252cc}
.community-share-icon-link{background:#e5edfb;color:#3364b9}
.community-share-option-label{display:block;overflow-wrap:anywhere;line-height:1.35}

/* On publication preview any tap opens the explorer; preview itself never pans. */
.community-route-preview-wrap>.community-route-map,
.community-route-preview-wrap>.community-route-map *{pointer-events:none!important;touch-action:none!important}
.community-route-preview-wrap>.community-route-preview-open{z-index:2100!important;cursor:pointer;touch-action:manipulation}
.community-explorer-filters{position:relative;z-index:1200}
.community-explorer-filters summary{list-style:none;cursor:pointer;border:1px solid #d8e0e9;padding:12px 11px;border-radius:12px;
 background:#fff;color:#203348;font-size:13px;font-weight:700}
.community-explorer-filters summary::-webkit-details-marker{display:none}
.community-explorer-filter-items{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;padding:10px;border:1px solid #dce5f0;
 border-radius:14px;background:white;box-shadow:0 8px 26px #0a1d3040}
.community-explorer-filter-items label{display:flex;align-items:center;gap:9px;padding:9px;border-radius:8px;
 font-size:13px;color:#203348;cursor:pointer}
.community-explorer-filter-items label:hover{background:#f3f7fc}
.community-explorer-filter-items input{width:17px;height:17px;accent-color:#087ff0}

/* v276 — cover cropping never modifies the underlying publication photo. */
.community-cover-link .community-photo-cover{position:absolute!important;inset:0;overflow:hidden}
.community-cover-link .community-photo-cover img.community-cover-framed{
 display:block;position:absolute!important;margin:0!important;max-height:none!important;
 border:0!important;border-radius:0!important;transform:none!important;object-fit:fill!important;
}
.community-photo-gallery img,.community-photo-viewer-stage img{object-fit:contain!important}
.community-photo-viewer-stage img{max-width:100%;max-height:100%}

/* Recording picker matches the app's light, restrained input language. */
.community-dialog label:has(.community-recording-picker){display:block;margin:14px 0 10px;font-size:13px;font-weight:750;color:var(--ink)}
.community-recording-picker{display:grid;gap:7px;margin-top:8px}
.community-recording-picker-control{position:relative;display:flex;align-items:center;gap:10px;min-height:51px;
 padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--solid);
 box-shadow:0 2px 10px #192e4808;transition:border-color .15s,box-shadow .15s}
.community-recording-picker-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.community-recording-picker-icon{display:flex;align-items:center;justify-content:center;flex:none;
 width:32px;height:32px;border-radius:10px;background:var(--blue-soft);font-size:18px}
.community-recording-picker-control select{flex:1;min-width:0;width:100%;min-height:49px;border:0;
 outline:0!important;box-shadow:none!important;background:transparent;color:var(--ink);
 padding:10px 18px 10px 0;font:inherit;font-size:13px;font-weight:680;
 cursor:pointer;appearance:none;-webkit-appearance:none}
.community-recording-picker-control select:disabled{opacity:.6;cursor:wait}
.community-recording-picker-chevron{font-size:23px;font-weight:500;color:var(--muted);pointer-events:none}
.community-recording-picker>small{font-size:11px;line-height:1.5;color:var(--muted);font-weight:400}
.community-recording-picker-control select option{background:var(--solid);color:var(--ink)}

/* Heart as a fixed-size red emoji plus a compact numeric counter on mobile. */
.community-comment-like{display:inline-flex!important;align-items:center;justify-content:center;
 gap:7px;min-height:36px;padding:5px 10px;flex:none;white-space:nowrap}
.community-comment-like>span:first-child{display:inline-flex!important;align-items:center;justify-content:center;
 flex:none;width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;
 font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
 font-size:19px!important;font-weight:400!important;line-height:1!important;
 transform:none!important;letter-spacing:0!important}
.community-comment-like>span:last-child{display:inline-block;min-width:1ch;font-size:12px;font-variant-numeric:tabular-nums}
.community-comment-like[aria-pressed=true]>span:first-child{filter:none}
@media(max-width:520px){.community-comment-like{min-width:61px;gap:5px;padding:4px 7px}}

/* Community: one clickable surface per publication; author remains an independent action. */
.community-item{position:relative;cursor:pointer;transition:box-shadow .16s ease,transform .16s ease}
.community-item .community-card-hit-area{
  display:block;position:absolute;inset:0;z-index:2;
  box-sizing:border-box;width:100%!important;height:100%!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:inherit!important;
  background:transparent!important;color:transparent!important;cursor:pointer;
}
.community-item .community-author{position:relative;z-index:3;cursor:pointer}
.community-item:hover{box-shadow:0 7px 24px #1529431a}
.community-item:focus-within{outline:2px solid var(--blue);outline-offset:3px}
.community-item .community-author:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
@media(prefers-reduced-motion:reduce){.community-item{transition:none}}

/* v282 — keep the original edge-to-edge Community feed; round only the cover. */
#community .community-item{padding:0}
#community .community-item>.community-card-info{box-sizing:border-box;width:100%;padding:18px 0}
#community .community-item>.community-card-info>:not(.community-feed-view){margin-left:18px;margin-right:18px}
#community .community-item>.community-cover-link{border-radius:20px!important;overflow:hidden}
/* Pilot-profile cards retain an inset cover, with a separate CTA at exactly the same width. */
#community-profile .community-profile-tile{box-sizing:border-box;padding:18px;align-items:stretch}
#community-profile .community-profile-tile>.community-cover-link{box-sizing:border-box;width:100%;border-radius:20px!important;overflow:hidden}
#community-profile .community-profile-tile>.community-card-info{box-sizing:border-box;width:100%;min-width:0;padding:18px 0 0}
#community-profile .community-profile-tile>.community-card-info>*{margin-left:0;margin-right:0}
#community-profile .community-profile-tile>.community-feed-view{
 display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;
 width:100%!important;max-width:none;min-height:46px;margin:0;padding:11px 13px;
 border:0;border-radius:13px;background:var(--blue);color:#fff;font:inherit;
 font-size:14px;font-weight:750;text-align:center;cursor:pointer
}
#community-profile .community-profile-tile>.community-feed-view:hover{filter:brightness(.95)}
.community-profile-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.community-inline-meta,.community-profile-meta-value{font:inherit;font-size:12px;font-weight:650;line-height:1.4;color:var(--muted)!important;max-width:100%;overflow-wrap:anywhere}
.community-inline-meta{display:inline-flex;align-items:center;min-height:27px;border:1px solid var(--line)!important;border-radius:9px!important;padding:4px 8px!important;background:var(--solid)!important;cursor:text}
.community-profile-meta-value{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line);border-radius:9px;background:var(--solid)}
.community-profile-licenses{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;width:100%;margin:2px 0 6px}
.community-profile-meta .community-inline-input{width:min(170px,100%);min-height:36px;font-size:12px;padding:6px 8px}
@media(max-width:520px){.community-profile-name-row{align-items:flex-start}.community-profile-meta{gap:4px}}


/* v283 — compact catalogue cards only; do not alter cards on pilot profile pages. */
#community .community-card-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
#community .community-card-heading-row h3{flex:1 1 auto;min-width:0;margin:0;overflow-wrap:anywhere}
#community .community-card-heading-row .community-tag{flex:0 0 auto;align-self:center;white-space:nowrap}
#community .community-item>.community-card-info .community-feed-view{box-sizing:border-box;width:calc(100% - 36px)!important;min-width:0;margin:0 18px;padding:11px 13px}


/* v284 — searchable dropdowns for profile region and home aerodrome. */
.community-profile-location-wrap{display:inline-flex;position:relative;min-width:0;max-width:100%}
.community-profile-location-trigger{
 display:inline-flex;align-items:center;justify-content:flex-start;box-sizing:border-box;
 min-height:32px;max-width:min(240px,60vw);padding:6px 9px!important;
 border:1px solid var(--line)!important;border-radius:10px!important;
 background:var(--solid)!important;color:var(--ink)!important;
 font:inherit;font-size:12px;font-weight:650;line-height:1.35;
 white-space:normal;text-align:left;overflow-wrap:anywhere;cursor:pointer
}
.community-profile-location-trigger:hover,.community-profile-location-trigger[aria-expanded=true]{
 border-color:var(--blue)!important;background:var(--blue-soft)!important
}
.community-profile-location-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.community-profile-location-menu{
 position:fixed;z-index:5000;box-sizing:border-box;display:flex;flex-direction:column;
 max-height:min(430px,65dvh);padding:10px;border:1px solid var(--line);
 border-radius:17px;background:var(--solid);box-shadow:0 16px 48px #152b4140;color:var(--ink)
}
.community-profile-location-search{
 width:100%;box-sizing:border-box;min-height:43px;padding:10px 12px;
 border:1px solid var(--line);border-radius:11px;background:var(--surface);
 color:var(--ink);font:inherit;font-size:14px;outline:none
}
.community-profile-location-search:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}
.community-profile-location-options{display:grid;gap:3px;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-top:8px}
.community-profile-location-choice{
 display:block;box-sizing:border-box;width:100%;min-height:41px;padding:9px 11px;
 border:0;border-radius:10px;background:transparent;color:var(--ink);
 font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer
}
.community-profile-location-choice:hover,.community-profile-location-choice:focus-visible,
.community-profile-location-choice.is-selected{background:var(--blue-soft);color:var(--blue);outline:none}
.community-profile-location-choice.is-clear{color:var(--muted);font-weight:500}
.community-profile-location-options>p{padding:10px;color:var(--muted);font-size:12px}
.community-profile-location-note{display:block;color:var(--muted);font-size:11px;line-height:1.4}
.community-profile-location-note:empty{display:none}


/* v285 — lightweight department / aeroclub labels, positioned before the avatar. */
#community-profile .community-profile-heading{display:flex;flex-direction:column;align-items:stretch;gap:16px}
#community-profile .community-profile-heading-main{display:flex;align-items:center;gap:18px;min-width:0;width:100%}
#community-profile .community-profile-locations{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;width:100%}
#community-profile .community-profile-locations .community-profile-location-wrap{max-width:100%}
#community-profile .community-profile-locations .community-profile-location-trigger,
#community-profile .community-profile-locations .community-profile-meta-value{
 display:inline-flex;align-items:center;box-sizing:border-box;min-height:26px;
 max-width:100%;width:auto;padding:2px 0!important;margin:0!important;
 border:0!important;border-radius:0!important;background:transparent!important;
 box-shadow:none!important;color:var(--muted)!important;
 font:inherit;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere
}
#community-profile .community-profile-locations .community-profile-location-trigger{cursor:pointer;text-align:left}
#community-profile .community-profile-locations .community-profile-location-trigger:hover,
#community-profile .community-profile-locations .community-profile-location-trigger[aria-expanded=true]{
 color:var(--blue)!important;background:transparent!important
}
#community-profile .community-license-edit.is-pencil{
 display:inline-grid;place-items:center;flex:none;box-sizing:border-box;
 width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;
 padding:0!important;margin:0!important;border:0!important;border-radius:9px;
 background:transparent!important;color:var(--muted);font-size:17px;line-height:1;cursor:pointer
}
#community-profile .community-license-edit.is-pencil:hover{background:var(--blue-soft)!important}
.community-profile-location-manual{display:grid;gap:7px;flex:none;padding:10px 0 4px;margin-top:8px;border-top:1px solid var(--line)}
.community-profile-location-manual label{font-size:12px;font-weight:700;color:var(--ink)}
.community-profile-location-manual-controls{display:flex;align-items:stretch;gap:6px;min-width:0}
.community-profile-location-manual-controls input{
 flex:1;min-width:0;min-height:43px;box-sizing:border-box;border:1px solid var(--line);
 border-radius:10px;padding:9px 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px
}
.community-profile-location-manual-controls input:focus{border-color:var(--blue);outline:2px solid var(--blue-soft)}
.community-profile-location-manual-controls button{
 flex:none;min-height:43px;border:0;border-radius:10px;padding:7px 10px;
 background:var(--blue);color:white;font:inherit;font-size:12px;font-weight:750;cursor:pointer
}
.community-profile-location-manual-controls button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:520px){#community-profile .community-profile-heading-main{gap:15px}}


/* v286 — matching edit pencil and aligned profile location rows. */
#community-profile .community-license-edit.is-pencil::before{
 content:'✎';display:inline-block;color:var(--muted);font-size:12px;
 font-weight:400;line-height:1;opacity:.55
}
#community-profile .community-license-edit.is-pencil:hover::before,
#community-profile .community-license-edit.is-pencil:focus-visible::before{opacity:1;color:var(--blue)}
#community-profile .community-profile-locations .community-profile-location-trigger,
#community-profile .community-profile-locations .community-profile-meta-value{
 display:inline-grid;grid-template-columns:23px minmax(0,auto) 13px;
 align-items:center;column-gap:7px;text-align:left
}
#community-profile .community-profile-location-icon{
 display:inline-flex;align-items:center;justify-content:center;width:23px;
 font-size:15px;line-height:1;flex:none
}
#community-profile .community-profile-location-text{min-width:0;overflow-wrap:anywhere}
#community-profile .community-profile-location-chevron{display:inline-flex;justify-content:center;align-items:center;line-height:1;font-size:11px}
#community-profile .community-profile-locations .community-profile-meta-value{grid-template-columns:23px minmax(0,auto)}


/* v287 — compact identity and location row below the avatar and biography. */
#community-profile .community-profile-heading{gap:10px}
#community-profile .community-profile-identity{gap:2px}
#community-profile .community-profile-name-row{margin-bottom:0;gap:3px 6px}
#community-profile .community-profile-licenses{margin:0;gap:3px 6px}
#community-profile .community-license-edit.is-pencil{
 width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px
}
#community-profile .community-profile-identity .community-inline-bio{padding-top:1px;padding-bottom:1px}
#community-profile .community-profile-locations{
 display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;
 column-gap:10px;row-gap:0;width:100%;min-width:0
}
#community-profile .community-profile-locations .community-profile-location-wrap{min-width:0;width:100%;max-width:100%}
#community-profile .community-profile-locations .community-profile-location-trigger,
#community-profile .community-profile-locations .community-profile-meta-value{
 display:grid;grid-template-columns:17px minmax(0,1fr) 9px;column-gap:3px;align-items:center;
 min-width:0;max-width:100%;width:100%;min-height:25px;padding:1px 0!important;
 white-space:nowrap;font-size:clamp(10px,2.6vw,11px);font-weight:600;line-height:1.3
}
#community-profile .community-profile-locations .community-profile-meta-value{grid-template-columns:17px minmax(0,1fr)}
#community-profile .community-profile-locations .community-profile-location-icon{
 width:17px;font-size:13px
}
#community-profile .community-profile-locations .community-profile-location-text{
 min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
#community-profile .community-profile-locations .community-profile-location-chevron{font-size:9px}
@media(max-width:520px){
 #community-profile .community-profile-locations{column-gap:7px}
 #community-profile .community-profile-locations .community-profile-location-trigger,
 #community-profile .community-profile-locations .community-profile-meta-value{font-size:10px}
}

/* v288 — keep the aeroclub chevron immediately after its text; tighten spacing below profile title. */
#community-profile .community-profile-locations .community-profile-location-wrap:last-child .community-profile-location-trigger{
 width:max-content;max-width:100%;
 grid-template-columns:17px minmax(0,max-content) 9px;
 justify-self:start
}
#community-profile .community-profile-page-title{margin-bottom:6px}
#community-profile .community-profile-page-content .community-profile-heading{padding-top:8px}

/* v290 — VAC world-map placement with size and rotation sliders. */
.vac-placement-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center}
.vac-placement-sliders label{min-width:0}
@media(max-width:520px){.vac-placement-editor>header{gap:5px}.vac-placement-editor>header h2{font-size:14px}.vac-placement-editor>header button{padding:8px;font-size:11px}}


/* v292 — public pilot search results use the existing minimalist Community language. */
#community .community-pilots-results{display:block;margin:12px 0 15px}
#community .community-pilots-results[hidden]{display:none}
#community .community-pilots-results h3{margin:0 0 9px;font-size:13px;font-weight:750;color:var(--muted)}
#community .community-pilots-list{display:grid;gap:7px}
#community .community-pilot-result{display:flex;align-items:center;box-sizing:border-box;gap:10px;width:100%;min-height:60px;padding:9px 12px;border:1px solid var(--line);border-radius:16px;background:var(--solid);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
#community .community-pilot-result:hover,#community .community-pilot-result:focus-visible{border-color:var(--blue);outline:none}
#community .community-pilot-result>.community-avatar{flex:none;width:39px;height:39px;border-radius:50%;overflow:hidden}
#community .community-pilot-result>.community-avatar img{width:100%;height:100%;object-fit:cover}
#community .community-pilot-result>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
#community .community-pilot-result strong{font-size:13px;font-weight:750;overflow-wrap:anywhere}
#community .community-pilot-result small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#community .community-pilot-arrow{flex:none;font-size:19px;color:var(--muted)}
.community-video-preview-row{display:grid;gap:7px;margin-bottom:10px}
.community-video-preview-row>.community-video{width:100%;max-height:230px;object-fit:contain}

/* v293 — GPS replay: planned versus recorded route filters. */
.flight-replay-filters{margin:9px 0 5px;border-top:1px solid #e1e8f0;padding-top:7px}
.flight-replay-filters[hidden]{display:none!important}
.flight-replay-filters>summary{cursor:pointer;color:#176ca7;font-size:12px;font-weight:750;padding:5px 0}
.flight-replay-filter-items{display:grid;grid-template-columns:1fr minmax(120px,1fr);align-items:center;gap:8px 12px}
.flight-replay-filter-items label{display:flex;align-items:center;gap:7px;min-width:0;color:#173245;font-size:11px;font-weight:650}
.flight-replay-filter-items input{accent-color:#e5a31e;width:17px;height:17px;flex:none}
.flight-replay-filter-items select{min-width:0;padding:8px!important;font-size:11px!important}
.flight-replay-filter-items small{grid-column:1/-1;color:#64798b;font-size:10px;line-height:1.4}
.community-explorer-filter-items select{box-sizing:border-box;max-width:155px;min-width:0;margin-left:auto;border:1px solid #dce5f0;border-radius:8px;padding:7px 8px;background:#fff;color:#173245;font-size:11px}
.community-explorer-filter-items label[hidden]{display:none!important}
@media(max-width:400px){.flight-replay-filter-items{grid-template-columns:1fr}.flight-replay-filter-items small{grid-column:1}}


/* v295 · cockpit menu, unobtrusive live sharing and source-specific traffic */
.flight-shortcuts-grid button{--shortcut:#2475b8;background:color-mix(in srgb,var(--shortcut) 10%,white);border-color:color-mix(in srgb,var(--shortcut) 25%,white);color:#183449;min-height:104px;box-shadow:0 2px 10px #182e4510}
.flight-shortcuts-grid .flight-shortcut-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--shortcut) 17%,white);color:var(--shortcut)}
.flight-shortcuts-grid button:nth-child(12n+1){--shortcut:#087ff0}
.flight-shortcuts-grid button:nth-child(12n+2){--shortcut:#6356ba}
.flight-shortcuts-grid button:nth-child(12n+3){--shortcut:#d67520}
.flight-shortcuts-grid button:nth-child(12n+4){--shortcut:#138a91}
.flight-shortcuts-grid button:nth-child(12n+5){--shortcut:#248fc3}
.flight-shortcuts-grid button:nth-child(12n+6){--shortcut:#be8524}
.flight-shortcuts-grid button:nth-child(12n+7){--shortcut:#c14b44}
.flight-shortcuts-grid button:nth-child(12n+8){--shortcut:#5566ad}
.flight-shortcuts-grid button:nth-child(12n+9){--shortcut:#278773}
.flight-shortcuts-grid button:nth-child(12n+10){--shortcut:#478a48}
.flight-shortcuts-grid button:nth-child(12n+11){--shortcut:#6c7389}
.flight-shortcuts-grid button:nth-child(12n+12){--shortcut:#af6c65}
.flight-shortcuts-grid button:focus-visible{outline:3px solid var(--shortcut);outline-offset:2px}
.flight-profile-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.flight-profile-choices button{min-height:58px;background:#f5f8fc;border:1px solid #dbe5ee;color:#37536b;font-size:13px}
.flight-profile-choices button[aria-pressed="true"]{background:#e3f1ff;border-color:#087ff0;color:#0865b9;box-shadow:inset 0 0 0 1px #087ff0}
.flight-live-vertical .live-profile-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:7px 11px}
.flight-live-vertical .live-profile-actions button{min-height:36px;padding:8px 10px;border:1px solid #d7e5ee;background:#fff;border-radius:10px;font-size:11px;font-weight:700}
.flight-live-vertical .live-profile-actions .live-profile-qnh{margin-left:0;background:#e3effa;color:#1d5f9a}
.flight-live-vertical .live-profile-actions .live-profile-load{margin-left:auto}
.enroute-wind-level{margin:18px 0 4px;padding:14px;border-top:1px solid #dce4ee}
.enroute-wind-level label{display:block;font-size:12px;font-weight:750;color:#2d4760}
.enroute-wind-level select{width:100%;min-height:44px;margin-top:7px;padding:9px 12px;border:1px solid #d7e3ed;border-radius:10px;background:white;color:#203850;font:inherit}
#flightGpsDialog #gpsCenterButton,#flightGpsDialog #flightRecorderControls,#flightVacControls[hidden]{display:none!important}
#flightGpsDialog .live-share-controls{margin:15px 0 0;padding:13px 15px;border-radius:14px;background:#f2f8ff;border:1px solid #d7e6f4;display:grid;gap:7px}
.live-share-switch{display:flex!important;align-items:center!important;gap:12px!important;margin:0!important;font-weight:750;color:#183d5b}
.live-share-switch .live-share-toggle{appearance:none;width:46px;height:27px;min-width:46px;flex:none;margin:0;border:0;border-radius:20px;background:#a6b5c4;position:relative;cursor:pointer;transition:background .15s}
.live-share-switch .live-share-toggle:before{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003;transition:transform .15s}
.live-share-switch .live-share-toggle:checked{background:#087ff0}
.live-share-switch .live-share-toggle:checked:before{transform:translateX(19px)}
.live-share-controls>small{font-size:11px;line-height:1.4;color:#516b82}
.live-share-controls>strong{font-size:12px;color:#0e5687}
.live-share-controls>button{margin:0!important;background:white;color:#087ff0;border-color:#bcdcf5;font-weight:700}
.live-share-controls .live-share-status{margin:0;font-size:11px;color:#42677f;overflow-wrap:anywhere}
.traffic-aircraft-efb{color:#e4ad09;text-shadow:0 0 3px #fff,0 2px 5px #14283d,0 0 1px #172e44;font-size:27px}
.traffic-marker-efb{z-index:1}
@media(max-width:390px){.flight-shortcuts-grid button{min-height:94px;padding:10px 5px}.flight-profile-choices{gap:5px}}


/* NOTAM en vol : actions et filtres alignés, pensés pour les écrans tactiles. */
:is(#flightNotams,#plannerNotams) .notam-overview{margin:8px 0 12px;padding:16px;border:1px solid #dce5ed;border-radius:18px;background:#fff;box-shadow:0 2px 12px #192d4709}
:is(#flightNotams,#plannerNotams) .notam-overview-heading{margin:0 0 14px}
:is(#flightNotams,#plannerNotams) .notam-overview-kicker{display:block;font-size:10px;letter-spacing:.09em;color:#55758e;font-weight:800}
:is(#flightNotams,#plannerNotams) .notam-overview-heading p{margin:5px 0 0;color:#1f3449;font-size:14px;font-weight:750;line-height:1.4}
:is(#flightNotams,#plannerNotams) .notam-primary-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px}
:is(#flightNotams,#plannerNotams) .notam-primary-actions button{min-width:0;min-height:48px;padding:11px 12px;border-radius:12px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:760;cursor:pointer;line-height:1.25}
:is(#flightNotams,#plannerNotams) .notam-load{border:1px solid #087ff0;background:#087ff0;color:#fff}
:is(#flightNotams,#plannerNotams) .notam-load:disabled{opacity:.55;cursor:wait}
:is(#flightNotams,#plannerNotams) .notam-copy{border:1px solid #d9e4ed;background:#f5f8fb;color:#225273}
:is(#flightNotams,#plannerNotams) .notam-primary-actions button span{font-size:16px;line-height:1}
:is(#flightNotams,#plannerNotams) .notam-official-links{display:flex;gap:9px;flex-wrap:wrap;margin:11px 0 13px}
:is(#flightNotams,#plannerNotams) .notam-official-links a{font-size:11px;font-weight:700;color:#1970ab;text-decoration:none;display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:7px 9px;border-radius:9px;background:#f0f6fb}
:is(#flightNotams,#plannerNotams) .notam-official-links a:focus-visible,:is(#flightNotams,#plannerNotams) .notam-primary-actions button:focus-visible{outline:3px solid #80baff;outline-offset:2px}
:is(#flightNotams,#plannerNotams) .notam-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0;padding-top:13px;border-top:1px solid #e8eef3}
:is(#flightNotams,#plannerNotams) .notam-filters label{display:flex;align-items:center;gap:10px;margin:0;min-width:0;font-size:12px;line-height:1.35;color:#28435a;font-weight:650}
:is(#flightNotams,#plannerNotams) .notam-filters .notam-corridor-field{grid-column:1/-1;justify-content:space-between}
:is(#flightNotams,#plannerNotams) .notam-corridor-input{display:flex;align-items:center;gap:5px;color:#607586;font-size:11px}
:is(#flightNotams,#plannerNotams) .notam-filters .notam-corridor{width:67px;min-height:43px;text-align:center;font-size:15px;font-weight:750;background:#f7fafc;border:1px solid #d8e4ed;border-radius:10px;color:#1f3b53}
:is(#flightNotams,#plannerNotams) .notam-filters .notam-option{align-items:center;padding:10px 9px;background:#f7fafc;border:1px solid #e6ecf2;border-radius:11px;min-height:51px;cursor:pointer}
:is(#flightNotams,#plannerNotams) .notam-option input{flex:none;width:18px;height:18px;accent-color:#087ff0;margin:0}
:is(#flightNotams,#plannerNotams) .notam-status{margin:11px 0 13px;padding:0 3px;font-size:12px;line-height:1.5;color:#607180}
:is(#flightNotams,#plannerNotams) .notam-import{margin:10px 0 14px;padding:11px 12px;border:1px solid #e2eaf1;background:#fff;border-radius:12px}
:is(#flightNotams,#plannerNotams) .notam-import summary{font-size:12px;line-height:1.5}
:is(#flightNotams,#plannerNotams) .notam-review{margin-bottom:12px;align-items:flex-start;color:#465b6e}
:is(#flightNotams,#plannerNotams) .notam-review input{flex:none;margin-top:2px}
@media(max-width:440px){:is(#flightNotams,#plannerNotams) .notam-primary-actions{grid-template-columns:minmax(0,1fr)}:is(#flightNotams,#plannerNotams) .notam-filters{grid-template-columns:1fr}:is(#flightNotams,#plannerNotams) .notam-filters .notam-option{min-height:44px}:is(#flightNotams,#plannerNotams) .notam-overview{padding:14px}}

/* Cesium preview overlays Leaflet without taking ownership of the editable 2D plan. */
#plannerMap > .planner-3d-overlay{position:absolute;inset:0;z-index:1500;overflow:hidden;touch-action:pan-x pan-y;background:#dce6ee}
#plannerMap > .planner-3d-overlay[hidden]{display:none!important}
#planner3dMap .cesium-viewer,#planner3dMap .cesium-widget,#planner3dMap canvas{width:100%;height:100%}
.pw-3d-filter{font-weight:750;color:var(--ink)}

/* Keep hidden status lines out of the flight filters without hiding real warnings. */
.flight-tool-body #flightAirportsStatus:empty,.flight-tool-body #flightObstaclesStatus:empty,.flight-tool-body #flightAlertDataStatus:empty,.flight-tool-body .traffic-status:empty{display:none}

/* Live sharing: distinguish an armed switch from actual GPS transmission. */
.live-share-controls .live-share-status .live-share-ready{color:#187c42;font-weight:800}
.live-share-controls .live-share-status .live-share-instruction{color:#bd3835;font-weight:800}

/* Compact live indicator for active 3D model and OSM availability. */
#flight3dControls .flight-3d-model-name,#flight3dControls .flight-3d-buildings-name{grid-column:1/-1;display:block;max-width:230px;padding:4px 8px;border-radius:7px;background:#172b40e8;color:#e9f3ff;font-size:10px;font-weight:650;line-height:1.35;text-align:center}
#flight3dControls .flight-3d-buildings-name:empty,#flight3dControls .flight-3d-model-name:empty{display:none}

/* Compact Cesium flight toolbar: one camera row and a single basemap row. */
.flight-navigation .flight-3d-toolbar{right:8px;gap:4px;width:max-content;max-width:calc(100vw - 16px);align-items:flex-start;overflow:visible;padding:0}
.flight-navigation .flight-3d-toolbar>button{flex:none;min-width:44px;min-height:44px;padding:6px 9px;border-radius:12px}
.flight-navigation #flight3dControls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:min(254px,calc(100vw - 68px));max-width:100%}
.flight-navigation #flight3dControls[hidden]{display:none!important}
.flight-navigation #flight3dControls>button{min-width:0;min-height:44px;font-size:11px;padding:5px 4px;border-radius:11px;white-space:nowrap}
.flight-navigation #flight3dControls .flight-3d-basemap{grid-column:1/-1;min-width:0;display:flex;gap:6px;justify-content:space-between;margin:0;padding:3px 5px;border-radius:9px;min-height:32px}
.flight-navigation #flight3dControls .flight-3d-basemap select{min-height:32px;padding:3px 5px;font-size:11px;max-width:190px}
.flight-navigation #flight3dControls .flight-3d-model-name,.flight-navigation #flight3dControls .flight-3d-buildings-name{display:none!important}
@media(orientation:landscape) and (max-height:520px){.flight-navigation #flight3dControls{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Contextual segmented 2D/3D and buildings control within planner filters. */
.pw-map-top .planner-filter-dialog .pw-view-mode{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;font-size:12px;font-weight:750;color:#283848}
.pw-view-segments{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:12px;background:#edf1f6;border:1px solid #e1e6ed}
.pw-map-top .planner-filter-dialog .pw-view-segments>button{min-height:38px;min-width:56px;padding:5px 12px;border:0;border-radius:9px;background:transparent;box-shadow:none;color:#42566a;font-size:12px;font-weight:750}
.pw-map-top .planner-filter-dialog .pw-view-segments>button[aria-pressed=true]{background:#087ff0;color:#fff}
.pw-map-top .planner-filter-dialog .pw-buildings-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;margin:0;color:#283848}
.pw-map-top .planner-filter-dialog .pw-buildings-switch[hidden]{display:none!important}
.pw-map-top .planner-filter-dialog .pw-buildings-switch input{width:20px;height:20px;accent-color:#087ff0}

/* v307: compact vertical controls for Cesium live view */
.flight-navigation .flight-3d-toolbar{display:flex;flex-direction:column;gap:5px;align-items:stretch;width:82px;right:8px;max-width:calc(100vw - 16px);max-height:none!important;overflow:visible;z-index:465;padding:0}
.flight-navigation .flight-3d-toolbar>button{box-sizing:border-box;width:82px;max-width:100%;height:44px;min-height:44px;border-radius:12px;padding:5px 8px}
.flight-navigation #flight3dControls{display:flex;flex-direction:column;gap:5px;align-items:stretch;width:82px;max-width:100%;overflow:visible}
.flight-navigation #flight3dControls[hidden]{display:none!important}
.flight-navigation #flight3dControls .flight-3d-menu{position:relative;width:82px;max-width:100%;margin:0}
.flight-navigation #flight3dControls .flight-3d-menu>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:2px;width:100%;min-height:44px;padding:8px 8px 8px 10px;list-style:none;cursor:pointer;background:#172b40ed;color:white;border:1px solid #ffffff60;border-radius:12px;font:inherit;font-size:11px;font-weight:750;user-select:none}
.flight-navigation #flight3dControls .flight-3d-menu>summary::-webkit-details-marker{display:none}
.flight-navigation #flight3dControls .flight-3d-menu>summary::marker{content:""}
.flight-navigation #flight3dControls .flight-3d-menu[open]>summary{background:#087ff0}
.flight-navigation #flight3dControls .flight-3d-chevron{font-size:17px;line-height:1;font-weight:500;flex:none}
.flight-navigation #flight3dControls .flight-3d-menu-panel{position:absolute;right:calc(100% + 6px);top:0;display:grid;gap:3px;width:104px;max-width:calc(100vw - 112px);padding:5px;background:#172b40f5;border:1px solid #ffffff40;border-radius:13px;z-index:470;box-shadow:0 5px 20px #091c3677}
.flight-navigation #flight3dControls .flight-3d-menu:not([open]) .flight-3d-menu-panel{display:none}
.flight-navigation #flight3dControls .flight-3d-menu-panel>button{box-sizing:border-box;width:100%;min-width:0;min-height:41px;margin:0;padding:6px 8px;border:0;border-radius:9px;background:transparent;color:white;font:inherit;font-size:12px;font-weight:650;text-align:left}
.flight-navigation #flight3dControls .flight-3d-menu-panel>button[aria-pressed=true]{background:#087ff0}
.flight-navigation #flight3dControls .flight-3d-menu>summary:focus-visible,.flight-navigation #flight3dControls .flight-3d-menu-panel>button:focus-visible{outline:2px solid white;outline-offset:2px}
.flight-navigation #flight3dControls select[hidden]{display:none!important}

/* Community feed: match the inset cover of a pilot's profile tile without changing the card content. */
#community .community-item>.community-cover-link{box-sizing:border-box;width:calc(100% - 36px);margin:18px 18px 0!important;border-radius:20px!important}
/* 3D-only replay filter: no building control in 2D and no empty status row. */
.community-explorer-filter-items .community-explorer-buildings-option[hidden],.community-explorer-filter-items .community-explorer-buildings-note[hidden]{display:none!important}
.community-explorer-filter-items .community-explorer-buildings-note{display:block;padding:0 9px 7px;color:#607586;font-size:11px;line-height:1.4}

/* Publication replay: compact 2D/3D selector inside Filters; extra 3D controls below it. */
.community-explorer-filter-items>.community-explorer-dimensions{display:grid;grid-template-columns:1fr 1fr;width:100%;box-sizing:border-box;margin:0 0 8px}
.community-explorer-filter-items>.community-explorer-dimensions button{min-width:0;min-height:40px}
.community-explorer-filter-items .community-explorer-3d-extras{display:grid;gap:4px;padding:8px 0 0;margin-top:5px;border-top:1px solid var(--line)}
.community-explorer-filter-items .community-explorer-3d-extras[hidden]{display:none!important}
/* On an in-flight Cesium map only the camera dropdown stays floating in the top-right. */
.flight-navigation .flight-3d-toolbar>#flight3dToggle,.flight-navigation #flight3dControls .flight-3d-map-menu{display:none!important}
.flight-navigation .flight-3d-toolbar{right:8px;width:82px;align-items:stretch}
.flight-navigation #flight3dControls,.flight-navigation #flight3dControls .flight-3d-camera-menu{width:82px;max-width:100%}
/* Clearly selected 2D/3D mode; context-specific map layers below the switch. */
.flight-map-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}
.flight-map-mode>strong{font-size:13px;line-height:1.3;color:#233f5b;white-space:nowrap}
.flight-map-mode-switch{box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:none;width:144px;padding:4px;border:1px solid #d9e3ee;border-radius:15px;background:#eaf0f7}
.flight-map-mode-switch>button{box-sizing:border-box;min-height:42px;min-width:0;padding:9px 12px;border:0;border-radius:11px;background:transparent;box-shadow:none;color:#536a82;font-size:13px;font-weight:850;line-height:1;transition:background .16s ease,color .16s ease}
.flight-map-mode-switch>button[aria-pressed="true"]{background:#087ff0!important;color:#fff!important;box-shadow:0 2px 7px rgba(5,109,206,.26)}
.flight-map-mode-switch>button:focus-visible{outline:3px solid #8abfff;outline-offset:2px}
.flight-map-mode-switch>button:disabled{opacity:.5;cursor:not-allowed}
.flight-map-basemap[hidden],.flight-map-3d-extras[hidden]{display:none!important}
.flight-map-basemap,.flight-map-3d-extras{box-sizing:border-box;margin:0 0 14px;padding:12px;border:1px solid #e1e9f2;border-radius:14px;background:#f6f9fc}
.flight-map-3d-extras{display:grid;gap:4px}
.flight-map-basemap select,.flight-map-3d-extras select{margin:8px 0 3px;background:#fff;border-radius:10px;min-height:42px}
.flight-map-3d-extras .navigation-check{min-height:42px;margin-top:5px}
/* Route generation: precise point-density control, with fixed mandatory legs and exclusion checks. */
.planner-auto-route-dialog .planner-density-control{display:grid;gap:8px}
.planner-auto-route-dialog .planner-density-control output{font-size:12px;color:var(--blue);font-weight:750}
.planner-auto-route-dialog .planner-density-control input[type=range]{box-sizing:border-box;appearance:auto;width:100%;min-height:32px;height:32px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--blue);cursor:pointer}
.planner-auto-route-dialog .planner-density-extremes{display:flex;justify-content:space-between;gap:12px}
.planner-auto-route-dialog .planner-density-extremes small{font-size:11px}
/* Three-dot report menu at the upper-right of each discussion comment. */
.community-comment{position:relative}
.community-comment-header{overflow:visible}
.community-comment-menu{flex:none;position:relative;margin-left:auto}
.community-comment-menu>summary{display:grid;place-items:center;box-sizing:border-box;list-style:none;width:38px;height:38px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:27px;line-height:1;cursor:pointer}
.community-comment-menu>summary::marker{content:''}
.community-comment-menu>summary::-webkit-details-marker{display:none}
.community-comment-menu[open]>summary,.community-comment-menu>summary:hover{background:var(--blue-soft);color:var(--blue)}
.community-comment-menu>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.community-comment-actions{position:absolute;top:calc(100% + 4px);right:0;z-index:60;box-sizing:border-box;min-width:150px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #14283f35}
.community-comment-menu:not([open]) .community-comment-actions{display:none}
.community-comment-actions>button,.community-comment-actions>.community-comment-delete{display:block!important;box-sizing:border-box;width:100%;height:auto;min-height:40px;margin:0;padding:10px 12px;border:0!important;border-radius:9px;text-align:left;background:transparent!important;color:var(--ink)!important;font:inherit;font-size:13px;cursor:pointer}
.community-comment-actions>button:hover{background:var(--blue-soft)!important}
.community-comment-report-dialog{box-sizing:border-box;max-width:min(440px,calc(100vw - 32px));width:100%;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 18px 70px #09213655}
.community-comment-report-dialog::backdrop{background:#09172e80}
.community-comment-report-dialog h3{margin:0 0 10px;font-size:19px}
.community-comment-report-dialog>p{font-size:13px;color:var(--muted);line-height:1.5}
.community-comment-report-dialog label{display:grid;gap:8px;font-size:13px;font-weight:700}
.community-comment-report-dialog textarea{box-sizing:border-box;min-width:0;width:100%;min-height:120px;padding:12px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14px;resize:vertical}
.community-comment-report-error{color:#b91c1c;font-size:12px}
.community-comment-report-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.community-comment-report-buttons button{min-height:43px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.community-comment-report-buttons button[type=submit]{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Flight-plan MCP assistant · compact, accessible mobile sheet. */
.planner-mcp-button{margin:8px 0 12px!important;background:#edf5ff!important;color:#0663b3!important;border:1px solid #bfdbfb!important;box-shadow:none!important}
.planner-mcp-dialog{width:min(92vw,480px);max-height:85dvh;overflow:auto;padding:22px;border:1px solid #dce5ee;border-radius:23px;background:#fff;color:#182330;box-shadow:0 20px 70px #18233033}
.planner-mcp-dialog::backdrop{background:#0d182b99;backdrop-filter:blur(5px)}
.planner-mcp-dialog h2{font-size:21px;margin:0 0 9px;letter-spacing:-.5px}
.planner-mcp-dialog p{font-size:13px;line-height:1.5;color:#64748b}
.planner-mcp-dialog label{display:block;font-size:13px;font-weight:750;margin:15px 0}
.planner-mcp-dialog textarea{box-sizing:border-box;width:100%;min-height:120px;margin-top:9px;padding:13px;border:1px solid #d2dce8;border-radius:14px;font:inherit;resize:vertical;color:#182330;background:#f8fafc}
.planner-mcp-dialog textarea:focus{outline:2px solid #acd3ff}
.planner-mcp-dialog .planner-mcp-feedback:not(:empty){color:#ae3029;font-weight:700}
.planner-mcp-dialog .planner-auto-route-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
.planner-mcp-dialog button{min-height:43px;padding:0 14px;border-radius:12px;font-weight:750}
.planner-mcp-dialog button[type=submit]{background:#087ff5;color:#fff}

/* Moderation is visible only after the server-authorized account check. */
.efb-settings-section[data-moderation-entry][hidden]{display:none!important}
.efb-settings-moderation-note{font-size:13px;line-height:1.5;color:var(--muted);margin:4px 0 12px}
.community-dialog.community-dialog--moderation{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg,#f8f9fb);overflow:auto}
.community-dialog.community-dialog--moderation>header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:18px max(18px,env(safe-area-inset-left));background:var(--bg,#f8f9fb);border-bottom:1px solid var(--line,#e5e8ee)}
.community-dialog.community-dialog--moderation .community-dialog-main{max-width:740px;margin:0 auto;padding:16px 18px calc(36px + env(safe-area-inset-bottom));}
.community-dialog.community-dialog--moderation .community-dialog-main>section{padding:18px;margin:0 0 14px;border:1px solid var(--line,#e2e6eb);border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.community-dialog.community-dialog--moderation .community-dialog-main>section>p{margin:0;line-height:1.45;overflow-wrap:anywhere}
.community-dialog.community-dialog--moderation .community-dialog-main>section>button{min-height:42px;width:100%;border-radius:12px}


/* Moderator-only full-screen navigation (v313). */
.community-dialog--moderation>header{gap:12px}
.community-dialog--moderation .moderation-back{border:1px solid var(--line,#e2e6eb);border-radius:12px;background:#fff;min-width:42px;min-height:42px;font-size:22px;color:var(--ink,#202632)}
.community-dialog--moderation>header h2{flex:1;font-size:20px;letter-spacing:-.4px}
.community-dialog--moderation .moderation-intro{font-size:13px;color:var(--muted,#667085);line-height:1.5}
.community-dialog--moderation .moderation-menu-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:20px;margin:0 0 12px;border:1px solid var(--line,#e2e6eb);border-radius:18px;background:#fff;text-align:left;color:var(--ink,#202632)}
.community-dialog--moderation .moderation-menu-copy{display:flex;flex-direction:column;gap:5px}
.community-dialog--moderation .moderation-menu-copy strong{font-size:17px}
.community-dialog--moderation .moderation-menu-copy small{font-size:12px;color:var(--muted,#667085)}
.community-dialog--moderation .moderation-chevron{font-size:24px;color:var(--blue,#5675e8)}
.community-dialog--moderation .community-dialog-main>section.moderation-report,
.community-dialog--moderation .community-dialog-main>section.moderation-user-row,
.community-dialog--moderation .community-dialog-main>section.moderation-user-details{display:flex;flex-direction:column;gap:9px;align-items:stretch}
.community-dialog--moderation .moderation-report button,
.community-dialog--moderation .moderation-user-row button{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--line,#e2e6eb);background:#f3f5fa;padding:10px 12px;color:var(--ink,#202632)}
.community-dialog--moderation .moderation-report button.moderation-danger{color:#9e2424;background:#fff1f1;border-color:#efcaca}
.community-dialog--moderation .moderation-user-row small,
.community-dialog--moderation .moderation-report small{font-size:12px;color:var(--muted,#667085)}
.community-dialog--moderation .moderation-search{display:flex;gap:8px;margin-bottom:16px}
.community-dialog--moderation .moderation-search input{min-width:0;flex:1;border-radius:12px;border:1px solid var(--line,#e2e6eb);padding:11px 12px;background:#fff}
.community-dialog--moderation .moderation-search button{min-height:42px;padding:0 14px;background:var(--blue,#5675e8);color:#fff;border-radius:12px}
.community-dialog--moderation .moderation-user-fields{display:grid;gap:4px;margin:10px 0}
.community-dialog--moderation .moderation-user-fields dt{font-size:11px;color:var(--muted,#667085);font-weight:750;margin-top:12px}
.community-dialog--moderation .moderation-user-fields dd{font-size:14px;margin:0;overflow-wrap:anywhere}
.community-dialog--moderation .moderation-empty,.community-dialog--moderation .moderation-warning{font-size:13px;color:var(--muted,#667085)}


/* v314 iOS Safari fix: fullscreen moderation must not inherit centered-dialog translation. */
dialog.community-dialog.community-dialog--moderation[open]{
 position:fixed;
 display:flex;
 flex-direction:column;
 inset:0;
 top:0;
 right:0;
 bottom:0;
 left:0;
 transform:none;
 margin:0;
 box-sizing:border-box;
 width:100vw;
 max-width:100vw;
 height:100dvh;
 max-height:100dvh;
 border:0;
 border-radius:0;
 box-shadow:none;
 background:var(--bg,#f8f9fb);
 overflow:hidden;
}
dialog.community-dialog.community-dialog--moderation[open]>header{
 flex:none;
 position:relative;
 z-index:2;
 box-sizing:border-box;
 width:100%;
 padding:calc(14px + env(safe-area-inset-top)) 18px 14px;
 background:var(--solid,#fff);
}
dialog.community-dialog.community-dialog--moderation[open]>.community-dialog-main{
 flex:1 1 auto;
 min-height:0;
 min-width:0;
 width:100%;
 max-width:740px;
 margin:0 auto;
 box-sizing:border-box;
 overflow-y:auto;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 padding:18px 18px calc(24px + env(safe-area-inset-bottom));
}
@media(max-width:520px){
 dialog.community-dialog.community-dialog--moderation[open]{
  inset:0;
  transform:none;
  width:100vw;
  max-width:100vw;
  height:100dvh;
  max-height:100dvh;
  border-radius:0;
 }
 dialog.community-dialog.community-dialog--moderation[open]>.community-dialog-main{padding:18px 16px calc(24px + env(safe-area-inset-bottom));}
}


/* v315 — direct moderator shortcuts and per-user sanctions. */
.efb-moderation-quick{display:flex;flex-direction:column;gap:9px;margin:6px 0 4px}
.efb-moderation-quick [data-open-moderation]{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;border:1px solid var(--line,#e0e5ed);border-radius:14px;background:var(--solid,#fff);padding:15px 17px;color:var(--ink,#202632);font-size:14px;font-weight:720;min-height:52px}
.efb-moderation-quick [data-open-moderation]>span:last-child{font-size:22px;color:var(--blue,#5675e8)}
.community-dialog--moderation .moderation-flight-preview{display:grid;gap:6px;padding:11px 0;border-top:1px solid var(--line,#e0e5ed)}
.community-dialog--moderation .moderation-flights-title{font-size:13px;letter-spacing:-.1px}
.community-dialog--moderation .moderation-flight-row{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:12px;padding:9px 0;border-bottom:1px solid var(--line,#e6ebf1)}
.community-dialog--moderation .moderation-flight-info{display:grid;gap:4px;flex:1;min-width:0}
.community-dialog--moderation .moderation-flight-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.community-dialog--moderation .moderation-flight-info small{font-size:11px;color:var(--muted,#677687)}
.community-dialog--moderation .moderation-flight-row .moderation-secondary{width:auto;white-space:nowrap;flex:none;min-height:38px}
.community-dialog--moderation .moderation-user-controls{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line,#e0e5ed);padding-top:18px;margin-top:8px}
.community-dialog--moderation .moderation-user-controls>h3{margin:0 0 2px;font-size:17px}
.community-dialog--moderation .moderation-restriction{display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-height:50px;gap:16px;padding:8px 0;border-bottom:1px solid var(--line,#e0e5ed);font-size:13px;color:var(--ink,#202632);font-weight:600}
.community-dialog--moderation .moderation-restriction input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:21px;height:21px;flex:none;accent-color:var(--blue,#5675e8)}
.community-dialog--moderation .moderation-user-controls textarea{resize:vertical;border:1px solid var(--line,#e0e5ed);border-radius:12px;padding:12px;background:var(--solid,#fff);font-size:13px;width:100%;box-sizing:border-box;min-height:70px}
.community-dialog--moderation .moderation-user-controls button{min-height:46px;width:100%;padding:11px 14px;border-radius:12px;font-weight:760}
.community-dialog--moderation .moderation-user-controls button.moderation-primary{background:var(--blue,#5675e8);color:#fff;border:0}
.community-dialog--moderation .moderation-user-controls button.moderation-danger{background:#fff1f1;color:#9e2424;border:1px solid #efcaca}
.community-dialog--moderation .moderation-control-status{font-size:12px;color:#267848}
.community-dialog--moderation .moderation-banned-label{display:inline-block;width:max-content;color:#a32b2b;background:#fff0f0;border-radius:8px;padding:6px 9px;font-size:12px}


/* Route proximity is integrated in ordinary Community search (10 NM). */
#community .community-geosearch-match{display:block;width:fit-content;margin-top:7px;padding:7px 10px;border-radius:10px;background:#eaf3ff;color:#195baa;font-weight:750;font-size:11px;line-height:1.35}



/* v320 · Secure, minimalist remote MCP access in EFB settings. */
.efb-mcp-settings{display:grid;gap:13px}
.efb-mcp-settings>div{display:grid;gap:12px}
.efb-mcp-settings p{margin:0;color:var(--muted,#677487);font-size:13px;line-height:1.55}
.efb-mcp-settings .efb-mcp-safety{padding:12px 14px;background:var(--panel,#f5f7fa);border:1px solid var(--line,#e4e8ef);border-radius:13px}
.efb-mcp-select-label{display:grid;gap:7px;font-size:13px;font-weight:730}
.efb-mcp-select-label select{width:100%;min-height:44px;background:var(--solid,#fff);border:1px solid var(--line,#dbe1e8);border-radius:12px;color:var(--ink,#1a2734);padding:9px}
.efb-mcp-permissions{display:grid;gap:0;border-top:1px solid var(--line,#e4e8ef);border-bottom:1px solid var(--line,#e4e8ef)}
.efb-mcp-permissions label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:12px 0;font-weight:610}
.efb-mcp-permissions label+label{border-top:1px solid var(--line,#e4e8ef)}
.efb-mcp-permissions label input{order:2;appearance:auto;accent-color:var(--blue,#5675e8);width:20px;height:20px;flex:none}
.efb-mcp-actions{display:grid;gap:8px}
.efb-mcp-provider-link{display:block;text-align:center;padding:11px 14px;border:1px solid var(--line,#dbe1e8);border-radius:13px;background:var(--solid,#fff);color:var(--ink,#1a2734);font-size:13px;text-decoration:none;font-weight:700}
.efb-mcp-secret{display:grid;gap:8px;padding:14px;border:1px solid #d6dfea;border-radius:15px;background:var(--solid,#fff)}
.efb-mcp-secret[hidden]{display:none!important}
.efb-mcp-secret strong{font-size:13px}
.efb-mcp-secret code{font-size:12px;overflow-wrap:anywhere;padding:12px;background:var(--panel,#eef2f7);border-radius:10px;user-select:all}
.efb-mcp-connections{display:grid;gap:5px}
.efb-mcp-connections h3{font-size:14px;margin:6px 0 2px}
.efb-mcp-connection{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line,#e4e8ef)}
.efb-mcp-connection span{display:grid;gap:5px}
.efb-mcp-connection small{font-size:11px;color:var(--muted,#677487)}
.efb-mcp-connection button{border:1px solid #efc9c9;border-radius:10px;color:#a32929;background:transparent;padding:8px 11px;font-weight:750;flex:none}

.efb-mcp-url-box{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line,#dbe1e8);border-radius:13px;background:var(--solid,#fff)}
.efb-mcp-url-box strong{font-size:13px}
.efb-mcp-url-box code{font-size:12px;overflow-wrap:anywhere;padding:10px;background:var(--panel,#eff3f9);border-radius:9px;user-select:all}

/* Mémo > Procédure — compact cards, consistent with the EFB POCKET UI */
#memoProceduresPanel{padding:8px 0 25px}
.memo-procedure-intro{margin:0 0 18px}
.memo-procedure-intro h2{font-size:24px;line-height:1.2;letter-spacing:-.7px;margin:7px 0 8px}
.memo-procedure-intro p,.memo-procedure-group-head p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}
.memo-procedure-warning{background:rgba(232,73,69,.055);border:1px solid rgba(232,73,69,.14);padding:15px 17px;border-radius:17px;margin-bottom:22px}
.memo-procedure-warning strong{font-size:13px;color:#a6312e}
.memo-procedure-warning p{margin:6px 0 0;color:#5c5860;font-size:12px;line-height:1.55}
.memo-procedure-group{margin:0 0 25px}
.memo-procedure-group-head{margin:0 0 12px}
.memo-procedure-group-head h3{font-size:16px;letter-spacing:-.3px;margin:0 0 4px}
.memo-procedure-list{display:grid;gap:9px}
.memo-procedure-card{border:1px solid var(--line);border-radius:17px;background:var(--solid);box-shadow:var(--small-shadow);overflow:hidden}
.memo-procedure-card>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:16px;min-height:68px}
.memo-procedure-card>summary::-webkit-details-marker{display:none}
.memo-procedure-card>summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.memo-procedure-copy{display:flex;flex-direction:column;min-width:0;gap:4px}
.memo-procedure-copy small{font-size:10px;letter-spacing:.055em;font-weight:800;text-transform:uppercase;color:#5675e8}
.memo-procedure-copy strong{font-size:14px;font-weight:750;line-height:1.35;color:var(--ink)}
.memo-procedure-chevron{font-size:21px;line-height:1;color:#7e8490;transition:transform .2s ease;flex-shrink:0}
.memo-procedure-card[open] .memo-procedure-chevron{transform:rotate(180deg)}
.memo-procedure-detail{padding:0 17px 17px;border-top:1px solid #eef0f4}
.memo-procedure-prompt{font-size:12px;font-weight:700;color:#3d4e69;margin:15px 0 8px}
.memo-procedure-detail ol{padding-left:21px;margin:0;display:grid;gap:9px}
.memo-procedure-detail li{font-size:13px;line-height:1.6;color:#29303a;padding-left:2px}
.memo-procedure-detail li::marker{font-weight:700;color:#5675e8}
.memo-procedure-caution{margin:15px 0 0;background:#f4f6fa;border-radius:11px;padding:10px 12px;color:#5a6574;font-size:11px;line-height:1.55}
.memo-procedure-reference{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 15px}
.memo-procedure-reference a{color:#356ee1;font-weight:700}
@media(max-width:400px){.memo-procedure-card>summary{padding:14px}.memo-procedure-intro h2{font-size:21px}.document-tabs button{padding-left:7px;padding-right:7px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.memo-procedure-chevron{transition:none}}

/* Memo: compact illustrated emergency checklists, training use only. */
.memo-emergency-list{display:grid;gap:10px;margin:0 0 22px}
.memo-emergency-card>summary{justify-content:flex-start;gap:12px;min-height:80px}
.memo-emergency-card .memo-procedure-copy{flex:1}
.memo-emergency-illustration{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#fff2ec;color:#ce5f25;border:1px solid #ffded0}
.memo-emergency-illustration svg{width:28px;height:28px;display:block}
.memo-emergency-illustration--fire,.memo-emergency-illustration--smoke{background:#fff0ef;color:#cb453a;border-color:#f9d0cf}
.memo-emergency-illustration--radio,.memo-emergency-illustration--battery,.memo-emergency-illustration--cloud{background:#edf3ff;color:#5675e8;border-color:#dce7ff}
.memo-emergency-steps{counter-reset:emergency;list-style:none!important;padding:0!important;gap:0!important}
.memo-emergency-steps li{counter-increment:emergency;position:relative;padding:11px 2px 11px 44px!important;min-height:45px;border-bottom:1px solid #eef0f3}
.memo-emergency-steps li:last-child{border-bottom:0}
.memo-emergency-steps li:before{content:counter(emergency);position:absolute;left:0;top:9px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#f1f4fb;color:#4467bf;font-weight:800;font-size:12px}
.memo-emergency-card .memo-procedure-detail{border-top:1px solid #eef0f4}
.memo-emergency-card .memo-procedure-prompt{font-weight:650}

/* Compact, progressive flight creation: two immediate actions + MCP disclosure. */
.planner-generation-hub{display:grid;gap:8px;margin:9px 0 12px}
.planner-generation-hub .planner-auto-route-button{width:100%;margin:0}
.planner-generation-hub .planner-surprise-button{background:linear-gradient(115deg,#eaf0ff,#f7f9ff);border:1px solid #d4dfff;color:#3157bb;font-weight:750;box-shadow:none}
.planner-generator-advanced{border:1px solid #e7eaf0;border-radius:14px;background:#fff}
.planner-generator-advanced summary{font-size:12px;font-weight:750;color:#52627d;min-height:44px;padding:13px;cursor:pointer}
.planner-generator-advanced>p{font-size:12px;line-height:1.55;color:#667587;margin:0 12px 10px}
.planner-generator-advanced .planner-mcp-button{margin:0 10px 10px;width:calc(100% - 20px);min-height:43px;font-size:12px}
.planner-surprise-dialog{border:0;border-radius:22px;background:#fff;width:min(92vw,430px);max-height:85dvh;overflow-y:auto;padding:22px;box-shadow:0 20px 70px #16233b4d}
.planner-surprise-dialog::backdrop{background:#16223b99;backdrop-filter:blur(3px)}
.planner-surprise-dialog h2{margin:0 0 8px;font-size:21px}
.planner-surprise-dialog p{font-size:12px;color:#606d80;line-height:1.55}
.planner-surprise-dialog label{display:grid;gap:7px;margin:15px 0;font-size:13px;color:#34445f;font-weight:700}
.planner-surprise-dialog input,.planner-surprise-dialog select{min-height:44px;border:1px solid #dce3ed;border-radius:12px;padding:10px 12px;background:#fff;color:#18283d;font:inherit;min-width:0}
.planner-surprise-dialog .planner-surprise-feedback{font-weight:700;color:#3157bb;min-height:18px;white-space:pre-line}

/* v323: compact emergency controls and less copy in generator flows. */
.memo-procedure-intro{margin-bottom:8px}
.memo-procedure-intro h2{margin:0 0 4px}
.memo-procedure-intro p{font-size:12px;margin:0}
.memo-procedure-reference-model{display:grid;gap:2px;border-radius:11px;padding:10px 13px;background:#eaf0ff;color:#2f4e83;margin:10px 0 10px;font-size:12px}
.memo-procedure-reference-model strong{font-weight:800}
.memo-procedure-reference-model span{font-size:11px;line-height:1.4}
.memo-procedure-mini-warning{font-size:11px;line-height:1.5;color:#7b4b24;margin:0 0 15px;padding:9px 12px;background:#fff5e9;border-radius:9px}
.memo-cockpit-actions{list-style:none!important;display:grid!important;gap:0!important;margin:0!important;padding:0!important;counter-reset:action!important}
.memo-cockpit-actions li{counter-increment:action;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:46px;border-bottom:1px solid #eef0f5;padding:10px 0!important;font-size:13px!important}
.memo-cockpit-actions li:before{content:none!important}
.memo-cockpit-actions li span{color:#34445a;line-height:1.4;min-width:0}
.memo-cockpit-actions li strong{font-size:11px;font-weight:850;text-align:right;color:#245cb5;background:#edf3ff;padding:6px 8px;border-radius:8px;max-width:145px;overflow-wrap:anywhere}
.memo-cockpit-actions li strong:where(:not(:empty)){letter-spacing:.02em}
.memo-cockpit-actions li:last-child{border-bottom:0}
.memo-emergency-card .memo-procedure-prompt{font-size:11px;line-height:1.45;margin:10px 0;color:#697385;font-weight:600}
.memo-emergency-card .memo-procedure-caution{font-size:10px;margin-top:8px;padding:9px}
.planner-surprise-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.planner-surprise-range>span{display:grid;gap:5px;font-size:11px;font-weight:600;color:#526479}
.planner-surprise-range input{width:100%;box-sizing:border-box;appearance:textfield;-moz-appearance:textfield}
.planner-surprise-range input::-webkit-inner-spin-button,.planner-surprise-range input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.planner-generator-advanced{padding:5px!important;box-sizing:border-box;overflow:hidden;border-radius:15px!important}
.planner-generator-advanced summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px!important;font-size:13px;color:#2d4d74}
.planner-generator-advanced[open] summary{border-bottom:1px solid #e9edf3}
.planner-generator-advanced>p{margin:12px 14px!important}
.planner-generator-advanced .planner-mcp-button{box-sizing:border-box;margin:2px 12px 12px!important;width:calc(100% - 24px)!important;min-height:45px;border-radius:12px}
.planner-route-review{font-size:12px;line-height:1.45}

/* v324: one clean advanced IA action and expandable safety notices. */
.planner-generator-advanced{margin-top:2px;box-shadow:none}
.planner-generator-advanced summary{list-style:none;cursor:pointer}
.planner-generator-advanced summary::-webkit-details-marker{display:none}
.planner-generator-advanced summary>span:last-child{transition:transform .16s}
.planner-generator-advanced[open] summary>span:last-child{transform:rotate(180deg)}
.planner-generator-advanced>p{margin:11px 14px 8px!important;font-size:12px}
.planner-generator-advanced .planner-mcp-button{display:block;width:calc(100% - 28px)!important;margin:9px 14px 14px!important;min-height:44px;font-size:12px;box-shadow:none}
.planner-route-notices{margin:7px 0 10px;border:1px solid #efe3b8;background:#fff9e9;border-radius:11px;padding:0!important;color:#73520d}
.planner-route-notices[hidden]{display:none}
.planner-route-notices summary{cursor:pointer;list-style:none;padding:11px 12px;font-size:12px;font-weight:800}
.planner-route-notices summary::-webkit-details-marker{display:none}
.planner-route-notices ul{margin:0!important;padding:6px 14px 12px 29px!important;font-size:11px;line-height:1.55}
.planner-route-notices li{margin-bottom:4px}

/* v327 — briefing VFR actions and featured GPS replay in local library */
.hero-vfr .hero-actions{max-width:490px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.hero-vfr .hero-actions .button{min-height:54px;border-radius:17px;font-size:12px;line-height:1.25;white-space:normal;text-align:center}
.hero-vfr .hero-actions .button-edit-plan{background:#eaf2ff;color:#235fbe;border:1px solid #c8dcf6;font-weight:750}
.hero-vfr .hero-actions .button-edit-plan:hover{background:#dceaff}
#flightRecordingsEntry{padding:0 22px 15px}
.flight-recordings-featured{width:100%;border:0;border-radius:19px;padding:15px 16px;display:flex;align-items:center;gap:12px;background:linear-gradient(110deg,#1685f1,#3767d9);box-shadow:0 8px 22px rgba(33,111,223,.22);color:#fff;text-align:left;cursor:pointer}
.flight-recordings-featured:focus-visible{outline:3px solid #1e67d2;outline-offset:3px}
.flight-recordings-featured-icon{width:42px;height:42px;display:grid;place-items:center;background:rgba(255,255,255,.16);border-radius:13px;flex-shrink:0}
.flight-recordings-featured-icon svg{width:26px;height:26px}
.flight-recordings-featured-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.flight-recordings-featured-copy strong{font-size:14px;font-weight:800;line-height:1.25}
.flight-recordings-featured-copy small{font-size:11px;color:rgba(255,255,255,.82)}
.flight-recordings-featured-arrow{font-size:25px;flex-shrink:0}
@media(max-width:430px){#flightRecordingsEntry{padding:0 18px 13px}.hero-vfr .hero-actions .button{font-size:11px;padding-left:8px;padding-right:8px}}

/* VFR v329: true empty briefing and PDF/GPX/KML export */
/* Keep the export menu outside the briefing card's clipped bounds. */
.hero-vfr{overflow:visible;z-index:2}
.hero-vfr::after{pointer-events:none}
.hero-vfr .vfr-export-control{position:relative;min-width:0;z-index:3}
.hero-vfr .vfr-export-control>.button{width:100%;min-height:48px}
.hero-vfr .vfr-export-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:11;width:max(100%,205px);max-width:min(85vw,265px);padding:6px;border-radius:15px;background:white;border:1px solid #e0e5ed;box-shadow:0 12px 38px #14244126}
.hero-vfr .vfr-export-menu[hidden]{display:none!important}
.hero-vfr .vfr-export-menu button{display:flex;justify-content:space-between;gap:7px;width:100%;padding:12px 10px;border-radius:10px;text-align:left;color:#172c49;font-size:13px;font-weight:750;background:transparent}
.hero-vfr .vfr-export-menu button:focus-visible,.hero-vfr .vfr-export-menu button:hover{background:#ecf3ff}
.hero-vfr .vfr-export-menu small{font-size:10px;color:#67758a;font-weight:500}
#flightEmpty.vfr-empty{margin:16px 0 24px;padding:30px 20px;border:1px solid #dce5ef;border-radius:26px;background:#fff;text-align:center}
#flightEmpty.vfr-empty .empty-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:17px;background:#edf3ff;color:#5675e8;font-size:26px}
#flightEmpty.vfr-empty h2{font-size:21px;margin:0 0 11px}
#flightEmpty.vfr-empty p{max-width:355px;margin:0 auto 20px;color:#5d6c7f;font-size:14px;line-height:1.55}
#flightEmpty .vfr-empty-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#flightEmpty .vfr-empty-actions .button{padding:10px;font-size:12px;white-space:normal;min-width:0}
@media(max-width:360px){#flightEmpty .vfr-empty-actions{grid-template-columns:1fr}}

/* v330: saved draft summary in VFR without showing unvalidated navigation details. */
#flightDraftPreview[hidden]{display:none!important}
#flightDraftPreview.vfr-draft-preview{padding:24px 20px;margin:16px 0 23px;border:1px solid #dce5f1;border-radius:26px;background:#fff;box-shadow:0 10px 32px #17345b0b}
.vfr-draft-kicker{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;letter-spacing:.07em;font-weight:850;color:#3566a7}
.vfr-draft-kicker span{background:#fff3dd;color:#996b16;border-radius:999px;padding:6px 9px;font-size:10px;letter-spacing:0}
#flightDraftPreview h2{font-size:24px;letter-spacing:-.5px;margin:18px 0 16px;overflow-wrap:anywhere}
.vfr-draft-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:11px;align-items:center;padding:16px;border-radius:16px;background:#f0f5fc;color:#163958}
.vfr-draft-route strong{font-size:17px;overflow-wrap:anywhere}
.vfr-draft-route strong:last-child{text-align:right}
.vfr-draft-route>span{font-size:21px;color:#3179bd;font-weight:700}
#vfrDraftSteps{margin:14px 0 9px;font-size:12px;color:#38638d;font-weight:750}
.vfr-draft-note{margin:0 0 19px;font-size:12px;line-height:1.65;color:#637289}
#vfrDraftContinue{width:100%}

/* v335: Reserve a real Android bottom inset even when standalone WebView
   reports safe-area-inset-bottom: 0 (system gesture bar still overlaps). */
:root{--tabbar-system-clearance:var(--safe-bottom)}
.tabbar{bottom:0;box-sizing:border-box;padding-bottom:calc(6px + var(--tabbar-system-clearance));overflow:visible}
.tabbar .tab{min-width:0}
.tabbar .tab span{display:block;line-height:1.25}
.app-shell{padding-bottom:calc(112px + var(--tabbar-system-clearance))}
body.planner-active{--planner-nav-height:calc(79px + var(--tabbar-system-clearance))}

/* v331: error and retry affordances in saved-flights dialog */
#flightLibraryStatus{min-height:18px;line-height:1.5}
#savedFlightsList [data-retry-saved-flights]{margin-top:14px;padding:11px 18px;border-radius:12px;border:1px solid #bbd3f4;background:#eaf3ff;color:#145da3;font-weight:800}


/* v336 · Preflight performance overview: source-aware, compact, cockpit-inspired */
.preflight-performance-tools{margin:18px 0 22px;padding:19px;border:1px solid #dfe7f0;border-radius:22px;background:linear-gradient(180deg,#fff,#f7f9fc);box-shadow:0 8px 30px #14243d08}
.preflight-performance-tools>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.preflight-performance-tools>header h3{margin:5px 0 0;font-size:21px;letter-spacing:-.55px;color:#142034}
.preflight-performance-tools>header>small{max-width:145px;text-align:right;font-size:10px;line-height:1.5;color:#718096}
.preflight-tool-explainer,.preflight-tool-disclaimer{margin:9px 0 17px;font-size:12px;line-height:1.55;color:#69758a}
.preflight-tool-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}
.preflight-tool-metric{min-width:0;padding:14px;border:1px solid #e2e8f0;background:#fff;border-radius:15px}
.preflight-tool-metric>span{display:block;color:#5f7087;font-size:11px;font-weight:700}
.preflight-tool-metric>strong{display:block;color:#17283b;font-size:20px;line-height:1.25;letter-spacing:-.5px;margin-top:7px;overflow-wrap:anywhere}
.preflight-tool-metric>small{display:block;font-size:10px;color:#6d7d8f;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}
.preflight-tool-metric[data-state="warning"]{background:#fff8f6;border-color:#f4c8c2}
.preflight-tool-metric[data-state="warning"]>strong,.preflight-tool-warning{color:#b8332b}
.preflight-tool-warning{font-size:12px;font-weight:750;line-height:1.5}
.preflight-runway-tool{margin:10px 0;border:1px solid #e0e7ef;border-radius:17px;padding:16px;background:white}
.preflight-runway-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.preflight-runway-head h4{margin:3px 0 0;color:#1b2b40;font-size:16px;letter-spacing:-.3px}
.preflight-runway-head small{color:#2372b8;font-size:11px;font-weight:850}
.preflight-runway-status{display:block;max-width:150px;flex-shrink:0;text-align:right;color:#576b82;font-size:11px;line-height:1.35;font-weight:800}
.preflight-runway-tool[data-state="warning"] .preflight-runway-status{color:#bc302e}
.preflight-runway-tool[data-state="calculated"] .preflight-runway-status{color:#197450}
.preflight-runway-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0}
.preflight-runway-metrics .preflight-tool-metric{padding:11px 12px;background:#f7f9fc;border:0}
.preflight-runway-metrics .preflight-tool-metric>strong{font-size:15px}
.preflight-runway-tool>p{margin:6px 0 11px;color:#69788a;font-size:11px;line-height:1.6}
.preflight-runway-tool>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:1px solid #cce1f6;border-radius:12px;padding:11px 13px;background:#edf6ff;color:#135d9f;font:inherit;font-size:12px;font-weight:750;text-align:left;cursor:pointer}
.preflight-runway-tool>button:focus-visible{outline:3px solid #8cc0ff;outline-offset:2px}
.preflight-tool-disclaimer{margin:17px 0 0;border-top:1px solid #e5eaf1;padding-top:13px}
.aircraft-planning-card .preflight-cg-detail{border:1px solid #dfe7ef;border-radius:15px;padding:10px 13px;background:#fff}
.aircraft-planning-card .preflight-cg-detail>summary{min-height:38px;display:flex;align-items:center;font-size:13px}
.aircraft-planning-card .preflight-cg-detail:not([open]){margin-bottom:12px}
@media(max-width:380px){.preflight-performance-tools{padding:13px}.preflight-tool-metrics{gap:7px}.preflight-tool-metric{padding:11px 9px}.preflight-tool-metric>strong{font-size:16px}.preflight-runway-tool{padding:12px}.preflight-runway-head{flex-wrap:wrap}.preflight-runway-status{max-width:none;text-align:left}.preflight-runway-metrics{gap:6px}.preflight-runway-metrics .preflight-tool-metric{padding:10px 8px}}


/* v338: reusable advanced/simplified VFR preparation pages */
#planner[data-planning-mode="simple"] .pw-advanced-only{display:none!important}
#planner[data-planning-mode="advanced"] .pw-simple-only{display:none!important}
.pw-preparation-mode{display:flex;flex-shrink:0;gap:3px;background:#f0f3f7;padding:3px;border:1px solid #e2e8f0;border-radius:12px}
.pw-map-top .pw-preparation-mode button{flex:1;min-width:0;min-height:34px;padding:7px 9px;font-size:11px;font-weight:750;border:0;box-shadow:none;background:transparent;border-radius:9px;color:#69798c}
.pw-map-top .pw-preparation-mode button[aria-pressed="true"]{background:white;color:#106fbd;box-shadow:0 1px 5px #182e4920}
.pw-preparation-mode button:focus-visible{outline:3px solid #5ca9f5;outline-offset:2px}
.pw-map-top .planner-preparation-menu .pw-dropdown-panel>header{display:flex;gap:8px;align-items:center}
.pw-map-top .planner-preparation-menu .pw-dropdown-panel>header h2{font-size:13px;min-width:72px;max-width:110px}
.pw-map-top .planner-preparation-menu>.pw-dropdown-panel{width:min(410px,calc(100vw - 32px))}
.pw-map-top .planner-preparation-menu nav button{min-height:48px}
.pw-simple-page{max-width:900px;padding:22px;border-radius:24px;background:#fff;border:1px solid #e2e9f1;box-shadow:0 7px 26px #102c4909;margin:0 0 18px}
.pw-simple-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pw-simple-icon{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:17px;background:#e9f4ff;font-size:25px}
.pw-simple-heading .eyebrow{font-size:9px;letter-spacing:1.2px;color:#1676be}
.pw-simple-heading h2{font-size:25px;letter-spacing:-.7px;color:#182b42;margin:4px 0}
.pw-simple-heading p{font-size:12px;color:#6f7f90;line-height:1.5;margin:5px 0 0}
.pw-simple-status{padding:13px 15px;margin:14px 0;border-radius:13px;background:#f1f5f9;color:#52647a;font-size:12px;line-height:1.55;font-weight:650}
.pw-simple-status[data-state="ready"]{background:#eaf8ef;color:#1b7551}
.pw-simple-status[data-state="danger"]{background:#fff0ed;color:#b72f28}
.pw-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0}
.pw-simple-metric{min-width:0;border:1px solid #e3eaf1;background:#f8fafd;border-radius:17px;padding:15px}
.pw-simple-metric>span{display:block;font-weight:700;font-size:11px;color:#6b7b8e}
.pw-simple-metric>strong{display:block;font-size:21px;letter-spacing:-.7px;color:#172d43;margin:8px 0;overflow-wrap:anywhere}
.pw-simple-metric>small{display:block;font-size:10px;line-height:1.4;color:#7a8b9f}
.pw-simple-metric[data-state="danger"]{background:#fff3f0;border-color:#f7cbc5}
.pw-simple-metric[data-state="danger"]>strong{color:#b72f28}
.pw-simple-metric[data-state="ready"]>strong{color:#1f7e5a}
.pw-simple-page>h3,.pw-simple-runway h3{font-size:16px;letter-spacing:-.25px;color:#24394f;margin:22px 0 12px}
.pw-simple-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:12px 0}
.pw-simple-field{display:grid;align-content:start;gap:9px;min-width:0;color:#4e6176;font-size:12px;font-weight:700}
.pw-simple-field>span small{font-size:10px;color:#8894a2}
.pw-simple-page .pw-simple-field input,.pw-simple-page .pw-simple-field select{width:100%;font-family:inherit;font-size:16px;min-width:0;min-height:50px;border:1px solid #dce4ed;background:#fdfefe;border-radius:13px;padding:11px 13px;color:#22374e}
.pw-simple-page .pw-simple-field input:focus-visible,.pw-simple-page .pw-simple-field select:focus-visible{outline:3px solid #2183eb55;outline-offset:1px}
.pw-simple-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:650;color:#50677d;line-height:1.55;background:#f1f7fd;border-radius:13px;padding:14px;margin:14px 0}
.pw-simple-check input{width:21px;height:21px;flex-shrink:0;margin:0;accent-color:#117bc7}
.pw-simple-note{font-size:11px;color:#768698;line-height:1.6;padding-top:5px}
.pw-simple-advanced-link{min-height:44px;margin:9px 0 0;width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #d7e5f5!important;border-radius:13px;background:#eef6ff!important;color:#1d69a4!important;padding:12px 15px!important;font-size:12px;font-weight:750;cursor:pointer}
.pw-fuel-visual{border-radius:17px;padding:20px;background:#14253b;margin:15px 0}
.pw-fuel-label{display:flex;align-items:center;gap:10px;justify-content:space-between;color:white}
.pw-fuel-label strong{font-size:27px;letter-spacing:-.7px}
.pw-fuel-label span{font-size:11px;color:#d5e3f0}
.pw-fuel-track{height:16px;background:#39526b;border-radius:50px;overflow:hidden;margin-top:16px}
.pw-fuel-track>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#49b9ff,#31ddae)}
.pw-simple-runway{margin:16px 0 22px;padding:17px;border:1px solid #e2eaf2;border-radius:18px}
.pw-simple-runway h3{margin:0 0 13px}
.pw-simple-runway-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.pw-simple-runway-actions button{flex:1;min-height:44px;border-radius:13px;border:1px solid #d4e5f5;background:#edf5ff;color:#1768a7;font-size:12px;font-weight:750;padding:10px}
.pw-performance-advanced .preflight-performance-tools{border:0;box-shadow:none;padding:0;background:transparent}
.pw-performance-advanced .preflight-tool-metrics{display:none}
.pw-performance-advanced .preflight-runway-tool>button{display:none}
#planner[data-planning-mode="simple"] .pw-performance-advanced{padding:14px 18px}
#planner[data-planning-mode="simple"] .pw-performance-advanced .preflight-performance-tools>header{display:none}
#planner[data-planning-mode="simple"] .pw-performance-advanced .preflight-tool-explainer{display:none}
@media(max-width:600px){
 .pw-map-top .planner-preparation-menu>.pw-dropdown-panel{padding:14px}
 .pw-map-top .planner-preparation-menu .pw-dropdown-panel>header{gap:6px}
 .pw-map-top .planner-preparation-menu .pw-dropdown-panel>header h2{font-size:12px;max-width:78px}
 .pw-map-top .pw-preparation-mode button{font-size:10px;padding:6px 7px}
 .pw-simple-page{padding:17px 14px;border-radius:20px}
 .pw-simple-heading h2{font-size:22px}
 .pw-simple-grid{gap:6px}
 .pw-simple-metric{padding:11px 9px;border-radius:13px}
 .pw-simple-metric>strong{font-size:16px}
 .pw-simple-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pw-simple-runway{padding:12px}
}
@media(max-width:360px){.pw-simple-fields{grid-template-columns:1fr}.pw-preparation-mode{max-width:155px}.pw-simple-icon{width:43px;height:43px;flex-basis:43px}}

.pw-cg-visual{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin:-1px 0 21px}.pw-cg-track{grid-column:1/-1;height:12px;border-radius:20px;background:linear-gradient(90deg,#e9f2fa,#cce8e6,#e9f2fa);position:relative;border:1px solid #cddde8}.pw-cg-track>span{position:absolute;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;border:4px solid white;background:#187eb6;box-shadow:0 2px 8px #162c4670}.pw-cg-visual>small{font-size:10px;color:#7a8799}.pw-cg-visual>small:last-child{text-align:right}


/* v339 · Stable Android/PWA bottom dock: explicit row height, no compositor blur.
   The small viewport unit does not jump when Chrome collapses its toolbars.
   Keep the gesture/navigation area reserved even when safe-area reports zero. */
:root{--tabbar-total-height:calc(76px + var(--tabbar-system-clearance))}
.tabbar{
  position:fixed;
  box-sizing:border-box;
  height:var(--tabbar-total-height);
  min-height:var(--tabbar-total-height);
  grid-template-rows:64px;
  align-items:start;
  padding:6px 9px calc(6px + var(--tabbar-system-clearance));
  bottom:0;
  transition:none!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  background:rgba(247,247,249,.98);
}
.tabbar .tab{height:62px;min-height:62px;align-self:start;align-content:center}
.tabbar .planner-tab{height:62px;min-height:62px;align-content:start}
.app-shell{padding-bottom:calc(var(--tabbar-total-height) + 12px)}
body.planner-active{--planner-nav-height:var(--tabbar-total-height)}
/* Keep the dock attached to the bottom of the visual viewport, not the
   scroll-sensitive small viewport top (which made it jump on Android). */
.tabbar{top:auto!important;bottom:0!important;left:0;right:0;transform:none;}
@media(max-width:699px){
 .tabbar{position:fixed;top:auto!important;bottom:0!important;overscroll-behavior:none;}
}
/* The switch is a full-width control below the heading, not a third
   flexible header item; its labels never overlap the close button. */
.pw-map-top .planner-preparation-menu .pw-dropdown-panel>header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.pw-map-top .planner-preparation-menu .pw-dropdown-panel>header h2{
  min-width:0;max-width:none;flex:1;font-size:15px;line-height:1.3;
}
.pw-map-top .planner-preparation-menu .pw-dropdown-panel>.pw-preparation-mode{
  width:100%;max-width:none;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  box-sizing:border-box;flex-shrink:0;
  margin:14px 0 16px;padding:4px;gap:4px;
}
.pw-map-top .planner-preparation-menu .pw-dropdown-panel>.pw-preparation-mode button{
  width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:13px;
  white-space:nowrap;line-height:1.2;
}

/* Simplified aircraft inputs: source data stays visible and editable. */
.pw-simple-profile-table{margin:14px 0}
.pw-simple-profile-table>summary{cursor:pointer;color:#216ea9;font-size:13px;font-weight:750;padding:12px 0}
.pw-simple-profile-table textarea{box-sizing:border-box;width:100%;min-height:125px;border:1px solid #dce4ed;border-radius:13px;padding:12px;font:inherit;color:#22374e;resize:vertical}
.pw-station-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px;margin:11px 0}
.pw-simple-page h3.pw-data-heading{font-size:15px;margin:23px 0 10px;color:#22374e}

/* v341: tighter bottom navigation; the OS gesture area has its own safe inset. */
html,body{max-width:100%;overflow-x:clip}
.app-shell,.screen,.section-block,#flightNotams,#plannerNotams,.notam-list,.notam-item{min-width:0;max-width:100%}
:is(#flightNotams,#plannerNotams) .notam-item summary{max-width:100%;min-width:0}
:is(#flightNotams,#plannerNotams) .notam-item summary>strong{max-width:100%;min-width:0;overflow-wrap:anywhere}
:is(#flightNotams,#plannerNotams) .notam-item summary>span{flex:1 1 190px;min-width:0;max-width:100%;text-align:right;white-space:normal;overflow-wrap:anywhere}
:is(#flightNotams,#plannerNotams) .notam-item pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}

/* v344: Android bottom dock is flush with its own content. The OS gesture
   strip remains controlled by Android and is not part of the web navbar. */
:root{--tabbar-total-height:calc(70px + var(--safe-bottom))}
.tabbar{
  height:var(--tabbar-total-height);min-height:var(--tabbar-total-height);
  grid-template-rows:64px;
  padding:3px 9px calc(3px + var(--safe-bottom));
  overflow:visible;overscroll-behavior:none;
}
.app-shell{padding-bottom:calc(var(--tabbar-total-height) + 12px)}
body.planner-active{--planner-nav-height:var(--tabbar-total-height)}
/* Keep preparation panels and their controls inside the mobile viewport. */
@media(max-width:699px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .planner-chapter-dialog,.pw-chapter-body{box-sizing:border-box;width:100%;max-width:100vw;overflow-x:clip}
  .planner-chapter-dialog>header{box-sizing:border-box;width:100%;min-width:0}
  .planner-chapter-dialog>header h2{min-width:0;overflow-wrap:anywhere}
  .pw-chapter,.pw-simple-page,.automatic-planning,.planner-card{box-sizing:border-box;min-width:0;max-width:100%}
  .pw-simple-heading>div,.pw-simple-field{min-width:0;max-width:100%}
  .automatic-planning :is(select,input,textarea,button){box-sizing:border-box;max-width:100%;min-width:0}
}

/* VFR refonte: active flight / preflight / navigation, no changes to map or profile. */
#vfrPlanSummary .vfr-preflight-overview{display:grid;gap:11px;margin:14px 0 20px;padding:15px;border:1px solid #dce8f4;border-radius:18px;background:linear-gradient(150deg,#f7fbff,#ecf4fd)}
.vfr-preflight-summary{display:flex;flex-direction:column;gap:4px}
.vfr-preflight-summary span{font-size:10px;letter-spacing:.1em;font-weight:850;color:#2877b3}
.vfr-preflight-summary strong{font-size:17px;color:#172f45}
.vfr-preflight-summary small{font-size:11px;color:#62798d;line-height:1.45}
.vfr-preflight-overview .vfr-plan-grid{margin:6px 0 0}
#vfrLegsToggle{min-height:40px;padding:8px 11px;border-radius:10px;background:var(--blue-soft);color:#1768a5;white-space:nowrap}
#legsBody tr[hidden]{display:none!important}
#legsBody .vfr-wind-course{display:block;color:#123c61;font-size:14px;line-height:1.25}
#legsBody .vfr-true-course{display:block;font-size:10px;color:#768da2;white-space:normal;line-height:1.45;margin-top:3px}
.flight-table th small{font-size:9px;font-weight:550}
#flightContent .vfr-notams{margin-top:24px;background:#fff;border:1px solid #e0e8ef;border-radius:18px;padding:0 14px;box-shadow:0 3px 13px #15263c0b}
.vfr-notams>summary{display:flex;list-style:none;align-items:center;gap:10px;min-height:76px;cursor:pointer}
.vfr-notams>summary::-webkit-details-marker{display:none}
.vfr-notams>summary>span:first-child{display:grid;gap:5px;flex:1;min-width:0}
.vfr-notams>summary>span:first-child strong{font-size:17px;line-height:1.3;color:#21384d}
.vfr-notam-counter{font-size:11px;font-weight:750;color:#246caa;padding:7px 9px;border-radius:10px;background:#eef6ff;max-width:160px;text-align:center}
.vfr-expand-chevron{font-size:23px;color:#6e8ba4;transition:transform .15s}
.vfr-notams[open] .vfr-expand-chevron{transform:rotate(180deg)}
#flightContent .vfr-notams #flightNotams{padding:0 1px 17px}
.vfr-sigmet-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:13px;border:1px solid #dae5ef;border-radius:15px;background:#f2f7fc}
.vfr-sigmet-row>div{display:flex;flex-direction:column;min-width:0;gap:5px}
.vfr-sigmet-row strong{color:#213c55;font-size:13px}
.vfr-sigmet-row small{font-size:11px;color:#5c7489;line-height:1.45}
.vfr-sigmet-row button{flex:none;min-height:42px;padding:8px 13px;border-radius:11px;background:#e0edfc;color:#1665a9;font-weight:800;font-size:11px;cursor:pointer}
@media(max-width:480px){.vfr-notam-counter{font-size:10px;padding:7px}.vfr-sigmet-row{align-items:flex-start}.vfr-sigmet-row button{padding:7px 9px}}

/* VFR v347: true wind-corrected heading (not magnetic) is the primary value. */

/* v350: VFR briefing, light reference layout and always available NOTAM controls. */
#flightMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
#flightMetrics .metric{min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:92px}
#flightMetrics .metric-schedule label{display:flex;flex-direction:column;align-items:center;gap:6px}
#flightMetrics input[type=time]{box-sizing:border-box;max-width:100%;width:130px;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;text-align:center;color-scheme:light}
#flightMetrics .metric small{display:block;margin-top:5px;font-size:10px;color:var(--muted);line-height:1.4}
#vfrFlightWeatherAssessment[data-state=good]{color:#087c4e}
#vfrFlightWeatherAssessment[data-state=watch]{color:#9c6008}
#vfrFlightWeatherAssessment[data-state=danger]{color:#b33232}
#flightAirportCharts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#flightAirportCharts[hidden]{display:none}
#flightAirportCharts button{min-width:0;width:100%;padding:14px 12px}
/* A loop flight has a single VAC: span both columns, retain two columns for distinct airports. */
#flightAirportCharts > button:only-child{grid-column:1 / -1}
#flightAirportCharts .flight-chart-label{min-width:0}
#flightAirportCharts .flight-chart-label small{overflow-wrap:anywhere}
#vfrPlanSummary{background:#fff;color:#172a3b;padding:20px;border-radius:24px}
#vfrPlanSummary .vfr-brief-sheet{border:1px solid #e0e6ec;border-radius:20px;padding:18px;background:#fff}
.vfr-brief-heading,.vfr-brief-nav-heading,.vfr-brief-nav-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}
.vfr-brief-heading>div{min-width:0}
.vfr-brief-kicker{color:#657789;font-size:10px;font-weight:700;letter-spacing:.06em}
#vfrPlanSummary .vfr-brief-heading h3{font-size:19px;color:#172a3b;margin:5px 0;overflow-wrap:anywhere}
.vfr-brief-heading p{margin:0;color:#657789;font-size:11px}
.vfr-status-pill{display:inline-block;max-width:100%;padding:5px 9px;border-radius:14px;background:#edf1f5;color:#4a6073;border:0;font-size:11px;line-height:1.4;font-weight:700;text-align:right}
button.vfr-status-pill{cursor:pointer}
.vfr-status-pill[data-state=good]{background:#e6f6ed;color:#087c4e}
.vfr-status-pill[data-state=watch]{background:#fff3dd;color:#99600b}
.vfr-status-pill[data-state=danger]{background:#ffebe8;color:#b33232}
.vfr-brief-stats,.vfr-brief-nav-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center;margin:24px 0}
.vfr-brief-stats strong,.vfr-brief-nav-stats strong{display:block;font-size:17px;color:#172a3b;overflow-wrap:anywhere}
.vfr-brief-stats span,.vfr-brief-nav-stats span{display:block;font-size:11px;color:#657789;margin-top:7px}
.vfr-brief-rows{padding:10px 0 16px;border-top:1px solid #e7ecf1;border-bottom:1px solid #e7ecf1}
.vfr-brief-rows>div{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;padding:5px 0;font-size:13px}
.vfr-brief-rows>div>strong{flex:1;min-width:0;font-size:13px}
.vfr-brief-rows>div>span,.vfr-brief-rows>div>button{max-width:58%;overflow-wrap:anywhere;text-align:right}
.vfr-brief-rows span[data-state=good]{color:#087c4e}
.vfr-brief-rows span[data-state=watch]{color:#99600b}
.vfr-brief-rows span[data-state=danger]{color:#b33232}
.vfr-brief-nav{padding-top:20px}
.vfr-brief-nav-heading{margin-bottom:20px;font-size:13px}
.vfr-brief-nav-heading small,.vfr-brief-nav-footer small{color:#657789;font-size:11px}
.vfr-brief-nav-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 18px}
.vfr-brief-nav-stats strong{font-size:15px}
.vfr-brief-nav-footer button{flex:none;width:34px;height:34px;border:1px solid #dbe4ed;border-radius:50%;background:white;color:#236aa3;font-size:20px;cursor:pointer}
#vfrPlanSummary .vfr-plan-sources{margin-top:16px}
.vfr-notam-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 12px}
.vfr-notam-heading>div{min-width:0}
.vfr-notam-heading h2{font-size:17px;line-height:1.3;margin:5px 0 0}
.vfr-notam-toggle{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;border:0;background:transparent;color:#276a9e;cursor:pointer;max-width:48%;font-size:11px;font-weight:700}
.vfr-notam-toggle .vfr-notam-counter{max-width:none}
.vfr-notam-toggle[aria-expanded=true] .vfr-expand-chevron{transform:rotate(180deg)}
#flightContent .vfr-notams #flightNotams{padding-bottom:10px}
#flightNotams .notam-overview{margin-top:8px}
.vfr-weather-refresh{display:inline-flex;gap:7px;align-items:center;justify-content:center;flex:none;min-height:44px;padding:11px 15px;border-radius:12px;background:#087ff0;color:white;font-weight:800;font-size:12px;box-shadow:0 3px 9px #087ff026;cursor:pointer}
.vfr-weather-refresh span{font-size:20px}
@media(max-width:480px){
 #vfrPlanSummary{padding:14px}
 #vfrPlanSummary .vfr-brief-sheet{padding:14px}
 .vfr-brief-nav-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}
 .vfr-brief-heading{align-items:flex-start}
 .vfr-brief-heading>.vfr-status-pill{flex:none}
 .flight-weather-section>.section-title-row{align-items:flex-start;flex-wrap:wrap}
 .vfr-weather-refresh{width:100%}
 .vfr-notam-heading{align-items:flex-start}
 .vfr-notam-toggle{max-width:46%}
 #flightAirportCharts button{padding:12px 8px;gap:7px}
 #flightAirportCharts .flight-chart-icon{width:27px;height:32px}
 #flightAirportCharts .flight-chart-label strong{font-size:12px}
 #flightAirportCharts .flight-chart-label small{font-size:10px}
}

/* v351: planned schedule, departure/arrival fuel, readable profile and inline SIGMET. */
#flightMetrics .vfr-fuel-values{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:5px;font-size:16px}
#flightMetrics .vfr-fuel-values small{display:inline;font-weight:600;font-size:10px;margin:0}
.vfr-fuel-values i{font-style:normal;color:#687e91}
.vfr-notam-counter{background:#fff0d8;color:#a45a00}
.profile-selection p{white-space:pre-wrap;overflow-wrap:anywhere}
#vfrVerticalProfile .profile-load{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:12px 16px;background:#087ff0;color:#fff;border:0;border-radius:12px;font-weight:800;box-shadow:0 3px 9px #087ff026;cursor:pointer}
#vfrVerticalProfile .profile-load span{font-size:19px}
.vfr-sigmet-row{display:block}
.vfr-sigmet-bulletins{margin-top:12px}
.vfr-sigmet-bulletins:empty{display:none}
.vfr-sigmet-bulletins article{padding:14px;border:1px solid #e5d9be;border-radius:12px;background:#fffaf0;margin-top:10px}
.vfr-sigmet-bulletins h4{margin:0 0 10px;font-size:14px}
.vfr-sigmet-bulletins p{font-size:12px;line-height:1.6}
.vfr-sigmet-bulletins pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}
@media(max-width:480px){#vfrVerticalProfile>.section-title-row{flex-wrap:wrap;gap:12px}#vfrVerticalProfile .profile-load{width:100%}}
#flightMetrics .vfr-fuel-point{display:inline-flex;align-items:baseline;gap:4px;color:var(--ink);font-size:16px;letter-spacing:0;text-transform:none;white-space:nowrap}

/* v352: compact flight summary and numbered navigation branches. */
#flightMetrics .vfr-schedule-values{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:5px}
.vfr-schedule-values i{font-style:normal;color:#687e91}
.vfr-branch-number{display:inline-block;min-width:26px;color:#6a7b8c;font-variant-numeric:tabular-nums}

/* v359 · traffic explorer and selected-aircraft card */
.flight-traffic-controls .traffic-controls-heading{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.traffic-controls-heading>div{flex:1;min-width:0}.traffic-controls-heading strong{display:block;font-size:15px;color:#182d47}.traffic-controls-heading small{display:block;font-size:11px;color:#6c7c90;margin-top:3px}
.traffic-radar-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#eef3fd;color:#5675e8;font-size:24px}
.traffic-switch{position:relative;display:inline-flex!important;flex:0 0 46px;width:46px;height:30px;margin:0!important;align-items:center}
.traffic-switch input{position:absolute!important;width:100%!important;height:100%!important;margin:0!important;opacity:0;cursor:pointer;z-index:1}
.traffic-switch>span{width:46px;height:28px;border-radius:99px;background:#d5dce6;transition:background .16s}
.traffic-switch>span:after{content:'';display:block;width:22px;height:22px;background:#fff;border-radius:50%;margin:3px;box-shadow:0 1px 4px #1c2c4126;transition:transform .16s}
.traffic-switch input:checked+span{background:#5675e8}.traffic-switch input:checked+span:after{transform:translateX(18px)}.traffic-switch input:focus-visible+span{outline:3px solid #94aaf5;outline-offset:3px}
.traffic-explorer[hidden]{display:none!important}.flight-traffic-controls .traffic-search-label{display:block;margin:10px 0}
.flight-traffic-controls .traffic-search{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #dce4ee;border-radius:12px;background:#f7f9fc;color:#182d47;padding:10px 12px;font:inherit;font-size:13px}
.traffic-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.flight-traffic-controls .traffic-filter-grid label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#6d7a8a;margin:0}
.traffic-filter-grid select{width:100%;min-width:0;box-sizing:border-box;min-height:40px;padding:8px 24px 8px 10px;border:1px solid #dce4ee;border-radius:10px;background:#fff;color:#263e59;font:inherit;font-size:12px;font-weight:600}
.flight-traffic-controls .traffic-label-choice{font-size:12px;margin:12px 0}.traffic-list-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;margin:15px 0 6px}.traffic-count{font-size:10px;color:#7a8799;font-variant-numeric:tabular-nums}
.traffic-list{max-height:278px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #e6ebf2;border-bottom:1px solid #e6ebf2}
.flight-traffic-controls .traffic-list-row{width:100%;display:flex;align-items:center;gap:10px;padding:11px 2px;border:0;border-bottom:1px solid #edf0f5;border-radius:0;background:transparent;box-shadow:none;text-align:left;color:#1a304d;cursor:pointer;min-height:58px}
.traffic-list-row:last-of-type{border-bottom:0}.traffic-list-row:hover,.traffic-list-row:focus-visible{background:#f3f6fd}.traffic-list-row:focus-visible{outline:2px solid #5675e8;outline-offset:-2px}
.traffic-list-icon{width:30px;height:32px;display:block;flex:0 0 30px;color:#5675e8;transform:rotate(35deg)}.traffic-list-icon svg{width:100%;height:100%;fill:currentColor}.traffic-list-icon.is-efb{color:#c88f0d}
.traffic-list-identity{display:grid;gap:4px;flex:1;min-width:0}.traffic-list-identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-list-identity small{font-size:10px;color:#718197;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.traffic-list-distance{display:grid;gap:4px;flex:none;text-align:right;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.traffic-list-distance small{font-size:10px;font-weight:500;color:#718197}.traffic-list-empty{padding:18px 5px;color:#708098}.traffic-list-more{display:block;padding:10px 2px;color:#718197;font-size:10px}
.traffic-key{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;color:#758396;font-size:10px}.traffic-key>span{display:flex;align-items:center;gap:5px}.traffic-key i{display:block;width:7px;height:7px;border-radius:50%;background:#5675e8}.traffic-key .traffic-key-efb{background:#e4ad09}.traffic-key .traffic-key-selected{background:#963fe0}
.traffic-marker{background:transparent;border:0}.traffic-aircraft{display:block;width:36px;height:36px;font-size:initial;line-height:normal;color:#5675e8;transform-origin:50% 50%;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 0 2px #fff);text-shadow:none}
.traffic-aircraft svg{display:block;width:100%;height:100%;fill:currentColor;stroke:#fff;stroke-width:1.1;stroke-linejoin:round}.traffic-aircraft-efb{color:#e4ad09;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 0 2px #fff)}.traffic-aircraft.is-selected{color:#963fe0;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 3px #963fe055)}
.traffic-map-label.leaflet-tooltip{padding:4px 7px;border:1px solid #dce3ee;border-radius:7px;background:#fffffff2;box-shadow:0 2px 8px #142b4414;color:#1f3653;line-height:1.25;pointer-events:none}.traffic-map-label:before{display:none}.traffic-label-content{display:grid;gap:2px}.traffic-label-content strong{font-size:10px;font-weight:750}.traffic-label-content small{font-size:9px;color:#687b91;font-variant-numeric:tabular-nums}
.traffic-radar-popup .leaflet-popup-content-wrapper{padding:0;border-radius:18px;box-shadow:0 10px 36px #11274430;overflow:hidden}.traffic-radar-popup .leaflet-popup-content{margin:0!important;max-width:calc(100vw - 60px);width:310px!important;max-height:390px;overflow:auto;overscroll-behavior:contain;line-height:1.35;color:#182e48;scrollbar-width:thin}
.traffic-radar-popup .leaflet-popup-close-button{right:7px!important;top:8px!important;width:28px!important;height:28px!important;line-height:28px!important;border-radius:50%;color:#5c6e86!important;background:#ffffffc9;z-index:2}
.traffic-card{font-family:inherit;font-size:12px;color:#182e48}.traffic-card-header{display:flex;gap:12px;align-items:center;padding:19px 18px 13px;background:linear-gradient(125deg,#eef3ff,#f9fbff);border:0;position:static;box-shadow:none;width:auto}
.traffic-card-identity{flex:1;min-width:0}.traffic-card-kicker{display:flex;align-items:center;gap:7px;margin-bottom:8px;flex-wrap:wrap}.traffic-radar-popup .traffic-source-badge{display:inline-block;border-radius:5px;background:#dfe8ff;color:#3457b7;font-size:9px;font-weight:800;letter-spacing:.04em;padding:3px 5px}.traffic-radar-popup .traffic-source-badge.is-efb{background:#fff0c3;color:#9b6c00}
.traffic-radar-popup .traffic-age{font-size:9px;color:#687b92;font-variant-numeric:tabular-nums}.traffic-radar-popup .traffic-card-callsign{display:block;font-size:23px!important;letter-spacing:-.6px;line-height:1.2;overflow-wrap:anywhere}.traffic-card-registration{display:block;font-size:11px;color:#6f7f93;margin-top:4px}.traffic-card-symbol{width:48px;height:48px;flex:none;margin-right:13px;color:#7892bd;transform:rotate(35deg)}.traffic-card-symbol svg{width:100%;height:100%;fill:currentColor}
.traffic-radar-popup .traffic-card-model{font-size:11px;color:#61748b;margin:0!important;padding:10px 18px;border-bottom:1px solid #edf0f5;overflow-wrap:anywhere}
.traffic-card-route{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:5px;align-items:center;padding:14px 18px 5px}.traffic-card-route>div{display:grid;gap:4px;min-width:0}.traffic-card-route>div:last-child{text-align:right}.traffic-card-route small{color:#8a97a7!important;font-size:8px!important;letter-spacing:.08em;font-weight:750}.traffic-radar-popup .traffic-card-route strong{font-size:18px;line-height:1.2;overflow-wrap:anywhere}.traffic-card-route span:not(.traffic-route-arrow){color:#708094;font-size:10px;overflow-wrap:anywhere}.traffic-route-arrow{color:#8e9db3;text-align:center;font-size:20px}
.traffic-radar-popup .traffic-card-route-note{margin:5px 18px 12px!important;font-size:9px;color:#8b97a5;text-align:center}
.traffic-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 18px;border-top:1px solid #e6ecf4}.traffic-card-metrics>div{min-width:0;padding:10px 0;border-bottom:1px solid #edf0f5}.traffic-card-metrics>div:nth-child(even){padding-left:12px}.traffic-card-metrics dt{font-size:9px;color:#7d8c9e;margin-bottom:3px}.traffic-card-metrics dd{font-size:13px;font-weight:750;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.traffic-radar-popup .traffic-card-extra{margin:10px 18px!important;font-size:9px;color:#718096;line-height:1.5}.traffic-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:2px 18px 10px}.traffic-card-actions button{border:1px solid #dce4f0;border-radius:9px;background:#f7f9fd;color:#3e5678;padding:8px 3px;min-height:36px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;box-shadow:none}.traffic-card-actions button[aria-pressed=true]{background:#edf1ff;border-color:#b9c7fa;color:#4668ce}.traffic-card-actions button:focus-visible{outline:2px solid #5675e8;outline-offset:2px}
.traffic-radar-popup .traffic-card-footnote{padding:0 18px 14px;color:#929dac;font-size:8px;line-height:1.5}
@media(max-width:420px){.traffic-radar-popup .leaflet-popup-content{width:min(300px,calc(100vw - 62px))!important}.traffic-card-header{padding-top:16px}.traffic-card-symbol{width:42px;height:42px}.traffic-card-metrics dd{font-size:12px}}
@media(prefers-reduced-motion:reduce){.traffic-switch>span,.traffic-switch>span:after{transition:none}}

/* v360: traffic details always sit inside the usable 2D map viewport,
   below the HUD + live warnings, above the navigation controls. */
.flight-navigation .traffic-radar-popup.traffic-popup-docked{
  box-sizing:border-box!important;
  width:var(--traffic-popup-width,320px)!important;
  max-width:calc(100% - 24px)!important;
  left:var(--traffic-popup-left,12px)!important;
  top:var(--traffic-popup-top,150px)!important;
  bottom:auto!important;right:auto!important;
  transform:none!important;margin:0!important;
  z-index:1000;
}
.flight-navigation .traffic-radar-popup.traffic-popup-docked .leaflet-popup-content-wrapper{
  box-sizing:border-box;width:100%;max-width:100%;
}
.flight-navigation .traffic-radar-popup.traffic-popup-docked .leaflet-popup-content{
  box-sizing:border-box;width:100%!important;max-width:100%!important;
  max-height:var(--traffic-popup-content-height,390px)!important;
  margin:0!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
}
.flight-navigation .traffic-radar-popup.traffic-popup-docked .leaflet-popup-tip-container{display:none!important}
@media(max-width:600px){
  .flight-navigation .traffic-radar-popup .traffic-card-symbol{display:none}
  .flight-navigation .traffic-radar-popup .traffic-card-header{padding:13px 15px 10px}
  .flight-navigation .traffic-radar-popup .traffic-card-route{padding:10px 14px 4px}
  .flight-navigation .traffic-radar-popup .traffic-card-metrics{margin:0 14px}
  .flight-navigation .traffic-radar-popup .traffic-card-actions{padding:2px 14px 9px}
}

/* v362 — traffic popup is portaled from Leaflet's translated pane to the
   visible map container, so its absolute coordinates are stable on Android. */
.flight-navigation .leaflet-container>.traffic-radar-popup.traffic-popup-docked{
  position:absolute!important;z-index:490!important;
  box-sizing:border-box!important;
  width:var(--traffic-popup-width,320px)!important;
  max-width:calc(100% - 24px)!important;
  left:var(--traffic-popup-left,12px)!important;
  top:var(--traffic-popup-top,180px)!important;
  right:auto!important;bottom:auto!important;
  transform:none!important;margin:0!important;
}
.flight-navigation .leaflet-container>.traffic-radar-popup.traffic-popup-docked .leaflet-popup-content-wrapper{
  width:100%!important;max-width:100%!important;box-sizing:border-box;
}
.flight-navigation .leaflet-container>.traffic-radar-popup.traffic-popup-docked .leaflet-popup-content{
  width:100%!important;max-width:100%!important;min-width:0!important;
  max-height:var(--traffic-popup-content-height,320px)!important;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
  box-sizing:border-box!important;margin:0!important;
}
.flight-navigation .leaflet-container>.traffic-radar-popup .traffic-card,
.flight-navigation .leaflet-container>.traffic-radar-popup .traffic-card-route{
  min-width:0;max-width:100%;box-sizing:border-box;
}
@media(max-width:600px){
  .flight-navigation .leaflet-container>.traffic-radar-popup .traffic-card-symbol{display:none!important}
  .flight-navigation .leaflet-container>.traffic-radar-popup .traffic-card-callsign{font-size:20px!important}
}

/* v363 · bulletin original / lecture française, layout shared by all surfaces */
.bulletin-reader{min-width:0;max-width:100%;margin:10px 0;border:1px solid #e0e7f1;border-radius:12px;background:#f8faff;overflow:hidden;text-align:left}
.bulletin-reader .bulletin-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-bottom:1px solid #e7ecf4;font:12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:normal}
.bulletin-language{font-size:9px;font-weight:750;letter-spacing:.05em;color:#72829a}
.bulletin-reader .bulletin-translate{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;min-height:34px;margin:0;padding:7px 11px;border:1px solid #cfdafb;border-radius:8px;background:#fff;color:#4163cf;font:700 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:none;cursor:pointer}
.bulletin-reader .bulletin-translate[aria-pressed=true]{background:#eaf0ff;border-color:#b7c8fb}.bulletin-reader .bulletin-translate:disabled{opacity:.6;cursor:wait}.bulletin-reader .bulletin-translate:focus-visible{outline:2px solid #5675e8;outline-offset:2px}
.bulletin-reader>pre.bulletin-original,.bulletin-reader>pre.bulletin-french{display:block;box-sizing:border-box;max-width:100%;margin:0;padding:11px 12px;background:transparent;border:0;border-radius:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;color:#2c415f;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:none;overflow:visible}
.bulletin-reader>pre.bulletin-french{font:12px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243d5e}
.bulletin-reader .bulletin-translation-note{display:block;margin:0;padding:0 12px 11px;color:#7e8da2;font:10px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:normal}
.bulletin-reader [hidden]{display:none!important}.leaflet-popup-content .bulletin-reader{min-width:min(230px,55vw)}
.flight-alert-detail-dialog .alert-source-bulletin:has(.bulletin-reader){padding:0;white-space:normal}.flight-alert-detail-dialog .alert-source-bulletin .bulletin-reader{margin:0;border:0;border-radius:0}
@media(max-width:600px){.bulletin-reader .bulletin-translate{min-height:38px}.bulletin-reader>pre.bulletin-french{font-size:12px}}

/* v364: component styles survive the Filters panel portal into the cockpit dialog. */
.flight-map-mode{gap:16px;padding:14px 0 18px;margin-bottom:4px;border-bottom:1px solid #e2e9f2;flex-wrap:wrap}
.flight-map-mode>strong{font-size:14px;font-weight:750;line-height:1.35;white-space:normal;flex:1 1 100px}
.flight-map-mode-switch{width:184px;padding:5px;gap:5px;border-radius:18px;border:1px solid #dce5ef;background:#eaf0f7;box-shadow:inset 0 1px 2px #243f5b06}
.flight-map-mode-switch>button{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 12px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:800;border-radius:13px;-webkit-tap-highlight-color:transparent;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.flight-map-mode-switch>button svg{display:block;width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.flight-map-mode-switch>button[aria-pressed="true"]{background:#087ff0!important;color:#fff!important;box-shadow:0 3px 9px #087ff02e,inset 0 1px 0 #ffffff35}
@media(hover:hover){.flight-map-mode-switch>button[aria-pressed="false"]:hover{background:#dce7f4;color:#254c75}}
@media(prefers-reduced-motion:reduce){.flight-map-mode-switch>button{transition:none}}

/* v365 — polished 2D / 3D segmented control in portaled in-flight Filters.
   It works both within the original map options and after relocation into
   #flightCockpitTool, without depending on .navigation-map-settings ancestors. */
.flight-map-mode{
  display:grid;grid-template-columns:minmax(0,1fr);gap:13px;
  min-width:0;width:100%;box-sizing:border-box;
  margin:0 0 18px;padding:5px 0 20px;
  border-bottom:1px solid #e1e8f2;
}
.flight-map-mode-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;min-width:0}
.flight-map-mode-heading>strong{font-size:14px;font-weight:800;line-height:1.3;color:#243b55}
.flight-map-mode-heading>small{font-size:11px;line-height:1.4;color:#7c8b9f;font-weight:550}
.flight-map-mode-switch,
#flightCockpitTool .flight-map-mode-switch{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch;gap:5px;min-width:0;width:100%;max-width:100%;
  box-sizing:border-box;padding:5px;margin:0;
  border:1px solid #d5e2ef;border-radius:19px;
  background:#eaf0f7;
  box-shadow:inset 0 1px 3px rgba(25,52,79,.08);
}
.flight-map-mode-switch>button,
#flightCockpitTool .flight-map-mode-switch>button{
  appearance:none;-webkit-appearance:none;
  display:flex!important;align-items:center;justify-content:center;gap:12px;
  box-sizing:border-box;width:100%;min-width:0;min-height:64px;
  margin:0;padding:10px 12px;
  border:1px solid transparent;border-radius:14px;
  color:#46617d;background:transparent;
  font:inherit;font-size:14px;text-align:left;line-height:1.2;cursor:pointer;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.flight-map-mode-switch>button svg,
#flightCockpitTool .flight-map-mode-switch>button svg{
  flex:none;display:block!important;width:25px!important;height:25px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.flight-map-mode-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.flight-map-mode-copy strong{font-size:16px;font-weight:850;line-height:1.1;letter-spacing:-.025em;color:inherit}
.flight-map-mode-copy small{font-size:10px;line-height:1.3;color:inherit;opacity:.76;font-weight:650}
.flight-map-mode-switch>button[aria-pressed="true"],
#flightCockpitTool .flight-map-mode-switch>button[aria-pressed="true"]{
  background:linear-gradient(145deg,#138af5,#066bcf)!important;
  border-color:#177ddc!important;color:white!important;
  box-shadow:0 3px 10px rgba(10,103,199,.25),inset 0 1px 0 #ffffff4d!important;
}
.flight-map-mode-switch>button[aria-pressed="false"],
#flightCockpitTool .flight-map-mode-switch>button[aria-pressed="false"]{
  color:#3c5775!important;background:transparent!important;
}
.flight-map-mode-switch>button:disabled{opacity:.48;cursor:not-allowed}
.flight-map-mode-switch>button:focus-visible{outline:3px solid #82bfff;outline-offset:2px}
@media(max-width:400px){
  .flight-map-mode-heading>small{font-size:10px}
  .flight-map-mode-switch>button,#flightCockpitTool .flight-map-mode-switch>button{gap:9px;min-height:60px;padding:8px 9px}
  .flight-map-mode-switch>button svg,#flightCockpitTool .flight-map-mode-switch>button svg{width:23px!important;height:23px!important}
}
@media(hover:hover){#flightCockpitTool .flight-map-mode-switch>button[aria-pressed="false"]:not(:disabled):hover{background:#dce7f4!important}}
@media(prefers-reduced-motion:reduce){.flight-map-mode-switch>button{transition:none}}

/* v366 · Replay library adopts the same rounded modal and flight cards as
   "Mes vols". The full-screen replay PLAYER remains unchanged. */
.flight-recordings-dialog,
.flight-recordings-dialog[open]{
  position:fixed;inset:0;
  display:flex;flex-direction:column;
  width:min(94vw,680px);max-width:680px;
  height:auto;max-height:min(90dvh,900px);
  margin:auto;padding:0;
  border:0;border-radius:27px;
  background:var(--bg,#f4f5f7);color:var(--ink,#19334d);
  box-shadow:0 22px 70px #0b152e35;
  overflow:hidden;
}
.flight-recordings-dialog:not([open]){display:none!important}
.flight-recordings-dialog::backdrop{background:rgba(9,15,26,.67);backdrop-filter:blur(10px)}
.flight-recordings-dialog>.flight-recordings-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex:0 0 auto;padding:22px 22px 14px;
  background:transparent;border:0;
}
.flight-recordings-dialog>.flight-recordings-head h2{
  margin:0;font-size:27px;font-weight:820;letter-spacing:-.7px;line-height:1.2;
  color:#15191f;
}
.flight-recordings-dialog>.flight-recordings-head [data-close]{
  display:grid;place-items:center;flex:none;width:52px;height:52px;
  min-height:52px;padding:0;border:1px solid #e5e9ef;border-radius:18px;
  background:#fff;color:#2c313a;box-shadow:0 5px 15px #101d3010;font-size:27px;font-weight:500;
}
.flight-recordings-dialog>.flight-recordings-body{
  flex:1;min-height:0;height:auto;max-width:none;width:100%;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  box-sizing:border-box;
  padding:0 22px max(22px,env(safe-area-inset-bottom));
}
.recording-library-note{margin:0 0 17px;font-size:12px;line-height:1.5;color:#737b86}
.flight-recordings-dialog .recording-search-box{
  display:flex;align-items:center;gap:12px;min-height:55px;width:100%;
  box-sizing:border-box;margin:0 0 15px;padding:0 17px;
  border:1px solid #e1e5ea;border-radius:17px;background:#fff;
}
.recording-search-box svg{flex:none;width:22px;height:22px;fill:none;stroke:#9299a3;stroke-width:1.8;stroke-linecap:round}
.flight-recordings-dialog .recording-search-box input{
  flex:1;min-width:0;min-height:46px;width:100%;padding:4px 0;
  border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;
  font:inherit;font-size:14px;color:#182e42;
}
.recording-search-box:focus-within{border-color:#1685f1;box-shadow:0 0 0 3px #1685f119}
.recording-library-count{margin:0 0 10px;font-size:11px;color:#6d7684;font-weight:600}
.flight-recordings-dialog .recording-select-legacy{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;margin:0!important;padding:0!important}
.recording-library-list{display:grid;gap:13px;margin:0 0 26px}
.recording-library-list>p{padding:18px;border:1px solid #e0e6ee;border-radius:20px;background:#fff;color:#62758a;font-size:13px;line-height:1.5}
.flight-recordings-dialog .recording-card{
  box-sizing:border-box;padding:19px 18px 17px;margin:0;
  border:1px solid #e3e7ec;border-radius:22px;
  background:#fff;box-shadow:none;min-width:0;
}
.flight-recordings-dialog .recording-card h4{font-size:17px;line-height:1.35;font-weight:830;color:#15191f;letter-spacing:-.3px;overflow-wrap:anywhere;margin:0 0 8px}
.flight-recordings-dialog .recording-card p{margin:8px 0 0;font-size:12px;line-height:1.55;color:#737d89}
.flight-recordings-dialog .recording-badges{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 12px}
.recording-badges span{padding:6px 10px;border-radius:10px;background:#f2f4f7;color:#5d6776;font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}
.flight-recordings-dialog .recording-card .recording-state{margin:9px 0 0;font-size:11px;color:#728092}
.flight-recordings-dialog .recording-card .recording-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:17px;
}
.flight-recordings-dialog .recording-card .recording-actions button{
  box-sizing:border-box;min-width:0;min-height:44px;margin:0;
  padding:10px 13px;border:0;border-radius:13px;
  font:inherit;font-size:11px;font-weight:760;white-space:nowrap;
  background:#eaf4ff;color:#146cae;cursor:pointer;
}
.flight-recordings-dialog .recording-card .recording-actions .recording-open{
  flex:1;min-width:138px;background:#161c26;color:#fff;
}
.flight-recordings-dialog .recording-card .recording-actions .recording-export{background:#f0f5fb}
.flight-recordings-dialog .recording-card .recording-actions button:disabled{opacity:.43;cursor:not-allowed}
.flight-recordings-dialog .recording-card details{
  margin-top:17px;padding-top:12px;border-top:1px solid #e7ebf0;
}
.flight-recordings-dialog .recording-card details summary{padding:5px 0;font-size:12px;color:#344b64;cursor:pointer}
.flight-recordings-dialog .recording-card details button{margin:8px 8px 0 0;font-size:11px}
.flight-recordings-dialog .recording-card details button:last-child{background:#ffeded;color:#b72d31}
.flight-recordings-dialog .recording-import{margin:16px 0 13px}
.flight-recordings-dialog .recording-import-heading{margin:0 0 12px;font-size:17px;font-weight:800;color:#1d3347}
.flight-recordings-dialog [data-demo]{margin:0 0 12px;background:#e9f4ff;color:#1b70a7}
.flight-recordings-dialog [data-status]{min-height:0;margin:7px 0 0;font-size:11px;line-height:1.5;color:#64788c}
@media(max-width:430px){
  .flight-recordings-dialog>.flight-recordings-head{padding:20px 18px 12px}
  .flight-recordings-dialog>.flight-recordings-body{padding:0 18px max(20px,env(safe-area-inset-bottom))}
  .flight-recordings-dialog>.flight-recordings-head [data-close]{width:48px;height:48px;min-height:48px;border-radius:16px}
  .flight-recordings-dialog .recording-card{padding:17px 15px}
  .flight-recordings-dialog .recording-card .recording-actions button{padding:9px 11px;font-size:11px}
}

/* v367 — replay rename, deletion, and unlisted sharing within Mes replays. */
.flight-recordings-dialog .recording-card h4 .recording-rename-title{
 all:unset;display:inline-block;max-width:100%;font:inherit;color:#161d29;cursor:pointer;
 overflow-wrap:anywhere;line-height:1.3
}
.flight-recordings-dialog .recording-rename-title:focus-visible{outline:2px solid #087ff0;outline-offset:4px;border-radius:5px}
.flight-recordings-dialog .recording-rename-title:hover{text-decoration:underline;text-decoration-color:#b9c9da;text-underline-offset:4px}
.flight-recordings-dialog .recording-card h4 .recording-rename-input{box-sizing:border-box;display:block;width:100%;min-height:42px;font-size:18px;font-weight:800;border:1px solid #79b3ee;border-radius:9px;background:#fff;padding:6px 8px}
.flight-recordings-dialog .recording-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.flight-recordings-dialog .recording-card-top h4{flex:1;min-width:0;margin:0 0 8px}
.flight-recordings-dialog .recording-card-top .recording-delete-icon{
 display:grid;place-items:center;padding:10px;width:44px;height:44px;min-height:44px;
 border-radius:13px;background:#ffeded;color:#b82f30;cursor:pointer
}
.flight-recordings-dialog .recording-delete-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.flight-recordings-dialog .recording-share-box{display:grid;gap:9px;min-width:0;box-sizing:border-box;margin:15px 0 0;padding:13px;border:1px solid #cfe1f6;border-radius:15px;background:#f1f8ff}
.flight-recordings-dialog .recording-share-box>strong{font-size:13px;color:#234d77}
.flight-recordings-dialog .recording-share-box>small{font-size:11px;line-height:1.45;color:#65798d}
.flight-recordings-dialog .recording-share-line{display:flex;align-items:stretch;gap:8px;min-width:0}
.flight-recordings-dialog .recording-share-line input{flex:1;min-width:0;width:100%;margin:0;padding:10px;background:#fff;border-radius:10px;border:1px solid #cde0f0;color:#284865;font-size:11px}
.flight-recordings-dialog .recording-share-line button{flex:none;margin:0;min-height:42px;background:#087ff0;color:#fff;font-size:11px}
.flight-recordings-dialog .recording-share-revoke{width:max-content;max-width:100%;min-height:32px;padding:5px 8px;color:#a93e3e!important;background:transparent!important;font-size:11px}
@media(max-width:390px){.flight-recordings-dialog .recording-share-line{flex-direction:column}.flight-recordings-dialog .recording-share-line button{width:100%}}


/* v370: compact flight titles and real, non-interactive route previews in both libraries. */
.flight-recordings-dialog .recording-card-heading{min-width:0;flex:1;display:grid;align-content:start;gap:4px;padding-top:2px}
.flight-recordings-dialog .recording-card-top .recording-card-heading h4{margin:0;min-width:0;line-height:1.3}
.flight-recordings-dialog .recording-card .recording-card-heading .recording-date{margin:0;line-height:1.35;font-size:11.5px;color:#738294}
.flight-library-list .saved-flight-card h3{margin:0 0 4px}
.flight-library-list .saved-flight-card .saved-flight-date{margin:0;font-size:10.5px;line-height:1.4;color:#7c8898}
.flight-library-list .saved-flight-card .saved-flight-route{margin:9px 0 10px;font-size:12px;line-height:1.45;color:#62738a}
.route-card-map{box-sizing:border-box;position:relative;isolation:isolate;display:block;width:100%;height:152px;margin:12px 0 4px;overflow:hidden;border:1px solid #dbe6ee;border-radius:15px;background:linear-gradient(140deg,#e4eef3,#edf3ec);user-select:none;-webkit-user-select:none}
.flight-recordings-dialog .recording-card .route-card-map{margin-top:12px;margin-bottom:3px}
.flight-library-list .saved-flight-card .route-card-map{margin-top:0;margin-bottom:2px}
.route-card-map-tiles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.route-card-map-tiles img{position:absolute;display:block;max-width:none!important;width:256px;height:256px;border:0;opacity:.82;object-fit:fill}
.route-card-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 1px #29425e35)}
.route-card-map-halo{fill:none;stroke:white;stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round;opacity:.95}
.route-card-map-line{fill:none;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round}
.route-card-map-gps{stroke:#087ff0}.route-card-map-plan{stroke:#7e46dc}
.route-card-map-dot{stroke:#fff;stroke-width:2;fill:#087ff0}
.route-card-map-plan-dot{fill:#7e46dc}.route-card-map-start{fill:#22a16d}.route-card-map-end{fill:#ef6b43}
.route-card-map-label,.route-card-map-credit{position:absolute;z-index:1;border-radius:7px;background:#ffffffed;box-shadow:0 1px 5px #24354a14;white-space:nowrap}
.route-card-map-label{top:9px;left:10px;padding:5px 7px;font-size:9px;letter-spacing:.045em;font-weight:850;color:#375576}
.route-card-map-credit{bottom:5px;right:5px;padding:2px 4px;font-size:8px;color:#697681}
.route-card-map-empty{position:absolute;inset:0;display:grid;place-items:center;padding:12px;text-align:center;font-size:11px;line-height:1.45;color:#728398}
@media(max-width:430px){.route-card-map{height:142px;border-radius:13px}.flight-recordings-dialog .recording-card-heading{gap:3px}}


/* v371 — compact icon actions for replay and saved VFR flight cards. */
.flight-library-list .saved-flight-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.flight-library-list .saved-flight-card-heading{flex:1;min-width:0;display:grid;align-content:start;gap:4px;padding-top:2px}
.flight-library-list .saved-flight-card-heading h3{margin:0;line-height:1.3;overflow-wrap:anywhere}
.flight-library-list .saved-flight-card-heading .saved-flight-date{margin:0;line-height:1.4;font-size:10.5px;color:#7b8795}
.flight-library-list .saved-flight-delete-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:10px;border-radius:13px;background:#ffeded;color:#bb3031;cursor:pointer}
.flight-library-list .saved-flight-delete-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.flight-library-list .saved-flight-delete-icon:disabled{opacity:.43;cursor:not-allowed}
.flight-library-list .saved-flight-card .saved-flight-route{margin-top:10px}
.flight-library-list .saved-flight-card .saved-flight-actions{display:flex;align-items:center;gap:9px;flex-wrap:nowrap}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-action-icon{flex:0 0 54px;display:grid;place-items:center;min-width:0;width:54px;min-height:46px;padding:8px;border-radius:13px}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-action-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-open{background:#161c26;color:#fff}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-edit-icon{background:#eaf4ff;color:#146cae}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-publish{flex:1;min-width:0;background:#eaf4ff;color:#146cae;min-height:46px}
.flight-recordings-dialog .recording-card .recording-actions.recording-actions-stacked{display:grid;gap:9px;margin-top:17px}
.flight-recordings-dialog .recording-tools-row{display:grid;grid-template-columns:56px repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.flight-recordings-dialog .recording-card .recording-actions .recording-tools-row button{width:100%;min-width:0;padding:10px 6px;min-height:46px}
.flight-recordings-dialog .recording-card .recording-actions .recording-tools-row .recording-icon-button{display:grid;place-items:center;flex:none;min-width:0;background:#161c26;color:#fff}
.flight-recordings-dialog .recording-icon-button svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flight-recordings-dialog .recording-card .recording-share-row{display:block;min-width:0}
.flight-recordings-dialog .recording-card .recording-share-row .recording-share{display:block;width:100%;min-height:46px;background:#eaf4ff;color:#146cae}
.flight-recordings-dialog .recording-card .recording-extra-row{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:360px){.flight-recordings-dialog .recording-tools-row{grid-template-columns:48px repeat(3,minmax(0,1fr));gap:6px}.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-action-icon{flex-basis:48px;width:48px}}

/* The IA and surprise-flight generators each own a real five-step precision slider. */
.planner-mcp-dialog label.planner-density-control,.planner-surprise-dialog label.planner-density-control{display:grid;gap:8px;margin:15px 0;font-size:13px;font-weight:750;color:#34445f}
.planner-mcp-dialog .planner-density-control output,.planner-surprise-dialog .planner-density-control output{font-size:12px;color:#087ff5;font-weight:750}
.planner-mcp-dialog .planner-density-control input[type=range],.planner-surprise-dialog .planner-density-control input[type=range]{box-sizing:border-box;appearance:auto;width:100%;min-height:32px;height:32px;margin:0;padding:0;border:0;border-radius:0;background:transparent;accent-color:#087ff5;cursor:pointer}
.planner-mcp-dialog .planner-density-extremes,.planner-surprise-dialog .planner-density-extremes{display:flex;justify-content:space-between;gap:12px}
.planner-mcp-dialog .planner-density-extremes small,.planner-surprise-dialog .planner-density-extremes small{font-size:11px;font-weight:500;color:#7b8798}


/* v372 — importing a VFR route or GPS replay from the search toolbar. */
.flight-library-search-row{display:flex;align-items:center;gap:10px;min-width:0;padding:0 22px 14px;flex-shrink:0}
.flight-library-search-row .flight-library-search{display:flex;flex:1;min-width:0;margin:0;padding-right:12px}
.flight-library-import-button,.flight-recordings-dialog .recording-import-button{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;min-height:52px;padding:10px;border:1px solid #dce7f3;border-radius:16px;background:#eaf4ff;color:#146cae;cursor:pointer;box-shadow:none}
.flight-library-import-button svg,.flight-recordings-dialog .recording-import-button svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.flight-library-import-button:focus-visible,.flight-recordings-dialog .recording-import-button:focus-visible{outline:2px solid #087ff5;outline-offset:3px}
.flight-library-import-button:disabled,.flight-recordings-dialog .recording-import-button:disabled{opacity:.45;cursor:wait}
.flight-library-status[data-error=true]{color:#b92f2b;font-weight:700}
.flight-recordings-dialog .recording-search-row{display:flex;align-items:center;gap:10px;min-width:0;margin:0 0 15px}
.flight-recordings-dialog .recording-search-row .recording-search-box{flex:1;min-width:0;width:auto;margin:0}
.flight-recordings-dialog [data-import][hidden]{display:none!important}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-publish{flex:0 0 auto;min-width:0;width:auto;padding:10px 17px;min-height:46px}
@media(max-width:430px){.flight-library-search-row{padding:0 18px 14px;gap:8px}.flight-library-import-button,.flight-recordings-dialog .recording-import-button{flex-basis:48px;width:48px;height:52px}.flight-recordings-dialog .recording-search-row{gap:8px}}

/* v376 — crisp outlined aircraft silhouette for 3D simulation beside the saved-flight actions. */
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-simulate{background:#087ff0;color:#fff;box-shadow:0 4px 12px #087ff032}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-simulate svg{width:32px;height:32px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-simulate:focus-visible{outline:3px solid #0b73de;outline-offset:3px}
@media(max-width:370px){.flight-library-list .saved-flight-card .saved-flight-actions{gap:6px}.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-action-icon{flex-basis:46px;width:46px;min-height:44px}.flight-library-list .saved-flight-card .saved-flight-actions .saved-flight-publish{padding-inline:11px;min-height:44px}}

.source-provenance{margin:10px 0;font-size:.85rem;overflow-wrap:anywhere}.source-provenance summary{cursor:pointer;font-weight:600}.source-provenance dl{display:grid;grid-template-columns:1fr 2fr;gap:6px}.source-provenance dd{margin:0}.source-provenance code{font-size:.7rem}[data-source-catalogue] article{border-top:1px solid #d9e1eb;padding:10px 0}
