/* K8 approved v2 navigation. Scoped chrome; no content, route or permission changes. */
.app-shell { grid-template-columns:204px minmax(0,1fr); }
.app-shell .sidebar, .al-account-menu, .al-legal-footer, .al-public-actions {
 --al-card:#fff; --al-ink:#17263a; --al-muted:#526577; --al-line:#d9e1e9; --al-accent:#075b9d; color-scheme:light;
}
.app-shell .sidebar { background:var(--al-card); color:var(--al-ink); border-right:1px solid var(--al-line); padding:12px 10px; height:100vh; height:100dvh; }
.sidebar .brand { gap:8px; margin:0 4px 10px; min-height:34px; flex-shrink:0; }
.sidebar .brand strong { color:var(--al-ink); font-size:15px; line-height:1.1; }
.sidebar .brand small { color:var(--al-muted); opacity:1; font-size:10px; letter-spacing:.04em; }
.sidebar .brand > span:last-child { min-width:0; overflow-wrap:anywhere; }
.sidebar .aerolynq-brand-icon { width:34px; height:34px; flex-basis:34px; border-radius:9px; }
.sidebar .aerolynq-brand-icon img { width:64px; height:64px; left:-15px; top:-3px; }
.sidebar .brand-logo { max-width:34px; max-height:34px; }
.sidebar .main-nav { gap:0; padding:0; flex:1; min-height:0; overflow-y:auto; }
.sidebar .main-nav :is(a,summary) { min-height:0; color:var(--al-ink); font-size:13.5px; line-height:1.2; font-weight:700; padding:6px 8px; border-radius:0; margin:0; }
.sidebar .main-nav :is(a,summary):hover { background:#e9f2fa; text-decoration:none; }
.sidebar .main-nav :is(a,summary):focus-visible, .al-account-menu :is(a,summary,button):focus-visible, .al-legal-footer:focus-visible { outline:2px solid #075b9d; outline-offset:-2px; }
.sidebar .al-main-sections { display:block; padding:0; border:0; }
.sidebar .main-nav :is(.al-main-sections,.al-settings) > a, .sidebar .main-nav details > summary { border-top:1px solid #e3eaf1; }
.sidebar .al-main-sections > a:first-child { border-top:0; border-radius:8px; }
.sidebar .main-nav summary { display:flex; align-items:center; justify-content:space-between; gap:6px; list-style:none; cursor:pointer; }
.sidebar .main-nav summary::-webkit-details-marker, .al-account-menu summary::-webkit-details-marker { display:none; }
.sidebar .main-nav summary::after { content:""; width:6px; height:6px; flex:0 0 6px; border-right:2px solid #526577; border-bottom:2px solid #526577; transform:rotate(-45deg); margin-right:2px; }
.sidebar .main-nav details[open] > summary { background:#eef4fa; border-radius:8px 8px 0 0; }
.sidebar .main-nav details[open] > summary::after { transform:rotate(45deg); }
.sidebar .main-nav details > a { position:relative; display:block; margin-left:12px; padding:4px 8px 4px 12px; border-left:2px solid #9cc3e3; background:#f7fafd; color:#36506a; font-size:12.3px; font-weight:500; }
.sidebar .main-nav details > a::before { content:""; position:absolute; left:0; top:50%; width:7px; border-top:1px solid #9cc3e3; }
.sidebar .main-nav details > a:last-child { margin-bottom:5px; border-radius:0 0 8px 0; }
.sidebar .main-nav a[aria-current="page"] { color:#075b9d; background:#e0eef9; font-weight:700; box-shadow:inset 3px 0 0 #075b9d; border-radius:0 6px 6px 0; }
.sidebar .al-settings h2 { margin:9px 6px 3px; padding-top:7px; border-top:1px solid #c9d6e2; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#526577; }
.sidebar .al-access-entry { margin:0; }
.sidebar .nav-section { margin:0; padding:0; border:0; background:transparent; }
.sidebar .nav-section .nav-group { color:#526577; border-color:#d9e1e9; font-size:10px; padding:8px; margin:0; }
.sidebar .nav-section a { font-size:12.3px; padding-left:12px; border-left:2px solid #9cc3e3; margin-left:12px; }
.al-side-user { margin-top:8px; display:flex; align-items:center; gap:8px; padding:9px 4px 0; border-top:1px solid #d9e1e9; flex-shrink:0; }
.al-side-user > div { min-width:0; }
.al-side-user strong { display:block; font-size:12.3px; line-height:1.3; overflow-wrap:anywhere; }
.al-side-user small { display:block; color:#526577; font-size:10.5px; }
.al-account-avatar { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:#dcebf7; color:#0b3d64; font-size:12px; }
.app-shell .content-shell { display:flex; flex-direction:column; min-height:100vh; min-width:0; }
.app-shell .page-content { flex:1; width:100%; }
.app-shell .topbar { min-height:60px; padding:10px 24px; gap:12px; }
.topbar .al-portal-context { font-size:12px; }
.topbar .al-portal-context strong { display:none; }
.topbar .al-global-search { max-width:560px; }
.topbar .al-global-search label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.topbar .al-global-search input { font-size:13px; }
.topbar .al-global-search button, .topbar .al-new summary { flex-shrink:0; white-space:nowrap; }
.al-account-menu { position:relative; margin-left:auto; flex-shrink:0; color:#17263a; }
.al-account-menu > summary { display:flex; align-items:center; gap:8px; min-height:38px; padding:4px 12px 4px 6px; border:1px solid #d9e1e9; border-radius:999px; background:#fff; font-size:13px; font-weight:650; cursor:pointer; list-style:none; }
.al-account-menu > summary::after { content:""; width:6px; height:6px; border-right:2px solid #526577; border-bottom:2px solid #526577; transform:rotate(45deg); margin-left:3px; }
.al-account-menu[open] > summary::after { transform:rotate(225deg); }
.al-account-dropdown { position:absolute; right:0; top:calc(100% + 6px); width:230px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 100px); overflow-y:auto; z-index:70; padding:6px; border:1px solid #d9e1e9; border-radius:12px; background:#fff; box-shadow:0 14px 40px #0b3d642e; }
.topbar .al-account-dropdown :is(a,button) { display:block; width:100%; text-align:left; color:#17263a; font-family:inherit; font-size:13.5px; padding:9px 12px; border-radius:8px; }
.al-account-dropdown :is(a,button):hover { background:#eef4fa; text-decoration:none; }
.al-account-dropdown form { border-top:1px solid #d9e1e9; margin-top:4px; padding-top:3px; }
.al-account-dropdown button { font-weight:650; }
.al-legal-footer { display:flex; flex-wrap:nowrap; align-items:center; gap:18px; width:100%; min-width:0; min-height:40px; flex-shrink:0; padding:8px 24px; border-top:1px solid #d9e1e9; background:#fff; color:#526577; font-size:11.8px; overflow-x:auto; white-space:nowrap; }
.al-legal-footer > * { flex-shrink:0; }
.al-legal-footer > span { margin-right:auto; }
.al-legal-footer a { color:#526577; }
.al-withdrawal-link { display:block; padding:8px 4px; color:#a11f2d; font-size:12.3px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.al-public-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px; padding:12px; background:#fff; }
.al-public-actions .link-button { color:#17263a; min-height:44px; }
@media(min-width:801px) and (max-width:1200px) { .topbar .al-portal-context { display:none; } }
@media(max-width:800px) {
 .app-shell { grid-template-columns:minmax(0,1fr); }
 .app-shell .sidebar { width:204px; padding:12px 10px; z-index:60; }
 .app-shell .topbar { padding:10px 12px; gap:8px; flex-wrap:wrap; }
 .topbar .al-portal-context { display:none; }
 .topbar .menu-toggle { order:-2; }
 .topbar .al-account-menu { order:-1; }
 .topbar .al-new { order:0; }
 .topbar .al-global-search { order:3; flex-basis:100%; }
 .sidebar .main-nav :is(a,summary), .topbar .al-account-menu summary, .topbar .al-account-dropdown :is(a,button) { min-height:44px; }
 .al-legal-footer { padding:8px 12px; gap:16px; scroll-padding:12px; }
 .al-legal-footer a { display:inline-flex; align-items:center; min-height:44px; }
 .al-legal-footer > span { display:none; }
 .al-backend .al-legal-footer { margin-bottom:0; }
}
@media(prefers-reduced-motion:reduce) { .app-shell .sidebar { transition:none; } }
