/* FlightPath civic aviation: a quiet briefing, one clear action. */
:root { --navy:#0a2342; --ink:#19334d; --blue:#1467c5; --muted:#546b80; --line:#dce5ec; --sidebar:248px; }
body,.main-column { background:#f6f8fb; }
.brand-mark { border:0; border-radius:0; background:url('brand.svg') center/contain no-repeat; color:transparent; width:42px; height:42px; flex-shrink:0; }
.brand { gap:11px; letter-spacing:-.7px; }
.service-label { font-size:11px; letter-spacing:1.4px; color:#5b7084; margin:15px 0 0; }
.sidebar { padding:28px 16px 20px; border-right-color:#e2e9f0; }
.profile-card { background:#f6f9fc; border-color:#e1e8ef; border-radius:12px; margin:28px 0 24px; }
.nav-item.active { background:#eaf2fc; color:#084f9e; box-shadow:inset 3px 0 #1467c5; }
.topbar { background:#ffffffed; height:68px; }
.view { max-width:1380px; padding-top:38px; }
.view-intro h1 { font-size:clamp(32px,3.1vw,45px); letter-spacing:-1.7px; }
.eyebrow { color:#346385; letter-spacing:1.1px; }
.primary-button { background:#1467c5; color:white; border:1px solid transparent; border-radius:10px; box-shadow:0 4px 10px #0b529912; }
.primary-button:hover { background:#0d57ad; color:white; transform:translateY(-1px); }
.primary-button:disabled { background:#dbe4ee; color:#54687a; }
.secondary-button { border-radius:10px; }
.focus-card { border-radius:20px; background:linear-gradient(120deg,#0b284b,#102039); box-shadow:0 14px 34px #0b284b17; padding:36px; min-height:380px; }
.focus-card h2 { font-size:clamp(31px,3vw,43px); max-width:660px; line-height:1.17; }
.focus-actions .primary-button { background:#f3f9ff; color:#0b3c6c; min-height:52px; }
.focus-actions .primary-button:hover { background:#dceeff; }
.focus-actions .secondary-button { border-color:#4d6a87; min-height:44px; }
.route-context-bar h1 { font-size:23px; max-width:760px; }
.focus-heading > span:last-child { letter-spacing:.5px; background:#214769; }
.parallel-card { padding-top:14px; }
.parallel-item { border-radius:12px; padding:18px; box-shadow:none; }
.parallel-heading p { font-size:12px; letter-spacing:.4px; }
.route-step { border-radius:14px; transition:border-color .18s,box-shadow .18s; }
.route-step:hover { box-shadow:0 6px 18px #24496509; }
.route-builder-card { border-radius:18px; border-color:#dce5ee; }
.diagnostic-option,.route-option { border-radius:12px; }
.route-no { display:grid!important; place-items:center; width:32px; height:32px; border-radius:9px; background:#edf4fb; font-variant-numeric:tabular-nums; }
.task-hero { border-radius:18px; background:#0b284b; }
.task-tabs { border-radius:12px; }
.task-content { border-radius:16px; }
.support-navigation { margin-top:18px; }
.nav-item[data-view="guide"] { background:#f2f6fa; }
.site-footer { border-top:1px solid #e0e7ee; }
:focus-visible { outline:3px solid #2385ec!important; outline-offset:4px; }
@media(max-width:600px) { .focus-card { padding:26px; }.focus-card h2 { font-size:32px; }.view-intro h1 { font-size:32px; } }
.login-view.active { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(40px,7vw,110px); max-width:1440px; margin:auto; padding:46px 6vw; align-items:center; min-height:100vh; background:transparent; }
.welcome-briefing { width:100%; padding:0 0 12px; }
.welcome-briefing>.brand { font-size:24px; margin-bottom:56px; }
.welcome-briefing>.brand .brand-mark { width:50px; height:50px; }
.welcome-briefing h1 { font-size:clamp(50px,5.1vw,78px); line-height:1.04; letter-spacing:-3.5px; margin:24px 0; color:#0a2342; }
.welcome-briefing h1 em { font-style:normal; color:#1467c5; }
.welcome-copy { color:#526b80; font-size:18px; max-width:370px; line-height:1.65; }
.welcome-promises { padding:0; margin:34px 0; list-style:none; display:grid; gap:0; }
.welcome-promises li { display:flex; align-items:flex-start; gap:16px; padding:14px 0; }
.welcome-promises li>span { width:32px; height:32px; display:grid; place-items:center; font:12px 'DM Mono',monospace; color:#236baa; border:1px solid #bcd2e7; border-radius:50%; flex-shrink:0; }
.welcome-promises strong { font-size:15px; }.welcome-promises p { margin:3px 0 0; font-size:14px; color:#546b80; }
.welcome-foot { font:10px 'DM Mono',monospace; letter-spacing:.8px; color:#62778a; margin-top:36px; }
.login-card { width:100%; max-width:550px; padding:32px; border-color:#dce5ec; border-radius:20px; box-shadow:0 22px 60px #14395a0a; }
.login-card h1 { font-size:29px; line-height:1.2; letter-spacing:-1px; }.login-card>.eyebrow { font-size:11px; }.login-card>p:not(.eyebrow):not(.login-note) { font-size:14px; margin-top:10px; }
.account-form { margin-top:24px; }.account-form fieldset { margin-top:18px; }.journey-picker label span { padding:12px; }.journey-picker strong { font-size:13px; }.journey-picker small { font-size:12px; }.account-submit { margin-top:20px; }
.login-divider { margin:24px 0 14px; }.login-divider span { font-size:10px; }.login-note { font-size:12px; line-height:1.6; }.other-examples { margin-top:10px; }.other-examples summary { font-size:13px; color:#4c6981; cursor:pointer; padding:8px 0; }.other-examples button { width:100%; margin-top:8px; }
.record-strip { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 25px; }.record-strip>span { font:10px 'DM Mono',monospace; color:#536f88; letter-spacing:.5px; }.record-strip b { font-size:12px; font-weight:600; padding:6px 10px; border-radius:6px; background:#e9f1fa; color:#255d8a; }.record-strip button { margin-left:auto; font-size:13px; }
#checkin-dialog { width:min(560px,calc(100% - 28px)); border:0; border-radius:20px; padding:30px; max-height:90vh; }#checkin-dialog::backdrop { background:#081e3d88; backdrop-filter:blur(4px); }#checkin-body h2 { font-size:29px; letter-spacing:-1px; line-height:1.2; margin:12px 0; }#checkin-body>p { color:#536e86; font-size:15px; }.checkin-summary { border:1px solid #dbe6ef; border-radius:12px; margin:24px 0; }.checkin-summary>div { display:flex; justify-content:space-between; gap:25px; padding:13px 16px; font-size:14px; }.checkin-summary>div+div { border-top:1px solid #e5ecf3; }.checkin-summary span { color:#5c7286; }.checkin-summary strong { text-align:right; max-width:62%; }.checkin-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.checkin-choices button { text-align:left; justify-content:space-between; font-size:14px; }.checkin-continue { width:100%; margin-top:22px; }.checkin-fields { display:grid; gap:20px; margin:25px 0; }.checkin-fields label { display:grid; gap:8px; font-size:14px; font-weight:600; }.checkin-fields select { background:white; border:1px solid #b7cddd; padding:13px 11px; border-radius:9px; width:100%; color:var(--ink); }.checkin-actions { display:flex; justify-content:space-between; gap:12px; margin-top:25px; }.record-change { display:block; padding:20px 0; }
.flightguide-head { display:grid; grid-template-columns:1.5fr 1fr; gap:50px; align-items:center; margin-bottom:30px; }.flightguide-head h1 { font-size:42px; letter-spacing:-1.6px; line-height:1.12; margin:16px 0; }.flightguide-head>div>p:last-child { color:var(--muted); max-width:520px; }.guide-context { border-left:2px solid #bfd7eb; padding:12px 0 12px 24px; }.guide-context>span { display:block; font:11px 'DM Mono',monospace; color:#507492; }.guide-context>strong { display:block; font-size:17px; margin:10px 0; }.guide-context>p { font-size:14px; margin:8px 0; line-height:1.6; }
.guide-search { background:white; border:1px solid #cedde9; border-radius:14px; padding:24px; box-shadow:0 10px 32px #15355406; }.guide-search label { font-size:15px; }.guide-search>div { gap:12px; }.guide-search input { min-height:50px; border:1px solid #ccdce9; background:#f8fafc; border-radius:9px; font-size:16px; }.guide-search button { white-space:nowrap; }.guide-browse { margin:25px 0 15px; display:flex; align-items:flex-start; gap:18px; }.guide-browse>span { padding-top:9px; font:11px 'DM Mono',monospace; color:#60778b; }.guide-browse>div { display:flex; gap:7px; flex-wrap:wrap; }.guide-category { border:1px solid transparent; color:#496982; background:transparent; padding:8px 10px; border-radius:7px; font-size:13px; }.guide-category.active { background:#e6f0fc; color:#0959a5; border-color:#cadef3; }.guide-category:hover { border-color:#b9d2e7; }
.guide-topic-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.guide-topic-list button { display:grid; grid-template-columns:1fr 14px; gap:7px; align-content:center; min-height:99px; padding:18px; border:1px solid #dce5ee; border-radius:12px; background:white; text-align:left; color:var(--ink); }.guide-topic-list button>span { color:#567b99; font-size:11px; }.guide-topic-list strong { grid-column:1; font-size:14px; line-height:1.45; }.guide-topic-list b { grid-column:2;grid-row:1/3;align-self:center;color:#1467c5;font-weight:400; }.guide-topic-list button:hover { border-color:#4c96db; }
.guide-answer { display:block; margin-top:28px; padding:32px; border-radius:16px; scroll-margin-top:86px; max-width:1020px; }.guide-answer>.mini-label { color:#366785; }.guide-answer>p { color:var(--muted); }.answer-title { display:flex; align-items:center; gap:15px; margin-bottom:24px; }.answer-title .mini-label { margin:0 0 7px; }.answer-title h2 { margin:0; font-size:28px; line-height:1.2; letter-spacing:-.9px; outline:0; }.guide-lead { font-size:17px!important; line-height:1.8; color:#304b62; }.guide-personal { background:#eef5fd; border-radius:12px; padding:20px; margin:24px 0; }.guide-personal>span { font:11px 'DM Mono',monospace; color:#346e9d; }.guide-personal p { margin:10px 0 0; }.guide-next { margin:25px 0; }.guide-next h3,.guide-learning h3 { font-size:18px; }.guide-next ol { padding-left:22px; }.guide-next li { margin:13px 0; }.guide-next li p { margin:5px 0 0; }.guide-learning { display:grid; grid-template-columns:1fr 1fr; gap:35px; }.guide-learning li { margin:12px 0; }.guide-sources { border-top:1px solid #dce5ec; padding-top:18px; }.guide-sources summary { cursor:pointer; font-size:14px; font-weight:700; }.answer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:25px; padding-top:18px; border-top:1px solid #e0e8ef; }.guide-boundary { max-width:800px; margin-top:24px; font-size:13px; color:#5e7486; }
@media(max-width:1150px){.login-view.active{gap:40px;padding:35px 4vw;}.welcome-briefing h1{font-size:57px;}.guide-topic-list{grid-template-columns:1fr 1fr;}.flightguide-head{gap:25px;}.record-strip button{margin-left:0;}}
@media(max-width:800px){.login-view.active{grid-template-columns:1fr;padding:30px 20px;max-width:660px;}.welcome-briefing>.brand{margin-bottom:28px;}.welcome-briefing h1{font-size:47px;}.welcome-promises,.welcome-foot{display:none;}.welcome-briefing h1{max-width:480px;}.welcome-copy{font-size:16px;max-width:440px;}.login-card{max-width:none;}.flightguide-head{grid-template-columns:1fr;}.flightguide-head h1{font-size:35px;}.guide-context{padding:12px 18px;}.guide-learning{grid-template-columns:1fr;gap:5px;}}
.guide-answer { background:#fff; color:#102b48; border:1px solid #dce5ec; }
.guide-answer .answer-body { color:#40586e; }
.guide-answer .answer-body p { font-family:'Manrope',sans-serif; font-size:16px; font-weight:400; line-height:1.8; letter-spacing:0; color:#40586e; }
.guide-answer .answer-body a,.guide-answer .text-action { color:#0961ab; }
.guide-answer .answer-title .mini-label { color:#3a698d; }
@media(max-width:600px){.login-card{padding:25px 20px;}.welcome-briefing h1{font-size:42px;letter-spacing:-2px;}.guide-search{padding:18px;}.guide-search>div{flex-direction:column;}.guide-search button{width:100%;}.guide-topic-list{grid-template-columns:1fr;}.guide-answer{padding:24px 20px;}.guide-browse{display:block;}.guide-browse>span{display:block;margin-bottom:10px;}.answer-bottom{flex-direction:column;gap:0;}.answer-title h2{font-size:24px;}.answer-title .brand-mark{display:none;}.checkin-choices{grid-template-columns:1fr;}.checkin-actions{flex-wrap:wrap;}.record-strip>span{width:100%;}}
