/* built from style/ by tools/build_style.py -- edit the sources */
@font-face{font-family: "Outfit";src: url("fonts/Outfit-Variable.woff2") format("woff2");font-weight: 100 900;font-style: normal;font-display: swap}:root{--fs-print: 11pt;--accent: #2563eb;--accent-soft: var(--accent-soft-user,#1e293b);--bg: #090e1a;--surface: #0f172a;--surface-2: #1e293b;--card: #0f172a;--input: #1e293b;--card-border: rgba(148,163,184,0.18);--card-border-2: rgba(148,163,184,0.34);--text: #f8fafc;--text-soft: #cbd5e1;--text-faint: #94a3b8;--flight: #3b82f6;--flight-ink: #93c5fd;--flight-soft: color-mix(in srgb,#3b82f6 18%,var(--card));--flight-line: color-mix(in srgb,#3b82f6 48%,transparent);--sky: #3b82f6;--sky-ink: #93c5fd;--sky-soft: color-mix(in srgb,#3b82f6 18%,var(--card));--hotel: #10b981;--hotel-ink: #6ee7b7;--hotel-soft: color-mix(in srgb,#10b981 18%,var(--card));--hotel-line: color-mix(in srgb,#10b981 48%,transparent);--green: #10b981;--green-ink: #6ee7b7;--green-soft: color-mix(in srgb,#10b981 18%,var(--card));--standby: #f97316;--standby-ink: #fdba74;--standby-soft: color-mix(in srgb,#f97316 18%,var(--card));--standby-line: color-mix(in srgb,#f97316 48%,transparent);--amber: #f97316;--amber-ink: #fdba74;--amber-soft: color-mix(in srgb,#f97316 18%,var(--card));--training: #8b5cf6;--training-ink: #c4b5fd;--training-soft: color-mix(in srgb,#8b5cf6 18%,var(--card));--training-line: color-mix(in srgb,#8b5cf6 48%,transparent);--purple: #8b5cf6;--purple-soft: color-mix(in srgb,#8b5cf6 18%,var(--card));--reserve: #3b82f6;--reserve-ink: #93c5fd;--reserve-soft: color-mix(in srgb,#3b82f6 18%,var(--card));--reserve-line: color-mix(in srgb,#3b82f6 48%,transparent);--off-ink: #cbd5e1;--off-soft: color-mix(in srgb,#cbd5e1 10%,var(--card));--off-line: color-mix(in srgb,#cbd5e1 26%,transparent);--gray: #64748b;--gray-ink: #cbd5e1;--gray-soft: color-mix(in srgb,#94a3b8 12%,var(--card));--danger: #f87171;--danger-fill: #ef4444;--danger-soft: color-mix(in srgb,#ef4444 18%,var(--card));--error: #f87171;--warning: #fbbf24;--accent-ink: #93c5fd;--btn-primary-bg: #2563eb;--btn-primary-text: #ffffff;--btn-secondary-bg: #1e293b;--btn-secondary-border: #3b82f6;--btn-secondary-text: #60a5fa;--shadow-xs: 0 1px 2px rgba(0,0,0,0.5);--shadow-sm: 0 3px 10px -3px rgba(0,0,0,0.6);--shadow-md: 0 14px 34px -12px rgba(0,0,0,0.75);--shadow-lg: 0 28px 60px -18px rgba(0,0,0,0.82);--shadow-xl: 0 44px 96px -28px rgba(0,0,0,0.9);--bg-grad-1: #090e1a;--bg-grad-2: #0f172a;--ring: 0 0 0 3px color-mix(in srgb,var(--sky) 55%,transparent);--ring-soft: 0 0 0 4px color-mix(in srgb,var(--sky) 32%,transparent);--grad-accent: linear-gradient(135deg,#2563eb,#1d4ed8);--grad-hero: linear-gradient(155deg,color-mix(in srgb,var(--accent) 26%,var(--surface)),var(--surface) 72%);--grad-sheen: linear-gradient(180deg,transparent,transparent);--glow-accent: 0 18px 44px -16px color-mix(in srgb,var(--accent) 72%,transparent);--r-xs: 6px;--r-sm: 10px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--fs-3xs: 11px;--fs-2xs: 12px;--fs-xs: 13px;--fs-sm: 14px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 24px;--fs-2xl: 30px;--fs-3xl: 32px;--fs-display: clamp(52px,13vw,84px);--fs-display-route: clamp(26px,6.5vw,36px);--fs-display-short: clamp(40px,8vh,56px);--fs-display-route-short: clamp(22px,4.6vh,30px);--fs-display-route-phone: clamp(28px,9vw,40px);--fs-hero: clamp(34px,7vw,52px);--lh-tight: 1.15;--lh-snug: 1.33;--lh-body: 1.5;--track-display: -0.025em;--track-label: 0.06em;--space-0: 0;--hairline: 1px;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--space-10: 48px;--space-11: 56px;--card-pad: var(--space-5);--gutter: var(--space-4);--appbar-h: 64px;--bottom-bar-h: 64px;--rail-w: 236px;--row-h: 34px;--gap: var(--space-4);--pad: var(--space-5);--fs-meta: var(--fs-xs);--fs-label: var(--fs-xs);--glass: rgba(9,14,26,0.78);--glass-brd: rgba(148,163,184,0.18);--glass-tint: rgba(148,163,184,0.06);--glass-brd-dark: rgba(148,163,184,0.26);--font: Outfit,"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--mono: ui-monospace,"Cascadia Mono","SF Mono","JetBrains Mono",Consolas,"Liberation Mono",monospace;--tnum: tabular-nums;--dur: 0.18s;--dur-fast: 0.12s;--dur-slow: 0.28s;--ease: cubic-bezier(0.22,1,0.36,1);--ease-out: cubic-bezier(0.16,1,0.3,1);--ease-spring: cubic-bezier(0.34,1.4,0.64,1);--plane-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E");--shell: 1400px}[data-theme="dark"]{color-scheme: dark}@media (min-width: 720px){:root{--card-pad: var(--space-6);--gutter: var(--space-5)}}@media (min-width: 1000px){:root{--gutter: var(--space-8)}}[data-theme="light"]{color-scheme: light;--bg: #f1f5f9;--surface: #ffffff;--surface-2: #e2e8f0;--card: #ffffff;--input: #ffffff;--card-border: rgba(15,23,42,0.10);--card-border-2: rgba(15,23,42,0.20);--text: #0f172a;--text-soft: #52637a;--text-faint: #52637a;--accent-soft: var(--accent-soft-user,#eff6ff);--danger: #b91c1c;--danger-soft: #fee2e2;--error: #b91c1c;--danger-fill: #ef4444;--warning: #9a3412;--accent-ink: #1d4ed8;--btn-primary-bg: #2563eb;--btn-primary-text: #ffffff;--btn-secondary-bg: #f1f5f9;--btn-secondary-border: #2563eb;--btn-secondary-text: #2563eb;--flight: #2563eb;--flight-ink: #1d4ed8;--flight-soft: #dbeafe;--flight-line: #93c5fd;--sky: #2563eb;--sky-ink: #1d4ed8;--sky-soft: #dbeafe;--hotel: #10b981;--hotel-ink: #065f46;--hotel-soft: #ecfdf5;--hotel-line: #6ee7b7;--green: #10b981;--green-ink: #065f46;--green-soft: #ecfdf5;--standby: #f97316;--standby-ink: #9a3412;--standby-soft: #ffedd5;--standby-line: #fdba74;--amber: #f97316;--amber-ink: #9a3412;--amber-soft: #ffedd5;--training: #8b5cf6;--training-ink: #6d28d9;--training-soft: #f5f3ff;--training-line: #c4b5fd;--purple: #8b5cf6;--purple-soft: #f5f3ff;--reserve: #2563eb;--reserve-ink: #1d4ed8;--reserve-soft: #dbeafe;--reserve-line: #93c5fd;--off-ink: #52637a;--off-soft: #f1f5f9;--off-line: #e2e8f0;--gray: #64748b;--gray-ink: #52637a;--gray-soft: #f1f5f9;--shadow-xs: 0 1px 2px rgba(15,23,42,0.06);--shadow-sm: 0 3px 10px -3px rgba(15,23,42,0.12);--shadow-md: 0 14px 34px -14px rgba(15,23,42,0.22);--shadow-lg: 0 28px 60px -20px rgba(15,23,42,0.26);--shadow-xl: 0 44px 96px -32px rgba(15,23,42,0.32);--grad-hero: linear-gradient(155deg,color-mix(in srgb,var(--accent) 18%,var(--surface)),var(--surface) 72%);--grad-sheen: linear-gradient(180deg,transparent,transparent);--glow-accent: 0 18px 44px -18px color-mix(in srgb,var(--accent) 55%,transparent);--glass: rgba(255,255,255,0.82);--glass-brd: rgba(15,23,42,0.10);--glass-tint: rgba(15,23,42,0.03);--glass-brd-dark: rgba(15,23,42,0.18);--bg-grad-1: #ffffff;--bg-grad-2: #e2e8f0}html[data-density="compact"]{--row-h: 30px;--gap: var(--space-3);--pad: var(--space-4);--fs-base: 15px;--fs-meta: var(--fs-xs);--fs-label: var(--fs-xs)}html[data-density="compact"] .cal-cell{min-height: 72px;padding: var(--space-1);gap: var(--space-1)}html[data-density="compact"] .rot{padding: var(--space-2) var(--space-3);margin-bottom: var(--space-2)}html[data-density="compact"] .rot-head{padding-bottom: var(--space-2);margin-bottom: var(--space-2);gap: var(--space-2)}html[data-density="compact"] .mtr{padding: var(--space-1) var(--space-2)}html[data-density="compact"] .mix-row{padding-top: var(--space-1);padding-bottom: var(--space-1)}html[data-density="compact"] .dash-card{padding: var(--space-4)}html[data-density="compact"] .kpi{padding: var(--space-3);gap: var(--space-2) var(--space-3)}html[data-density="compact"] .dv-list,html[data-density="compact"] .days{gap: var(--space-2)}html[data-density="compact"] .bento{gap: var(--space-3);margin-bottom: var(--space-3)}html[data-density="compact"] .dash-grid{gap: var(--space-3)}html[data-density="compact"] .strip-times{padding-top: var(--space-2)}@media (max-width: 620px){html[data-density="compact"] .cal-cell{min-height: 48px}}[data-density="comfortable"]{--row-h: 40px;--gap: var(--space-5);--pad: var(--space-6);--fs-base: 16px;--fs-meta: var(--fs-sm);--fs-label: var(--fs-xs)}html[data-density="comfortable"] .cal-cell{min-height: 118px;padding: var(--space-3);gap: var(--space-2)}html[data-density="comfortable"] .rot{padding: var(--space-5) var(--space-6);margin-bottom: var(--space-5)}html[data-density="comfortable"] .rot-head{padding-bottom: var(--space-4);margin-bottom: var(--space-4)}html[data-density="comfortable"] .mtr{padding: var(--space-4) var(--space-4)}html[data-density="comfortable"] .dash-card{padding: var(--space-6)}html[data-density="comfortable"] .kpi{padding: var(--space-5)}html[data-density="comfortable"] .dv-list,html[data-density="comfortable"] .days{gap: var(--space-5)}html[data-density="comfortable"] .bento{gap: var(--space-5);margin-bottom: var(--space-5)}html[data-density="comfortable"] .month-label{font-size: 24px}html[data-density="comfortable"] .dash-title{font-size: var(--fs-sm)}@media (max-width: 620px){html[data-density="comfortable"] .cal-cell{min-height: 84px}}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scrollbar-color: color-mix(in srgb,var(--text-faint) 60%,transparent) transparent}body{font-family: var(--font);font-size: var(--fs-base);color: var(--text);background: var(--bg);min-height: 100dvh;line-height: var(--lh-body);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-variant-numeric: var(--tnum);transition: background 0.3s ease,color 0.3s ease;overflow-x: hidden}body::before{content: "";position: fixed;inset: 0;z-index: 0;pointer-events: none;background: radial-gradient(60% 42% at 12% -6%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),radial-gradient(50% 38% at 104% 8%,color-mix(in srgb,#7c3aed 16%,transparent),transparent 72%)}body::after{display: none}img,svg{display: block;max-width: 100%}button,input,select,textarea{font: inherit;color: inherit}button{-webkit-tap-highlight-color: transparent}h1,h2{font-weight: 750;letter-spacing: var(--track-display);line-height: var(--lh-tight)}h3,h4{font-weight: 700;letter-spacing: -0.01em;line-height: var(--lh-snug)}b,strong{font-weight: 650}code{font-family: var(--mono)}::selection{background: color-mix(in srgb,var(--accent) 34%,transparent);color: var(--text)}*{scrollbar-width: thin}::-webkit-scrollbar{width: 10px;height: 10px}::-webkit-scrollbar-track{background: transparent}::-webkit-scrollbar-thumb{background: color-mix(in srgb,var(--text-faint) 40%,transparent);border: 3px solid transparent;border-radius: var(--r-full);background-clip: content-box}::-webkit-scrollbar-thumb:hover{background-color: var(--text-faint)}:focus-visible{outline: 2px solid var(--accent-ink);outline-offset: 2px;box-shadow: var(--ring-soft);border-radius: var(--r-sm)}.hidden{display: none !important}.skip-link{position: absolute;left: 50%;top: -60px;transform: translateX(-50%);z-index: 200;background: var(--card);color: var(--text);border: 1px solid var(--card-border-2);padding: var(--space-3) var(--space-5);border-radius: 0 0 var(--r-md) var(--r-md);font-weight: 700;font-size: var(--fs-base);text-decoration: none;box-shadow: var(--shadow-lg);transition: top var(--dur) var(--ease)}.skip-link:focus{top: 0}.spacer{flex: 1}.page-head{display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: var(--space-4) var(--space-6);margin: 0 0 var(--space-6)}.page-head-copy{display: flex;flex-direction: column;gap: var(--space-2);min-width: 0}.page-eyebrow{font-size: var(--fs-3xs);font-weight: 800;letter-spacing: var(--track-label);text-transform: uppercase;color: var(--sky-ink)}.page-title{margin: 0;color: var(--text);font-size: var(--fs-3xl);font-weight: 800;letter-spacing: var(--track-display);line-height: var(--lh-tight)}.page-sub{margin: 0;color: var(--text-soft);font-size: var(--fs-sm);max-width: 62ch}@media (max-width: 700px){.page-head{margin-bottom: var(--space-5)}.page-title{font-size: var(--fs-2xl)}}.sheet-na,.dash-empty,.empty-state,.cal-empty,.crew-empty,.res-empty,.portal-empty,.console-na{color: var(--text-faint);font-size: var(--fs-sm);line-height: var(--lh-body)}.app{position: relative;z-index: 1;display: grid;grid-template-columns: var(--rail-w) minmax(0,1fr);min-height: 100dvh;align-items: start}.rail{position: sticky;top: 0;height: 100dvh;display: flex;flex-direction: column;gap: var(--space-4);padding: var(--space-5) var(--space-4);background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--bg)),var(--bg) 42%);border-right: 1px solid var(--card-border);overflow-y: auto;z-index: 60}.rail-brand{padding: 0 var(--space-2) var(--space-3)}.brand{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-1);min-width: 0}.brand-mobile{display: none}.brand-lockup{height: 34px;width: auto;max-width: 100%;object-fit: contain;display: block}.brand-lockup-dark{display: none}[data-theme="dark"] .brand-lockup-light{display: none}[data-theme="dark"] .brand-lockup-dark{display: block;height: 40px}.brand-subtitle{font-size: var(--fs-2xs);font-weight: 500;color: var(--text-faint);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.tabs{display: flex;flex-direction: column;gap: var(--space-1);flex: 1 1 auto;min-height: 0}.tab-cursor{display: none}.tab-cursor.is-unplaced{opacity: 0}.tab-cursor.is-ready{opacity: 1}.tab-btn{position: relative;display: flex;align-items: center;gap: var(--space-3);width: 100%;min-height: 44px;padding: 0 var(--space-4);border: 0;border-radius: var(--r-md);background: transparent;color: var(--text-soft);font-size: var(--fs-base);font-weight: 600;letter-spacing: -0.01em;text-align: left;cursor: pointer;white-space: nowrap;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.tab-btn svg{width: 20px;height: 20px;flex: none;opacity: 0.8}.tab-btn:hover{background: var(--surface-2);color: var(--text)}.tab-btn:hover svg{opacity: 1}.tab-btn.active{background: color-mix(in srgb,var(--accent) 12%,transparent);color: var(--text);font-weight: 700;box-shadow: none}.tab-btn.active::before{content: "";position: absolute;top: 50%;left: calc(-1 * var(--space-4));width: 3px;height: 20px;transform: translateY(-50%);border-radius: 0 var(--r-full) var(--r-full) 0;background: var(--accent)}.tab-btn.active svg{opacity: 1;color: var(--text)}.rail-foot{display: flex;flex-direction: column;gap: var(--space-3);margin-top: auto;padding-top: var(--space-4);border-top: 1px solid var(--card-border)}.clock-pair{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3);border-radius: var(--r-md);background: var(--surface);border: 1px solid var(--card-border);box-shadow: var(--shadow-xs)}.clock-live{width: 8px;height: 8px;flex: none;border-radius: 50%;background: var(--green);box-shadow: 0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent),0 0 12px color-mix(in srgb,var(--green) 70%,transparent);animation: clock-breathe 3.2s var(--ease) infinite}@keyframes clock-breathe{0%,100%{opacity: 1}50%{opacity: 0.4}}.clock-cell{display: flex;flex-direction: column;line-height: 1.15;min-width: 0}.clock-cell b{font-size: var(--fs-base);font-weight: 700;letter-spacing: 0.2px;color: var(--text);font-variant-numeric: var(--tnum)}.clock-cell small{font-size: var(--fs-3xs);font-weight: 600;letter-spacing: 0.4px;text-transform: uppercase;color: var(--text-faint);margin-top: var(--hairline)}.clock-cell.is-local b{color: var(--text)}.clock-cell.is-utc b{color: var(--text-soft)}.clock-sep{width: 1px;align-self: stretch;background: var(--card-border)}.rail-greeting{font-size: var(--fs-sm);color: var(--text-faint);padding: 0 var(--space-2)}.app-main{min-width: 0;display: flex;flex-direction: column}.hero{position: sticky;top: 0;z-index: 55;min-height: var(--appbar-h);display: flex;align-items: center;gap: var(--space-4);padding: var(--space-3) var(--space-6);background: var(--glass);border-bottom: 1px solid var(--glass-brd-dark);-webkit-backdrop-filter: blur(20px) saturate(1.4);backdrop-filter: blur(20px) saturate(1.4)}.hero-top{display: flex;align-items: center;gap: var(--space-3);flex: 1 1 auto;min-width: 0;order: 1}.topbar-status{display: flex;align-items: center;gap: var(--space-2);min-width: 0;flex-wrap: wrap}.hero-end{display: flex;align-items: center;gap: var(--space-2);flex: none;order: 3}.hero-icons{display: flex;gap: var(--space-1);align-items: center;flex: none}.lang-btn{height: 36px;min-width: 44px;flex: none;padding: 0 var(--space-3);border-radius: var(--r-full);cursor: pointer;color: var(--text-soft);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.4px;background: transparent;border: 1px solid var(--card-border);transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.lang-btn:hover{background: var(--surface-2);color: var(--text);border-color: var(--card-border-2)}.lang-btn:active{transform: scale(0.96)}.lang-btn,.hero-icons .icon-btn{position: relative}.lang-btn::after,.hero-icons .icon-btn::after{content: '';position: absolute;inset: -7px}.hero-actions{display: flex;gap: var(--space-2);flex-wrap: nowrap;flex: none;align-items: center;order: 2}.account-wrap{position: relative;flex: none}.account-btn{gap: var(--space-2);padding: 0 var(--space-2) 0 var(--space-2);border-radius: var(--r-full)}.account-avatar{width: 30px;height: 30px;flex: none;display: grid;place-items: center;border-radius: 50%;background: var(--grad-accent);color: #fff;font-size: var(--fs-xs);font-weight: 800;text-transform: uppercase;box-shadow: inset 0 1px 0 rgba(255,255,255,0.35)}#account-name{max-width: 16ch;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.account-menu{position: absolute;top: calc(100% + var(--space-2));right: 0;min-width: 250px;padding: var(--space-2);background: var(--surface);border: 1px solid var(--card-border-2);border-radius: var(--r-lg);box-shadow: var(--shadow-xl);z-index: 80;animation: menu-in var(--dur) var(--ease-out) both}@keyframes menu-in{from{opacity: 0;transform: translateY(-8px) scale(0.98)}}.account-menu-head{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-2) var(--space-3) var(--space-3);border-bottom: 1px solid var(--card-border);margin-bottom: var(--space-2)}.account-menu-label{font-size: var(--fs-3xs);text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-faint)}.account-menu-head strong{font-size: var(--fs-base);color: var(--text)}.account-menu-item{display: block;width: 100%;text-align: left;padding: var(--space-3);border: 0;border-radius: var(--r-sm);background: transparent;color: var(--text-soft);font-size: var(--fs-base);font-weight: 600;cursor: pointer;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.account-menu-item:hover{background: var(--surface-2);color: var(--text)}.account-menu-item.danger{color: var(--danger)}.account-menu-item.danger:hover{background: var(--danger-soft)}.subnav{display: none;position: sticky;top: var(--appbar-h);z-index: 40;justify-content: center;padding: var(--space-3) var(--space-6) 0;background: linear-gradient(180deg,var(--bg) 55%,transparent)}body[data-pane="calendar"] .subnav,body[data-pane="trips"] .subnav,body[data-pane="stats"] .subnav,body[data-pane="map"] .subnav,body[data-pane="crew"] .subnav,body[data-pane="weather"] .subnav,body[data-pane="hotels"] .subnav,body[data-pane="inbox"] .subnav,body[data-pane="profile"] .subnav,body[data-pane="leave"] .subnav,body[data-pane="health"] .subnav,body[data-pane="directory"] .subnav,body[data-pane="tools"] .subnav{display: flex}.subnav-set{display: none;gap: var(--space-1);padding: var(--space-1);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-full);box-shadow: var(--shadow-sm)}body[data-pane="calendar"] .subnav-roster,body[data-pane="trips"] .subnav-roster,body[data-pane="stats"] .subnav-insights,body[data-pane="map"] .subnav-insights,body[data-pane="crew"] .subnav-crew,body[data-pane="weather"] .subnav-crew,body[data-pane="hotels"] .subnav-crew,body[data-pane="inbox"] .subnav-crew,body[data-pane="profile"] .subnav-crew,body[data-pane="leave"] .subnav-crew,body[data-pane="health"] .subnav-crew,body[data-pane="directory"] .subnav-crew,body[data-pane="tools"] .subnav-crew{display: flex}.sub-tab{display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-2) var(--space-5);border: 0;border-radius: var(--r-full);background: transparent;color: var(--text-soft);font-size: var(--fs-sm);font-weight: 650;cursor: pointer;white-space: nowrap;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.sub-tab:hover{color: var(--text);background: var(--surface-2)}.sub-tab.active{background: var(--text);color: var(--bg);box-shadow: none}.btn{position: relative;display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);height: 40px;padding: 0 var(--space-5);border: 1px solid var(--card-border-2);border-radius: var(--r-full);background: var(--surface-2);color: var(--text);font-size: var(--fs-sm);font-weight: 650;letter-spacing: -0.01em;white-space: nowrap;cursor: pointer;transition: color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{border-color: color-mix(in srgb,var(--text-faint) 60%,transparent);background: color-mix(in srgb,var(--surface-2) 80%,var(--text) 6%);box-shadow: var(--shadow-sm)}.btn:active{transform: translateY(0)}.btn svg{width: 17px;height: 17px;flex: none}.btn:disabled{opacity: 0.55;cursor: progress;transform: none}.btn-ghost{background: transparent;border-color: transparent;color: var(--text-soft)}.btn-ghost:hover{background: var(--surface-2);border-color: var(--card-border);color: var(--text);box-shadow: none}.btn-ghost-dark{background: transparent;color: var(--text);border-color: var(--card-border-2)}.btn-ghost-dark:hover{background: var(--surface-2)}.btn-accent{background: var(--btn-primary-bg);border-color: transparent;color: var(--btn-primary-text);box-shadow: var(--glow-accent),inset 0 1px 0 rgba(255,255,255,0.3)}.btn-accent:hover{color: var(--btn-primary-text);border-color: transparent;background: #1d4ed8;box-shadow: var(--glow-accent),inset 0 1px 0 rgba(255,255,255,0.35)}.btn-danger{background: transparent;color: var(--danger);border-color: color-mix(in srgb,var(--danger) 55%,transparent)}.btn-danger:hover{background: var(--danger-soft);border-color: var(--danger)}.btn-soft{background: var(--btn-secondary-bg);color: var(--btn-secondary-text);border-color: var(--btn-secondary-border)}.btn-soft:hover{background: color-mix(in srgb,var(--btn-secondary-bg) 84%,var(--btn-secondary-border) 16%);border-color: var(--btn-secondary-border)}.icon-btn{width: 40px;height: 40px;flex: none;display: grid;place-items: center;border: 1px solid transparent;border-radius: var(--r-full);background: transparent;color: var(--text-soft);cursor: pointer;transition: color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.icon-btn:hover{color: var(--text);border-color: var(--card-border);background: var(--surface-2)}.icon-btn:active{transform: scale(0.94)}.icon-btn svg{width: 19px;height: 19px}.icon-btn.round{border-radius: var(--r-full)}.month-nav .icon-btn{color: var(--text-soft);background: var(--surface);border-color: var(--card-border)}.month-nav .icon-btn:hover{color: var(--text);background: var(--surface-2);border-color: var(--card-border-2)}.icon-sun{display: none}[data-theme="dark"] .icon-moon{display: none}[data-theme="dark"] .icon-sun{display: block}#dark-toggle svg{transition: opacity var(--dur-fast) var(--ease)}.btn:active,.me-tile:active,.crew-card:active,.tool-flight:active,.tool-hotel:active,.map-chip:active{transform: scale(0.97)}@media (prefers-reduced-motion: reduce){.btn:active,.me-tile:active,.crew-card:active,.tool-flight:active,.tool-hotel:active,.map-chip:active{transform: none}}.view-switch,.seg.small{display: inline-flex;align-items: center;gap: var(--space-1);padding: var(--space-1);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-full)}.seg{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);padding: var(--space-2) var(--space-4);border: 1px solid transparent;border-radius: var(--r-full);background: transparent;color: var(--text-soft);font-size: var(--fs-sm);font-weight: 650;white-space: nowrap;cursor: pointer;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.seg svg{width: 16px;height: 16px;flex: none;opacity: 0.85}.seg:hover{color: var(--text)}.seg:hover svg{opacity: 1}.seg:active{transform: scale(0.98)}.seg[aria-pressed="true"]{background: var(--text);color: var(--bg);border-color: transparent;box-shadow: none}.seg[aria-pressed="true"] svg{opacity: 1;color: var(--bg)}.seg.small{padding: var(--space-1)}.seg.small .seg{padding: var(--space-1) var(--space-3);font-size: var(--fs-xs)}main{position: relative;z-index: 2;width: 100%;max-width: var(--shell);margin: 0 auto;padding: var(--space-5) var(--space-6) var(--space-9)}.pane{display: none}.pane.active{display: block}body.booting .pane{display: none}body.booting footer{display: none}@keyframes rise{from{opacity: 0;transform: translateY(10px)}to{opacity: 1;transform: none}}.status-pill-row{display: flex;gap: var(--space-2);flex-wrap: wrap;align-items: center;font-size: var(--fs-sm);color: var(--text-soft);margin-bottom: var(--space-5)}.status-pill{display: inline-flex;align-items: center;gap: var(--space-2);background: var(--surface);border: 1px solid var(--card-border);padding: var(--space-2) var(--space-4);border-radius: var(--r-full);box-shadow: var(--shadow-xs);font-weight: 650;font-family: inherit;font-size: inherit;line-height: inherit;color: inherit;text-align: left;cursor: pointer;transition: border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}button.status-pill:hover{border-color: var(--card-border-2);background: var(--surface-2)}.status-pill.muted{color: var(--text-faint);font-weight: 500}.status-pill .dot{width: 8px;height: 8px;border-radius: 50%;background: var(--green);box-shadow: 0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent),0 0 10px color-mix(in srgb,var(--green) 70%,transparent);animation: breathe 2.6s var(--ease) infinite}.status-pill.error{color: var(--error)}.status-pill.error .dot{background: var(--danger-fill);box-shadow: 0 0 0 3px color-mix(in srgb,var(--danger-fill) 22%,transparent)}.status-pill.offline .dot{background: var(--amber);box-shadow: 0 0 0 3px color-mix(in srgb,var(--amber) 24%,transparent)}#save-banner:not(.hidden){margin-bottom: var(--space-4)}.save-banner{display: flex;align-items: center;gap: var(--space-4);flex-wrap: wrap;padding: var(--space-4) var(--space-5);border-radius: var(--r-lg);background: var(--surface);border: 1px solid color-mix(in srgb,var(--warning) 45%,transparent);box-shadow: var(--shadow-sm);animation: rise 0.3s var(--ease-out) both}.save-banner .dicon{flex: none;display: grid;place-items: center;color: var(--warning)}.save-banner .dicon svg{width: 22px;height: 22px}.save-banner-text{flex: 1 1 260px;min-width: 0;display: flex;flex-direction: column;gap: var(--space-1)}.save-banner-text b{font-size: var(--fs-base);color: var(--text)}.save-banner-detail{font-size: var(--fs-sm);color: var(--text-soft);line-height: 1.5;overflow-wrap: anywhere}.save-banner-retry{flex: none}[data-density="compact"] .save-banner{padding: var(--space-3) var(--space-4)}.month-nav{display: flex;align-items: center;gap: var(--space-4);margin: var(--space-3) 0 var(--space-4);justify-content: center;position: relative}.month-info{min-width: 190px;text-align: center}.trip-count-pill{position: absolute;right: 0;top: 50%;transform: translateY(-50%)}@media (max-width: 620px){.trip-count-pill{position: static;transform: none;align-self: center}}.month-label{font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.03em}.today-link{display: inline-block;margin-top: var(--space-1);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.3px;text-transform: uppercase;color: var(--sky-ink);cursor: pointer;text-decoration: none;padding: var(--space-0) var(--space-3);border-radius: var(--r-full);transition: background var(--dur-fast) var(--ease);background: none;border: 0;font-family: inherit;line-height: inherit}.today-link:hover{background: var(--sky-soft);text-decoration: none}.today-link:focus-visible{outline: 2px solid var(--sky);outline-offset: 2px}.month-nav input[type="month"],.month-nav input[type="date"]{position: absolute;inset: 0;opacity: 0;cursor: pointer}.month-pick{display: inline-flex;align-items: center;gap: var(--space-2);font-size: var(--fs-xs);font-weight: 700}.month-pick-label{color: var(--text-faint);text-transform: uppercase;letter-spacing: 0.6px;white-space: nowrap}.month-pick-select{font: inherit;font-weight: 650;color: var(--text);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-full);padding: var(--space-2) var(--space-4);min-height: 36px;cursor: pointer}.month-pick-select:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.month-pick-select:disabled{opacity: 0.55;cursor: default}.chips{display: flex;gap: var(--space-2);flex-wrap: wrap;margin: 0 0 var(--space-5)}.chip{display: inline-flex;align-items: center;gap: var(--space-2);border: 1px solid var(--card-border);background: var(--surface);color: var(--text-soft);font-size: var(--fs-sm);font-weight: 650;padding: var(--space-2) var(--space-4);border-radius: var(--r-full);cursor: pointer;box-shadow: var(--shadow-xs);transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.chip:hover{color: var(--text);border-color: var(--card-border-2);background: var(--surface-2)}.chip:active{transform: scale(0.97)}.chip .dot{width: 9px;height: 9px;border-radius: 50%;box-shadow: 0 0 0 2px color-mix(in srgb,currentColor 20%,transparent)}.chip[aria-pressed="true"]{color: #fff;background: var(--grad-accent);border-color: transparent;box-shadow: inset 0 1px 0 rgba(255,255,255,0.28)}.chip[aria-pressed="true"] .dot{box-shadow: 0 0 0 2px rgba(255,255,255,0.4)}.stats,.stats-cards{display: grid;gap: var(--space-3);margin-bottom: var(--space-5)}.stats{grid-template-columns: repeat(6,1fr)}.stats-cards{grid-template-columns: repeat(5,1fr)}.stat-card{--tile: var(--sky);position: relative;overflow: hidden;background: var(--grad-sheen),var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);padding: var(--space-4) var(--space-4);text-align: left;box-shadow: var(--shadow-sm);transition: border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.stat-card::before{content: "";position: absolute;top: var(--space-4);right: var(--space-4);width: 9px;height: 9px;border-radius: 50%;background: var(--tile);box-shadow: 0 0 12px color-mix(in srgb,var(--tile) 80%,transparent)}.stat-card:hover{border-color: var(--card-border-2);box-shadow: var(--shadow-md);transform: translateY(-2px)}.stat-num{position: relative;font-family: var(--mono);font-variant-numeric: var(--tnum);font-size: var(--fs-2xl);font-weight: 700;letter-spacing: -0.04em;line-height: 1.05;color: var(--text)}.stat-label{position: relative;margin-top: var(--space-2);font-size: var(--fs-xs);font-weight: 650;letter-spacing: 0.02em;color: var(--text-faint)}.stat-card:nth-child(1){--tile: var(--accent)}.stat-card:nth-child(2){--tile: var(--sky)}.stat-card:nth-child(3){--tile: var(--green)}.stat-card:nth-child(4){--tile: var(--amber)}.stat-card:nth-child(5){--tile: var(--purple)}.stat-card:nth-child(6){--tile: var(--sky)}#cal-content{display: block}#cal-content.clear{display: block}.calendar-view,.week-view{background: var(--card);border: 1px solid var(--card-border);border-radius: var(--r-xl);box-shadow: var(--shadow-md);overflow: hidden;margin-bottom: var(--space-5)}.cal-grid,.cal-dow,.week-cols{display: grid;grid-template-columns: repeat(7,minmax(0,1fr))}.cal-dow{background: linear-gradient(180deg,var(--surface-2),var(--gray-soft));border-bottom: 1px solid var(--card-border);position: relative}.cal-dow span{font-size: var(--fs-2xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.9px;color: var(--text-faint);text-align: center;padding: var(--space-3) 0}.cal-cell{position: relative;min-height: clamp(64px,12vw,100px);padding: var(--space-2);display: flex;flex-direction: column;gap: var(--space-1);cursor: pointer;border-right: 1px solid var(--card-border);border-bottom: 1px solid var(--card-border);background: var(--card);transition: background var(--dur-fast) var(--ease)}.cal-cell:nth-child(7n){border-right: none}.cal-grid>.cal-cell:nth-last-child(-n + 7){border-bottom: none}.cal-cell:hover{background: var(--surface-2)}.cal-cell:has(.cal-cross){z-index: 2}.cal-cell:has(.cal-lane){z-index: 1}.cal-cell:hover::before{content: "";position: absolute;inset: 0;border: 2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius: var(--r-xs);pointer-events: none;z-index: 2}.cal-cell.out{background: color-mix(in srgb,var(--gray-soft) 55%,var(--card))}.cal-cell.out .cal-num{color: var(--text-faint);font-weight: 500;opacity: 0.55}.cal-cell.weekend{background: color-mix(in srgb,var(--text-faint) 7%,var(--card))}.cal-cell.weekend .cal-num{color: var(--text);font-weight: 800}.cal-cell.weekend::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 2px;background: color-mix(in srgb,var(--text-faint) 40%,transparent);pointer-events: none}.cal-top{display: flex;align-items: center;gap: var(--space-2)}.cal-num{font-size: var(--fs-sm);font-weight: 700;color: var(--text-soft)}.cal-cell.today{background: radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),var(--card)}.cal-cell.today .cal-num{display: inline-grid;place-items: center;min-width: 24px;height: 24px;line-height: 1;font-size: var(--fs-sm);color: #fff;background: linear-gradient(160deg,color-mix(in srgb,var(--accent) 78%,#ffffff),var(--accent));border-radius: var(--r-md);box-shadow: 0 4px 12px -3px color-mix(in srgb,var(--accent) 75%,transparent)}.cal-events{display: flex;flex-direction: column;gap: var(--space-1);overflow: hidden}@media (max-width: 900px){.cal-evt-l1 b,.cal-evt-l1 .cal-evt-flt{display: none}.cal-evt .cal-route,.cal-lane .cal-route{font-size: var(--fs-2xs)}}.cal-offbar{margin-top: auto;height: 2px;border-radius: var(--r-full);background: color-mix(in srgb,var(--off-ink) 22%,transparent);flex: none}.cal-evt,.cal-lane{--ink: var(--flight-ink,var(--sky));--soft: color-mix(in srgb,var(--ink) 15%,var(--card));display: flex;flex-direction: column;align-items: stretch;gap: var(--space-1);font-size: var(--fs-2xs);font-weight: 700;line-height: 1.35;padding: var(--space-1) var(--space-2);border-radius: var(--r-sm);border-left: 2.5px solid var(--ink);background: linear-gradient(180deg,color-mix(in srgb,#ffffff 6%,transparent),transparent 55%),var(--soft);color: var(--ink);white-space: nowrap;overflow: hidden;min-width: 0;max-width: 100%;cursor: pointer;transition: transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}.cal-starts{display: flex;flex-direction: column;gap: var(--space-1)}.cal-start{display: block;font: var(--fs-2xs)/1.35 var(--mono);color: var(--warning);background: color-mix(in srgb,var(--warning) 8%,var(--card));border: 1px dashed color-mix(in srgb,var(--warning) 38%,transparent);border-radius: var(--r-xs);padding: var(--space-1) var(--space-2)}.cal-start-ar{font-weight: 700;margin-right: var(--space-1)}.cal-start small{display: block;color: var(--text-faint);font-size: var(--fs-3xs)}.cal-evt .chip-txt,.cal-lane .chip-txt{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;min-width: 0}.cal-evt.t-flight{--flight-ink: var(--sky)}.cal-obmark{font-style: normal;color: var(--text-soft);flex: none}.cal-evt-l1,.cal-evt-l2{display: flex;align-items: baseline;gap: var(--space-1);min-width: 0}.cal-evt-l1{min-height: 18px}.cal-evt-l1 b,.cal-evt-l1 .cal-evt-flt{font-family: var(--mono);color: var(--text);flex: none}.cal-evt .cal-route{font-family: var(--mono);font-size: var(--fs-xs);font-weight: 600;color: var(--ink)}.cal-tarr{margin-left: auto;color: var(--text-soft);font-weight: 600;flex: none}.cal-tarr em{font-style: normal;font-size: var(--fs-3xs);color: var(--text-faint);margin-left: var(--space-1)}.cal-xmark{display: none;font-style: normal;color: var(--sky-ink);font-weight: 700}.cal-evt.cal-cross-inline .cal-xmark{display: inline}.cal-evt.cal-cross{max-width: none;--reach: 0.74;width: calc((1 + var(--reach)) * 100% + var(--space-2) * (1 + 2 * var(--reach)))}.cal-lane{visibility: hidden}.cal-evt-time{color: var(--text-soft);font-variant-numeric: var(--tnum);flex: none}.cal-evt:hover{transform: translateX(2px) scale(1.02);filter: saturate(1.15) brightness(1.02);box-shadow: 0 4px 10px -4px rgba(11,25,45,0.4)}.cal-evt .flag{width: 5px;height: 5px;flex: none;border-radius: 50%;box-shadow: 0 0 5px currentColor}.cal-more{font-size: var(--fs-2xs);font-weight: 700;color: var(--text-faint);padding-left: var(--space-2)}.cal-lay{margin-top: auto;position: relative;z-index: 1;display: flex;flex-direction: column;min-width: 0}.cal-laybar{display: block;height: 3px;margin: 0 calc(-1 * var(--space-2));background: color-mix(in srgb,var(--hotel-ink) 42%,transparent)}.cal-laybar.lay-beg{border-radius: var(--r-full) 0 0 var(--r-full)}.cal-laybar.lay-end{border-radius: 0 var(--r-full) var(--r-full) 0}.cal-laybar.lay-beg.lay-end{border-radius: var(--r-full)}.cal-lay-label{display: flex;align-items: baseline;gap: 0.4em;min-width: 0;padding: var(--space-1) var(--space-2) 3px;font-size: var(--fs-meta);color: var(--text-faint);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.cal-cell.lay-day{background: color-mix(in srgb,var(--hotel-ink) 5%,var(--card))}.cal-cell.lay-day.weekend{background: color-mix(in srgb,var(--hotel-ink) 7%,var(--card))}.cal-chip.cal-cont{border-left-style: dashed}.cal-hotel-n{flex: none;color: var(--hotel-ink);font-weight: 600}.cal-hotel-name{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.cal-cell.cal-ground{background: radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--text-faint) 15%,transparent) 1px,transparent 0) 0 0 / 7px 7px,color-mix(in srgb,var(--text-faint) 3.5%,var(--card))}.cal-offcode{display: flex;flex-wrap: wrap;gap: var(--space-1);margin-top: var(--space-1)}.cal-restpill{display: inline-flex;align-items: baseline;max-width: 100%;font-size: var(--fs-3xs);line-height: 1.25;letter-spacing: 0.4px;color: var(--rest-ink,var(--off-ink));background: color-mix(in srgb,var(--rest-ink,var(--off-ink)) 9%,transparent);border: 1px solid color-mix(in srgb,var(--rest-ink,var(--off-ink)) 22%,transparent);border-radius: var(--r-full);padding: 1px var(--space-2)}.cal-restpill>b{font-weight: 800}.rest-ina{--rest-ink: var(--training-ink)}.rest-sick{--rest-ink: var(--danger,var(--off-ink))}.rest-r,.rest-off{--rest-ink: var(--flight-ink)}.cal-foot{margin-top: auto;display: flex;justify-content: space-between;align-items: baseline;gap: var(--space-1);font: var(--fs-3xs)/1.2 var(--mono);color: var(--text-faint)}.cal-foot .cal-foot-when{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.cal-foot .cal-foot-blk{font-weight: 700;flex: none;color: var(--text-soft)}.cal-cell:has(.cal-foot) .cal-lay{margin-top: 0}.cal-thread{position: absolute;left: 0;bottom: 0;height: 3px;z-index: 1}.cal-thread-on{width: 100%;background: linear-gradient(90deg,color-mix(in srgb,var(--flight-ink) 30%,transparent),var(--flight-ink))}.cal-thread-off{width: 50%;border-radius: 0 var(--r-full) var(--r-full) 0;background: linear-gradient(90deg,var(--flight-ink),color-mix(in srgb,var(--flight-ink) 30%,transparent))}.cal-cell:has(.cal-thread) .cal-lay{margin-bottom: var(--space-1)}.wk-head{display: flex;flex-direction: column;align-items: center;gap: var(--space-0);padding: var(--space-3) var(--space-1);background: linear-gradient(180deg,var(--surface-2),var(--gray-soft));border-bottom: 1px solid var(--card-border)}.wk-head .dow{font-size: var(--fs-3xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.7px;color: var(--text-faint)}.wk-head .dnum{font-size: var(--fs-lg);font-weight: 800}.wk-head.weekend{background: linear-gradient(180deg,color-mix(in srgb,var(--text-faint) 10%,var(--surface-2)),var(--gray-soft))}.wk-head.weekend .dow{color: var(--text-soft)}.day-card.weekend{background: color-mix(in srgb,var(--text-faint) 5%,var(--card))}.day-card.weekend .day-rail{border-right-style: dashed}.wk-head.today{background: linear-gradient(180deg,var(--accent-soft),var(--gray-soft))}.wk-head.today .dnum{display: inline-grid;place-items: center;min-width: 28px;height: 28px;color: #fff;background: linear-gradient(160deg,color-mix(in srgb,var(--accent) 78%,#ffffff),var(--accent));border-radius: var(--r-md);box-shadow: 0 4px 12px -3px color-mix(in srgb,var(--accent) 75%,transparent)}.wk-col{min-width: 0;min-height: 128px;padding: var(--space-2);display: flex;flex-direction: column;gap: var(--space-2);border-right: 1px solid var(--card-border);transition: background var(--dur-fast) var(--ease)}.wk-col:last-child{border-right: none}.wk-col:hover{background: var(--surface-2)}.week-cols .cal-evt.wk-evt{flex-direction: column;align-items: stretch;gap: var(--hairline);width: 100%;padding: var(--space-1) var(--space-2);line-height: 1.25}.week-cols .wk-line1{display: flex;align-items: baseline;gap: var(--space-1);min-width: 0;overflow: hidden}.week-cols .wk-flt{font-weight: 800;flex: none}.week-cols .wk-route{font-weight: 700;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;min-width: 0}.week-cols .wk-time{font-size: var(--fs-3xs);font-weight: 600;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.day-view{display: flex;flex-direction: column;gap: var(--space-4);margin-bottom: var(--space-5)}.dv-datehead{position: relative;overflow: hidden;text-align: center;font-size: var(--fs-base);font-weight: 800;letter-spacing: 0.2px;color: var(--text);padding: var(--space-4);background: radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--sky) 14%,transparent),transparent 62%),var(--card);border: 1px solid var(--card-border);border-radius: var(--r-lg);box-shadow: var(--shadow-sm)}.dv-list,.days{display: flex;flex-direction: column;gap: var(--space-4);margin-bottom: var(--space-5)}.day-card{--dc-pad-y: 15px;--dc-pad-x: 16px;--dc-gap: 15px;--dc-radius: var(--r-xl);--dc-rail: 50px;position: relative;display: flex;gap: var(--dc-gap);background: var(--card);border: 1px solid var(--card-border);border-radius: var(--dc-radius);padding: var(--dc-pad-y) var(--dc-pad-x);box-shadow: var(--shadow-sm);overflow: hidden;animation: rise 0.3s var(--ease-out) both;transition: transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}[data-density="compact"] .day-card{--dc-pad-y: 10px;--dc-pad-x: 12px;--dc-gap: 11px;--dc-radius: var(--r-md);--dc-rail: 42px}.day-card::before{content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 4px;background: linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 35%,var(--sky)));opacity: 0.85}.day-card:hover{transform: translateY(-3px);box-shadow: var(--shadow-lg);border-color: var(--card-border-2)}.day-rail{flex: none;min-width: var(--dc-rail,50px);display: flex;flex-direction: column;align-items: center;gap: var(--space-0);padding-right: var(--space-4);border-right: 1px solid var(--card-border);position: relative}.day-num{font-size: var(--fs-2xl);font-weight: 800;line-height: 1;letter-spacing: -0.03em}.day-dow{font-size: var(--fs-2xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.8px;color: var(--text-faint)}[data-density="compact"] .day-num{font-size: var(--fs-xl)}[data-density="compact"] .day-rail{padding-right: var(--space-3)}[data-density="compact"] .duty{margin-bottom: var(--space-2);gap: var(--space-3)}[data-density="compact"] .duty-badge{padding: var(--space-1) var(--space-3);font-size: var(--fs-3xs)}[data-density="compact"] .flight-num{font-size: var(--fs-md)}[data-density="compact"] .meta-val{font-size: var(--fs-sm)}[data-density="compact"] .days,[data-density="compact"] .dv-list{gap: var(--space-3)}[data-density="compact"] .duty-meta{gap: var(--space-2) var(--space-5)}.day-body{flex: 1;min-width: 0}.duty{display: flex;align-items: center;gap: var(--space-3);margin-bottom: var(--space-3);flex-wrap: wrap}.duty-badge{font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.8px;text-transform: uppercase;padding: var(--space-2) var(--space-3);border-radius: var(--r-sm);border: 1px solid transparent;white-space: nowrap}.status-flag{font-size: var(--fs-3xs);font-weight: 800;letter-spacing: 0.5px;text-transform: uppercase;padding: var(--space-1) var(--space-3);border-radius: var(--r-sm)}.flag-new{background: var(--green-soft);color: var(--green-ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--green) 30%,transparent)}.flag-changed{background: var(--amber-soft);color: var(--amber-ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--amber) 34%,transparent)}.flag-deadhead{background: var(--sky-soft);color: var(--sky-ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--sky) 34%,transparent)}.flag-delay{background: var(--amber-soft);color: var(--amber-ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--amber) 34%,transparent);font-variant-numeric: var(--tnum)}.flag-delay.late-major{background: var(--danger-soft);color: var(--danger);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--danger) 38%,transparent)}.op-flt{display: inline-block;font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.4px;padding: var(--space-1) var(--space-3);border-radius: var(--r-sm);color: var(--text-soft);background: var(--gray-soft);box-shadow: inset 0 0 0 1px var(--card-border-2);white-space: nowrap}.detail-hero .op-flt{font-size: var(--fs-sm);padding: var(--space-2) var(--space-3)}.duty-flag{font-size: var(--fs-3xs);font-weight: 800;letter-spacing: 0.5px;text-transform: uppercase;padding: var(--space-1) var(--space-3);border-radius: var(--r-sm);white-space: nowrap}.badge-flight{background: var(--flight-soft);color: var(--flight-ink);box-shadow: inset 0 0 0 1px var(--flight-line)}.badge-hotel{background: var(--hotel-soft);color: var(--hotel-ink);box-shadow: inset 0 0 0 1px var(--hotel-line)}.badge-off{background: var(--off-soft);color: var(--off-ink);box-shadow: inset 0 0 0 1px var(--off-line)}.badge-standby{background: var(--standby-soft);color: var(--standby-ink);box-shadow: inset 0 0 0 1px var(--standby-line)}.badge-training{background: var(--training-soft);color: var(--training-ink);box-shadow: inset 0 0 0 1px var(--training-line)}.badge-reserve{background: var(--reserve-soft);color: var(--reserve-ink);box-shadow: inset 0 0 0 1px var(--reserve-line)}.badge-other{background: var(--off-soft);color: var(--off-ink);box-shadow: inset 0 0 0 1px var(--off-line)}.badge-deadhead{background: var(--off-soft);color: var(--off-ink);border: 1px dashed var(--text-faint);box-shadow: none}.duty-meta{display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-6)}.meta-item{display: flex;gap: var(--space-3);align-items: baseline}.meta-key{font-size: var(--fs-2xs);font-weight: 700;text-transform: uppercase;letter-spacing: 0.7px;color: var(--text-faint)}.meta-val{font-size: var(--fs-base);font-weight: 600;color: var(--text-soft)}.day-actions{display: flex;gap: var(--space-2);align-self: center}.day-actions .mini:not(.btn){width: 33px;height: 33px}.day-actions .mini{display: grid;place-items: center;border-radius: var(--r-md);cursor: pointer;color: var(--text-soft);background: var(--surface-2);border: 1px solid var(--card-border);transition: transform var(--dur-fast) var(--ease-spring),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.day-actions .mini:hover{transform: scale(1.09);color: var(--accent-ink);background: var(--card);border-color: color-mix(in srgb,var(--accent) 40%,transparent);box-shadow: var(--shadow-sm)}.day-actions .mini.danger:hover{color: var(--accent-ink);border-color: color-mix(in srgb,var(--accent) 55%,transparent);background: var(--accent-soft)}.day-actions .mini svg{width: 16px;height: 16px}.wiped-banner{display: flex;align-items: center;gap: var(--space-4);flex-wrap: wrap;padding: var(--space-4) var(--space-5);margin-bottom: var(--space-4);border-radius: var(--r-lg);background: radial-gradient(120% 160% at 100% 0%,color-mix(in srgb,var(--danger) 10%,transparent),transparent 62%),var(--card);border: 1px solid color-mix(in srgb,var(--danger) 34%,transparent);box-shadow: var(--shadow-sm);animation: rise 0.3s var(--ease-out) both}.wiped-text{flex: 1 1 260px;min-width: 0;display: flex;flex-direction: column;gap: var(--space-1)}.wiped-text b{font-size: var(--fs-base);color: var(--danger)}.wiped-text span{font-size: var(--fs-base);color: var(--text-soft);line-height: 1.5}.wiped-restore{flex: none}[data-density="compact"] .wiped-banner{padding: var(--space-4) var(--space-4);margin-bottom: var(--space-3)}@media (max-width: 620px){.wiped-banner{padding: var(--space-4) var(--space-4)}.wiped-restore{flex: 1 1 auto}}.dash-live-banner{--live-color: var(--sky);--live-soft: var(--sky-soft);position: relative;overflow: hidden;background: radial-gradient(120% 130% at 100% 0%,color-mix(in srgb,var(--live-color) 12%,transparent),transparent 60%),var(--card);border: 1px solid var(--card-border);border-radius: var(--r-xl);padding: var(--space-5) var(--space-6) var(--space-5) var(--space-6);box-shadow: var(--shadow-md);margin-bottom: var(--space-4);cursor: pointer;animation: rise 0.3s var(--ease-out) both;transition: transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.dash-live-banner::before{content: "";position: absolute;top: 0;left: 0;bottom: 0;width: 5px;background: linear-gradient(180deg,var(--live-color),color-mix(in srgb,var(--live-color) 30%,transparent));box-shadow: 0 0 18px -2px var(--live-color)}.dash-live-banner:hover{transform: translateY(-3px);box-shadow: var(--shadow-lg);border-color: color-mix(in srgb,var(--live-color) 40%,transparent)}.live-header{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);margin-bottom: var(--space-3);flex-wrap: wrap}.live-badge{display: inline-flex;align-items: center;gap: var(--space-3);font-size: var(--fs-2xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.8px;padding: var(--space-2) var(--space-4);border-radius: var(--r-xl);background: var(--live-soft);color: var(--live-color);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--live-color) 26%,transparent)}.live-pulse-dot{width: 8px;height: 8px;border-radius: 50%;background: currentColor;animation: livePulse 1.9s var(--ease) infinite}.live-title{font-size: var(--fs-xl);font-weight: 800;letter-spacing: 0.1px;line-height: 1.25}.live-sub{margin-top: var(--space-2);font-size: var(--fs-base);color: var(--text-soft)}.live-bar-wrap{margin-top: var(--space-4);display: flex;flex-direction: column;gap: var(--space-2)}.live-bar-track{height: 9px;border-radius: var(--r-xl);background: var(--gray-soft);overflow: hidden;box-shadow: inset 0 1px 2px rgba(11,25,45,0.12)}.live-bar-fill{display: block;height: 100%;border-radius: var(--r-xl);overflow: hidden;background: linear-gradient(90deg,var(--sky),var(--live-color),var(--accent));box-shadow: 0 0 14px -2px var(--live-color);transition: width 0.5s var(--ease-out)}.live-bar-fill rect{fill: var(--live-color,var(--flight))}.live-bar-labels{display: flex;justify-content: space-between;font-size: var(--fs-2xs);font-weight: 700;letter-spacing: 0.5px;color: var(--text-faint)}.rest-day-card{display: flex;align-items: center;gap: var(--space-4);padding: var(--space-4) var(--space-5);border-radius: var(--r-lg);background: radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--green) 14%,transparent),transparent 65%),var(--green-soft);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--green) 24%,transparent)}.rest-icon{font-size: var(--fs-3xl);line-height: 1;flex: none;filter: drop-shadow(0 3px 6px rgba(15,157,88,0.35))}.rest-text{min-width: 0}.rest-title{font-size: var(--fs-md);font-weight: 800;color: var(--green)}.rest-sub{font-size: var(--fs-sm);color: var(--text-soft);margin-top: var(--space-1)}.dash-grid{display: grid;grid-template-columns: repeat(12,minmax(0,1fr));gap: var(--gap);margin-bottom: var(--gap)}.dash-grid>.dash-card:nth-child(1){grid-column: span 12}.dash-grid>.dash-card:nth-child(2){grid-column: span 8}.dash-card,.chart-card{position: relative;background: var(--grad-sheen),var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);padding: var(--pad);box-shadow: var(--shadow-md);margin-bottom: 0;overflow: hidden;transition: border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.dash-card::before,.chart-card::before{display: none}.dash-card:hover,.chart-card:hover{border-color: var(--card-border-2);box-shadow: var(--shadow-lg)}.dash-title{display: flex;align-items: center;gap: var(--space-3);font-size: var(--fs-sm);font-weight: 650;letter-spacing: -0.01em;text-transform: none;color: var(--text-soft);margin-bottom: var(--space-4)}.dash-title .dicon{width: 30px;height: 30px;flex: none;display: grid;place-items: center;border-radius: var(--r-sm);background: color-mix(in srgb,var(--accent) 18%,transparent);color: var(--sky-ink);box-shadow: none}.dash-title .dicon svg{width: 16px;height: 16px}.dash-body{min-height: 54px}.dash-empty{display: flex;align-items: center;justify-content: center;min-height: 54px;padding: var(--space-4) var(--space-2);text-align: center;font-size: var(--fs-base);line-height: 1.5;color: var(--text-faint)}.dash-duty{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-3);margin: 0 calc(-1 * var(--space-3));border-radius: var(--r-sm);cursor: pointer;border-bottom: 1px solid color-mix(in srgb,var(--card-border) 70%,transparent);transition: background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.dash-duty:last-child{border-bottom: none}.dash-duty:hover{background: var(--surface-2);transform: translateX(3px)}.dash-big{font-size: var(--fs-3xl);font-weight: 800;letter-spacing: -0.03em;line-height: 1.15;background: linear-gradient(160deg,var(--text) 25%,color-mix(in srgb,var(--accent) 70%,var(--text)));-webkit-background-clip: text;background-clip: text;color: transparent}.dash-week,.dash-changes{display: flex;flex-direction: column}.week-mini{display: flex;align-items: center;gap: var(--space-4);padding: var(--space-3) var(--space-3);margin: 0 calc(-1 * var(--space-3));border-radius: var(--r-sm);cursor: pointer;border-bottom: 1px solid color-mix(in srgb,var(--card-border) 70%,transparent);transition: background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.week-mini:last-child{border-bottom: none}.week-mini:hover{background: var(--surface-2);transform: translateX(3px)}.week-mini.weekend{border-bottom-style: dashed}.week-mini.weekend .wm-day{background: color-mix(in srgb,var(--text-faint) 9%,var(--surface-2));border-color: var(--card-border-2)}.week-mini.weekend .wm-dow{color: var(--text-soft)}.wm-day{flex: none;width: 46px;text-align: center;padding: var(--space-2) 0;border-radius: var(--r-xs);background: var(--surface-2);border: 1px solid var(--card-border)}.wm-dow{font-size: var(--fs-3xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-faint)}.wm-num{font-size: var(--fs-lg);font-weight: 800}.wm-span{flex: 1;min-width: 0;font-size: var(--fs-base);color: var(--text-soft);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.wm-span b{color: var(--text);font-weight: 700}.chg-item{display: flex;align-items: center;gap: var(--space-3);font-size: var(--fs-base);padding: var(--space-3);margin: 0 calc(-1 * var(--space-3));border-radius: var(--r-sm);color: var(--text-soft);cursor: pointer;border-bottom: 1px solid color-mix(in srgb,var(--card-border) 70%,transparent);transition: background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.chg-item:last-child{border-bottom: none}.chg-item:hover{background: var(--surface-2);transform: translateX(3px)}.chg-item .date{color: var(--text-faint);min-width: 78px;font-weight: 600}.trip-list{display: flex;flex-direction: column;gap: var(--space-4)}.stats-year-row{display: flex;align-items: center;gap: var(--space-4);margin-bottom: var(--space-4);font-size: var(--fs-sm);font-weight: 800;text-transform: uppercase;letter-spacing: 0.8px;color: var(--text-faint)}.stats-year-row input{width: 96px;font-size: var(--fs-md);font-weight: 800;letter-spacing: 0;text-transform: none;color: var(--text);background: var(--card);border: 1px solid var(--card-border);border-radius: var(--r-sm);padding: var(--space-3) var(--space-4);box-shadow: var(--shadow-sm);transition: border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.stats-year-row input:focus{outline: none;border-color: var(--sky);box-shadow: var(--ring-soft)}.stats-year-row input:focus-visible{outline: 2px solid var(--accent-ink);outline-offset: 2px}.stats-year-row .spacer{flex: 1}.stats-year-row{flex-wrap: wrap;row-gap: var(--space-2)}.stats-year-row>.status-pill{min-width: 0}.chart{display: flex;align-items: flex-end;gap: var(--space-2);min-height: 165px;padding-top: var(--space-3)}.bar-wrap{flex: 1;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: flex-end;gap: var(--space-2);min-width: 0}.bar-val{font-size: var(--fs-2xs);font-weight: 800;color: var(--text-faint);white-space: nowrap;max-width: 100%;overflow: hidden;text-overflow: ellipsis}.bar{width: 100%;max-width: 28px;min-height: 3px;border-radius: var(--r-md) var(--r-md) var(--r-xs) var(--r-xs);background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 55%,var(--sky)),var(--accent) 85%,color-mix(in srgb,var(--accent) 70%,#000000));box-shadow: 0 -2px 12px -4px color-mix(in srgb,var(--accent) 70%,transparent);transform-origin: bottom;animation: growBar 0.6s var(--ease-out) both;transition: filter var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.bar:hover{filter: brightness(1.12) saturate(1.1);transform: scaleX(1.12)}.bar-wrap:has(.bar-val:empty) .bar{background: var(--gray-soft);box-shadow: none;opacity: 0.7}.mix-list{display: flex;flex-direction: column;gap: var(--space-3)}.mix-row{display: flex;align-items: center;gap: var(--space-4);font-size: var(--fs-sm);color: var(--text-soft)}.mix-row .dot{width: 11px;height: 11px;flex: none;border-radius: var(--r-xs);box-shadow: 0 0 0 2px color-mix(in srgb,currentColor 15%,transparent)}.mix-row .nm{flex: 1;min-width: 0;font-weight: 700;color: var(--text)}.mix-row .ct{font-weight: 800;color: var(--text)}.mix-bar{flex: 1.1;height: 8px;min-width: 40px;background: var(--gray-soft);border-radius: var(--r-xl);overflow: hidden;box-shadow: inset 0 1px 2px rgba(11,25,45,0.08)}.mix-bar .bar-fill{display: block;height: 100%;border-radius: var(--r-xl);overflow: hidden}.mix-bar .bar-fill rect{fill: var(--off-ink);animation: growBarX 0.7s var(--ease-out) both;transform-box: fill-box;transform-origin: left center}.mix-bar .bar-fill rect.sfill-flight{fill: var(--flight)}.mix-bar .bar-fill rect.sfill-hotel{fill: var(--hotel)}.mix-bar .bar-fill rect.sfill-standby{fill: var(--standby)}.mix-bar .bar-fill rect.sfill-training{fill: var(--training)}.mix-bar .bar-fill rect.sfill-reserve{fill: var(--reserve)}.months-table{display: flex;flex-direction: column}.mtr{display: grid;grid-template-columns: 1fr auto auto auto;gap: var(--space-3);align-items: center;padding: var(--space-3) var(--space-3);margin: 0 calc(-1 * var(--space-3));border-radius: var(--r-xs);border-bottom: 1px solid color-mix(in srgb,var(--card-border) 70%,transparent);font-size: var(--fs-base);cursor: pointer;transition: background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.mtr:last-child{border-bottom: none}.mtr:hover{background: var(--surface-2);transform: translateX(3px)}.mtr .mo{font-weight: 800;letter-spacing: 0.2px}.mtr .va{color: var(--text-soft);text-align: right}.mtr-bar{display: block;height: 3px;border-radius: var(--r-full);background: color-mix(in srgb,var(--text-faint) 18%,transparent);overflow: hidden;grid-column: 1 / -1}.mtr-bar .bar-fill{display: block;height: 100%}.mtr-bar .bar-fill rect{fill: var(--flight);fill: url(#mtr-bar-grad)}.mix-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: var(--space-4);align-items: start}.mix-stack{display: grid;gap: var(--space-4);align-content: start;min-width: 0}.stats-portal,.stats-expiries,.stats-heatmap{margin-top: var(--space-4)}.year-heatmap{display: flex;flex-direction: column;gap: var(--space-1);margin-top: var(--space-2);overflow-x: auto}.heat-row{display: grid;grid-template-columns: 2rem repeat(31,1fr);gap: var(--space-1);align-items: center}.heat-head{color: var(--text-faint)}.heat-month{font-size: var(--fs-meta);font-weight: 700;color: var(--text-faint)}.heat-day-n{font-size: 9px;color: var(--text-faint);text-align: center}.heat-cell{min-width: 14px;min-height: 14px;border-radius: 3px;border: 1px solid var(--card-border);background: transparent;padding: 0;cursor: pointer}.heat-cell.is-flight{background: #60a5fa;border-color: #60a5fa}.heat-cell.is-hotel{background: #34d399;border-color: #34d399}.heat-cell.is-standby{background: #fbbf24;border-color: #fbbf24}.heat-cell.is-training{background: #a78bfa;border-color: #a78bfa}.heat-cell.is-off{background: rgba(63,63,70,0.34);border-color: rgba(63,63,70,0.34)}.heat-cell.is-empty{background: transparent}.heat-legend{display: flex;align-items: center;gap: var(--space-2);margin-top: var(--space-2);font-size: var(--fs-meta);color: var(--text-faint)}.heat-legend .heat-cell{cursor: default}.mtr-note{padding: var(--space-2) 0 var(--space-1);font-size: var(--fs-xs);color: var(--text-faint);text-align: center}.stats-more{margin-top: var(--space-5)}.stats-more>.chart-card + .chart-card{margin-top: var(--space-4)}.stats-more-summary{display: none}@media (max-width: 700px){.stats-more-summary{display: flex;align-items: center;justify-content: space-between;gap: var(--space-3);min-height: 48px;padding: 0 var(--space-4);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);font-size: var(--fs-base);font-weight: 600;color: var(--text);list-style: none;cursor: pointer}.stats-more-summary::-webkit-details-marker{display: none}.stats-more-summary svg{width: 18px;height: 18px;flex: none;color: var(--text-faint);transition: transform var(--dur) var(--ease)}.stats-more[open] .stats-more-summary{margin-bottom: var(--space-3)}.stats-more[open] .stats-more-summary svg{transform: rotate(180deg)}}.map-card svg{width: 100%;height: auto;display: block;border-radius: var(--r-lg);background: linear-gradient(170deg,#dcebf9,#c9ddf2);box-shadow: inset 0 0 30px rgba(13,30,60,0.12),var(--shadow-sm)}[data-theme="dark"] .map-card svg{background: linear-gradient(170deg,#071022,#04080f);box-shadow: inset 0 0 40px rgba(0,0,0,0.6)}.map-ocean{fill: transparent;transition: fill 0.35s ease}[data-theme="dark"] .map-ocean{fill: transparent}.map-land{fill: #ffffff;stroke: rgba(13,30,60,0.18);stroke-width: 0.75;stroke-linejoin: round;transition: fill 0.35s ease,stroke 0.35s ease}[data-theme="dark"] .map-land{fill: #17253f;stroke: rgba(255,255,255,0.14)}.map-grid{stroke: rgba(13,30,60,0.09);stroke-width: 0.75;stroke-dasharray: 3 4}[data-theme="dark"] .map-grid{stroke: rgba(255,255,255,0.07)}.map-route{fill: none;stroke: var(--accent);stroke-opacity: 0.5;stroke-linecap: round;cursor: pointer;transition: stroke-opacity 0.18s ease,stroke-width 0.18s ease,filter 0.18s ease}.map-route:hover,.map-route.highlighted{stroke-opacity: 1;filter: drop-shadow(0 0 5px var(--accent))}.map-dot{fill: var(--sky);stroke: var(--card);stroke-width: 1.5;cursor: pointer;transition: r 0.18s var(--ease-spring),stroke-width 0.18s ease,fill 0.18s ease,filter 0.18s ease}.map-dot:hover,.map-dot.highlighted{r: 6.5px;stroke-width: 2.5px;fill: var(--accent);filter: drop-shadow(0 0 6px var(--accent))}.map-dot.base-hub{fill: var(--accent)}.map-hub-ring{fill: none;stroke: var(--accent);stroke-width: 1.8;pointer-events: none;animation: hubPulse 2.8s cubic-bezier(0.2,0.8,0.2,1) infinite}.map-label{font-size: var(--fs-xs);font-weight: 700;fill: var(--text-soft);paint-order: stroke;stroke: var(--card);stroke-width: 3.5px;pointer-events: none;user-select: none}#route-map .map-label.highlighted{fill: var(--accent-ink);font-weight: 800}.map-tooltip{position: absolute;top: 18px;left: 18px;z-index: 10;max-width: 300px;padding: var(--space-2) var(--space-3);font-size: var(--fs-meta);line-height: 1.4;color: var(--text);background: var(--card);border: 1px solid var(--card-border-2);border-radius: var(--r-sm);box-shadow: var(--shadow-lg);pointer-events: none}.map-tooltip.hidden{display: none}.map-tooltip .mt-code{font-size: var(--fs-md);font-weight: 800}.map-tooltip .mt-city{font-weight: 600;color: var(--text-soft)}.map-tooltip .mt-stat{margin-top: var(--space-2);font-size: var(--fs-xs);color: var(--text-faint)}.map-hint{margin-top: var(--space-4);text-align: center;letter-spacing: 0.1px}.map-chips{display: flex;flex-wrap: wrap;gap: var(--space-3);margin-top: var(--space-4);padding-top: var(--space-4);border-top: 1px dashed var(--card-border-2)}.map-chip{font-size: var(--fs-xs);font-weight: 700;padding: var(--space-2) var(--space-4);border-radius: var(--r-xl);background: var(--surface-2);border: 1px solid var(--card-border);color: var(--text-soft);cursor: pointer;transition: all var(--dur) var(--ease)}.map-chip:hover{background: var(--sky-soft);color: var(--sky);border-color: color-mix(in srgb,var(--sky) 45%,transparent);transform: translateY(-2px);box-shadow: var(--shadow-sm)}.map-chip.active{color: #fff;background: linear-gradient(180deg,var(--bg-grad-2),var(--bg-grad-1));border-color: transparent;box-shadow: 0 6px 16px -6px rgba(7,20,38,0.8)}[data-theme="dark"] .map-chip.active{background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 90%,#ffffff),color-mix(in srgb,var(--accent) 78%,#000000))}.modal-root{position: fixed;inset: 0;z-index: 100;display: flex;align-items: center;justify-content: center;padding: var(--space-6);background: rgba(4,7,11,0.66);animation: fadeIn 0.18s ease both}@keyframes fadeIn{from{opacity: 0}}#duty-modal{z-index: 118;align-items: stretch;justify-content: flex-end;padding: 0;background: none;-webkit-backdrop-filter: none;backdrop-filter: none;animation: none;pointer-events: none}#duty-modal .modal{pointer-events: auto;width: min(440px,100%);max-width: none;max-height: none;height: 100%;border-radius: 0;border-right: 0;border-top: 0;border-bottom: 0;background: var(--glass);animation: drawer-in var(--dur) var(--ease-out) both;padding-bottom: var(--space-7)}#duty-modal .modal::before{display: none}@keyframes drawer-in{from{transform: translateX(24px);opacity: 0}to{transform: translateX(0);opacity: 1}}@media (max-width: 620px){#duty-modal{align-items: flex-end}#duty-modal .modal{width: 100%;height: auto;max-height: 88dvh;border-radius: var(--r-xl) var(--r-xl) 0 0;border-left: 1px solid var(--card-border-2);border-top: 1px solid var(--card-border-2);border-right: 0;padding-bottom: var(--space-6);animation: sheet-up var(--dur) var(--ease-out) both}@keyframes sheet-up{from{transform: translateY(28px);opacity: 0}to{transform: translateY(0);opacity: 1}}}.day-sheet-foot{flex: none;padding: var(--space-4) var(--space-4) var(--space-5);border-top: 1px solid var(--card-border);background: color-mix(in srgb,var(--surface-2) 60%,transparent)}.day-sheet-foot .day-actions{margin-bottom: 0}.rot-edit{flex: none;margin-left: auto;align-self: center}.modal{position: relative;width: 100%;max-width: 500px;max-height: 88dvh;overflow-y: auto;background: var(--card);border: 1px solid var(--card-border-2);border-radius: var(--r-xl);box-shadow: var(--shadow-xl);animation: pop 0.26s var(--ease-spring) both}.modal::before{content: "";position: absolute;top: 0;left: 0;right: 0;height: 3px;border-radius: var(--r-xl) var(--r-xl) 0 0;background: linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,transparent),color-mix(in srgb,var(--sky) 70%,transparent));pointer-events: none}@keyframes pop{from{opacity: 0;transform: translateY(14px) scale(0.965)}to{opacity: 1;transform: none}}.modal-head{position: sticky;top: 0;z-index: 2;display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);padding: var(--space-5) var(--space-6);background: color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter: blur(10px);backdrop-filter: blur(10px);border-bottom: 1px solid var(--card-border)}.modal-head h2,.modal-head h3{font-size: var(--fs-lg);letter-spacing: -0.01em;background: linear-gradient(160deg,var(--text),color-mix(in srgb,var(--text) 55%,var(--sky)));-webkit-background-clip: text;background-clip: text;color: transparent}.modal-x{flex: none;width: 32px;height: 32px;display: grid;place-items: center;background: transparent;border: 1px solid transparent;color: var(--text-faint);font-size: var(--fs-2xl);line-height: 1;cursor: pointer;border-radius: var(--r-xs);transition: color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform 0.28s var(--ease)}.modal-x:hover{color: var(--danger);background: var(--danger-soft);transform: rotate(90deg)}#duty-form,.settings-body,.io-body{display: flex;flex-direction: column;gap: var(--space-4);padding: var(--space-5) var(--space-6) var(--space-6)}.io-body{gap: var(--space-6)}.field{display: flex;flex-direction: column;gap: var(--space-2);flex: 1;min-width: 0}.field-row{display: flex;gap: var(--space-4)}.field-row .field{min-width: 0}.field label{font-size: var(--fs-2xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.8px;color: var(--text-faint)}.field input[type="date"],.field input[type="month"],.field input[type="time"],.field input[type="datetime-local"],.field input[type="text"],.field input[type="password"],.field input[type="search"],.field input[type="email"],.field input[type="number"],.field input[type="tel"],.field select,.io-body textarea,.search-body input,#search-input{font-size: var(--fs-base);color: var(--text);background: var(--input);border: 1px solid var(--card-border);border-radius: var(--r-sm);padding: var(--space-3) var(--space-4);width: 100%;transition: border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.field input:hover,.field select:hover,.io-body textarea:hover{border-color: var(--card-border-2)}.field input:focus,.field select:focus,.io-body textarea:focus,#search-input:focus{outline: none;background: var(--card);border-color: color-mix(in srgb,var(--accent) 55%,transparent);box-shadow: var(--ring)}.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus,#gate-user:-webkit-autofill,#gate-pass:-webkit-autofill{-webkit-text-fill-color: var(--text);-webkit-box-shadow: 0 0 0 1000px var(--input) inset;box-shadow: 0 0 0 1000px var(--input) inset;caret-color: var(--text);transition: background-color 9999s ease-in-out 0s}.field input:focus-visible,.field select:focus-visible,.io-body textarea:focus-visible,#search-input:focus-visible{outline: 2px solid var(--accent-ink);outline-offset: 2px}.field select{appearance: none;padding-right: var(--space-8);background-image: linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position: calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size: 5px 5px,5px 5px;background-repeat: no-repeat;cursor: pointer}[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .io-body textarea,[data-theme="dark"] #search-input{color-scheme: dark}.modal-actions{display: flex;align-items: center;gap: var(--space-3);margin-top: var(--space-2);padding-top: var(--space-4);border-top: 1px solid var(--card-border)}.modal-actions .spacer{flex: 1}.ghost-delete{margin-right: auto}.set-block{display: flex;flex-direction: column;gap: var(--space-4)}.set-label{font-size: var(--fs-xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.8px;color: var(--text-soft)}.set-block.row-toggle{flex-direction: row;align-items: center;justify-content: space-between;gap: var(--space-5)}.set-block .hint{font-size: var(--fs-xs);color: var(--text-faint)}.share-actions{display: flex;gap: var(--space-2)}#share-url{width: 100%;max-width: none;font-size: var(--fs-sm)}.set-block.danger-zone{margin-top: var(--space-2);padding-top: var(--space-4);border-top: 1px dashed color-mix(in srgb,var(--danger) 40%,transparent)}.set-block.danger-zone .set-label{color: var(--danger);letter-spacing: 0.2px;margin-bottom: var(--space-3)}.danger-modal{border-top: 3px solid var(--danger)}.purge-lede{font-size: var(--fs-base);color: var(--text-soft);line-height: 1.55}.purge-list{margin: var(--space-4) 0;padding-left: var(--space-6);font-size: var(--fs-base);color: var(--text-soft);line-height: 1.6}.purge-list li{margin-bottom: var(--space-1)}.purge-list li::marker{color: var(--danger)}.purge-keep{font-size: var(--fs-sm);color: var(--text-faint);padding: var(--space-3) var(--space-4);border-radius: var(--r-sm);background: var(--green-soft);color: var(--green-ink)}.purge-check{display: block;margin-top: var(--space-4)}.purge-check input[type="text"]{width: 100%;font-family: var(--mono);font-size: var(--fs-base);color: var(--text);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm);padding: var(--space-3) var(--space-4);letter-spacing: 1.5px;text-transform: uppercase;transition: border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.purge-check input[type="text"]:focus{border-color: var(--danger);box-shadow: 0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent);outline: none}.purge-check input[type="text"]:focus-visible{outline: 2px solid var(--accent-ink);outline-offset: 2px}.purge-check input::placeholder{letter-spacing: 0.4px;text-transform: none}#purge-go:disabled{opacity: 0.45;cursor: not-allowed;transform: none}.swatches{display: flex;gap: var(--space-4);flex-wrap: wrap}.swatch{width: 40px;height: 40px;border-radius: 50%;border: 3px solid var(--card);cursor: pointer;box-shadow: var(--shadow-sm);position: relative;transition: transform 0.16s var(--ease-spring),box-shadow 0.16s ease}.swatch::after{content: "";position: absolute;inset: -6px;border-radius: 50%;border: 2px solid transparent;transition: border-color 0.16s ease}.swatch:hover{transform: scale(1.14);box-shadow: var(--shadow-md)}.swatch[aria-pressed="true"]{box-shadow: var(--shadow-md)}.swatch[aria-pressed="true"]::after{border-color: currentColor}.switch{position: relative;display: inline-block;width: 50px;height: 28px;flex: none}.switch input{opacity: 0;width: 0;height: 0}.switch .slider{position: absolute;inset: 0;background: var(--gray-soft);border: 1px solid var(--card-border-2);border-radius: var(--r-xl);transition: 0.24s var(--ease);cursor: pointer}.switch .slider::before{content: "";position: absolute;width: 21px;height: 21px;left: var(--space-2);top: var(--space-1);background: #fff;border-radius: 50%;box-shadow: var(--shadow-sm);transition: transform 0.24s var(--ease-spring)}.switch input:checked + .slider{background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 78%,#ffffff),var(--accent));border-color: transparent}.switch input:checked + .slider::before{transform: translateX(21px)}.io-block{display: flex;flex-direction: column;gap: var(--space-4)}.io-title{font-size: var(--fs-xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.8px;color: var(--text-faint)}.io-actions{display: flex;gap: var(--space-3);flex-wrap: wrap;align-items: center}.io-actions label.btn{cursor: pointer}.io-hint{font-size: var(--fs-sm);line-height: 1.55;color: var(--text-faint)}.io-error{display: grid;gap: var(--space-1);margin-top: var(--space-3);padding: var(--space-3);border-left: 2px solid var(--danger);border-radius: 0 var(--r-sm) var(--r-sm) 0;background: var(--danger-soft);font-size: var(--fs-sm);line-height: 1.5;color: var(--text)}.io-error b{font-weight: 700}.io-error .io-error-where{font-family: var(--mono);font-variant-numeric: var(--tnum);color: var(--danger)}.io-hint code{background: var(--gray-soft);border: 1px solid var(--card-border);padding: var(--space-0) var(--space-2);border-radius: var(--r-sm);font-size: var(--fs-xs)}.io-body textarea{font-family: var(--mono);font-size: var(--fs-sm);line-height: 1.55;resize: vertical}.login-msg{min-height: 1.2em;font-size: var(--fs-base);color: var(--text-faint);margin: var(--space-2) 0 0;font-weight: 600}.login-msg.err{color: var(--error)}.login-msg.ok{color: var(--green)}.gate-offline{width: 100%;justify-content: center;margin-top: var(--space-4);height: auto;min-height: 58px;padding: 6px var(--space-4);white-space: normal;overflow-wrap: anywhere;line-height: 1.35;text-align: center}.gate-offline-hint{margin: var(--space-2) 0 0;font-size: var(--fs-2xs);line-height: 1.45;text-align: center;color: var(--text-faint)}.gate{position: fixed;inset: 0;z-index: 200;display: flex;align-items: center;justify-content: center;transition: opacity 260ms ease;padding: var(--space-7);background: radial-gradient(900px 520px at 18% -8%,color-mix(in srgb,var(--sky) 13%,transparent),transparent 62%),radial-gradient(760px 480px at 92% 108%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 60%),var(--bg);overflow-y: auto}.gate::before{content: "";position: absolute;inset: 0;background-image: repeating-linear-gradient(0deg,rgba(255,255,255,0.022) 0,rgba(255,255,255,0.022) 1px,transparent 1px,transparent 64px),repeating-linear-gradient(90deg,rgba(255,255,255,0.022) 0,rgba(255,255,255,0.022) 1px,transparent 1px,transparent 64px);pointer-events: none}.gate-card{position: relative;width: min(430px,100%);background: var(--surface);border: 1px solid var(--glass-brd);border-radius: var(--r-lg);padding: var(--space-8) var(--space-8) var(--space-6)}.gate-brand{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-2);margin-bottom: var(--space-6)}.gate.is-out{opacity: 0;pointer-events: none}.gate-lockup{height: 44px;width: auto;max-width: 100%;object-fit: contain;display: block}.gate-lockup-dark{display: none}[data-theme="dark"] .gate-lockup-light{display: none}[data-theme="dark"] .gate-lockup-dark{display: block;height: 56px}.gate-brand h1,.gate-brand h2{margin: 0;font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.2px}.gate-brand p{margin: 0;font-size: var(--fs-sm);color: var(--text-faint)}.gate #gate-form{display: flex;flex-direction: column;gap: var(--space-4)}.gate .field input{width: 100%}.gate-submit{width: 100%;justify-content: center;padding: var(--space-4);font-size: var(--fs-base)}.gate-steps{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: var(--space-3)}.gate-steps[hidden]{display: none}.gate-step{display: flex;align-items: center;gap: var(--space-3);font-size: var(--fs-sm);color: var(--text-faint);transition: color var(--dur) var(--ease)}.gate-step-dot{position: relative;width: 20px;height: 20px;flex: none;display: grid;place-items: center;border-radius: 50%;border: 2px solid var(--card-border-2);color: transparent;transition: border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.gate-step-dot svg{width: 11px;height: 11px;transform: scale(0.4);opacity: 0;transition: transform var(--dur) var(--ease-spring),opacity var(--dur-fast) var(--ease)}.gate-step-label{min-width: 0;line-height: 1.35;text-wrap: balance;overflow-wrap: anywhere}.gate-step.is-active{color: var(--text);font-weight: 600}.gate-step.is-active .gate-step-dot{border-color: var(--sky);background: color-mix(in srgb,var(--sky) 16%,transparent);box-shadow: 0 0 0 4px color-mix(in srgb,var(--sky) 14%,transparent);animation: step-pulse 1.9s var(--ease) infinite}.gate-step.is-done{color: var(--text-soft)}.gate-step.is-done .gate-step-dot{border-color: var(--green);background: color-mix(in srgb,var(--green) 20%,transparent);color: var(--green-ink)}.gate-step.is-done .gate-step-dot svg{transform: scale(1);opacity: 1}@keyframes step-pulse{0%,100%{box-shadow: 0 0 0 4px color-mix(in srgb,var(--sky) 14%,transparent)}50%{box-shadow: 0 0 0 7px color-mix(in srgb,var(--sky) 5%,transparent)}}.gate-spinner{display: none;width: 14px;height: 14px;border-radius: 50%;border: 2px solid currentColor;border-top-color: transparent;opacity: 0.9;flex: none}.gate-submit[disabled]{cursor: progress;opacity: 1;background: color-mix(in srgb,var(--accent) 20%,transparent);color: var(--text);box-shadow: none}.gate-submit[disabled] .gate-spinner{display: block;animation: gate-spin 0.7s linear infinite}.gate-submit[disabled]>[data-i18n]{opacity: 0.75}@keyframes gate-spin{to{transform: rotate(360deg)}}.gate-lang{display: flex;justify-content: center;gap: var(--space-3);margin-top: var(--space-4);padding-top: var(--space-4);border-top: 1px solid var(--card-border)}.account-wrap{position: relative}.account-btn{gap: var(--space-2);background: transparent;border-color: var(--card-border);color: var(--text-soft);font-size: var(--fs-sm);font-weight: 600;letter-spacing: 0;text-transform: none}.account-btn:hover{background: var(--surface-2);border-color: var(--card-border-2);color: var(--text)}#account-name{display: block;max-width: 140px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}@media (max-width: 620px){#account-name{max-width: 190px}}.account-avatar{width: 22px;height: 22px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: var(--fs-xs);font-weight: 800;color: #ffffff;background: color-mix(in srgb,var(--accent) 86%,#000);flex: none}.account-menu{position: absolute;top: calc(100% + 8px);right: 0;z-index: 60;min-width: 216px;padding: var(--space-2);background: var(--card);border: 1px solid var(--card-border);border-radius: var(--r-md,10px);box-shadow: 0 18px 40px -22px rgba(0,0,0,0.6)}.account-menu-head{padding: var(--space-3) var(--space-3) var(--space-3);border-bottom: 1px solid var(--card-border);margin-bottom: var(--space-2)}.account-menu-label{display: block;font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.7px;text-transform: uppercase;color: var(--text-faint)}.account-menu-head strong{font-size: var(--fs-base)}.account-menu-item{display: block;width: 100%;text-align: left;padding: var(--space-3) var(--space-3);font-size: var(--fs-base);font-weight: 600;color: var(--text);background: none;border: 0;border-radius: var(--r-sm);cursor: pointer}.account-menu-item:hover{background: var(--gray-soft)}.account-menu-item.danger{color: var(--error)}.portal-badge{margin-left: var(--space-3);min-width: 19px;padding: var(--space-0) var(--space-2);border-radius: var(--r-xl);background: var(--danger);color: #fff;font-size: var(--fs-2xs);font-weight: 800;text-align: center}.portal-month{margin-top: var(--space-2)}.portal-profile .portal-badge{margin-left: var(--space-2)}.portal-profile-meta{font-size: var(--fs-meta);color: var(--text-faint)}.expiry-list{list-style: none;margin: var(--space-2) 0 0;padding: 0;display: flex;flex-direction: column;gap: var(--space-2)}.expiry-row{display: grid;grid-template-columns: 4.5rem 1fr auto auto;gap: var(--space-3);align-items: baseline;border: 1px solid var(--card-border);border-radius: var(--r-md);padding: var(--space-2) var(--space-3)}.expiry-code{font-weight: 800}.expiry-desc{color: var(--text-faint);font-size: var(--fs-sm);overflow-wrap: anywhere}.expiry-date{font-variant-numeric: var(--tnum)}.expiry-when{font-weight: 700}.expiry-row.is-expired{border-color: #b91c1c;background: rgba(185,28,28,0.08)}.expiry-row.is-expired .expiry-when{color: #b91c1c}.expiry-row.is-urgent{border-color: #c2410c;background: rgba(194,65,12,0.08)}.expiry-row.is-urgent .expiry-when{color: #9a3412}.expiry-row.is-soon{border-color: #92400e;background: rgba(146,64,14,0.06)}.expiry-row.is-soon .expiry-when{color: #92400e}.expiry-row.is-ok{border-color: #15803d}.expiry-row.is-ok .expiry-when{color: #166534}.portal-expiries .expiry-list{margin-top: var(--space-2)}.portal-msgs{display: flex;flex-direction: column;gap: var(--space-1);list-style: none;margin: 0;padding: 0}.portal-block--off{opacity: .72;border-style: dashed}.portal-empty{margin: var(--space-1) 0 var(--space-3);color: var(--text-soft);font-size: var(--fs-sm)}.portal-msg-btn{display: flex;align-items: center;gap: var(--space-3);width: 100%;text-align: left;padding: var(--space-3) var(--space-3);border: 0;border-radius: var(--r-md);background: none;color: var(--text-soft);font-size: var(--fs-base);cursor: pointer}.portal-msg-btn:hover{background: var(--gray-soft);color: var(--text)}.portal-msg-ico{flex: none;width: 16px;height: 16px;color: var(--text-faint)}.portal-msg-ico svg{width: 100%;height: 100%}.portal-msg--unread .portal-msg-ico{color: var(--accent-ink)}.portal-msg-txt{display: flex;flex-direction: column;gap: var(--space-0);min-width: 0;flex: 1}.portal-msg-txt b{font-weight: 600;color: var(--text-soft)}.portal-msg--unread .portal-msg-txt b{font-weight: 800;color: var(--text)}.portal-msg-state{font-size: var(--fs-2xs);font-weight: 700;color: var(--text-faint)}.portal-msg--unread .portal-msg-state{color: var(--accent-ink)}.portal-msg-date{flex: none;font-size: var(--fs-xs);color: var(--text-faint);font-variant-numeric: var(--tnum);white-space: nowrap}.portal-block .io-actions{margin-top: var(--space-3)}.msg-subject{margin: 0;font-size: var(--fs-base);font-weight: 800;line-height: 1.35;color: var(--text)}.msg-body{margin: 0;max-height: min(52vh,420px);overflow-y: auto;padding: var(--space-5);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-md);font-size: var(--fs-base);line-height: 1.65;color: var(--text-soft);word-break: break-word}.msg-p{margin: 0 0 var(--space-4)}.msg-p:last-child{margin-bottom: 0}.msg-p--muted{color: var(--text-faint);font-style: italic}.msg-attach-h{margin-top: var(--space-5)}.hist-years-head{display: flex;align-items: center;gap: var(--space-3);margin: var(--space-1) 0 var(--space-2)}.hist-years-title{font-size: var(--fs-xs);font-weight: 800;letter-spacing: .07em;text-transform: uppercase;color: var(--text-soft)}.hist-years{display: flex;flex-wrap: wrap;gap: var(--space-2)}.leg-chain{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-3)}.leg-chain-item{display: flex;align-items: baseline;gap: var(--space-2);padding: var(--space-1) var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-sm);font-size: var(--fs-sm)}.leg-chain-n{color: var(--text-faint);font-variant-numeric: var(--tnum)}.leg-chain-route{font-weight: 600}.leg-chain-flight,.leg-chain-time{color: var(--text-soft);font-variant-numeric: var(--tnum)}.sheet-sector-list .leg-chain-item{padding: 0}.sheet-sector-btn{display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--space-1) var(--space-2);width: 100%;padding: var(--space-2) var(--space-3);border: 0;border-radius: inherit;background: none;color: inherit;font: inherit;text-align: left;cursor: pointer}.sheet-sector-btn:focus-visible{box-shadow: var(--ring-soft);outline: none}.sheet-sector-item.is-selected{border-color: color-mix(in srgb,var(--accent) 60%,var(--card-border));background: color-mix(in srgb,var(--accent) 8%,transparent)}.sheet-sector-stop{color: var(--sky-ink)}.sheet-sector-detail .sheet-grid{margin-top: var(--space-2)}.sheet-sector-head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-2)}.sheet-sector-tools{display: flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;gap: var(--space-2)}.sheet-source{font-size: var(--fs-2xs);color: var(--text-faint);white-space: nowrap}.sheet-change{padding: 0 var(--space-2);border: 1px solid color-mix(in srgb,var(--amber) 45%,var(--card-border));border-radius: var(--r-full);font-size: var(--fs-2xs);font-weight: 700;color: var(--amber-ink);white-space: nowrap}.sheet-sector-refresh{flex: none}.rot-leg-chain{display: block;flex: 1 0 100%;min-width: 0;margin-top: var(--space-1);color: var(--text-soft);font-size: var(--fs-xs);overflow-wrap: anywhere}.rot-chain-seg b{color: var(--text)}.rot-chain-seg i{font-style: normal;font-variant-numeric: var(--tnum);margin-left: var(--space-1)}.rot-chain-join{margin: 0 var(--space-1);color: var(--text-faint)}.hist-year{padding: var(--space-2) var(--space-4);min-width: 62px;border: 1px solid var(--gray);border-radius: var(--r-md);background: transparent;color: var(--text-soft);font: inherit;font-size: var(--fs-base);font-variant-numeric: var(--tnum);cursor: pointer}.hist-year:hover{border-color: var(--text-soft);color: var(--text)}.hist-year-strip{display: grid;grid-template-columns: repeat(12,1fr);gap: var(--hairline);margin-top: var(--space-1);height: 6px;width: 100%}.hist-year-cell{border-radius: var(--r-xs);background: var(--gray-soft)}.hist-year-cell.is-imported{background: var(--green-ink)}.hist-year-cell.is-empty{background: transparent;box-shadow: inset 0 0 0 1px var(--gray)}.hist-year-cell.is-failed{background: repeating-linear-gradient( 45deg,var(--warning) 0 2px,transparent 2px 4px)}.hist-year-cell.is-never{background: transparent}@media (forced-colors: active){.hist-year-cell{forced-color-adjust: none;border: 1px solid CanvasText}.hist-year-cell.is-never{border-color: transparent}}.hist-year.is-on{border-color: var(--accent);background: color-mix(in srgb,var(--accent) 24%,transparent);color: var(--text);font-weight: 700}.hist-year:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}#hist-years-sum{margin: var(--space-3) 0 0}#portal-badge{border-color: #b8860b;color: var(--text);gap: var(--space-2)}#portal-badge .dot{background: #b8860b}.portal-retry{font-size: var(--fs-xs);opacity: .8;font-variant-numeric: var(--tnum)}.backups-list{display: flex;flex-direction: column;gap: var(--space-2);margin-top: var(--space-3)}.backups-list .bk-sum{margin: 0 0 var(--space-1)}.backups-row{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-2) var(--space-3);border: 1px solid var(--gray);border-radius: var(--r-md)}.backups-when{font-size: var(--fs-sm);font-variant-numeric: var(--tnum);color: var(--text);min-width: 132px}.backups-info{font-size: var(--fs-sm);color: var(--text-soft);flex: 1}.backups-row .btn{padding: var(--space-2) var(--space-3);font-size: var(--fs-sm)}#bg-import{position: relative;overflow: hidden;cursor: pointer;border: 1px solid var(--accent);color: var(--text);padding-right: var(--space-8)}#bg-import .dot{background: var(--accent);animation: bg-pulse 1.6s ease-in-out infinite}@keyframes bg-pulse{0%,100%{opacity: 1}50%{opacity: .35}}.bg-import-bar{position: absolute;left: 0;bottom: 0;height: 3px;width: 0;background: var(--accent);transition: width .3s ease}#bg-import:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.hist-year.is-some{border-color: var(--accent);border-style: dashed;color: var(--text);font-weight: 700}.hist-months{display: flex;flex-direction: column;gap: var(--space-3);margin: var(--space-1) 0 var(--space-2)}.hist-month-row{display: flex;align-items: flex-start;gap: var(--space-3);padding: var(--space-3) var(--space-3);border: 1px solid var(--gray);border-radius: var(--r-md)}.hist-month-year{font-size: var(--fs-sm);font-weight: 700;font-variant-numeric: var(--tnum);color: var(--text-soft);min-width: 42px;padding-top: var(--space-2)}.hist-month-grid{display: flex;flex-wrap: wrap;gap: var(--space-2);flex: 1}.hist-month{min-width: 34px;padding: var(--space-2) var(--space-2);border: 1px solid var(--gray);border-radius: var(--r-sm);background: transparent;color: var(--text-soft);font: inherit;font-size: var(--fs-sm);font-variant-numeric: var(--tnum);cursor: pointer}.hist-month:hover{border-color: var(--text-soft);color: var(--text)}.hist-month.is-on{border-color: var(--accent);background: color-mix(in srgb,var(--accent) 24%,transparent);color: var(--text);font-weight: 700}.hist-month.is-have{border-style: dotted;opacity: .65}.hist-month.is-have.is-on{opacity: 1}.hist-month:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.hist-progress{height: 6px;border-radius: var(--r-xl);background: var(--gray-soft);overflow: hidden}.hist-progress-bar{height: 100%;width: 0;border-radius: var(--r-xl);background: linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#000));transition: width var(--dur-fast) var(--ease)}.hist-status{margin: 0;font-size: var(--fs-base);font-weight: 600;color: var(--text-soft);font-variant-numeric: var(--tnum)}.hist-log{margin: 0;padding: 0;list-style: none;display: flex;flex-direction: column;gap: var(--space-1);max-height: 190px;overflow-y: auto;font-size: var(--fs-sm);color: var(--text-faint)}.hist-log li{display: flex;gap: var(--space-3);align-items: baseline;font-variant-numeric: var(--tnum)}.hist-log .hist-log-mark{width: 13px;flex: none;text-align: center}.hist-log li.ok .hist-log-mark{color: var(--green)}.hist-log li.skip .hist-log-mark{color: var(--text-faint)}.hist-log li.fail{color: var(--error)}.hist-log li.fail .hist-log-mark{color: var(--error)}.hist-log .hist-log-n{margin-left: auto;white-space: nowrap}.hist-log li.gap{border-top: 1px dashed color-mix(in srgb,var(--card-border) 70%,transparent);padding-top: var(--space-2);margin-top: var(--space-1);align-items: flex-start}.hist-log li.gap .hist-log-n{margin-left: 0;text-align: right;white-space: normal;min-width: 0;opacity: 0.85}.empty-detail{display: inline-flex;align-items: center;gap: var(--space-3);margin-top: var(--space-4);font-size: var(--fs-sm);line-height: 1.4;color: var(--text-faint);cursor: pointer;text-align: left}.empty-detail input{accent-color: var(--accent);cursor: pointer}.help-table{width: 100%;border-collapse: collapse;font-size: var(--fs-base)}.help-table td{padding: var(--space-3) var(--space-3);border-bottom: 1px solid color-mix(in srgb,var(--card-border) 70%,transparent);color: var(--text-soft)}.help-table td:first-child{width: 118px;white-space: nowrap}.help-table tr:last-child td{border-bottom: none}.detail-hero{display: flex;align-items: center;gap: var(--space-4);flex-wrap: wrap;padding: var(--space-5) 0 var(--space-4);border-bottom: 1px solid var(--card-border)}.detail-hero .flight-num{font-size: var(--fs-2xl);font-weight: 800;letter-spacing: -0.01em;background: linear-gradient(160deg,var(--text) 30%,color-mix(in srgb,var(--accent) 55%,var(--text)));-webkit-background-clip: text;background-clip: text;color: transparent}.detail-note{line-height: 1.55}.detail-crew{margin-top: var(--space-4);padding-top: var(--space-3);border-top: 1px solid var(--card-border)}.detail-crew-title{font-size: var(--fs-label);font-weight: 650;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-soft);margin-bottom: var(--space-2)}.crew-list{list-style: none;margin: 0;padding: 0;display: grid;gap: var(--space-2)}.crew-list li{display: grid;grid-template-columns: 5.5rem 4.5rem minmax(0,1fr);gap: var(--space-3);align-items: baseline;font-size: var(--fs-meta);padding: var(--space-2) 0;border-bottom: 1px dashed color-mix(in srgb,var(--card-border) 75%,transparent)}.crew-list li:last-child{border-bottom: none}.crew-role{color: var(--text-faint);font-weight: 600}.crew-id{color: var(--text-soft);font-variant-numeric: var(--tnum)}.crew-name{color: var(--text);font-weight: 600;overflow-wrap: anywhere;min-width: 0}.crew-contact{display: block;font-size: var(--fs-meta);font-weight: 500;color: var(--sky-ink);overflow-wrap: anywhere}.crew-pairing,.crew-fdp{font-size: var(--fs-meta);font-weight: 700;color: var(--text-faint);border: 1px solid var(--card-border);border-radius: var(--r-full);padding: 0 var(--space-2);margin-left: var(--space-2)}.crew-qualif{display: block;font-size: var(--fs-meta);font-weight: 700;letter-spacing: 0.4px;color: var(--training-ink);margin-top: var(--space-1)}.detail-body{padding: var(--space-2) var(--space-6) var(--space-3)}.detail-actions{padding: var(--space-3) var(--space-6) var(--space-5)}.search-modal{max-width: 580px}.search-body{padding: var(--space-4) var(--space-5) var(--space-5);display: flex;flex-direction: column;gap: var(--space-4)}.palette-body{padding: 0}.palette-body #palette-input{border: none;border-bottom: 1px solid var(--card-border);border-radius: 0;padding: var(--space-5) var(--space-6);font-size: var(--fs-md);background: transparent}.palette-body #palette-input:focus{box-shadow: none;background: var(--surface-2)}.palette-body .search-results{padding: var(--space-3)}#search-input{padding: var(--space-4) var(--space-5);font-size: var(--fs-md)}.search-results{display: flex;flex-direction: column;gap: var(--space-2);max-height: 52dvh;overflow-y: auto}.result-item{display: flex;align-items: center;gap: var(--space-4);padding: var(--space-4) var(--space-4);background: var(--surface-2);border: 1px solid transparent;border-radius: var(--r-md);cursor: pointer;transition: background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.result-item:hover,.palette-item.selected{background: var(--card);border-color: color-mix(in srgb,var(--accent) 40%,transparent);transform: translateX(3px);box-shadow: var(--shadow-sm)}.result-item .date{flex: none;min-width: 80px;font-size: var(--fs-xs);font-weight: 700;color: var(--text-faint)}.result-item .res-main{flex: 1;min-width: 0;font-size: var(--fs-base);font-weight: 700}.result-item .res-sub{flex: none;font-size: var(--fs-xs);color: var(--text-faint)}.res-empty{padding: var(--space-6) 0;text-align: center;font-size: var(--fs-base);color: var(--text-faint)}#palette-modal .search-modal{max-width: 640px}#palette-results{gap: 0;max-height: 62dvh;padding: var(--space-1) 0 var(--space-2)}#palette-results .palette-group{display: flex;align-items: center;gap: var(--space-2);padding: var(--space-3) var(--space-5) var(--space-1);font-size: var(--fs-3xs);font-weight: 800;letter-spacing: var(--track-label);text-transform: uppercase;color: var(--text-faint)}#palette-results .palette-group:not(:first-child){margin-top: var(--space-2)}#palette-results .palette-group-ico{display: inline-flex;width: 14px;height: 14px;opacity: 0.85}#palette-results .palette-group-ico svg{width: 14px;height: 14px}#palette-results .palette-item{min-height: 48px;padding: var(--space-2) var(--space-5);background: transparent;border: 0;border-radius: var(--r-sm)}#palette-results .palette-item:hover,#palette-results .palette-item.selected{background: color-mix(in srgb,var(--accent) 12%,transparent);border-color: transparent;transform: none;box-shadow: none}#palette-results .palette-item .res-main{font-size: var(--fs-base);font-weight: 600}#palette-results .palette-item .res-sub .kbd{min-width: 24px}.toasts{position: fixed;right: 18px;bottom: 18px;z-index: 120;display: flex;flex-direction: column;gap: var(--space-3);max-width: min(360px,calc(100vw - 36px));pointer-events: none}.toast{position: relative;display: flex;align-items: center;gap: var(--space-4);overflow: hidden;padding: var(--space-4) var(--space-5);font-size: var(--fs-base);font-weight: 700;color: var(--text);background: var(--surface);border: 1px solid var(--card-border-2);border-radius: var(--r-md);pointer-events: auto;animation: toastIn 0.3s var(--ease-spring) both}.toast::before{content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 3px;background: var(--sky)}.toast.ok::before{background: var(--green)}.toast.err::before{background: var(--error)}.toast.info::before{background: var(--sky)}.toast.leaving{animation: toastOut 0.24s var(--ease) both}.toast .tdot{width: 9px;height: 9px;flex: none;border-radius: 50%;background: var(--sky);color: var(--sky);box-shadow: 0 0 8px currentColor}.toast.ok .tdot{background: var(--green);color: var(--green)}.toast.err .tdot{background: var(--error);color: var(--error)}@keyframes toastIn{from{opacity: 0;transform: translateX(28px) scale(0.94)}to{opacity: 1;transform: none}}@keyframes toastOut{from{opacity: 1;transform: none}to{opacity: 0;transform: translateY(6px) scale(0.95)}}.toast-row{display: inline-flex;align-items: center;gap: var(--space-4);min-width: 0}.toast-action{flex: none;border: none;cursor: pointer;font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.4px;text-transform: uppercase;color: var(--sky);background: var(--sky-soft);border-radius: var(--r-xs);padding: var(--space-2) var(--space-4);transition: transform var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}.toast-action:hover{filter: brightness(0.96);transform: translateY(-1px)}.dot-flight{background: var(--flight)}.dot-hotel{background: var(--hotel)}.dot-off{background: var(--off-ink)}.dot-standby{background: var(--standby)}.dot-training{background: var(--training)}.dot-reserve{background: var(--reserve)}.dot-new{background: var(--green)}.dot-changed{background: var(--amber)}.live-fig{font-size: var(--fs-sm);font-weight: 700}.live-fig-base{color: var(--text-faint);font-weight: 400}.live-fig-air{color: var(--sky)}.live-fig-brief{color: var(--amber)}.live-fig-rest{color: var(--purple)}.today-duty-name{font-size: var(--fs-base);font-weight: 700}.today-duty-when{margin-left: auto;color: var(--text-soft);font-size: var(--fs-sm)}.pill-count{margin-left: var(--space-3)}.mix-nm-sub{font-size: var(--fs-xs);font-weight: 400;color: var(--text-faint)}.no-duty-note{color: var(--text-faint)}.load-stalled{max-width: 36ch;margin: 0 auto var(--space-4);font-size: var(--fs-base);font-weight: 600}.lazy-ph{display: block;width: 100%;--lazy-h: 120px;min-height: var(--lazy-h)}.loading-state{position: fixed;inset: 0;z-index: 60;display: flex;align-items: center;justify-content: center;padding: var(--space-6);background: var(--bg);color: var(--text-soft);font-size: var(--fs-base);transition: opacity 360ms ease}.loading-state.is-out{opacity: 0;pointer-events: none}.boot-card{display: flex;flex-direction: column;align-items: center;gap: var(--space-6);width: min(430px,100%);padding: var(--space-9) var(--space-7);background: var(--grad-sheen),var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-xl);box-shadow: var(--shadow-lg);text-align: center}.boot-brand{display: flex;align-items: center;gap: var(--space-4)}.boot-logo{flex: none;border-radius: var(--r-md)}.boot-brand-text{display: flex;flex-direction: column;text-align: left}.boot-brand-text b{font-size: var(--fs-xl);font-weight: 800;color: var(--text)}.boot-brand-text span{font-size: var(--fs-sm);color: var(--text-faint)}.boot-route{width: 100%;max-width: 320px;color: var(--accent-ink);contain: layout paint}.boot-route svg{display: block;width: 100%;height: auto}.boot-arc{opacity: 0.55;animation: boot-flow 1.6s linear infinite;will-change: stroke-dashoffset}@keyframes boot-flow{from{stroke-dashoffset: 0}to{stroke-dashoffset: -24}}.boot-port{fill: var(--sky-ink)}.boot-port-pulse{fill: none;stroke: var(--sky-ink);stroke-width: 1.5;transform-box: fill-box;transform-origin: center;animation: boot-ping 2.8s ease-out infinite;will-change: transform,opacity}.boot-plane{offset-path: path('M24 96 C 96 18, 224 18, 296 96');offset-rotate: auto;transform-box: fill-box;transform-origin: center;animation: boot-fly 3.2s linear infinite;will-change: offset-distance,opacity}@keyframes boot-fly{0%{offset-distance: 0%;opacity: 0}14%{opacity: 1}86%{opacity: 1}100%{offset-distance: 100%;opacity: 0}}@keyframes boot-ping{0%{transform: scale(1);opacity: 0.85}70%{transform: scale(2.7);opacity: 0}100%{transform: scale(2.7);opacity: 0}}.boot-route.is-stalled{opacity: 0.45}.boot-route.is-stalled .boot-arc,.boot-route.is-stalled .boot-plane,.boot-route.is-stalled .boot-port-pulse{animation: none}.boot-route.is-stalled .boot-plane{opacity: 0}.boot-caption{margin: 0;font-size: var(--fs-base);font-weight: 600;color: var(--text)}.boot-steps{width: 100%;text-align: left}.spinner{width: 38px;height: 38px;border: 3px solid var(--card-border);border-top-color: var(--accent-ink);border-radius: 50%;animation: spin 0.8s linear infinite}@keyframes spin{to{transform: rotate(360deg)}}.error-banner{padding: var(--space-4) var(--space-5);margin-bottom: var(--space-5);font-size: var(--fs-base);font-weight: 600;color: var(--accent-ink);background: var(--accent-soft);border: 1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius: var(--r-md);box-shadow: inset 0 0 24px color-mix(in srgb,var(--accent) 8%,transparent)}.empty-state{padding: var(--space-10) 0;text-align: center;color: var(--text-soft)}.empty-state h2,.empty-state h3{margin: var(--space-4) 0 var(--space-2);color: var(--text)}.empty-state p{font-size: var(--fs-base)}.empty-actions{margin-top: var(--space-5);display: flex;justify-content: center}.empty-state .btn{padding: var(--space-3) var(--space-5)}.empty-progress{width: min(320px,80%);height: 6px;margin: var(--space-4) auto 0;background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-full);overflow: hidden}.empty-progress-fill{display: block;width: 0;height: 100%;background: var(--accent);border-radius: inherit;transition: width var(--dur) var(--ease)}.empty-icon{position: relative;width: 82px;height: 82px;margin: 0 auto;display: grid;place-items: center;border-radius: 50%;background: radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--sky) 22%,transparent),transparent 68%),var(--surface-2);border: 1px solid var(--card-border);box-shadow: var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,0.5)}.empty-icon::before{content: "";position: absolute;inset: -9px;border-radius: 50%;border: 1px dashed var(--card-border-2);opacity: 0.8}.empty-icon::after{content: "";width: 34px;height: 34px;background: var(--text-faint);opacity: 0.75;-webkit-mask: var(--plane-mask) center / contain no-repeat;mask: var(--plane-mask) center / contain no-repeat}.focus-sheet{position: fixed;inset: 0;z-index: 190;display: flex;flex-direction: column;gap: var(--space-2);padding: max(var(--space-6),env(safe-area-inset-top)) var(--space-6) max(var(--space-6),env(safe-area-inset-bottom));overflow-y: auto;background: radial-gradient(700px 420px at 82% -12%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 62%),radial-gradient(560px 380px at -10% 108%,color-mix(in srgb,var(--sky) 16%,transparent),transparent 60%),var(--bg);animation: focusIn 0.26s var(--ease-out) both}@keyframes focusIn{from{opacity: 0;transform: translateY(12px)}}body.focus-open,body[data-modal-open],body[data-scroll-lock]{overflow: hidden}.focus-head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);flex: none}.focus-label{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 1.6px;text-transform: uppercase;color: var(--text-faint)}.focus-x{width: 40px;height: 40px;flex: none;display: grid;place-items: center;font-size: var(--fs-2xl);line-height: 1;cursor: pointer;color: var(--text-soft);background: var(--card);border: 1px solid var(--card-border-2);border-radius: var(--r-md);box-shadow: var(--shadow-sm);transition: color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.focus-x:hover{color: var(--danger);transform: rotate(90deg)}.focus-when{flex: none;margin-top: var(--space-3);font-size: var(--fs-base);font-weight: 700;color: var(--text-soft);text-transform: capitalize}.focus-flight{flex: none;display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap}.focus-flt{font-size: var(--fs-display);font-weight: 800;letter-spacing: -0.035em;line-height: 1;background: linear-gradient(155deg,var(--text) 30%,color-mix(in srgb,var(--accent) 68%,var(--text)));-webkit-background-clip: text;background-clip: text;color: transparent}.focus-route{flex: none;font-size: var(--fs-display-route);font-weight: 800;letter-spacing: -0.01em;color: var(--text)}.focus-times{flex: none;display: grid;grid-template-columns: repeat(auto-fit,minmax(112px,1fr));gap: var(--space-3);margin-top: var(--space-4)}.focus-times>div{padding: var(--space-4) var(--space-4);border-radius: var(--r-md);background: var(--card);border: 1px solid var(--card-border);box-shadow: var(--shadow-sm)}.ft-key{display: block;font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.9px;text-transform: uppercase;color: var(--text-faint)}.ft-val{display: block;margin-top: var(--space-1);font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.02em;font-variant-numeric: var(--tnum)}@media (max-height: 620px){.focus-sheet{padding-top: max(var(--space-4),env(safe-area-inset-top));gap: var(--space-2)}.focus-when{margin-top: var(--space-2);font-size: var(--fs-base)}.focus-flt{font-size: var(--fs-display-short)}.focus-route{font-size: var(--fs-display-route-short)}.focus-times{gap: var(--space-3);margin-top: var(--space-3)}.focus-times>div{padding: var(--space-3) var(--space-4)}.ft-val{font-size: var(--fs-lg);margin-top: var(--space-0)}.focus-rest{margin-top: var(--space-3);padding: var(--space-3) var(--space-4);font-size: var(--fs-sm)}.focus-go{padding-top: var(--space-4);padding-bottom: var(--space-4)}}@media (max-height: 460px){.focus-times{grid-template-columns: repeat(3,minmax(0,1fr))}.focus-rest{display: none}}.focus-rest{flex: none;margin-top: var(--space-4);padding: var(--space-4) var(--space-4);border-radius: var(--r-md);font-size: var(--fs-base);font-weight: 700}.focus-rest.ok{background: var(--green-soft);color: var(--green-ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--green) 28%,transparent)}.focus-rest.bad{background: var(--danger-soft);color: var(--danger);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--danger) 34%,transparent)}.focus-spacer{flex: 1 1 auto;min-height: 18px}.focus-go{flex: none;padding-top: var(--space-4);padding-bottom: var(--space-4)}.focus-none{margin: auto 0;text-align: center;font-size: var(--fs-md);color: var(--text-soft)}@media (hover: hover) and (pointer: fine){#focus-btn{display: none}}footer{text-align: center;padding: var(--space-7) 0 var(--space-3);font-size: var(--fs-sm);color: var(--text-faint)}footer p{font-weight: 600;letter-spacing: 0.2px}.footer-brand{display: inline-flex;align-items: center;vertical-align: middle}.footer-wordmark{height: 16px;width: auto;display: block}.footer-wordmark-dark{display: none}[data-theme="dark"] .footer-wordmark-light{display: none}[data-theme="dark"] .footer-wordmark-dark{display: block}.foot-mark{width: 74px;height: 3px;margin: 0 auto var(--space-4);border-radius: var(--r-xl);background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 60%,transparent),color-mix(in srgb,var(--sky) 60%,transparent),transparent)}.kbd-row{display: flex;justify-content: center;flex-wrap: wrap;gap: var(--space-3) var(--space-5);margin-top: var(--space-3);font-size: var(--fs-xs)}.kbd{display: inline-flex;align-items: center;justify-content: center;min-width: 19px;padding: var(--space-0) var(--space-2);font-size: var(--fs-2xs);font-weight: 700;color: var(--text-soft);background: linear-gradient(180deg,var(--card),var(--surface-2));border: 1px solid var(--card-border-2);border-bottom-width: 2px;border-radius: var(--r-sm);box-shadow: var(--shadow-xs)}@media (max-width: 999px){.kbd-row{display: none}}.ops-item{display: flex;align-items: flex-start;gap: var(--space-4);padding: var(--space-3) var(--space-3);margin: 0 calc(-1 * var(--space-3));border-radius: var(--r-sm);font-size: var(--fs-base);color: var(--text-soft);border-bottom: 1px solid color-mix(in srgb,var(--card-border) 60%,transparent);transition: background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ops-item:last-child{border-bottom: none}.ops-item.ops-jump{cursor: pointer}.ops-item.ops-jump:hover{background: var(--surface-2);transform: translateX(3px)}.ops-holes{align-items: center;flex-wrap: wrap;cursor: default}.ops-holes:hover{transform: none}.ops-holes .btn{margin-left: auto;flex: none;padding: var(--space-1) var(--space-3);font-size: var(--fs-xs)}.ops-icon{flex: none;width: 22px;height: 22px;display: grid;place-items: center;border-radius: var(--r-sm);font-size: var(--fs-xs);font-weight: 800}.ops-bad{color: var(--accent-ink)}.ops-warn{color: var(--warning)}.ops-info{color: var(--sky)}.ops-bad .ops-icon{background: var(--accent-soft);color: var(--accent-ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.ops-warn .ops-icon{background: var(--amber-soft);color: var(--warning);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--warning) 30%,transparent)}.ops-info .ops-icon{background: var(--sky-soft);color: var(--sky);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--sky) 25%,transparent)}.ops-item{flex-wrap: wrap}.ops-why{margin-left: auto;flex: none;padding: 0 var(--space-2);background: none;border: 1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius: var(--r-sm);color: inherit;font: inherit;font-size: var(--fs-xs);font-weight: 700;cursor: pointer;opacity: 0.85}.ops-why:hover{opacity: 1;background: var(--surface-2)}.ops-why:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.ops-detail{flex: 1 0 100%;margin: var(--space-2) 0 var(--space-1) 30px;padding: var(--space-3);background: var(--surface-2);border-radius: var(--r-sm);font-size: var(--fs-xs);color: var(--text-soft)}.ops-detail.hidden{display: none}.ops-facts{display: grid;grid-template-columns: max-content 1fr;gap: var(--space-1) var(--space-3);margin: 0}.ops-facts dt{color: var(--text-faint);font-weight: 700}.ops-facts dd{margin: 0;font-variant-numeric: tabular-nums}.ops-basis{margin: var(--space-2) 0 0;font-style: italic}.ops-caveat{margin: var(--space-2) 0 0;padding-top: var(--space-2);border-top: 1px dashed color-mix(in srgb,var(--card-border) 70%,transparent);color: var(--text-faint)}.live-uncert{margin-top: var(--space-2);font-size: var(--fs-xs);color: var(--text-faint)}@keyframes breathe{0%,100%{opacity: 1}50%{opacity: 0.45}}@keyframes livePulse{0%{transform: scale(0.9);box-shadow: 0 0 0 0 currentColor}70%{transform: scale(1);box-shadow: 0 0 0 8px transparent}100%{transform: scale(0.9);box-shadow: 0 0 0 0 transparent}}@keyframes growBar{from{transform: scaleY(0.02);opacity: 0.2}to{transform: scaleY(1);opacity: 1}}@keyframes growBarX{from{transform: scaleX(0.02)}to{transform: scaleX(1)}}@keyframes hubPulse{0%{r: 4;opacity: 0.9;stroke-width: 2.2}80%{opacity: 0.15}100%{r: 22;opacity: 0;stroke-width: 0.5}}body[data-modal-open]{overflow: hidden}@media (max-width: 860px){.mix-grid{grid-template-columns: minmax(0,1fr)}}@media (max-width: 999px){:root{--appbar-h: 56px}.app{grid-template-columns: minmax(0,1fr)}.rail{position: fixed;left: 0;right: 0;bottom: 0;top: auto;height: auto;flex-direction: row;align-items: stretch;gap: 0;padding: 0;padding-bottom: env(safe-area-inset-bottom);background: var(--glass);-webkit-backdrop-filter: blur(14px) saturate(1.3);backdrop-filter: blur(14px) saturate(1.3);border-right: 0;border-top: 0;box-shadow: inset 0 1px 0 var(--card-border-2);overflow: visible;z-index: 70}.rail-brand,.rail-foot{display: none}.tabs{flex-direction: row;gap: 0;flex: 1 1 auto;min-height: 0}.tab-btn{flex: 1 1 0;flex-direction: column;justify-content: center;gap: var(--space-1);height: var(--bottom-bar-h);padding: 0;border-radius: 0;font-size: var(--fs-3xs);font-weight: 600;text-align: center}.tab-btn svg{width: 22px;height: 22px}.tab-btn.active{background: transparent;color: var(--text)}.tab-btn.active::before{top: 0;left: 50%;transform: translateX(-50%);width: 28px;height: 3px;border-radius: 0 0 var(--r-full) var(--r-full)}body{padding-bottom: calc(var(--bottom-bar-h) + env(safe-area-inset-bottom))}.toasts{bottom: calc(var(--bottom-bar-h) + env(safe-area-inset-bottom) + var(--space-3))}.brand-mobile{display: flex}.hero{height: var(--appbar-h);min-height: var(--appbar-h);flex-wrap: nowrap;align-items: center;gap: var(--space-1);padding: 0 var(--space-2) 0 var(--space-3)}.hero-top{order: 1;flex: 1 1 auto;min-width: 0;gap: var(--space-2)}.hero-actions{order: 2;flex: 0 0 auto;overflow: visible;padding: 0}.hero-end{order: 3;margin-left: 0;flex: 0 0 auto}.brand-subtitle{display: none}#lang-toggle,#print-btn,#focus-btn{display: none}#account-name{display: none}.account-btn{width: 44px;min-width: 44px;padding: 0;justify-content: center}.hero-icons{gap: 0}#offline-badge{width: 12px;height: 12px;padding: 0;border: 0;background: none;box-shadow: none}#offline-badge>span:not(.dot){display: none}.hero:has(#portal-badge:not(.hidden)),.hero:has(#bg-import:not(.hidden)){height: auto;min-height: 56px;flex-wrap: wrap;padding-block: var(--space-2)}.sub-tab{min-height: 44px}.subnav{position: static;justify-content: flex-start;padding: var(--space-3) var(--space-4) 0;overflow-x: auto;scrollbar-width: none}.subnav::-webkit-scrollbar{display: none}main{padding: var(--space-3) var(--space-4) var(--space-8)}}@media (max-width: 620px){.hero{padding: var(--space-2) var(--space-3)}.brand-lockup{height: 26px}[data-theme="dark"] .brand-lockup-dark{height: 30px}.hero .pill-status{height: 26px;padding: 0 var(--space-2);font-size: var(--fs-2xs)}.hero-icons{gap: var(--space-1)}.hero-actions .btn{flex: 0 0 auto}#account-name{display: none}main{padding: var(--space-2) var(--space-4) var(--space-8)}.stats{grid-template-columns: repeat(3,1fr)}.stats-cards{grid-template-columns: repeat(2,1fr)}.dash-grid{grid-template-columns: 1fr}.cal-cell{min-height: 70px;padding: var(--space-2)}.cal-dow span{font-size: var(--fs-xs);padding: var(--space-3) 0;letter-spacing: 0.4px}.cal-evt.t-flight .chip-txt,.cal-evt.t-deadhead .chip-txt{display: none}.cal-evt.t-flight .cal-evt-time,.cal-evt.t-deadhead .cal-evt-time{margin-left: 0}#pane-calendar .stats{display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-3)}#pane-calendar .stat-card{display: flex;flex: 0 0 auto;align-items: baseline;gap: var(--space-2);padding: var(--space-1) var(--space-3);border-radius: var(--r-sm);text-align: start}#pane-calendar .stat-card::before{display: none}#pane-calendar .stat-num{font-size: var(--fs-base);letter-spacing: 0}#pane-calendar .stat-label{margin-top: 0;font-size: var(--fs-xs);letter-spacing: 0.4px}.wk-col{min-height: 100px;padding: var(--space-2)}.wk-head .dnum{font-size: var(--fs-md)}.month-info{min-width: 130px}.month-label{font-size: var(--fs-lg)}.toasts{right: 12px;left: 12px;bottom: calc(58px + env(safe-area-inset-bottom) + 12px);max-width: none}.modal-root{padding: var(--space-4)}.modal-root{align-items: flex-end;padding: 0}.modal{width: 100%;max-width: none;max-height: 88vh;margin: 0;border-radius: var(--r-xl) var(--r-xl) 0 0;border-bottom: 0;animation: sheet-up var(--dur) var(--ease-out) both}.modal-root:not(#duty-modal) .modal{margin: 0;max-width: none}.modal-root:not(#duty-modal) .modal-actions{padding-bottom: max(var(--space-3),env(safe-area-inset-bottom))}#duty-modal .modal{height: 88vh;max-height: 88vh;border-radius: var(--r-xl) var(--r-xl) 0 0}@keyframes sheet-up{from{transform: translateY(var(--space-6));opacity: 0}}}@media (max-width: 420px){.hero-actions .btn>span{display: none}.hero-actions .btn{padding: 0 var(--space-3)}.field-row{flex-direction: column}}@media (prefers-reduced-motion: reduce){html,body,*,*::before,*::after{scroll-behavior: auto !important;animation-duration: 0.01ms !important;animation-delay: 0s !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;transition-delay: 0s !important}.status-pill .dot,.live-pulse-dot,.map-hub-ring,.gate-submit[disabled] .gate-spinner,.clock-live,.gate-step.is-active .gate-step-dot,#bg-import .dot,.spinner,.focus-sheet,.bento-hero .bp-arc-path,.bento-hero .bp-pulse,.bento-hero .bp-status.is-live .bp-pulse,#route-map .map-hub-ring,.boot-arc,.boot-plane,.boot-port-pulse,.modal-root,.modal-root .modal{animation: none !important}.boot-plane{offset-distance: 50% !important;opacity: 1 !important}.gate-step.is-active .gate-step-dot{border-color: var(--sky);background: color-mix(in srgb,var(--sky) 16%,transparent)}.bg-import-bar{transition: none !important}}@media (pointer: coarse){.btn,.icon-btn,.lang-btn,.seg,.sub-tab,.modal-x,.toast-action,.day-actions .mini,.chip{min-height: 44px}.modal-x{min-width: 44px}input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height: 44px}}@media print{.rail,.subnav,.hero,.status-pill-row,.view-switch,.month-nav,.chips,.stats,body:not(.printing-sheet) .modal-root,.toasts,.print-hide,.empty-icon,.gate,.day-actions,.map-chips,footer,.cal-pager,.cal-deck-tools,.cal-filterbar,.cal-instruments,.cal-kicker,.cal-period-note,.cal-today-tag,.cal-daystat,.day-sheet,.day-sheet-scrim,.me-grid{display: none !important}.sheet-nav,.sheet-foot,.sync-actions,.stats-doors,.search-hint{display: none !important}body.printing-sheet .modal-root{display: block;position: static;inset: auto;padding: 0;background: #fff}body.printing-sheet .modal{max-width: 100%;max-height: none;overflow: visible;border: 0;border-radius: 0;box-shadow: none;background: #fff}body.printing-sheet .modal::before{display: none}body.printing-sheet .modal-head{position: static;padding: 0 0 var(--space-2);background: #fff;color: #000;border-bottom: 1px solid #ccc}body.printing-sheet .modal-head h2{color: #000}body.printing-sheet .modal-x,body.printing-sheet .modal-actions,body.printing-sheet .sheet-sector-tools{display: none}body.printing-sheet .detail-body{padding: 0}body.printing-sheet .sheet-block{break-inside: avoid}body.printing-sheet .sheet-k,body.printing-sheet .sheet-v,body.printing-sheet .sheet-na,body.printing-sheet .sheet-hint{color: #000}body.printing-sheet .sheet-cell{background: #fff;border-color: #ccc;box-shadow: none}.round-sector,.round-hotel,.sheet-block{break-inside: avoid}html{background: #fff}body{background: #fff;color: #000;padding-bottom: 0;font-size: var(--fs-print)}body::before,body::after{display: none}.app{display: block;min-height: 0}main{max-width: 100%;padding: 0}.pane{display: none !important}body:not(.printing-sheet) .pane.active{display: block !important}.calendar-view,.week-view,.day-view,.days,.rot,.dash-card,.chart-card,.stat-card,.day-card{box-shadow: none;border-color: #ccc;break-inside: avoid}.cal-deck,.calendar-view,.week-view,.day-view,.day-card,.cal-list-group,.cal-list-head,.cal-inst,.dv-datehead{background: #fff !important;color: #000 !important;box-shadow: none !important;border-color: #ccc !important}.cal-pane .cal-cell{background: #fff !important;border-color: #ccc !important;box-shadow: none !important}.cal-pane .cal-dow{background: #fff !important;border-color: #ccc !important}.cal-pane .cal-dow span{color: #333 !important}.cal-pane .cal-foot,.cal-pane .cal-lay-label,.cal-pane .cal-start small{color: #333 !important}.cal-pane .cal-thread,.cal-pane .cal-offbar,.cal-pane .cal-laybar{background: #999 !important}.cal-pane .cal-evt-path,.cal-pane .dr-line{border-color: #999 !important}.cal-pane .cal-evt,.cal-pane .cal-lane,.cal-pane .cal-start{background: #fff !important;color: #000 !important;border-color: #999 !important;box-shadow: none !important}.cal-pane .cal-evt *,.cal-pane .cal-evt-time,.cal-pane .cal-tarr,.cal-pane .cal-evt-flt,.cal-pane .cal-route{color: #000 !important}.cal-pane .cal-num,.cal-pane .cal-label,.cal-pane .dv-daynum,.cal-pane .dv-metric b,.cal-pane .day-num,.cal-pane .flight-num{color: #000 !important}@page{size: A4 landscape}.cal-cell{min-height: 86px}.cal-pane .cal-cell.today,.cal-pane .cal-cell.today .cal-num,.cal-pane .cal-cell.today:hover{background: #fff !important;background-image: none !important;color: #000 !important;box-shadow: none !important}.cal-pane .cal-cell.today .cal-num{border: 1px solid #000}.cal-cell:hover,.cal-cell:hover::before{background: none;border-color: transparent}.dash-title{color: #333}.stat-num,.dash-big,.modal-head h2,.modal-head h3,.detail-hero .flight-num,.focus-flt{background: none;color: #000;-webkit-text-fill-color: #000}.chart .bar,.mix-bar{background: none !important;border: 1px solid #666}@page{margin: 10mm}}@media (max-width: 999px){.btn,.map-chip,.period-chip{height: 44px;min-width: 44px}select,input:not([type="checkbox"]):not([type="radio"]),textarea{min-height: 44px}.cal-pane .chip,.cal-pane .cal-today-btn{min-width: 44px}.icon-btn{position: relative}.icon-btn::after{content: "";position: absolute;inset: -2px}button.status-pill{position: relative}button.status-pill::after{content: "";position: absolute;inset: -11px 0}}.kpi-row{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: var(--gap);margin-bottom: var(--gap)}.kpi{display: grid;grid-template-columns: auto 1fr;grid-template-areas: "dial figures" "bar  bar" "cap  cap";align-items: center;gap: var(--space-3) var(--space-4);padding: var(--space-4);background: var(--card);border: 1px solid var(--card-border);border-radius: var(--r-md);transition: border-color var(--dur-fast) var(--ease)}.kpi:hover{border-color: var(--card-border-2)}.kpi-dial{grid-area: dial;width: 46px;height: 46px;transform: rotate(-90deg);overflow: visible}.kpi-track{fill: none;stroke: var(--card-border);stroke-width: 4}.kpi-arc{fill: none;stroke: var(--sky);stroke-width: 4;stroke-linecap: round;transition: stroke-dashoffset var(--dur) var(--ease-out),stroke var(--dur-fast) var(--ease)}.kpi.is-over .kpi-arc{stroke: var(--danger)}.kpi[data-kpi="ftl"] .kpi-arc{stroke: var(--amber)}.kpi[data-kpi="ftl"] .kpi-bar i{background: var(--amber)}.kpi[data-kpi="ftl"].is-over .kpi-arc{stroke: var(--danger)}.kpi[data-kpi="ftl"].is-over .kpi-bar i{background: var(--danger)}.kpi.is-over .kpi-bar i{background: var(--danger)}.kpi-figures{grid-area: figures;display: flex;flex-direction: column;min-width: 0}.kpi-num{font-size: var(--fs-xl);font-weight: 800;line-height: 1.15;letter-spacing: -0.01em;color: var(--text);font-variant-numeric: var(--tnum)}.kpi-label{font-size: var(--fs-label);font-weight: 700;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.kpi-bar{grid-area: bar;height: 4px;border-radius: var(--r-full);background: color-mix(in srgb,var(--text-faint) 16%,transparent);overflow: hidden}.kpi-bar i{display: block;height: 100%;width: 0;border-radius: var(--r-full);background: linear-gradient(90deg,var(--sky),var(--flight-ink));transition: width var(--dur) var(--ease-out),background var(--dur-fast) var(--ease)}.kpi-cap{grid-area: cap;font-size: var(--fs-3xs);color: var(--text-faint);font-variant-numeric: var(--tnum)}@media (max-width: 1100px){.kpi-row{grid-template-columns: repeat(3,minmax(0,1fr))}}@media (max-width: 620px){.kpi-row{grid-template-columns: repeat(2,minmax(0,1fr))}.kpi{grid-template-areas: "figures figures" "bar bar" "cap cap";gap: var(--space-2) var(--space-3);padding: var(--space-3)}.kpi-dial{display: none}.kpi-num{font-size: var(--fs-xl)}}.chart{width: 100%}.area-frame{display: grid;grid-template-columns: auto minmax(0,1fr);grid-template-rows: auto auto;grid-template-areas: "ylab plot" ".    xlab";flex: 1 1 auto;width: 100%;min-width: 0;align-self: stretch;column-gap: var(--space-3);row-gap: var(--space-2)}.area-y{grid-area: ylab;display: grid;align-content: space-between;justify-items: end;text-align: right}.area-y span{font-size: var(--fs-3xs);font-weight: 600;color: var(--text-faint);font-variant-numeric: var(--tnum);white-space: nowrap;line-height: 1}.area-y span:first-child{transform: translateY(-50%)}.area-y span:last-child{transform: translateY(50%)}.area-plot{grid-area: plot;position: relative;min-width: 0}.area-chart{display: block;width: 100%;height: clamp(150px,17vw,240px)}.area-x{grid-area: xlab;display: grid;grid-template-columns: repeat(12,minmax(0,1fr));font-size: var(--fs-2xs);font-weight: 600;color: var(--text-faint)}.area-x span{text-align: center;min-width: 0}.area-x span.is-unknown{opacity: 0.5}.area-fill{fill: url(#area-fill)}.area-line{fill: none;stroke: url(#area-stroke);stroke-width: 2;stroke-linejoin: round;stroke-linecap: round;vector-effect: non-scaling-stroke}.area-grid{stroke: var(--card-border);stroke-width: 1;vector-effect: non-scaling-stroke}.area-base{stroke: var(--card-border-2);stroke-width: 1;vector-effect: non-scaling-stroke}.area-hit{fill: transparent;cursor: pointer;transition: fill var(--dur-fast) var(--ease)}.area-hit:hover{fill: color-mix(in srgb,var(--sky) 8%,transparent)}.area-hit:focus-visible{fill: color-mix(in srgb,var(--sky) 12%,transparent);outline: 2px solid var(--sky);outline-offset: -2px}.area-hit.is-unknown{fill: transparent}.area-hit.is-unknown:hover{fill: color-mix(in srgb,var(--text-faint) 8%,transparent)}.area-x.is-unknown{fill: var(--text-faint);opacity: 0.45}.area-future{fill: color-mix(in srgb,var(--text-faint) 5%,transparent)}.map-route.is-preview{filter: drop-shadow(0 0 6px color-mix(in srgb,var(--sky) 70%,transparent))}@media (max-width: 1100px){.dash-grid>.dash-card:nth-child(1),.dash-grid>.dash-card:nth-child(2){grid-column: span 12}}@media (max-width: 620px){.dash-grid>.dash-card:nth-child(1),.dash-grid>.dash-card:nth-child(2),.dash-grid>.dash-card{grid-column: 1 / -1}}.bento{display: grid;grid-template-columns: repeat(12,minmax(0,1fr));gap: var(--gap);margin-bottom: var(--gap);align-items: start}.bento-hero{grid-column: span 8}.bento-stay{grid-column: span 4}@media (max-width: 1100px){.bento-hero,.bento-stay{grid-column: span 12}}@media (max-width: 620px){.bento-hero,.bento-stay{grid-column: 1 / -1}}.bento-hero .dash-body{position: relative}.bento-hero .flight-strip{position: relative;border: 0;background: none;padding: 0;gap: var(--space-5)}.bento-hero .dash-title{border-bottom: 1px solid var(--card-border);padding-bottom: var(--space-3);margin-bottom: var(--space-4)}.stay-head{display: flex;align-items: center;gap: var(--space-2);margin-bottom: var(--space-3)}.stay-state{display: inline-flex;align-items: center;gap: var(--space-2);font-size: var(--fs-label);font-weight: 800;letter-spacing: 0.7px;text-transform: uppercase;padding: var(--space-1) var(--space-3);border-radius: var(--r-full)}.stay-state.is-active{color: var(--hotel-ink);background: color-mix(in srgb,var(--green) 14%,transparent);border: 1px solid var(--hotel-line)}.stay-state.is-next{color: var(--text-soft);background: var(--surface-2);border: 1px solid var(--card-border)}.stay-inferred{font-size: var(--fs-meta);font-weight: 700;letter-spacing: 0.4px;color: var(--text-faint);border: 1px dashed var(--card-border-2);border-radius: var(--r-full);padding: 1px var(--space-2);white-space: nowrap}.stay-place{display: flex;flex-direction: column;gap: var(--space-1);margin-bottom: var(--space-4)}.stay-hotel{font-size: var(--fs-lg);font-weight: 700;color: var(--text);line-height: 1.2;overflow-wrap: anywhere}.stay-city{font-size: var(--fs-sm);color: var(--text-soft)}.stay-span{display: grid;grid-template-columns: auto minmax(0,1fr) auto;align-items: end;gap: var(--space-3);padding-top: var(--space-3);margin-bottom: var(--space-4);border-top: 1px solid var(--card-border)}.stay-stamp{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0}.stay-stamp.is-end{text-align: right;align-items: flex-end}.stay-stamp-key{font-size: var(--fs-label);font-weight: 700;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint);white-space: nowrap}.stay-stamp-val{font-size: var(--fs-base);font-weight: 700;color: var(--text);white-space: nowrap}.stay-span-mid{position: relative;display: flex;align-items: center;justify-content: center;padding-bottom: var(--space-2)}.stay-span-line{position: absolute;left: 0;right: 0;top: 50%;border-top: 1px dashed var(--card-border-2)}.stay-span-dur{position: relative;padding: 0 var(--space-2);font-size: var(--fs-xs);font-weight: 700;color: var(--hotel-ink);background: var(--card);white-space: nowrap}.stay-rows{list-style: none;margin: 0 0 var(--space-4);padding: 0;display: flex;flex-direction: column;gap: var(--space-2)}.stay-row{display: grid;grid-template-columns: 5.5rem 1fr;gap: var(--space-3);align-items: baseline}.stay-key{font-size: var(--fs-label);font-weight: 700;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint)}.stay-val{font-size: var(--fs-sm);color: var(--text);min-width: 0;overflow-wrap: anywhere}.stay-wx{display: flex;align-items: center;gap: var(--space-2);padding-top: var(--space-3);border-top: 1px solid var(--card-border);font-size: var(--fs-sm)}.stay-wx.is-empty{color: var(--text-faint);font-size: var(--fs-label);font-style: italic}.stay-wx-ico{display: inline-flex;flex: none;color: var(--sky-ink)}.stay-wx-ico svg{width: 15px;height: 15px}.stay-wx-apt{font-weight: 800;letter-spacing: 0.06em;color: var(--text)}.stay-wx-temp{font-weight: 700;color: var(--sky-ink)}.stay-wx-name{color: var(--text-soft);min-width: 0}.stay-wx-range{margin-left: auto;color: var(--text-faint);font-size: var(--fs-label);font-variant-numeric: var(--tnum)}.flight-strip{display: flex;flex-direction: column;gap: var(--space-3);padding: var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-md);background: var(--surface-2);cursor: pointer;transition: border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.flight-strip:hover{border-color: var(--flight-line);background: var(--card)}.flight-strip:focus-visible{box-shadow: var(--ring-soft)}.strip-head{display: flex;align-items: center;gap: var(--space-3);padding-bottom: var(--space-3);border-bottom: 1px solid var(--card-border)}.strip-flt{font-size: var(--fs-lg);font-weight: 700;letter-spacing: 0.04em;font-variant-numeric: var(--tnum)}.strip-dep-in{margin-left: auto;font-size: var(--fs-meta);font-weight: 700;color: var(--flight-ink);white-space: nowrap;font-variant-numeric: var(--tnum)}.strip-route{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-1) 0}.strip-end{display: flex;flex-direction: column;gap: var(--space-0);flex: none}.strip-end:last-child{text-align: right;align-items: flex-end}.strip-end b{font-size: var(--fs-xl);font-weight: 700;letter-spacing: 0.06em;line-height: 1.1}.strip-end span{font-size: var(--fs-meta);color: var(--text-faint);white-space: nowrap;max-width: 110px;overflow: hidden;text-overflow: ellipsis}.strip-leg{flex: 1 1 auto;display: flex;align-items: center;gap: var(--space-2);min-width: 60px}.strip-leg-line{flex: 1;height: 1px;border-top: 1px dashed var(--card-border-2)}.strip-leg::before,.strip-leg::after{content: "";width: 4px;height: 4px;border-radius: var(--r-xl);border: 1px solid var(--card-border-2);flex: none}.strip-block{font-size: var(--fs-label);font-weight: 600;color: var(--text-faint);white-space: nowrap;font-variant-numeric: var(--tnum)}.strip-times{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));border-top: 1px solid var(--card-border);padding-top: var(--space-3)}.strip-col{display: flex;flex-direction: column;gap: var(--space-0);padding: 0 var(--space-3);min-width: 0}.strip-col + .strip-col{border-left: 1px solid var(--card-border)}.strip-col:first-child{padding-left: 0}.strip-key{font-size: var(--fs-label);font-weight: 600;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.strip-col b{font-size: var(--fs-base);font-weight: 700;line-height: 1.2;font-variant-numeric: var(--tnum)}.strip-rest{display: flex;align-items: center;gap: var(--space-3)}.strip-rest-bar{flex: 1;height: 3px;border-radius: var(--r-xl);background: var(--card-border);overflow: hidden}.strip-rest-bar .bar-fill{display: block;height: 100%;border-radius: var(--r-full);overflow: hidden}.strip-rest-bar .bar-fill rect{fill: var(--hotel)}.strip-rest.bad .strip-rest-bar .bar-fill rect{fill: var(--danger)}.strip-rest-txt{font-size: var(--fs-label);font-weight: 600;color: var(--text-faint);white-space: nowrap;font-variant-numeric: var(--tnum)}.strip-rest.bad .strip-rest-txt{color: var(--danger)}.strip-foot{font-size: var(--fs-label);color: var(--text-faint);padding-top: var(--space-2);border-top: 1px solid var(--card-border);letter-spacing: 0.3px}.op-status{display: flex;flex-direction: column;gap: var(--space-3);padding: var(--space-3) var(--space-4);border: 1px solid var(--card-border-2);border-left: 2px solid var(--hotel);border-radius: var(--r-md);background: var(--card);margin-bottom: var(--gap)}.op-status.is-duty{border-left-color: var(--flight)}.op-status.is-off{border-left-color: var(--off-line)}.op-badge{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap}.op-badge-main{font-size: var(--fs-base);font-weight: 700;letter-spacing: 0.01em}.op-badge-sub{font-size: var(--fs-meta);color: var(--text-soft);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.op-countdown{display: flex;align-items: baseline;gap: var(--space-2);font-size: var(--fs-sm);font-weight: 600;color: var(--text-soft)}.op-countdown b{font-size: var(--fs-md);font-weight: 700;color: var(--text);font-variant-numeric: var(--tnum)}.op-meta{display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-4);font-size: var(--fs-meta);color: var(--text-faint)}.op-meta b{color: var(--text-soft);font-weight: 600;font-variant-numeric: var(--tnum)}.cal-chip,.cal-lane{display: flex;align-items: stretch;gap: var(--space-2);width: 100%;padding: var(--space-0) var(--space-2);border-radius: var(--r-xs);border: 1px solid var(--flight-line);background: var(--flight-soft);color: var(--flight-ink);font-size: var(--fs-label);font-weight: 700;line-height: 1.5;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;font-variant-numeric: var(--tnum)}.cal-chip .tdot{width: 4px;height: 4px;border-radius: var(--r-full);background: currentColor;flex: none}.cal-chip .chip-txt{overflow: hidden;text-overflow: ellipsis}.cal-chip.t-hotel{border-color: var(--hotel-line);background: var(--hotel-soft);color: var(--hotel-ink)}.cal-chip.t-standby{border-color: var(--standby-line);background: var(--standby-soft);color: var(--standby-ink)}.cal-chip.t-training{border-color: var(--training-line);background: var(--training-soft);color: var(--training-ink)}.cal-chip.t-reserve{border-color: var(--reserve-line);background: var(--reserve-soft);color: var(--reserve-ink)}.cal-chip.t-off{border-color: var(--off-line);background: var(--off-soft);color: var(--off-ink)}.cal-chip.t-deadhead{border-style: dashed}.rot{border: 1px solid var(--card-border);border-radius: var(--r-md);background: var(--card);padding: var(--space-3) var(--space-4);margin-bottom: var(--gap)}.rot-head{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap;padding-bottom: var(--space-3);margin-bottom: var(--space-3);border-bottom: 1px solid var(--card-border)}.rot-route{display: flex;align-items: center;gap: var(--space-2);font-size: var(--fs-base);font-weight: 700;letter-spacing: 0.05em}.rot-route i{color: var(--text-faint);font-style: normal;font-weight: 400}.rot-metrics{display: flex;gap: 16px;flex-wrap: wrap;margin-left: auto}.rot-metric{display: flex;flex-direction: column;gap: 0;align-items: flex-end;padding-left: 14px;border-left: 1px solid var(--card-border)}.rot-metric:first-child{border-left: 0;padding-left: 0}.rot-metric b{font-size: var(--fs-base);font-weight: 700;font-variant-numeric: var(--tnum)}.rot-span{white-space: nowrap}.rot-metric b i{font-style: normal;color: var(--text-faint);padding: 0 var(--space-1)}.rot-metric span{font-size: var(--fs-label);font-weight: 600;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint)}.rot-timeline{display: flex;flex-direction: column}.rot-node{position: relative;display: flex;gap: var(--space-3);padding: 0 0 var(--space-3) 0}.rot-node::before{content: "";position: absolute;left: 5px;top: 12px;bottom: 0;width: 1px;background: var(--card-border-2)}.rot-node:last-child{padding-bottom: 0}.rot-node:last-child::before{display: none}.rot-dot{position: relative;z-index: 1;flex: none;width: 11px;height: 11px;margin-top: var(--space-1);border-radius: var(--r-xl);border: 2px solid var(--bg);background: var(--flight);box-shadow: 0 0 0 1px var(--flight-line)}.rot-node.is-layover .rot-dot{background: var(--hotel);box-shadow: 0 0 0 1px var(--hotel-line)}.rot-node.is-end .rot-dot{background: var(--accent);box-shadow: 0 0 0 1px var(--accent)}.rot-card{flex: 1;min-width: 0;display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-3);padding: var(--space-2) var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-sm);background: var(--surface-2)}.rot-node.is-layover .rot-card{border-color: var(--card-border);background: none;box-shadow: none}.rot-node.is-layover .rot-hotel{font-size: var(--fs-xs);font-weight: 600;color: var(--text-soft)}.rot-leg-flt{font-size: var(--fs-base);font-weight: 700;letter-spacing: 0.04em;flex: none;font-variant-numeric: var(--tnum)}.rot-leg-route{font-size: var(--fs-sm);color: var(--text-soft);min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.rot-leg-time{margin-left: auto;font-size: var(--fs-meta);color: var(--text-faint);white-space: nowrap;font-variant-numeric: var(--tnum)}.leg-meta{font-size: var(--fs-meta);font-weight: 700;color: var(--text-faint);border: 1px solid var(--card-border);border-radius: var(--r-full);padding: 0 var(--space-2);white-space: nowrap}.leg-metas{display: inline-flex;flex-wrap: wrap;gap: var(--space-2);margin-left: var(--space-2)}.leg-ac{color: var(--flight-ink);border-color: var(--card-border-2)}.leg-pax{color: var(--text)}.leg-meal{color: var(--hotel-ink)}.leg-gate{color: var(--text-faint)}.rot-leg-sub{font-size: var(--fs-meta);color: var(--text-faint);margin-left: var(--space-2)}.hotel-metas{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-1)}.hotel-meta{font-size: var(--fs-meta);color: var(--text-faint)}.rot-rest-badge{flex: none;font-size: var(--fs-label);font-weight: 700;padding: var(--space-0) var(--space-2);border-radius: var(--r-xs);border: 1px solid var(--hotel-line);background: var(--card);color: var(--hotel-ink);white-space: nowrap;font-variant-numeric: var(--tnum)}.rot-hotel{flex: 1;min-width: 0;font-size: var(--fs-sm);color: var(--text);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.chart .bar{fill: var(--flight);opacity: 0.85;transition: opacity var(--dur-fast) var(--ease)}.chart .bar:hover{opacity: 1}.stat-card{background: var(--card);border: 1px solid var(--card-border);border-radius: var(--r-md);padding: var(--space-3) var(--space-3);box-shadow: none;transition: border-color var(--dur-fast) var(--ease)}.stat-card:hover{border-color: var(--card-border-2)}.stat-num{font-size: var(--fs-xl);font-weight: 700;line-height: 1.1;letter-spacing: -0.02em;font-variant-numeric: var(--tnum)}.stat-label{font-size: var(--fs-label);font-weight: 600;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint);margin-top: var(--space-0)}.stats,.stats-cards,.mix-grid{gap: var(--gap) !important}.stats,.stats-cards{margin-bottom: var(--gap) !important}.mix-grid{margin-bottom: var(--gap)}.stats,.stats-cards{grid-template-columns: repeat(auto-fit,minmax(104px,1fr)) !important}.mix-row,.months-table td,.months-table th{font-variant-numeric: var(--tnum)}.mix-row:hover{background: var(--surface-2)}.map-card{padding: 0;border-radius: var(--r-md);background: var(--surface-2);position: relative}#route-map{width: 100%;height: auto;display: block;background: radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,0.02),transparent 60%),var(--surface-2)}#route-map .route-arc{fill: none;stroke: var(--flight);stroke-linecap: round;filter: drop-shadow(0 0 2px color-mix(in srgb,var(--flight) 55%,transparent))}#route-map .route-node{fill: var(--card);stroke: var(--flight-ink);stroke-width: 1}.map-hint{color: var(--text-faint)}.map-summary{border: 1px solid var(--card-border);border-radius: var(--r-md);background: var(--card);overflow: auto hidden;margin-bottom: var(--gap)}.map-summary-head{display: flex;align-items: baseline;gap: var(--space-3);padding: var(--space-3) var(--space-3);border-bottom: 1px solid var(--card-border)}.map-summary-head b{font-size: var(--fs-base);font-weight: 700}.map-summary-head span{font-size: var(--fs-meta);color: var(--text-faint);margin-left: auto}.dest-table{width: 100%;border-collapse: collapse;font-size: var(--fs-meta);table-layout: fixed}.dest-table th{text-align: left;font-size: var(--fs-label);font-weight: 600;letter-spacing: 0.5px;text-transform: uppercase;color: var(--text-faint);padding: var(--space-2) var(--space-3);border-bottom: 1px solid var(--card-border)}.dest-table td{padding: var(--space-2) var(--space-3);border-bottom: 1px solid var(--card-border);font-variant-numeric: var(--tnum)}.dest-table tr:last-child td{border-bottom: 0}.dest-table tr:hover td{background: var(--surface-2)}.dest-code{font-weight: 700;letter-spacing: 0.05em}.dest-city{color: var(--text-soft)}.dest-num{text-align: right;color: var(--text-soft)}.dest-table th.dest-th-num{text-align: right}.dest-freq{display: inline-flex;align-items: center;justify-content: flex-end;gap: var(--space-2)}.dest-freq-bar{height: 6px;border-radius: var(--r-full);background: var(--card-border);overflow: hidden}.dest-freq .dest-freq-bar{width: 48px;flex: none}.dest-freq-bar .bar-fill{display: block;height: 100%;overflow: hidden}.dest-freq-bar .bar-fill rect{fill: var(--flight)}.day-sheet{position: fixed;inset: 0 0 0 auto;width: min(420px,92vw);z-index: 120;display: flex;flex-direction: column;background: var(--card);border-left: 1px solid var(--card-border-2);box-shadow: var(--shadow-xl);transform: translateX(100%);transition: transform var(--dur) var(--ease-out)}.day-sheet.open{transform: none}.day-sheet-scrim{position: fixed;inset: 0;z-index: 110;background: rgba(0,0,0,0.5);opacity: 0;pointer-events: none;transition: opacity var(--dur) var(--ease)}.day-sheet-scrim.open{opacity: 1;pointer-events: auto}.day-sheet-head{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--card-border)}.day-sheet-head b{font-size: var(--fs-base);font-weight: 700}.day-sheet-x{margin-left: auto;width: 26px;height: 26px;border-radius: var(--r-sm);border: 1px solid var(--card-border);background: var(--surface-2);color: var(--text-soft);cursor: pointer;font-size: var(--fs-md);line-height: 1}.day-sheet-x:hover{color: var(--text);border-color: var(--card-border-2)}.day-sheet-body{overflow-y: auto;padding: var(--space-3) var(--space-4) var(--space-7)}.dv-list,.duty-meta,.dash-week{gap: var(--gap) !important}.dash-week{gap: var(--gap)}.dash-duty{min-height: var(--row-h);padding: var(--space-2) var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-sm);background: var(--card)}.dash-duty:hover{border-color: var(--card-border-2)}.modal-root{background: rgba(0,0,0,0.62);-webkit-backdrop-filter: none;backdrop-filter: none}.modal{background: var(--card);border: 1px solid var(--card-border-2);border-radius: var(--r-xl);box-shadow: var(--shadow-xl);max-height: min(86vh,760px)}.modal-head{padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--card-border)}.modal-head h2,.modal-head h3{font-size: var(--fs-base);font-weight: 700}.modal-x{width: 26px;height: 26px;border-radius: var(--r-sm);color: var(--text-soft)}.modal-x:hover{background: var(--surface-2);color: var(--text)}.toast{background: var(--card);border: 1px solid var(--card-border-2);border-radius: var(--r-sm);box-shadow: var(--shadow-lg);font-size: var(--fs-base);padding: var(--space-3) var(--space-4)}footer.print-hide{border-top: 1px solid var(--card-border);padding: var(--space-3) 0 var(--space-6);margin-top: var(--gap);font-size: var(--fs-meta);color: var(--text-faint)}footer .foot-mark{display: none}.kbd{border: 1px solid var(--card-border-2);border-bottom-width: 2px;border-radius: var(--r-xs);background: var(--surface-2);color: var(--text-soft);font-size: var(--fs-2xs);padding: var(--space-0) var(--space-2)}.station-select{height: 30px;width: 100%;max-width: 240px;padding: 0 var(--space-3);border-radius: var(--r-sm);border: 1px solid var(--card-border);background: var(--surface-2);color: var(--text);font-size: var(--fs-base)}.station-select:focus{border-color: var(--card-border-2)}.clock-pair{display: flex;align-items: stretch;gap: var(--space-0);flex: none;border: 1px solid var(--card-border);border-radius: var(--r-sm);overflow: hidden;background: var(--card-border)}.clock-cell{display: flex;flex-direction: column;justify-content: center;gap: var(--space-0);padding: var(--space-1) var(--space-3);background: var(--card);min-width: 74px}.clock-cell b{font-size: var(--fs-base);font-weight: 700;line-height: 1.05;letter-spacing: 0.02em;font-variant-numeric: var(--tnum)}.clock-cell small{font-size: var(--fs-3xs);font-weight: 600;letter-spacing: 0.7px;text-transform: uppercase;color: var(--text-faint);line-height: 1}.clock-cell.is-utc b{color: var(--text)}.clock-cell.is-local b{color: var(--flight-ink)}.pill-status{display: inline-flex;align-items: center;gap: var(--space-2);height: 28px;padding: 0 var(--space-3);border-radius: var(--r-xl);border: 1px solid var(--card-border);background: var(--card);font-size: var(--fs-meta);font-weight: 600;color: var(--text-soft);white-space: nowrap;flex: none}.pill-status .dot{width: 6px;height: 6px;border-radius: var(--r-xl);background: var(--hotel);flex: none}.pill-status.is-offline .dot{background: var(--standby)}.pill-status.is-offline{color: var(--text-faint)}@media (max-width: 900px){.clock-cell.is-local{display: none}.hero .hero-sub{display: none}}@media (max-width: 640px){.clock-pair{display: none}}.map-layout{display: grid;grid-template-columns: minmax(0,1fr) 300px;gap: var(--gap);align-items: start}.map-layout .map-summary{margin-bottom: 0}@media (max-width: 1080px){.map-layout{grid-template-columns: minmax(0,1fr)}}#route-map .map-ocean{fill: var(--surface-2)}#route-map .map-grid{stroke: var(--card-border);stroke-width: 0.5}#route-map .map-land{fill: var(--card);stroke: var(--card-border);stroke-width: 0.5;opacity: 0.5}#route-map .map-dot{fill: var(--card);stroke: var(--flight-ink);stroke-width: 1}#route-map .map-dot.base-hub{stroke: var(--accent-ink);stroke-width: 1.4}#route-map .map-hub-ring{fill: none;stroke: var(--accent-ink);stroke-width: 1}#route-map .map-route{stroke: var(--flight);opacity: 0.42;transition: opacity var(--dur-fast) var(--ease)}#route-map .map-route:hover,#route-map .map-route.highlighted{opacity: 0.95}#route-map .map-label{fill: var(--text-soft);font-size: var(--fs-3xs);font-weight: 600;letter-spacing: 0.4px}#route-map .map-label.base-hub{fill: var(--accent-ink)}#route-map .map-label.is-hub{fill: var(--text);font-weight: 800}#route-map text{font-variant-numeric: var(--tnum)}.dash-live-banner{padding: var(--space-3) var(--space-4) var(--space-3) var(--space-4);border-radius: var(--r-md);background: var(--card);border: 1px solid var(--card-border)}.dash-live-banner::before{width: 2px;background: var(--live-color,var(--flight));box-shadow: none}.dash-live-banner:hover{transform: none;box-shadow: none;border-color: var(--card-border-2)}.dash-live-banner .live-title{font-size: var(--fs-md)}.dash-live-banner .live-sub{color: var(--text-soft)}.rest-day-card{padding: var(--space-3) var(--space-3);gap: var(--space-3);border-radius: var(--r-md);background: var(--off-soft);border: 1px solid var(--off-line)}.rest-day-card .rest-icon{width: 30px;height: 30px;font-size: var(--fs-lg);border-radius: var(--r-sm);background: var(--card);border: 1px solid var(--off-line)}.rest-day-card .rest-title{font-size: var(--fs-base);color: var(--off-ink)}.rest-day-card .rest-sub{font-size: var(--fs-meta);color: var(--text-faint)}.ops-item{border-radius: var(--r-sm);background: var(--surface-2);border: 1px solid var(--card-border)}.week-mini{min-height: var(--row-h)}.trip-list{gap: var(--gap)}.chart .bar,.chart .bar.multi{background: var(--flight) !important;opacity: 0.9}.chart .bar.multi{background: var(--flight)}.chart .bar:hover{filter: none;transform: none;opacity: 1}.live-bar-fill{background: var(--live-color,var(--flight)) !important;box-shadow: none !important}.mix-bar{background: var(--card-border) !important;box-shadow: none !important}.mix-row .dot,.tb-row .dot{box-shadow: none !important}.tb-row .dot{box-shadow: none}.cal-cell.today{background: var(--card) !important;box-shadow: inset 0 0 0 1px var(--card-border-2)}.cal-cell.today::after{display: none}.cal-cell.today .cal-num{background: var(--card) !important;color: var(--accent-ink) !important;box-shadow: inset 0 0 0 1px var(--accent) !important}.wk-head.today{background: var(--card) !important;border-color: var(--accent)}.stat-card:hover{transform: none}.day-card:hover{transform: none;box-shadow: none;border-color: var(--card-border-2)}.dash-portal{display: grid;gap: var(--gap);grid-template-columns: repeat(auto-fit,minmax(260px,1fr));margin-bottom: var(--gap)}.dash-portal.hidden{display: none}.portal-block{background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-md,10px);padding: var(--pad);min-width: 0}.portal-h{display: flex;align-items: center;gap: var(--space-3);margin: 0 0 var(--space-3);font-size: var(--fs-label);font-weight: 650;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-soft)}.portal-h svg{width: 15px;height: 15px;flex: none}.portal-notes,.portal-bids,.portal-wx-list,.portal-leave{list-style: none;margin: 0;padding: 0;display: grid;gap: var(--space-3)}.portal-note{display: flex;gap: var(--space-3);align-items: flex-start;font-size: var(--fs-meta);line-height: 1.45}.portal-note-ico{flex: none;width: 15px;height: 15px;margin-top: var(--space-0)}.portal-note-ico svg{width: 100%;height: 100%}.portal-note--warn .portal-note-ico{color: var(--warning)}.portal-note--info .portal-note-ico{color: var(--text-faint)}.portal-note-txt{display: grid;gap: var(--space-0);min-width: 0}.portal-note-txt b{font-weight: 600;color: var(--text)}.portal-note--warn .portal-note-txt b{color: var(--warning)}.portal-note-sub{color: var(--text-faint)}.portal-wx{display: grid;grid-template-columns: 3.6rem 1fr auto auto;align-items: baseline;gap: var(--space-3);font-variant-numeric: var(--tnum);cursor: help}.portal-wx--pending{color: var(--text-faint);cursor: default}.portal-wx-code{font-weight: 650;color: var(--text);letter-spacing: 0.02em}.portal-wx-temp{color: var(--text-soft)}.portal-wx-wind{color: var(--text-faint);font-size: var(--fs-label)}.portal-wx-range{color: var(--text-faint);font-size: var(--fs-label)}.portal-wx-rain{color: var(--sky);font-size: var(--fs-label);font-weight: 700}.portal-bid{display: grid;gap: var(--space-0);font-size: var(--fs-meta)}.portal-bid b{font-weight: 600;color: var(--text)}.portal-bid span{color: var(--text-faint);font-size: var(--fs-label)}.portal-leave-row{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-2);font-size: var(--fs-meta)}.portal-leave-k{color: var(--text-soft);font-weight: 600}.portal-leave-v{color: var(--text-faint);font-size: var(--fs-label);text-align: right}@media (max-width: 640px){.dash-portal{grid-template-columns: 1fr}}@media (forced-colors: active){:focus-visible{outline: 2px solid CanvasText !important;outline-offset: 2px}.stat-num,.dash-big,.modal-head h2,.modal-head h3,.detail-hero .flight-num,.focus-flt{forced-color-adjust: none;color: CanvasText;background: none}.modal,.tooltip,.toast,.account-menu,.focus-sheet,.day-sheet{forced-color-adjust: none;background: Canvas;border-color: CanvasText}.btn,.btn-ghost,.icon-btn,.chip,.seg,input,select,textarea{forced-color-adjust: none;border-color: CanvasText}}@media (prefers-contrast: more){:root{--card-border: rgba(255,255,255,0.34);--card-border-2: rgba(255,255,255,0.52)}[data-theme='light']{--card-border: rgba(9,9,11,0.46);--card-border-2: rgba(9,9,11,0.62)}.btn-ghost,.icon-btn{border-color: var(--text)}#portal-badge{border-width: 2px}}.today-link{padding: var(--space-2) var(--space-3);min-height: 24px;display: inline-flex;align-items: center}.day-actions .mini{min-width: 24px;min-height: 24px}.modal-x{min-width: 26px;min-height: 26px}.toast-action{min-height: 24px}@media (pointer: coarse){button,.btn,.gate-submit,.icon-btn,.modal-x,.seg button,.day-actions .mini,.toast-action{min-height: 44px}.chip{min-height: 32px}.cal-chip{min-height: 44px}.icon-btn,.modal-x,.day-actions .mini{min-width: 44px}.seg button{min-width: 44px}.today-link{min-height: 44px}}.sr-only{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);clip-path: inset(50%);white-space: nowrap;border: 0}.vault-dialog{border: 1px solid var(--card-border);border-radius: var(--r-lg);background: var(--card);color: var(--text);padding: var(--space-5);max-width: 420px;width: calc(100% - 2 * var(--space-4));box-shadow: var(--shadow-lg)}.vault-dialog::backdrop{background: color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter: blur(3px)}.vault-form{display: flex;flex-direction: column;gap: var(--space-3)}.vault-h{margin: 0;font-size: var(--fs-lg);font-weight: 800}.vault-sub{margin: 0;color: var(--text-soft);font-size: var(--fs-sm);line-height: 1.45}.vault-label{font-size: var(--fs-meta);font-weight: 700;color: var(--text-soft)}.vault-input{width: 100%;padding: var(--space-3);border: 1px solid var(--card-border-2);border-radius: var(--r-sm);background: var(--surface-2);color: var(--text);font-size: var(--fs-sm)}.vault-input:focus-visible{outline: 2px solid var(--accent-ink);outline-offset: 1px}.vault-err{margin: 0;color: var(--danger);font-size: var(--fs-meta);font-weight: 600}.vault-actions{display: flex;justify-content: flex-end;gap: var(--space-2)}.sheet-block{padding: var(--space-4) 0;border-top: 1px solid var(--card-border)}.sheet-block:first-child{border-top: 0}.sheet-h{margin: 0 0 var(--space-3);font-size: var(--fs-label);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-soft)}.sheet-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,148px),1fr));gap: var(--space-3)}.sheet-cell{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0;padding: var(--space-3);background: var(--gray-soft);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.sheet-k{font-size: var(--fs-2xs);font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--text-faint)}.sheet-v{font-size: var(--fs-sm);font-weight: 600;color: var(--text);overflow-wrap: anywhere}.sheet-na{font-style: italic;font-weight: 500;color: var(--text-faint)}.sheet-cell-na{opacity: 0.9}.sheet-hint{margin: var(--space-3) 0 0;font-size: var(--fs-2xs);line-height: 1.5;color: var(--text-faint)}.sheet-k-sub{margin-top: var(--space-3);padding-top: var(--space-2);border-top: 1px solid var(--card-border)}.sheet-warn{margin: var(--space-3) 0 0;font-size: var(--fs-2xs);font-weight: 600;color: var(--warning)}.sheet-manual{border: 1px solid var(--card-border);border-radius: var(--r-sm);padding: var(--space-3) var(--space-4);background: var(--gray-soft)}.manual-list{list-style: none;margin: var(--space-2) 0;padding: 0;display: flex;flex-direction: column;gap: var(--space-2)}.manual-row{display: flex;align-items: center;gap: var(--space-3);min-width: 0;flex-wrap: wrap}.manual-key{font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.05em;text-transform: uppercase;color: var(--text-faint)}.manual-val{font-size: var(--fs-sm);font-weight: 600;color: var(--text);overflow-wrap: anywhere;min-width: 0;flex: 1}.manual-restore,.manual-restore-all{flex: none}.sheet-hero{margin-bottom: var(--space-2)}.sheet-route{display: flex;align-items: center;gap: var(--space-4);margin-bottom: var(--space-4)}.sheet-apt-box{flex: 1;display: flex;flex-direction: column;gap: var(--space-1);min-width: 0;padding: var(--space-3);background: var(--gray-soft);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.sheet-iata{font-size: var(--fs-xl);font-weight: 800;letter-spacing: 0.02em;color: var(--text)}.sheet-apt{font-size: var(--fs-xs);color: var(--text-soft)}.sheet-city{font-size: var(--fs-2xs);color: var(--text-faint)}.sheet-arrow{flex: none;color: var(--text-faint);font-size: var(--fs-lg)}.sheet-table{width: 100%;border-collapse: collapse;font-size: var(--fs-sm)}.sheet-table th{padding: var(--space-2) var(--space-2);text-align: left;font-size: var(--fs-2xs);font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-faint);border-bottom: 1px solid var(--card-border)}.sheet-table td{padding: var(--space-2);border-bottom: 1px solid var(--card-border);color: var(--text)}.sheet-table tr:last-child td{border-bottom: 0}.sheet-civil{font-weight: 700;font-variant-numeric: var(--tnum)}.sheet-utc{color: var(--text-faint);font-variant-numeric: var(--tnum)}.sheet-zone{margin-top: var(--space-2);font-size: var(--fs-2xs);color: var(--text-faint)}.sheet-nav{display: flex;align-items: center;justify-content: space-between;gap: var(--space-3);margin-bottom: var(--space-3)}.sheet-pos{font-size: var(--fs-xs);font-weight: 700;color: var(--text-soft);font-variant-numeric: var(--tnum)}.sheet-round{display: flex;flex-direction: column;gap: var(--space-1);width: 100%;margin-top: var(--space-2);padding: var(--space-3);text-align: start;background: var(--gray-soft);border: 1px solid var(--card-border);border-radius: var(--r-sm);cursor: pointer}.sheet-round:hover{border-color: var(--accent)}.sheet-round-route{font-size: var(--fs-sm);font-weight: 700;color: var(--text)}.sheet-round-meta{font-size: var(--fs-2xs);color: var(--text-faint)}.sheet-foot{margin-top: var(--space-4)}.sheet-note{margin-top: var(--space-4)}.timeline{display: flex;flex-direction: column;gap: var(--space-1);margin: var(--space-2) 0 0;padding: 0;list-style: none}.timeline-stop{display: grid;grid-template-columns: auto minmax(0,1fr) auto;align-items: center;gap: var(--space-2);padding: var(--space-2) var(--space-3);border-inline-start: 2px solid var(--card-border)}.timeline-stop.is-here{border-inline-start-color: var(--accent-ink);background: var(--gray-soft);border-radius: var(--r-sm)}.timeline-n{display: grid;place-items: center;width: 18px;height: 18px;font-size: var(--fs-3xs);font-weight: 800;color: var(--text-faint);background: var(--surface-2);border-radius: var(--r-full)}.timeline-stop.is-here .timeline-n{color: var(--accent-ink)}.timeline-apt{font-size: var(--fs-sm);font-weight: 600;color: var(--text);background: none;border: 0;padding: 0;text-align: start;cursor: pointer}.timeline-stop.is-here .timeline-apt{cursor: default}.timeline-flt{font-size: var(--fs-2xs);color: var(--text-faint);font-variant-numeric: var(--tnum)}.round-head{padding-bottom: var(--space-3)}.round-route{display: block;font-size: var(--fs-lg);font-weight: 800;color: var(--text)}.round-dates{font-size: var(--fs-sm);color: var(--text-soft)}.round-flags{display: flex;gap: var(--space-2);margin: var(--space-2) 0}.round-flag{padding: var(--space-1) var(--space-2);font-size: var(--fs-3xs);font-weight: 800;letter-spacing: 0.05em;text-transform: uppercase;border-radius: var(--r-xs)}.round-flag.is-ok{color: var(--green);background: var(--green-soft)}.round-flag.is-warn{color: var(--warning);background: color-mix(in srgb,var(--warning) 14%,transparent)}.round-rule{font-size: var(--fs-2xs);color: var(--text-faint);font-variant-numeric: var(--tnum)}.round-facts{margin-bottom: var(--space-4)}.round-block{padding: var(--space-4) 0;border-top: 1px solid var(--card-border)}.round-timeline{display: flex;flex-direction: column;gap: var(--space-1)}.round-sector{display: grid;grid-template-columns: auto 1fr auto;align-items: center;gap: var(--space-3);width: 100%;padding: var(--space-3);text-align: start;background: var(--gray-soft);border: 1px solid var(--card-border);border-inline-start: 3px solid var(--accent);border-radius: var(--r-sm);cursor: pointer}.round-sector:hover{background: var(--card-border)}.round-n{display: grid;place-items: center;width: 20px;height: 20px;font-size: var(--fs-3xs);font-weight: 800;color: var(--accent-ink);background: var(--surface-2);border-radius: var(--r-full)}.round-flight{font-size: var(--fs-sm);font-weight: 700;color: var(--text)}.round-apt,.round-time{font-size: var(--fs-2xs);color: var(--text-soft);font-variant-numeric: var(--tnum)}.round-gap{display: flex;align-items: baseline;gap: var(--space-2);padding: var(--space-1) var(--space-3);font-size: var(--fs-2xs);color: var(--text-faint)}.round-reason{flex: 1;font-style: italic}.round-why{margin: var(--space-3) 0 0;padding-inline-start: var(--space-4);font-size: var(--fs-2xs);color: var(--text-soft)}.round-hotels{display: flex;flex-direction: column;gap: var(--space-2)}.round-hotel{display: grid;grid-template-columns: 1fr auto auto;gap: var(--space-3);padding: var(--space-3);text-align: start;background: var(--gray-soft);border: 1px solid var(--card-border);border-inline-start: 3px solid var(--hotel-line,var(--hotel));border-radius: var(--r-sm);cursor: pointer}.round-hotel-name{font-size: var(--fs-sm);font-weight: 700;color: var(--text)}.round-hotel-time,.round-hotel-len{font-size: var(--fs-2xs);color: var(--text-soft);font-variant-numeric: var(--tnum)}.rounds-list{display: flex;flex-direction: column;gap: var(--space-2)}.round-row{display: flex;flex-direction: column;gap: var(--space-1);width: 100%;padding: var(--space-3);text-align: start;background: var(--gray-soft);border: 1px solid var(--card-border);border-radius: var(--r-sm);cursor: pointer}.round-row:hover{border-color: var(--accent)}.round-row-dates{font-size: var(--fs-2xs);font-weight: 700;color: var(--accent-ink);font-variant-numeric: var(--tnum)}.round-row-route{font-size: var(--fs-sm);font-weight: 700;color: var(--text)}.round-row-meta{font-size: var(--fs-2xs);color: var(--text-faint)}.sit-now{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap}.sit-badge{padding: var(--space-1) var(--space-2);font-size: var(--fs-3xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.05em;color: var(--accent-ink);background: var(--accent-soft);border-radius: var(--r-xs)}.sit-what{font-size: var(--fs-md);font-weight: 800;color: var(--text)}.sit-date{font-size: var(--fs-sm);color: var(--text-soft)}.sit-tag{margin-inline-end: var(--space-2);padding: 1px var(--space-2);font-size: var(--fs-3xs);color: var(--text-soft);background: var(--gray-soft);border-radius: var(--r-xs)}.sit-next{margin-top: var(--space-2);font-size: var(--fs-sm);color: var(--text-soft)}.sit-open{margin-top: var(--space-3)}.sit-when{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3);padding: var(--space-1) 0}.sit-countdown{margin: var(--space-2) 0;font-size: var(--fs-lg);font-weight: 800;color: var(--accent-ink);font-variant-numeric: var(--tnum)}.alert-list{display: flex;flex-direction: column;gap: var(--space-2)}.alert-row{display: flex;align-items: baseline;gap: var(--space-2);flex-wrap: wrap;padding: var(--space-3);background: var(--gray-soft);border: 1px solid var(--card-border);border-inline-start: 3px solid var(--text-faint);border-radius: var(--r-sm);cursor: pointer}.alert-row.is-err{border-inline-start-color: var(--danger)}.alert-row.is-warn{border-inline-start-color: var(--warning)}.alert-row.is-info{border-inline-start-color: var(--sky)}.alert-row:hover{background: var(--card-border)}.alert-window{margin: 0 0 var(--space-3)}.alert-row.is-outside{opacity: .78}.alert-flag.is-outside{border-color: color-mix(in srgb,var(--warning) 45%,transparent);color: var(--warning);background: color-mix(in srgb,var(--warning) 12%,transparent)}.alert-kind{font-size: var(--fs-3xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-faint)}.alert-text{flex: 1;min-width: 0;font-size: var(--fs-sm);color: var(--text)}.alert-why{font-size: var(--fs-2xs);font-weight: 700;color: var(--accent-ink);text-decoration: underline dotted;cursor: help}.status-pill[data-state="stale"]{color: var(--warning);border-color: var(--warning)}.status-pill[data-state="ageing"]{color: var(--text-soft)}.status-pill[data-state="fresh"]{color: var(--text-soft)}.status-pill[data-state="never-synced"]{color: var(--danger);border-color: var(--danger)}.sync-provenance{margin-bottom: var(--space-4);padding-bottom: var(--space-3);border-bottom: 1px solid var(--card-border)}.alert-filters{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3);margin-bottom: var(--space-3)}.alert-filters label{display: inline-flex;align-items: center;gap: var(--space-2);font-size: var(--fs-3xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-faint)}.alert-filters select{font: inherit;font-size: var(--fs-xs);text-transform: none;letter-spacing: 0;font-weight: 600;color: var(--text);background: var(--card);border: 1px solid var(--card-border);border-radius: var(--r-sm);padding: var(--space-1) var(--space-2);max-width: 15rem}.alert-filters-n{font-size: var(--fs-2xs);color: var(--text-soft)}.alert-cat{border-top: 1px solid var(--card-border);padding: var(--space-3) 0}.alert-cat:first-of-type{border-top: 0}.alert-cat>summary,.alert-cat-h{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3);cursor: pointer;list-style: none}.alert-cat>summary::-webkit-details-marker{display: none}.alert-cat-h{cursor: default}.alert-cat.is-open>.alert-cat-h{cursor: default}.alert-cat-name{font-size: var(--fs-sm);font-weight: 800;color: var(--text)}.alert-cat-count{font-size: var(--fs-2xs);font-weight: 700;color: var(--text-soft);white-space: nowrap}.alert-cat-note{margin: var(--space-2) 0 var(--space-3)}.alert-when{display: inline-flex;align-items: baseline;gap: var(--space-1);font-size: var(--fs-3xs);color: var(--text-faint);white-space: nowrap}.alert-when.is-unknown{font-style: italic}.alert-state{padding: 0 var(--space-1);border-radius: var(--r-xs);background: var(--card-border);font-weight: 700}.alert-state[data-state="future"]{background: var(--sky-soft);color: var(--sky-ink)}.alert-state[data-state="today"]{background: var(--amber-soft);color: var(--amber-ink)}.alert-flag{font-size: var(--fs-3xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-faint);border: 1px dashed var(--card-border);border-radius: var(--r-xs);padding: 0 var(--space-1)}.limit-scopes{margin-bottom: var(--space-3);padding-bottom: var(--space-3);border-bottom: 1px solid var(--card-border)}.limit-scope{display: grid;grid-template-columns: 1fr auto auto auto;align-items: baseline;gap: var(--space-3);padding: var(--space-2) 0}.limit-scope-name{font-size: var(--fs-xs);font-weight: 700;color: var(--text)}.limit-scope-val{font-size: var(--fs-sm);font-variant-numeric: tabular-nums}.limit-scope-pct,.limit-scope-rest{font-size: var(--fs-2xs);color: var(--text-soft);font-variant-numeric: tabular-nums}@media (max-width: 560px){.limit-scope{grid-template-columns: 1fr auto}.limit-scope-pct,.limit-scope-rest{grid-column: 2}}.limits-head{margin-bottom: var(--space-3)}.limit-row{padding: var(--space-4) 0;border-top: 1px solid var(--card-border)}.limit-row.is-over .limit-name{color: var(--danger)}.limit-name{margin-bottom: var(--space-2);font-size: var(--fs-sm);font-weight: 800;color: var(--text)}.limit-na{padding: var(--space-3);font-size: var(--fs-sm);font-style: italic;color: var(--text-faint);background: var(--gray-soft);border-radius: var(--r-sm)}.limit-bar{height: 8px;margin-top: var(--space-3);background: var(--gray-soft);border-radius: var(--r-xl);overflow: hidden}.limit-bar .bar-fill{display: block;height: 100%;border-radius: var(--r-xl);overflow: hidden}.limit-bar .bar-fill rect{fill: var(--accent)}.limit-row.is-over .limit-bar .bar-fill rect{fill: var(--danger)}.limit-verdict{margin-top: var(--space-2);font-size: var(--fs-sm);font-weight: 700;color: var(--text)}.limit-proj{padding: var(--space-4) 0;border-top: 1px solid var(--card-border)}.limit-bands{padding-top: var(--space-4);border-top: 2px solid var(--card-border)}.limit-bands>.limit-name{margin-bottom: var(--space-3);text-transform: uppercase;letter-spacing: 0.05em;font-size: var(--fs-2xs);color: var(--text-faint)}.limit-proj tr.is-cross td{color: var(--warning);font-weight: 800}.period-bar{margin-bottom: var(--space-4)}.period-row{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;margin-bottom: var(--space-2)}.period-chip{padding: 3px var(--space-3);font-size: var(--fs-xs);font-weight: 700;color: var(--text-soft);background: var(--gray-soft);border: 1px solid var(--card-border);border-radius: var(--r-full);cursor: pointer}.period-chip.is-on{color: var(--accent-ink);border-color: var(--accent);background: var(--accent-soft)}.period-select{padding: var(--space-2) var(--space-3);font-size: var(--fs-sm);color: var(--text);background: var(--input);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.stats-dest{margin-top: var(--space-4)}.dest-row{display: grid;grid-template-columns: auto minmax(0,1fr) 2fr auto;align-items: center;gap: var(--space-3);width: 100%;padding: var(--space-2) var(--space-3);text-align: start;background: none;border: 0;border-radius: var(--r-sm);cursor: pointer}.dest-row:hover{background: var(--gray-soft)}.dest-code{font-weight: 800;color: var(--text)}.dest-name{font-size: var(--fs-xs);color: var(--text-soft);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.dest-n{font-size: var(--fs-2xs);color: var(--text-faint);font-variant-numeric: var(--tnum)}.stats-compare{margin-top: var(--space-4)}.stats-compare th{text-align: start}.stats-compare .is-up{color: var(--green);font-weight: 700}.stats-compare .is-down{color: var(--warning);font-weight: 700}.stats-compare .is-flat{color: var(--text-faint)}.stats-metrics{margin-bottom: var(--space-4)}.stats-compare-box:empty{display: none}.stats-doors{display: flex;gap: var(--space-2);margin-top: var(--space-4)}.plan-stats{display: flex;flex-direction: column}.sync-head{margin-bottom: var(--space-3)}.sync-counts{margin-bottom: var(--space-4)}.sync-months{margin-bottom: var(--space-4);padding-bottom: var(--space-3);border-bottom: 1px solid var(--card-border)}.round-k{margin-top: var(--space-2);font-size: var(--fs-2xs);font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-faint)}.sync-actions{margin-top: var(--space-4)}.modal-wide{max-width: 720px}.search-group{margin-bottom: var(--space-4)}.search-group-h{margin: 0 0 var(--space-2);font-size: var(--fs-2xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-faint)}.search-hint{margin-inline-start: var(--space-2);font-weight: 500;text-transform: none;letter-spacing: 0;color: var(--text-faint);opacity: 0.85}.search-list{display: flex;flex-direction: column;gap: var(--space-1)}.search-total{margin-bottom: var(--space-2);font-size: var(--fs-2xs);font-weight: 700;color: var(--text-faint);font-variant-numeric: var(--tnum)}.search-row{display: flex;align-items: baseline;gap: var(--space-3);width: 100%;padding: var(--space-2) var(--space-3);text-align: start;background: none;border: 0;border-radius: var(--r-sm);cursor: pointer}.search-row:hover{background: var(--gray-soft)}.map-airport-rounds:empty{display: none}.map-airport-rounds{margin-top: var(--space-3)}.map-airport-rounds .search-list{max-height: 168px;overflow-y: auto}.search-title{font-weight: 700;color: var(--text)}.search-sub{font-size: var(--fs-2xs);color: var(--text-faint);font-variant-numeric: var(--tnum)}@media (max-width: 640px){.sheet-route{flex-direction: column;align-items: stretch}.sheet-arrow{transform: rotate(90deg);align-self: center}.sheet-grid{grid-template-columns: minmax(0,1fr)}.round-sector{grid-template-columns: auto 1fr}.round-apt,.round-time{grid-column: 2}.round-hotel{grid-template-columns: 1fr}.dest-row{grid-template-columns: auto 1fr}.dest-freq-bar,.dest-n{grid-column: 2}}.sheet-times-line{display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-3);margin: var(--space-2) 0 var(--space-3)}.stl{display: inline-flex;align-items: baseline;gap: var(--space-2);padding: var(--space-2) var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.stl b{font-family: var(--mono);font-size: var(--fs-lg);color: var(--text)}.stl small{font-size: var(--fs-3xs);text-transform: uppercase;letter-spacing: var(--track-label);color: var(--text-faint)}.stl-plus{font-style: normal;font-size: var(--fs-3xs);color: var(--sky-ink);margin-left: 2px}.sheet-more{margin: 0 0 var(--space-2)}.sheet-more>summary{display: inline-flex;align-items: center;min-height: 32px;font-size: var(--fs-xs);color: var(--text-faint);cursor: pointer}.sheet-more>summary:hover{color: var(--text-soft)}.sheet-more[open]>summary{margin-bottom: var(--space-2)}:root{--glass-blur: blur(20px) saturate(180%);--ftl-ok: #10b981;--ftl-near: #f59e0b;--ftl-over: #f26262}[data-theme="light"]{--ftl-ok: #047857;--ftl-near: #92400e;--ftl-over: #b91c1c}.mono,.strip-dep-in,.strip-block,.bp-clock,.bp-wx-temp,.limit-pct,.rot-leg-time,.cal-evt-time,.op-countdown{font-variant-numeric: tabular-nums}.bento-hero{background: var(--surface);border-color: var(--card-border-2)}[data-theme="light"] .bento-hero{background: var(--surface)}.bento-hero:hover{border-color: var(--card-border-2)}.bento-hero .flight-strip{position: relative;border: 0;border-radius: 0;background: none;box-shadow: none;padding: 0;cursor: pointer}.bento-hero .flight-strip::after{content: none}.bento-hero .strip-foot{margin-top: var(--space-4);padding-top: var(--space-3);border-top: 1px dashed color-mix(in srgb,var(--text-faint) 45%,transparent);font-size: var(--fs-xs);color: var(--text-faint);letter-spacing: 0.04em;text-transform: uppercase}.bento-hero .bp-head{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap}.bento-hero .bp-airline{display: inline-flex;align-items: center;gap: var(--space-2);min-width: 34px;height: 34px;padding: 0 var(--space-3);border-radius: var(--r-md);font-size: var(--fs-sm);font-weight: 800;letter-spacing: 0.04em;color: #fff;background: linear-gradient(160deg,#0369a1,#0c4a6e);box-shadow: inset 0 1px 0 rgba(255,255,255,0.3),0 4px 12px -4px rgba(2,132,199,0.7)}.bento-hero .bp-airline svg{width: 18px;height: 18px;flex: none}.bento-hero .bp-airline-name{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.06em;white-space: nowrap}.bento-hero .strip-flt{font-size: var(--fs-2xl);font-weight: 800;letter-spacing: 0.01em;line-height: 1}.bento-hero .strip-dep-in{display: flex;flex-direction: column;align-items: flex-end;gap: var(--space-0);margin-left: auto;line-height: 1.1;white-space: nowrap}.bento-hero .bp-count-fig{font-size: var(--fs-xl);font-weight: 800;color: var(--flight-ink)}.bento-hero .bp-status{display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-2) var(--space-4);border-radius: var(--r-full);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;border: 1px solid var(--card-border);background: color-mix(in srgb,var(--sky) 14%,transparent);color: var(--sky-ink)}.bento-hero .bp-status.is-live{background: color-mix(in srgb,var(--green) 16%,transparent);color: var(--green-ink);border-color: color-mix(in srgb,var(--green) 45%,transparent)}.bento-hero .bp-status.is-brief{background: color-mix(in srgb,var(--amber) 16%,transparent);color: var(--amber-ink);border-color: color-mix(in srgb,var(--amber) 45%,transparent)}.bento-hero .bp-pulse{width: 7px;height: 7px;border-radius: 50%;background: currentColor;box-shadow: 0 0 0 3px color-mix(in srgb,currentColor 22%,transparent);animation: bp-pulse 2s var(--ease) infinite}@keyframes bp-pulse{0%,100%{opacity: 1;transform: scale(1)}50%{opacity: 0.5;transform: scale(0.82)}}.bento-hero .bp-wx{display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-2) var(--space-3);border-radius: var(--r-full);border: 1px solid var(--card-border);background: var(--glass-tint);font-size: var(--fs-xs);font-weight: 700;color: var(--text-soft)}.bento-hero .bp-wx svg{width: 14px;height: 14px}.bento-hero .bp-route{align-items: end;gap: var(--space-4);margin-top: var(--space-2);--bp-code-drop: calc(var(--fs-2xs) * 2.4 + var(--space-1) + var(--fs-3xl) / 2);padding-bottom: var(--bp-code-drop)}.bento-hero .bp-from b,.bento-hero .bp-to b{font-size: var(--fs-3xl);font-weight: 800;letter-spacing: 0.01em;line-height: 1}.bento-hero .bp-clock{display: block;margin-top: var(--space-1);font-size: var(--fs-lg);font-weight: 800;line-height: 1.1;color: var(--text)}.bento-hero .bp-city{font-size: var(--fs-2xs);font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--text-faint)}.bento-hero .bp-to{text-align: right}.bento-hero .strip-end{margin-bottom: calc(-1 * var(--bp-code-drop,0px))}.bento-hero .bp-leg{position: relative;flex: 1 1 auto;min-width: 0;display: flex;flex-direction: column;align-items: center;gap: var(--space-2)}.bento-hero .bp-leg-top{display: flex;flex-direction: column;align-items: center;gap: var(--space-0);min-width: 0}.bento-hero .bp-fact{display: inline-flex;align-items: baseline;gap: var(--space-2)}.bento-hero .bp-leg .strip-leg-line{display: none}.bento-hero .bp-leg::before,.bento-hero .bp-leg::after{display: none}.bento-hero .bp-leg .strip-block{font-size: var(--fs-md);font-weight: 800;letter-spacing: -0.01em;line-height: 1.1;color: var(--text);background: none;border: 0;padding: 0;border-radius: 0}.bento-hero .bp-meta{font-size: var(--fs-2xs);font-weight: 700;letter-spacing: 0.04em;color: var(--text-faint);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 100%}.bento-hero .bp-chain{font-size: var(--fs-2xs);font-weight: 700;letter-spacing: 0.03em;color: var(--text-soft);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 100%;min-height: 1.5em}.bento-hero .bp-n{font-size: var(--fs-2xs);font-weight: 800;color: var(--sky-ink);border: 1px solid var(--card-border-2);border-radius: var(--r-full);padding: 0 var(--space-2);margin-left: var(--space-1);white-space: nowrap}.bento-hero .bp-arc{position: static;width: 100%;height: auto;aspect-ratio: 360 / 96;margin-bottom: -8.33%;overflow: hidden}.bento-hero .bp-arc-path{fill: none;stroke: var(--text-faint);stroke-width: 1.4;stroke-dasharray: 3 7;opacity: 0.5;filter: none;animation: bp-dash 3.4s linear infinite}@keyframes bp-dash{to{stroke-dashoffset: -20}}.bento-hero .bp-plane-body{fill: var(--text);filter: drop-shadow(0 0 5px color-mix(in srgb,var(--sky) 70%,transparent))}.bento-hero .bp-instruments{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-4);margin-top: var(--space-3);padding-top: var(--space-4);border-top: 1px solid var(--card-border)}.bento-hero .strip-col{display: flex;flex-direction: row;align-items: baseline;justify-content: space-between;gap: var(--space-3);min-width: 0;padding-left: var(--space-4);border-left: 1px solid var(--card-border)}.bento-hero .strip-col:first-child{padding-left: 0;border-left: 0}.bento-hero .strip-key,.bento-hero .bp-block-key,.bento-hero .bp-count-key{font-size: var(--fs-3xs);font-weight: 800;letter-spacing: 0.09em;text-transform: uppercase;color: var(--text-faint)}.bento-hero .strip-key{white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.bento-hero .strip-col b{font-size: var(--fs-lg);font-variant-numeric: tabular-nums;line-height: 1.15;white-space: nowrap}[data-theme="light"] .bento-hero .bp-leg .strip-block{color: var(--text)}.bento-hero .strip-rest{margin-top: var(--space-3)}.bento-hero .strip-rest-bar{position: relative;display: block;height: 8px;border-radius: var(--r-full);background: color-mix(in srgb,var(--text-faint) 22%,transparent);overflow: hidden}.bento-hero .strip-rest-bar .bar-fill{display: block;height: 100%}.bento-hero .strip-rest.ok .bar-fill rect{fill: var(--ftl-ok)}.bento-hero .strip-rest.bad .bar-fill rect{fill: var(--ftl-over)}.bento-hero .strip-rest-txt{display: block;margin-top: var(--space-2);font-size: var(--fs-xs);color: var(--text-soft)}.bento{display: grid;grid-template-columns: repeat(12,minmax(0,1fr));gap: var(--space-4);margin-bottom: var(--space-5)}.bento-hero{grid-column: span 8}.bento-stay{grid-column: span 4}.dash-card,.kpi,.stat-card,.chart-card{border: 1px solid var(--card-border);box-shadow: var(--shadow-md),inset 0 1px 0 rgba(255,255,255,0.05);transition: transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease)}[data-theme="light"] .dash-card,[data-theme="light"] .kpi,[data-theme="light"] .stat-card,[data-theme="light"] .chart-card{box-shadow: 0 1px 2px rgba(9,9,11,0.05),0 10px 28px -14px rgba(9,9,11,0.18),inset 0 1px 0 #ffffff}.dash-card:hover,.kpi:hover,.stat-card:hover{transform: translateY(-3px)}.dash-title{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.07em;text-transform: uppercase;color: var(--text-faint)}.dash-title .dicon{color: var(--sky-ink)}.cal-cell{min-width: 0;border-radius: var(--r-sm);transition: background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cal-cell:hover{background: var(--gray-soft)}.cal-evt .cal-evt-ico,.cal-lane .cal-evt-ico{width: 12px;height: 12px;flex: none}.cal-evt-dest{display: none;flex: none;font-weight: 800;letter-spacing: 0.04em;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.cal-evt-n{flex: none;font-weight: 800;color: var(--sky-ink);background: color-mix(in srgb,var(--sky) 16%,transparent);border: 1px solid color-mix(in srgb,var(--sky) 40%,transparent);border-radius: var(--r-full);padding: 0 var(--space-2)}@media (max-width: 620px){.cal-evt.cal-cross{width: auto;max-width: 100%}.cal-lane{display: none}.cal-evt .cal-tarr{display: none}.cal-evt .cal-evt-l1 .cal-evt-dest{display: inline;font-size: var(--fs-2xs)}.cal-xmark{display: inline}.cal-evt-dest i{font-style: normal}.cal-evt-dest .loop{display: none}.cal-evt.t-flight .cal-evt-dest .loop,.cal-evt.t-deadhead .cal-evt-dest .loop{display: inline}.cal-evt.t-flight .cal-evt-dest .full,.cal-evt.t-deadhead .cal-evt-dest .full{display: none}}.cal-evt-flt{flex: none;font-weight: 800;letter-spacing: 0.02em;color: var(--text-soft)}@media (max-width: 620px){.cal-evt.t-flight .cal-evt-dest,.cal-evt.t-deadhead .cal-evt-dest{display: inline;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.cal-cell .cal-evt{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 100%}.cal-obmark{display: none}.cal-foot-when,.cal-hotel-name{display: none}.cal-cell .cal-hotel-n{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis}.cal-start-ar,.cal-start small b{display: none}.cal-start small:nth-of-type(2){display: none}.cal-start small{white-space: nowrap;overflow: hidden;text-overflow: ellipsis}}.cal-role-standby{border: 1px dashed color-mix(in srgb,var(--standby) 60%,transparent)}.cal-role-training{border: 1px dashed color-mix(in srgb,var(--training) 60%,transparent)}.cal-role-hotel{background: linear-gradient(90deg,var(--hotel-soft),transparent);border-radius: var(--r-xs)}.cal-offbar{height: 4px;border-radius: var(--r-full);background: linear-gradient(90deg,color-mix(in srgb,var(--text-faint) 55%,transparent),transparent);margin-top: var(--space-1)}.day-timeline .rot-card,.rot-timeline .rot-card{border: 1px solid var(--card-border);box-shadow: var(--shadow-sm)}.day-sheet .rot-node{position: relative}.hand-badge{display: inline-flex;align-items: center;gap: var(--space-2);margin-top: var(--space-2);padding: var(--space-1) var(--space-3);border-radius: var(--r-full);font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.03em;color: var(--amber-ink);background: var(--amber-soft);border: 1px solid color-mix(in srgb,var(--amber) 45%,transparent)}.hand-badge svg{width: 12px;height: 12px}.ftl-gauge{border: 1px solid var(--card-border);border-radius: var(--r-lg);padding: var(--space-4);background: linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 55%,transparent),transparent 70%)}.ftl-gauge .limit-head{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3)}.ftl-gauge .limit-pct{font-size: var(--fs-lg);font-weight: 800;color: var(--ftl-ok)}.ftl-gauge.is-near .limit-pct{color: var(--ftl-near)}.ftl-gauge.is-over .limit-pct{color: var(--ftl-over)}.ftl-gauge .limit-bar{position: relative;height: 10px;border-radius: var(--r-full);background: color-mix(in srgb,var(--text-faint) 22%,transparent);overflow: hidden;margin-top: var(--space-3)}.ftl-gauge .limit-bar .bar-fill{display: block;height: 100%}.ftl-gauge .limit-bar rect{fill: var(--ftl-ok)}.ftl-gauge.is-near .limit-bar rect{fill: var(--ftl-near)}.ftl-gauge.is-over .limit-bar rect{fill: var(--ftl-over)}.ftl-gauge .limit-tick{position: absolute;top: -2px;bottom: -2px;left: 80%;width: 2px;border-radius: var(--r-xs);background: var(--text);opacity: 0.75}.ftl-gauge.is-over{border-color: color-mix(in srgb,var(--ftl-over) 55%,transparent);box-shadow: 0 0 18px -6px color-mix(in srgb,var(--ftl-over) 60%,transparent)}.ftl-gauge.is-near{border-color: color-mix(in srgb,var(--ftl-near) 50%,transparent)}.map-card{overflow: hidden}#route-map{border-radius: var(--r-lg);background: radial-gradient(120% 100% at 50% 0%,#101b30 0%,#07090e 70%)}[data-theme="light"] #route-map{background: radial-gradient(120% 100% at 50% 0%,#e8f1fa 0%,#f4f6f9 70%)}#route-map .map-ocean{fill: var(--surface-2);fill: url(#nd-ocean-grad)}[data-theme="light"] #route-map .map-ocean{fill: #e2eaf3}#route-map .map-grid{stroke: rgba(148,163,184,0.14);stroke-width: 0.6}#route-map .map-land{fill: rgba(148,163,184,0.16);stroke: rgba(148,163,184,0.3);stroke-width: 0.6}[data-theme="light"] #route-map .map-land{fill: rgba(100,116,139,0.18)}#route-map .map-route{fill: none;stroke: #38bdf8;opacity: 0.75;filter: drop-shadow(0 0 4px rgba(56,189,248,0.7));transition: opacity var(--dur-fast) var(--ease)}#route-map .map-route.highlighted{opacity: 1;stroke: #7dd3fc;filter: drop-shadow(0 0 8px rgba(125,211,252,0.9))}#route-map .map-dot{fill: #0c1017;stroke: #38bdf8;stroke-width: 1.6;filter: drop-shadow(0 0 5px rgba(56,189,248,0.8))}#route-map .map-dot.base-hub{fill: #38bdf8;stroke: #e0f2fe}#route-map .map-hub-ring{fill: none;stroke: rgba(56,189,248,0.55);stroke-width: 1.2;animation: bp-pulse 2.6s var(--ease) infinite}#route-map .map-label{font-size: var(--fs-3xs);font-weight: 700;letter-spacing: 0.04em;fill: #cbd5e1;paint-order: stroke;stroke: rgba(7,9,14,0.85);stroke-width: 2.5px}[data-theme="light"] #route-map .map-label{fill: #334155;stroke: rgba(255,255,255,0.9)}#map-chips{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-3)}#map-chips .map-chip{font-variant-numeric: tabular-nums;font-weight: 800;font-size: var(--fs-xs);letter-spacing: 0.04em;padding: var(--space-2) var(--space-4);border-radius: var(--r-full);border: 1px solid var(--card-border-2);background: color-mix(in srgb,var(--input) 70%,transparent);color: var(--text-soft);cursor: pointer;transition: transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}#map-chips .map-chip:hover{transform: translateY(-2px);color: var(--text);box-shadow: var(--shadow-md)}#map-chips .map-chip.active{color: #fff;background: linear-gradient(180deg,#0284c7,#0c4a6e);border-color: rgba(125,211,252,0.6);box-shadow: 0 0 14px -2px rgba(56,189,248,0.7)}.modal-root{animation: modal-fade 180ms cubic-bezier(0.16,1,0.3,1)}.modal-root .modal{animation: modal-pop 180ms cubic-bezier(0.16,1,0.3,1);border: 1px solid var(--card-border-2);box-shadow: var(--shadow-xl),inset 0 1px 0 rgba(255,255,255,0.07);backdrop-filter: var(--glass-blur);-webkit-backdrop-filter: var(--glass-blur)}@keyframes modal-fade{from{opacity: 0}to{opacity: 1}}@keyframes modal-pop{from{opacity: 0;transform: scale(0.96) translateY(6px)}to{opacity: 1;transform: none}}.modal-head{border-bottom: 1px solid var(--card-border)}.modal-head h2{font-size: var(--fs-md);letter-spacing: 0}.modal .field label{font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-faint)}.modal input:not([type="checkbox"]):not([type="radio"]),.modal select,.modal textarea{border-radius: var(--r-md);border: 1px solid var(--card-border-2);background: var(--input);padding: var(--space-3) var(--space-4);transition: border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.modal input:not([type="checkbox"]):not([type="radio"]):focus-visible,.modal select:focus-visible,.modal textarea:focus-visible{outline: 2px solid var(--sky);outline-offset: 1px;border-color: var(--sky)}[data-theme="light"] .modal input:not([type="checkbox"]):not([type="radio"]),[data-theme="light"] .modal select,[data-theme="light"] .modal textarea{background: #fff;color: #18181b}[data-theme="light"] .period-select{background: #fff;color: #18181b}.modal-actions .btn-accent{box-shadow: 0 8px 20px -8px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px 0 rgba(255,255,255,0.28)}main,.hero,.tabs,.bento,.dash-grid,.calendar-view,.map-layout{min-width: 0;max-width: 100%}.bento>*,.bento>section,.bento-hero,.bento-stay,.dash-grid>.dash-card{min-width: 0;max-width: 100%}.bento{padding: 0;margin-left: 0;margin-right: 0;overflow-x: clip}.bento-hero .flight-strip{min-width: 0;max-width: 100%}.bento-hero .bp-head,.bento-hero .bp-route,.bento-hero .bp-instruments,.strip-head,.strip-route,.strip-times{min-width: 0;max-width: 100%}.strip-end b,.cal-evt,.chip-txt,.stay-val,.portal-msg-txt{min-width: 0;overflow: hidden;text-overflow: ellipsis}@media (max-width: 1100px){.bento-hero,.bento-stay{grid-column: 1 / -1}}@media (max-width: 620px){.bento{gap: var(--space-3)}.bento-hero .flight-strip{padding: var(--space-4)}.bento-hero .bp-instruments{grid-template-columns: repeat(2,minmax(0,1fr))}.bento-hero .bp-status{margin-left: 0}.bento-hero .strip-col{flex-direction: column;align-items: flex-start;gap: var(--space-1)}.bento-hero .bp-airline{order: 1}.bento-hero .strip-flt{order: 2}.bento-hero .op-flt,.bento-hero .status-flag{order: 3}.bento-hero .strip-dep-in{order: 4}.bento-hero .bp-status{order: 5}.bento-hero .bp-wx{order: 6}.bento-hero .bp-airline-name{display: none}.bento-hero .bp-airline{min-width: 0;padding: 0 var(--space-3)}.cal-cell{min-height: 72px}.modal-root .modal{margin: var(--space-3);max-width: calc(100vw - 24px)}}@media (max-height: 500px){.bento-hero .bp-arc{height: auto}}.live-title{display: flex;align-items: center;gap: var(--space-3)}.live-ico-badge{display: inline-flex;align-items: center;justify-content: center;flex: none;width: 26px;height: 26px;border-radius: var(--r-full);border: 1px solid}.live-ico-badge svg{width: 15px;height: 15px}.live-ico-badge.is-rest{color: var(--green-ink);background: linear-gradient(160deg,color-mix(in srgb,var(--green) 26%,transparent),color-mix(in srgb,var(--green) 8%,transparent));border-color: color-mix(in srgb,var(--green) 45%,transparent);box-shadow: 0 0 10px -2px color-mix(in srgb,var(--green) 60%,transparent)}.live-ico-badge.is-hotel{color: var(--purple);background: linear-gradient(160deg,color-mix(in srgb,var(--purple) 26%,transparent),color-mix(in srgb,var(--purple) 8%,transparent));border-color: color-mix(in srgb,var(--purple) 45%,transparent);box-shadow: 0 0 10px -2px color-mix(in srgb,var(--purple) 60%,transparent)}.rest-day-card .rest-icon{display: inline-flex;align-items: center;justify-content: center;width: 34px;height: 34px;color: var(--green-ink);background: linear-gradient(160deg,color-mix(in srgb,var(--green) 24%,transparent),color-mix(in srgb,var(--green) 7%,transparent));border: 1px solid color-mix(in srgb,var(--green) 40%,transparent);box-shadow: 0 4px 12px -4px color-mix(in srgb,var(--green) 55%,transparent)}.rest-day-card .rest-icon svg{width: 19px;height: 19px}.bento-hero .bp-arc-track{fill: none;stroke: var(--text-faint);stroke-width: 1.4;stroke-dasharray: 3 7;opacity: 0.5;filter: none}.bento-hero .bp-arc-active{fill: none;stroke: var(--sky);stroke-width: 2.6;stroke-linecap: round;filter: drop-shadow(0 0 6px color-mix(in srgb,var(--sky) 75%,transparent))}.bento-hero .bp-arc-halo{fill: var(--sky);opacity: 0.12}.bento-hero .bp-arc-ring{fill: var(--card);stroke: var(--sky-ink);stroke-width: 1.6;opacity: 0.95}.bento-hero .bp-arc-dot{fill: var(--sky-ink);opacity: 0.95}.bento-hero .bp-plane-halo{fill: var(--sky);opacity: 0.5;filter: blur(5px)}[data-theme="light"] .bento-hero .bp-plane-halo{opacity: 0.3;filter: blur(6px)}.bento-hero .bp-plane.is-parked{opacity: 0.6}.bento-hero .bp-head{position: relative}.bento-hero .bp-head::after{content: none}.bento-hero .bp-instruments{position: relative;border-top: 1px dashed color-mix(in srgb,var(--text-faint) 45%,transparent)}.bento-hero .bp-instruments::before,.bento-hero .bp-instruments::after{content: none;display: none}#route-map .map-nd-ring{fill: none;stroke: color-mix(in srgb,var(--sky) 30%,transparent);stroke-width: 0.8}#route-map .map-nd-cross{stroke: color-mix(in srgb,var(--sky) 14%,transparent);stroke-width: 0.8}#route-map .map-route-glow{fill: none;stroke: color-mix(in srgb,var(--sky) 55%,transparent);stroke-linecap: round;opacity: 0;transition: opacity var(--dur-fast) var(--ease);pointer-events: none}#route-map .map-route-g:hover .map-route-glow{opacity: 0.5}#route-map .map-route-g:has(.map-route.highlighted) .map-route-glow{opacity: 0.6}#route-map .map-route-g:has(.map-route.is-preview) .map-route-glow{opacity: 0.6}#route-map .map-route-glow.is-preview{opacity: 0.6}.mix-spectrum{display: block;width: 100%;height: 10px;border-radius: var(--r-full);overflow: hidden;background: var(--gray-soft);margin-bottom: var(--space-3);box-shadow: inset 0 1px 2px rgba(11,25,45,0.10)}.mix-spectrum rect{fill: var(--off-ink)}.mix-spectrum rect.sfill-flight{fill: var(--flight)}.mix-spectrum rect.sfill-hotel{fill: var(--hotel)}.mix-spectrum rect.sfill-standby{fill: var(--standby)}.mix-spectrum rect.sfill-training{fill: var(--training)}.mix-spectrum rect.sfill-reserve{fill: var(--reserve)}.mix-row .dot{box-shadow: 0 0 0 2px color-mix(in srgb,currentColor 15%,transparent),0 0 6px -1px currentColor}.mtr-defs{display: block;width: 0;height: 0;overflow: hidden}.mtr-grad-a{stop-color: var(--sky)}.mtr-grad-b{stop-color: var(--flight-ink)}.mtr-bar .bar-fill{filter: drop-shadow(0 0 3px color-mix(in srgb,var(--flight) 55%,transparent))}.rot-head{background: linear-gradient(180deg,color-mix(in srgb,var(--sky) 9%,transparent),transparent 78%);border: 1px solid var(--card-border);border-radius: var(--r-sm);padding: var(--space-2) var(--space-3)}.rot-route .rot-stop{display: inline-flex;align-items: center;padding: var(--space-1) var(--space-3);border-radius: var(--r-full);background: color-mix(in srgb,var(--flight) 14%,transparent);border: 1px solid color-mix(in srgb,var(--flight) 40%,transparent);color: var(--text);font-weight: 800}.rot-node::before{width: 2px;background: linear-gradient(180deg,color-mix(in srgb,var(--flight) 55%,transparent),color-mix(in srgb,var(--hotel) 45%,transparent))}.rot-dot{box-shadow: 0 0 0 1px var(--flight-line),0 0 8px -1px color-mix(in srgb,var(--flight) 70%,transparent)}.rot-node.is-layover .rot-dot{box-shadow: 0 0 0 1px var(--hotel-line),0 0 8px -1px color-mix(in srgb,var(--hotel) 70%,transparent)}.rot-hotel svg{width: 13px;height: 13px;flex: none;margin-right: var(--space-2);vertical-align: -2px;color: var(--hotel-ink)}.rot-hotel.is-between{display: inline-flex;flex-direction: row;align-items: center;gap: calc(var(--space-1) + var(--space-2));width: fit-content;flex: none;color: var(--amber-ink);background: var(--amber-soft);border: 1px dashed color-mix(in srgb,var(--amber) 55%,transparent);border-radius: var(--r-full);padding: var(--space-1) var(--space-3);font-weight: 700}.rot-hotel.is-between svg{margin-right: var(--space-0)}.dash-card,.chart-card,.kpi,.stat-card,.rot,.limit-row,.modal,.bento-hero .flight-strip{box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.09),0 10px 28px -8px rgba(0,0,0,0.55)}.dash-card,.chart-card,.kpi,.stat-card,.rot,.limit-row,.modal{background-image: linear-gradient(180deg,rgba(255,255,255,0.025),transparent 42%)}[data-theme="light"] .dash-card,[data-theme="light"] .chart-card,[data-theme="light"] .kpi,[data-theme="light"] .stat-card,[data-theme="light"] .rot,[data-theme="light"] .limit-row,[data-theme="light"] .modal,[data-theme="light"] .bento-hero .flight-strip{background-color: #fff;background-image: none;border-color: rgba(15,23,42,0.08);box-shadow: 0 1px 2px rgba(15,23,42,0.06),0 12px 32px -12px rgba(15,23,42,0.18),inset 0 1px 0 #fff}.tab-btn:focus-visible{outline: 2px solid var(--sky);outline-offset: -2px}.bento-stay{display: flex;flex-direction: column}#dash-stay{flex: 1;align-self: stretch;display: flex;flex-direction: column;justify-content: space-between}.bento-hero{background: var(--card);border-color: var(--card-border);box-shadow: var(--shadow-sm);transition: none;animation: none}[data-theme="light"] .bento-hero{background: var(--card);box-shadow: var(--shadow-sm)}.bento-hero:hover{transform: none;box-shadow: var(--shadow-sm)}.bento .dash-card{animation: none}.bento-hero .bp-arc,.bento-hero .strip-leg-line{display: none}.bento-hero .bp-pulse{animation: none;box-shadow: none;opacity: 1;transform: none}.bento-hero .bp-arc-path,.bento-hero .bar-fill{animation: none}.bento-hero .bp-airline{background: var(--surface-2);color: var(--text-soft);box-shadow: none}.bento-hero .bp-status{background: transparent}.bento-hero .bp-route{padding-bottom: 0}.bento-hero .strip-end{margin-bottom: 0}.bento-hero .bp-leg{gap: var(--space-1)}#pane-dashboard:not(.dash-more-open) #dash-op-status,#pane-dashboard:not(.dash-more-open) #dash-portal,#pane-dashboard:not(.dash-more-open) #ops-card,#pane-dashboard:not(.dash-more-open) #dash-secondary,#pane-dashboard:not(.dash-more-open) #alert-card,#pane-dashboard:not(.dash-more-open) #dash-week-card,#pane-dashboard:not(.dash-more-open) #dash-changes-card{display: none}.dash-more-toggle{display: flex;justify-content: center;margin: var(--space-4) 0 var(--space-2)}.dash-more-toggle .btn{display: inline-flex;align-items: center;gap: var(--space-2)}.dash-more-toggle .when-open{display: none}#pane-dashboard.dash-more-open .dash-more-toggle .when-collapsed{display: none}#pane-dashboard.dash-more-open .dash-more-toggle .when-open{display: inline}.dash-more-toggle .dash-more-chevron{width: 16px;height: 16px;flex: none}#pane-dashboard.dash-more-open .dash-more-toggle .dash-more-chevron{transform: rotate(180deg)}.cal-pane{--cal-line: var(--card-border);--cal-line-strong: var(--card-border-2);--cal-surface: var(--card);--cal-inset: color-mix(in srgb,var(--surface-2) 72%,var(--card));--cal-head: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint,#ffffff) 6%,var(--card)),color-mix(in srgb,var(--surface-2) 44%,var(--card)));--cal-ink: var(--text);--cal-muted: var(--text-soft);--cal-faint: var(--text-faint);--cal-glow: color-mix(in srgb,var(--sky) 30%,transparent);--cal-glow-soft: color-mix(in srgb,var(--sky) 10%,transparent);--calendar-tint: #ffffff}[data-theme="light"] .cal-pane{--cal-line: rgba(15,23,42,0.10);--cal-line-strong: rgba(15,23,42,0.18);--cal-inset: #f1f5f9;--cal-head: linear-gradient(180deg,#ffffff,#f4f7fb);--cal-muted: #475569;--cal-faint: #64748b;--cal-glow: rgba(2,132,199,0.16);--cal-glow-soft: rgba(2,132,199,0.06);--calendar-tint: #0f172a}.cal-pane{min-width: 0}.cal-deck{position: relative;isolation: isolate;min-width: 0;border: 1px solid var(--cal-line-strong);border-radius: var(--r-xl);background: radial-gradient(120% 90% at 50% -30%,var(--cal-glow-soft),transparent 58%),radial-gradient(80% 70% at 100% 0%,color-mix(in srgb,var(--training) 6%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 3.5%,var(--card)),var(--card));box-shadow: var(--shadow-lg),inset 0 1px 0 color-mix(in srgb,var(--calendar-tint) 8%,transparent);overflow: hidden}[data-theme="light"] .cal-deck{background: radial-gradient(110% 80% at 50% -25%,rgba(2,132,199,0.07),transparent 58%),linear-gradient(180deg,#ffffff,#f7fafc);box-shadow: 0 1px 2px rgba(15,23,42,0.05),0 18px 44px -22px rgba(15,23,42,0.20),inset 0 1px 0 #ffffff}.cal-deck-head{display: flex;align-items: flex-end;justify-content: space-between;gap: var(--space-6);flex-wrap: wrap;padding: var(--space-6) var(--space-6) var(--space-4);border-bottom: 1px solid var(--cal-line)}.cal-deck-id{min-width: 0}.cal-kicker{display: inline-flex;align-items: center;gap: var(--space-2);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.16em;text-transform: uppercase;color: var(--cal-faint)}.cal-kicker-dot{width: 6px;height: 6px;border-radius: var(--r-full);background: var(--sky-ink);box-shadow: 0 0 10px var(--cal-glow)}.cal-deck-period{display: flex;align-items: baseline;gap: var(--space-4);flex-wrap: wrap;margin-top: var(--space-2)}.cal-label{margin: 0;font-size: calc(var(--fs-3xl) + 2px);line-height: 1.04;font-weight: 800;letter-spacing: -0.035em;color: var(--cal-ink)}.cal-period-note{display: inline-flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;min-height: 20px;font-size: var(--fs-xs);font-weight: 600;color: var(--cal-faint)}.cal-period-note i{font-style: normal;color: var(--cal-line-strong)}.cal-note-bit{display: inline-flex;align-items: baseline;gap: var(--space-2)}.cal-note-bit b{font-family: var(--mono);font-size: var(--fs-sm);font-weight: 800;color: var(--cal-muted);font-variant-numeric: var(--tnum)}.cal-note-bit.is-empty{color: var(--cal-faint)}.cal-deck-tools{display: flex;align-items: center;justify-content: flex-end;gap: var(--space-3);flex-wrap: wrap;min-width: 0}.cal-pane .cal-view-switch{display: inline-flex;align-items: center;gap: var(--space-1);padding: var(--space-1);border: 1px solid var(--cal-line);border-radius: var(--r-lg);background: var(--cal-inset);box-shadow: inset 0 1px 2px rgba(0,0,0,0.16)}[data-theme="light"] .cal-pane .cal-view-switch{box-shadow: inset 0 1px 2px rgba(15,23,42,0.06)}.cal-pane .cal-view-switch .seg{display: inline-flex;align-items: center;gap: var(--space-2);height: 32px;padding: 0 var(--space-3);border: 1px solid transparent;border-radius: calc(var(--r-lg) - 3px);background: transparent;color: var(--cal-faint);font-size: var(--fs-xs);font-weight: 700;cursor: pointer;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cal-pane .cal-view-switch .seg svg{width: 14px;height: 14px;flex: none;opacity: 0.8}.cal-pane .cal-view-switch .seg:hover{color: var(--cal-muted);background: color-mix(in srgb,var(--calendar-tint) 5%,transparent)}.cal-pane .cal-view-switch .seg[aria-pressed="true"]{color: var(--cal-ink);background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 7%,var(--card)),var(--card));border-color: var(--cal-line-strong);box-shadow: var(--shadow-sm),inset 0 1px 0 color-mix(in srgb,var(--calendar-tint) 9%,transparent)}.cal-pane .cal-view-switch .seg[aria-pressed="true"] svg{color: var(--sky-ink);opacity: 1}.cal-pane .month-pick{display: inline-flex;align-items: center;gap: var(--space-2);min-width: 0;flex: 0 0 auto}.cal-pane .month-pick-label{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.12em;text-transform: uppercase;color: var(--cal-faint);white-space: nowrap}.cal-pane .month-pick-select{appearance: none;-webkit-appearance: none;height: 38px;max-width: 190px;padding: 0 var(--space-7) 0 var(--space-3);border: 1px solid var(--cal-line);border-radius: var(--r-lg);background-color: var(--cal-surface);background-image: linear-gradient(45deg,transparent 50%,var(--cal-muted) 50%),linear-gradient(135deg,var(--cal-muted) 50%,transparent 50%);background-position: calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size: 5px 5px,5px 5px;background-repeat: no-repeat;color: var(--cal-ink);font-size: var(--fs-xs);font-weight: 700;cursor: pointer;box-shadow: var(--shadow-xs)}.cal-pane .month-pick-select:hover{border-color: var(--cal-line-strong)}.cal-pane .month-pick-select:focus-visible{outline: 2px solid var(--sky-ink);outline-offset: 2px}.cal-toolbar{display: flex;align-items: center;gap: var(--space-4);flex-wrap: wrap;padding: var(--space-3) var(--space-6);border-bottom: 1px solid var(--cal-line);background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 2%,transparent),transparent)}.cal-pager{display: inline-flex;align-items: center;gap: var(--space-1);flex: none;padding: var(--space-1);border: 1px solid var(--cal-line);border-radius: var(--r-full);background: var(--cal-surface);box-shadow: var(--shadow-xs)}.cal-pane .cal-nav-btn{display: grid;place-items: center;width: 32px;height: 32px;padding: 0;border: 1px solid transparent;border-radius: var(--r-full);background: transparent;color: var(--cal-muted);cursor: pointer;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.cal-pane .cal-nav-btn svg{width: 15px;height: 15px}.cal-pane .cal-nav-btn:hover{background: var(--cal-inset);color: var(--cal-ink)}.cal-pane .cal-nav-btn:active{transform: scale(0.94)}.cal-pane .cal-today-btn{display: inline-flex;align-items: center;gap: var(--space-2);height: 32px;margin: 0;padding: 0 var(--space-4);border: 1px solid transparent;border-radius: var(--r-full);background: transparent;color: var(--cal-muted);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.02em;text-transform: none;cursor: pointer;white-space: nowrap}.cal-pane .cal-today-btn svg{width: 14px;height: 14px;color: var(--sky-ink)}.cal-pane .cal-today-btn:hover{background: var(--cal-inset);color: var(--cal-ink)}.cal-pane .cal-today-btn:focus-visible{outline: 2px solid var(--sky-ink);outline-offset: 2px}.cal-pane .cal-filterbar .chip:focus-visible,.cal-pane .cal-cell:focus-visible,.cal-pane .wk-evt:focus-visible{outline-offset: -2px}.cal-filterbar{display: flex;align-items: center;min-width: 0;flex: 1 1 auto;overflow-x: auto;scrollbar-width: none}.cal-filterbar::-webkit-scrollbar{display: none}.cal-filters{display: flex;align-items: center;gap: var(--space-2);flex-wrap: nowrap;margin: 0;padding: var(--space-1) var(--space-1)}.cal-pane .chip{display: inline-flex;align-items: center;gap: var(--space-3);height: 30px;padding: 0 var(--space-3);border: 1px solid var(--cal-line);border-radius: var(--r-full);background: color-mix(in srgb,var(--cal-surface) 86%,transparent);color: var(--cal-muted);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.04em;text-transform: uppercase;white-space: nowrap;cursor: pointer;box-shadow: none;transition: background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.cal-pane .chip .dot{width: 6px;height: 6px;box-shadow: none;flex: none}.cal-pane .chip:hover{transform: translateY(-1px);color: var(--cal-ink);border-color: var(--cal-line-strong);background: var(--cal-surface);box-shadow: var(--shadow-xs)}.cal-pane .chip[aria-pressed="true"]{color: var(--cal-ink);background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 7%,var(--surface-2)),var(--surface-2));border-color: color-mix(in srgb,var(--sky) 45%,var(--cal-line));box-shadow: inset 0 0 0 1px var(--cal-glow-soft)}[data-theme="dark"] .cal-pane .chip[aria-pressed="true"]{background: linear-gradient(180deg,color-mix(in srgb,var(--sky) 16%,var(--card)),var(--card));border-color: color-mix(in srgb,var(--sky) 52%,transparent)}[data-theme="light"] .cal-pane .chip[aria-pressed="true"]{background: linear-gradient(180deg,color-mix(in srgb,var(--sky) 12%,#ffffff),color-mix(in srgb,var(--sky) 7%,#ffffff));border-color: color-mix(in srgb,var(--sky) 44%,transparent);box-shadow: inset 0 0 0 1px rgba(2,132,199,0.10)}.cal-pane .chip[aria-pressed="true"] .dot{box-shadow: 0 0 8px currentColor}.cal-instruments{display: grid;grid-template-columns: repeat(6,minmax(0,1fr));background: var(--cal-line);border-bottom: 1px solid var(--cal-line-strong)}.cal-inst{--tone: var(--sky-ink);--tone-soft: color-mix(in srgb,var(--sky) 12%,transparent);--tone-line: color-mix(in srgb,var(--sky) 30%,transparent);display: flex;align-items: center;gap: var(--space-3);min-width: 0;padding: var(--space-4) var(--space-5);background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 2.5%,var(--cal-surface)),var(--cal-surface));position: relative}.cal-inst::after{content: "";position: absolute;left: var(--space-5);right: var(--space-5);bottom: 0;height: 1px;background: linear-gradient(90deg,var(--tone),transparent 70%);opacity: 0.4}.cal-inst[data-tone="flight"]{--tone: var(--flight-ink);--tone-soft: color-mix(in srgb,var(--flight) 12%,transparent);--tone-line: color-mix(in srgb,var(--flight) 30%,transparent)}.cal-inst[data-tone="hours"]{--tone: var(--sky-ink);--tone-soft: color-mix(in srgb,var(--sky) 12%,transparent);--tone-line: color-mix(in srgb,var(--sky) 30%,transparent)}.cal-inst[data-tone="off"]{--tone: var(--off-ink);--tone-soft: color-mix(in srgb,var(--off-ink) 10%,transparent);--tone-line: color-mix(in srgb,var(--off-ink) 26%,transparent)}.cal-inst[data-tone="standby"]{--tone: var(--standby-ink);--tone-soft: color-mix(in srgb,var(--standby) 12%,transparent);--tone-line: color-mix(in srgb,var(--standby) 32%,transparent)}.cal-inst[data-tone="training"]{--tone: var(--training-ink);--tone-soft: color-mix(in srgb,var(--training) 12%,transparent);--tone-line: color-mix(in srgb,var(--training) 30%,transparent)}.cal-inst[data-tone="hotel"]{--tone: var(--hotel-ink);--tone-soft: color-mix(in srgb,var(--hotel) 12%,transparent);--tone-line: color-mix(in srgb,var(--hotel) 30%,transparent)}.cal-inst-glyph{display: grid;place-items: center;width: 34px;height: 34px;flex: none;border-radius: var(--r-md);color: var(--tone);background: var(--tone-soft);border: 1px solid var(--tone-line)}.cal-inst-glyph svg{width: 16px;height: 16px}.cal-inst-meta{min-width: 0;display: flex;flex-direction: column;gap: var(--space-1)}.cal-inst .stat-num{font-size: var(--fs-xl);line-height: 1.1;font-weight: 800;letter-spacing: -0.03em;color: var(--cal-ink);font-variant-numeric: var(--tnum);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.cal-inst .stat-label{margin: 0;font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.13em;text-transform: uppercase;color: var(--cal-faint);white-space: normal;overflow: visible}.cal-content{display: block;padding: var(--space-5);min-width: 0}.cal-pane .calendar-view,.cal-pane .week-view,.cal-pane .day-view,.cal-pane .days{margin-bottom: 0;border: 1px solid var(--cal-line);border-radius: var(--r-lg);background: var(--cal-surface);box-shadow: var(--shadow-sm);overflow: hidden}.cal-pane .day-view,.cal-pane .days{border: 0;border-radius: 0;background: transparent;box-shadow: none;overflow: visible}.cal-pane .cal-dow{background: var(--cal-head);border-bottom: 1px solid var(--cal-line-strong)}.cal-pane .cal-dow span{padding: var(--space-3) 0;font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.15em;color: var(--cal-faint)}.cal-pane .cal-foot .cal-foot-when{white-space: normal;overflow-wrap: break-word;overflow: visible}.cal-marks{display: none}.cal-pane .cal-mark{width: 6px;height: 6px;border-radius: 50%;background: var(--gray)}.cal-pane .cal-mark.t-flight{background: var(--flight)}.cal-pane .cal-mark.t-hotel{background: var(--hotel)}.cal-pane .cal-mark.t-standby,.cal-pane .cal-mark.t-reserve{background: var(--standby)}.cal-pane .cal-mark.t-training{background: var(--training)}.cal-pane .cal-mark.t-off{background: var(--off-ink)}.cal-pane .cal-cell{min-width: 0;min-height: clamp(96px,8.4vw,124px);padding: var(--space-3);gap: var(--space-2);border-right: 1px solid var(--cal-line);border-bottom: 1px solid var(--cal-line);background: var(--cal-surface);cursor: pointer;transition: background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cal-pane .cal-grid>.cal-cell:nth-child(7n){border-right: 0}.cal-pane .cal-grid>.cal-cell:nth-last-child(-n + 7){border-bottom: 0}.cal-pane .cal-cell:hover{background: color-mix(in srgb,var(--sky) 5%,var(--cal-surface));box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--sky) 24%,transparent)}.cal-pane .cal-cell:hover::before{display: none}.cal-pane .cal-cell.out{background: color-mix(in srgb,var(--cal-inset) 48%,var(--cal-surface))}.cal-pane .cal-cell.out .cal-num{opacity: 0.45}.cal-pane .cal-cell.weekend{background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 2%,transparent),transparent 40%),color-mix(in srgb,var(--cal-inset) 28%,var(--cal-surface))}.cal-pane .cal-cell.weekend::after{display: none}.cal-pane .cal-cell.weekend .cal-num{color: var(--cal-muted);font-weight: 800}.cal-pane .cal-cell.today{background: radial-gradient(130% 100% at 50% 0%,color-mix(in srgb,var(--sky) 12%,transparent),transparent 62%),var(--cal-surface);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--sky) 40%,transparent)}.cal-pane .cal-cell.today:hover{box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--sky) 58%,transparent),0 0 24px -12px var(--cal-glow)}.cal-top{display: flex;align-items: center;gap: var(--space-2);min-height: 24px}.cal-pane .cal-num{font-size: var(--fs-sm);font-weight: 700;color: var(--cal-muted);font-variant-numeric: var(--tnum)}.cal-today-tag{display: inline-flex;align-items: center;height: 16px;padding: 0 var(--space-2);border: 1px solid color-mix(in srgb,var(--sky) 38%,transparent);border-radius: var(--r-full);color: var(--sky-ink);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.10em;text-transform: uppercase;white-space: nowrap}.cal-daystat{margin-left: auto;display: inline-flex;align-items: center;height: 18px;padding: 0 var(--space-2);border: 1px solid var(--cal-line);border-radius: var(--r-full);background: color-mix(in srgb,var(--cal-inset) 60%,transparent);color: var(--cal-faint);font-family: var(--mono);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.02em;white-space: nowrap}.cal-pane .cal-cell.today .cal-num{display: inline-grid;place-items: center;min-width: 24px;height: 24px;padding: 0 var(--space-2);border-radius: var(--r-md);color: #fff;background: linear-gradient(160deg,color-mix(in srgb,var(--sky) 76%,#ffffff),var(--sky));box-shadow: 0 0 18px -4px color-mix(in srgb,var(--sky) 85%,transparent),inset 0 1px 0 rgba(255,255,255,0.28)}.cal-events{gap: var(--space-1)}.cal-pane .cal-evt,.cal-pane .cal-lane{--ink: var(--flight-ink);position: relative;display: flex;flex-direction: column;align-items: stretch;gap: var(--space-1);width: 100%;min-width: 0;max-width: 100%;padding: var(--space-2) var(--space-3) var(--space-2) var(--space-3);border: 1px solid color-mix(in srgb,var(--ink) 30%,transparent);border-left: 3px solid var(--ink);border-radius: var(--r-md);background: linear-gradient(180deg,color-mix(in srgb,#ffffff 5%,transparent),transparent 60%),color-mix(in srgb,var(--ink) 11%,var(--cal-surface));color: var(--ink);font-size: var(--fs-xs);font-weight: 700;line-height: 1.3;white-space: nowrap;overflow: hidden;cursor: pointer;box-shadow: inset 0 1px 0 color-mix(in srgb,#ffffff 5%,transparent);transition: transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cal-pane .cal-evt.t-flight,.cal-pane .cal-lane.t-flight{--ink: var(--flight-ink)}.cal-pane .cal-evt.t-deadhead{--ink: var(--sky-ink)}.cal-pane .cal-evt.t-off{--ink: var(--off-ink)}.cal-pane .cal-evt.t-standby{--ink: var(--standby-ink)}.cal-pane .cal-evt.t-training{--ink: var(--training-ink)}.cal-pane .cal-evt.t-reserve{--ink: var(--reserve-ink)}.cal-pane .cal-evt.t-hotel{--ink: var(--hotel-ink)}.cal-pane .cal-evt.t-other{--ink: var(--cal-muted)}[data-theme="light"] .cal-pane .cal-evt,[data-theme="light"] .cal-pane .cal-lane{background: linear-gradient(180deg,rgba(255,255,255,0.55),transparent 60%),color-mix(in srgb,var(--ink) 10%,#ffffff)}.cal-pane .cal-evt:hover{transform: translateY(-1px);border-color: color-mix(in srgb,var(--ink) 52%,transparent);box-shadow: 0 5px 14px -8px rgba(2,6,16,0.6),inset 0 1px 0 color-mix(in srgb,#ffffff 7%,transparent)}.cal-pane .cal-chip.t-off{border-style: solid;background: color-mix(in srgb,var(--off-ink) 7%,var(--cal-surface))}.cal-pane .cal-chip.t-standby,.cal-pane .cal-chip.t-training{border-style: solid}.cal-pane .cal-evt .chip-txt{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;min-width: 0}.cal-evt-l1,.cal-evt-l2{display: flex;align-items: center;gap: var(--space-2);min-width: 0}.cal-evt-l1{min-height: 15px}.cal-pane .cal-evt .cal-evt-ico{width: 10px;height: 10px;flex: none;opacity: 0.9}.cal-evt .flag{width: 5px;height: 5px;box-shadow: 0 0 6px currentColor}.cal-obmark{color: var(--cal-muted);font-size: var(--fs-xs)}.cal-pane .cal-evt-flt{flex: none;font-family: var(--mono);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.01em;color: var(--cal-ink)}.cal-pane .cal-evt .cal-route{font-family: var(--mono);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.02em;color: var(--ink)}.cal-evt-n{flex: none;margin-left: var(--space-1);color: var(--cal-muted);font-size: var(--fs-xs)}.cal-pane .cal-evt-time{flex: none;color: var(--cal-muted);font-family: var(--mono);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.01em}.cal-evt-path{flex: 1 1 auto;min-width: 6px;height: 0;align-self: center;margin: 0 var(--space-1);border-top: 1px dashed color-mix(in srgb,var(--ink) 42%,transparent)}.cal-pane .cal-tarr{flex: none;margin-left: auto;color: var(--cal-muted);font-family: var(--mono);font-size: var(--fs-xs);font-weight: 700}.cal-tarr em,.cal-xmark{font-style: normal;color: var(--sky-ink);font-size: var(--fs-xs);font-weight: 800}.cal-xmark{display: none}.cal-evt.cal-cross-inline .cal-xmark{display: inline}.cal-evt-dest{display: none}.cal-lane{visibility: hidden}.cal-evt.cal-cross{max-width: none;--reach: 0.74;width: calc((1 + var(--reach)) * 100% + var(--space-2) * (1 + 2 * var(--reach)))}.cal-pane .cal-more{margin-top: auto;padding: var(--space-1) var(--space-3);border: 1px dashed var(--cal-line-strong);border-radius: var(--r-full);color: var(--cal-faint);font-size: var(--fs-xs);font-weight: 800;align-self: flex-start}.cal-pane .cal-foot{margin-top: auto;padding-top: var(--space-1);font-size: var(--fs-xs);color: var(--cal-faint);letter-spacing: 0.01em}.cal-pane .cal-foot .cal-foot-blk{padding: 0 var(--space-2);border-radius: var(--r-full);background: color-mix(in srgb,var(--cal-inset) 70%,transparent);color: var(--cal-muted);font-weight: 800}.cal-pane .cal-offbar{height: 3px;margin-top: auto;background: linear-gradient(90deg,color-mix(in srgb,var(--off-ink) 38%,transparent),color-mix(in srgb,var(--off-ink) 8%,transparent))}.cal-pane .cal-offcode{margin-top: var(--space-1);gap: var(--space-1)}.cal-pane .cal-restpill{padding: 0 var(--space-2);font-size: var(--fs-xs);line-height: 1.5}.cal-pane .cal-start{padding: var(--space-1) var(--space-2);border-radius: var(--r-sm);background: color-mix(in srgb,var(--warning) 7%,var(--cal-surface));border-color: color-mix(in srgb,var(--warning) 42%,transparent);color: var(--warning);font-size: var(--fs-xs)}.cal-pane .cal-start small{font-size: var(--fs-xs)}.cal-pane .cal-thread{height: 2px}.cal-pane .cal-laybar{height: 3px;background: linear-gradient(90deg,color-mix(in srgb,var(--hotel-ink) 55%,transparent),color-mix(in srgb,var(--hotel-ink) 26%,transparent))}.cal-pane .cal-cell.lay-day{background: radial-gradient(120% 100% at 0% 100%,color-mix(in srgb,var(--hotel) 7%,transparent),transparent 60%),var(--cal-surface)}.cal-pane .cal-cell.lay-day.weekend{background: radial-gradient(120% 100% at 0% 100%,color-mix(in srgb,var(--hotel) 9%,transparent),transparent 60%),color-mix(in srgb,var(--cal-inset) 28%,var(--cal-surface))}.cal-pane .cal-lay-label{padding: var(--space-1) var(--space-1) var(--space-1);font-size: var(--fs-xs);color: var(--hotel-ink)}.cal-pane .cal-hotel-n{font-weight: 800}.cal-pane .cal-cell.cal-ground{background: radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--cal-faint) 20%,transparent) 1px,transparent 0) 0 0 / 8px 8px,var(--cal-surface)}[data-theme="light"] .cal-pane .cal-cell.cal-ground{background: radial-gradient(circle at 1px 1px,rgba(100,116,139,0.22) 1px,transparent 0) 0 0 / 8px 8px,#fbfdff}.cal-pane .week-view{background: var(--cal-surface)}.cal-pane .week-cols{align-items: stretch}.cal-pane .wk-col{min-width: 0;padding: 0;border-right: 1px solid var(--cal-line);background: var(--cal-surface);gap: 0;transition: background var(--dur-fast) var(--ease)}.cal-pane .wk-col:last-child{border-right: 0}.cal-pane .wk-col.weekend{background: color-mix(in srgb,var(--cal-inset) 28%,var(--cal-surface))}.cal-pane .wk-col.today{background: radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--sky) 10%,transparent),transparent 62%),var(--cal-surface);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--sky) 34%,transparent)}.cal-pane .wk-head{display: block;padding: var(--space-3) var(--space-3) var(--space-2);background: var(--cal-head);border-bottom: 1px solid var(--cal-line);text-align: left}.cal-pane .wk-head-row{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-1)}.cal-pane .wk-head .dow{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.14em;color: var(--cal-faint)}.cal-pane .wk-head.today .dow{color: var(--sky-ink)}.cal-pane .wk-head.weekend .dow{color: var(--cal-muted)}.cal-pane .wk-month{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase;color: var(--sky-ink)}.cal-pane .wk-head-main{display: flex;align-items: baseline;gap: var(--space-2);margin-top: var(--space-1)}.cal-pane .wk-head .dnum{font-size: var(--fs-2xl);line-height: 1.05;font-weight: 800;letter-spacing: -0.03em;color: var(--cal-ink);font-variant-numeric: var(--tnum)}.cal-pane .wk-total{margin-left: auto;font-size: var(--fs-xs);font-weight: 700;color: var(--cal-faint)}.cal-pane .wk-today-tag{display: inline-flex;margin-top: var(--space-1);height: 15px;padding: 0 var(--space-2);border: 1px solid color-mix(in srgb,var(--sky) 38%,transparent);border-radius: var(--r-full);color: var(--sky-ink);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase}.cal-pane .wk-head.today .dnum{display: inline-grid;place-items: center;min-width: 30px;height: 30px;padding: 0 var(--space-2);border-radius: var(--r-md);color: #fff;background: linear-gradient(160deg,color-mix(in srgb,var(--sky) 76%,#ffffff),var(--sky));box-shadow: 0 0 18px -4px color-mix(in srgb,var(--sky) 80%,transparent)}.cal-pane .wk-body{display: flex;flex-direction: column;gap: var(--space-2);flex: 1;min-height: 220px;padding: var(--space-3)}.cal-pane .wk-evt{width: 100%;padding: var(--space-2) var(--space-3) var(--space-2) var(--space-3);border-radius: var(--r-sm);gap: var(--space-1);line-height: 1.35}.cal-pane .wk-line1{display: flex;align-items: baseline;flex-wrap: wrap;gap: var(--space-1) var(--space-3);min-width: 0;overflow: hidden}.cal-pane .wk-flt{flex: none;font-family: var(--mono);font-size: var(--fs-xs);font-weight: 800;color: var(--cal-ink)}.cal-pane .wk-route{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--fs-xs);font-weight: 700;color: var(--ink)}.cal-pane .wk-time{display: flex;align-items: center;gap: var(--space-2);font-size: var(--fs-xs);color: var(--cal-muted)}.cal-pane .wk-time b{font-weight: 700;color: var(--cal-muted);font-variant-numeric: var(--tnum)}.cal-pane .wk-time em{font-style: normal;color: var(--sky-ink);font-size: var(--fs-xs);font-weight: 800}.cal-pane .wk-path{flex: 1;height: 0;border-top: 1px dashed color-mix(in srgb,var(--ink) 38%,transparent)}.cal-pane .wk-time>span{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase;color: var(--cal-faint)}.cal-pane .wk-foot{display: flex;align-items: center;justify-content: space-between;gap: var(--space-2);padding-top: var(--space-1);border-top: 1px dashed color-mix(in srgb,var(--ink) 18%,transparent);font-size: var(--fs-xs);color: var(--cal-faint)}.cal-pane .wk-sub{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.cal-pane .wk-block{flex: none;font-family: var(--mono);font-weight: 800;color: var(--ink)}.cal-pane .wk-evt.t-off{opacity: 0.72}.cal-pane .wk-empty{display: flex;align-items: center;justify-content: center;gap: var(--space-2);flex: 0 0 auto;min-height: 46px;padding: var(--space-3);border: 1px dashed var(--cal-line);border-radius: var(--r-sm);color: var(--cal-faint);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.03em}.cal-pane .wk-empty-dot{width: 5px;height: 5px;border-radius: var(--r-full);background: var(--cal-faint);opacity: 0.5}.cal-pane .day-view{display: flex;flex-direction: column;gap: var(--space-4)}.cal-pane .dv-datehead{display: flex;align-items: center;justify-content: space-between;gap: var(--space-5);flex-wrap: wrap;padding: var(--space-6);border: 1px solid var(--cal-line);border-radius: var(--r-lg);background: radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--sky) 12%,transparent),transparent 60%),radial-gradient(100% 110% at 100% 100%,color-mix(in srgb,var(--training) 7%,transparent),transparent 60%),var(--cal-surface);box-shadow: var(--shadow-sm);text-align: left}.cal-pane .dv-id{display: flex;align-items: baseline;gap: var(--space-3);flex-wrap: wrap;min-width: 0}.cal-pane .dv-dow{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.14em;text-transform: uppercase;color: var(--sky-ink)}.cal-pane .dv-daynum{font-size: calc(var(--fs-3xl) + 8px);line-height: 0.95;font-weight: 800;letter-spacing: -0.05em;color: var(--cal-ink);font-variant-numeric: var(--tnum)}.cal-pane .dv-monthyear{font-size: var(--fs-sm);font-weight: 700;color: var(--cal-muted)}.cal-pane .dv-today{display: inline-flex;height: 18px;align-items: center;padding: 0 var(--space-3);border: 1px solid color-mix(in srgb,var(--sky) 40%,transparent);border-radius: var(--r-full);color: var(--sky-ink);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.1em;text-transform: uppercase}.cal-pane .dv-metrics{display: flex;align-items: stretch;gap: var(--space-4);flex-wrap: wrap}.cal-pane .dv-metric{display: flex;flex-direction: column;gap: var(--space-1);min-width: 58px;padding-left: var(--space-3);border-left: 1px solid var(--cal-line)}.cal-pane .dv-metric b{font-family: var(--mono);font-size: var(--fs-lg);font-weight: 800;line-height: 1.1;color: var(--cal-ink);font-variant-numeric: var(--tnum)}.cal-pane .dv-metric span{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.11em;text-transform: uppercase;color: var(--cal-faint)}.cal-pane .dv-metric[data-tone="hours"] b{color: var(--sky-ink)}.cal-pane .dv-metric[data-tone="flight"] b{color: var(--flight-ink)}.cal-pane .dv-list{gap: var(--space-3);margin-bottom: 0}.cal-pane .day-card{--dc-pad-y: var(--space-4);--dc-pad-x: var(--space-5);--dc-gap: var(--space-4);--dc-radius: var(--r-lg);--cal-day-rail: 56px;position: relative;display: grid;grid-template-columns: var(--cal-day-rail) minmax(0,1fr) auto;gap: var(--dc-gap);align-items: start;margin: 0;padding: var(--dc-pad-y) var(--dc-pad-x);background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 2.5%,var(--cal-surface)),var(--cal-surface));border: 1px solid var(--cal-line);border-radius: var(--dc-radius);box-shadow: var(--shadow-sm);overflow: hidden;animation: none;transition: border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),background var(--dur) var(--ease)}.cal-pane .day-card::before{content: "";position: absolute;inset: 0 auto 0 0;width: 3px;background: linear-gradient(180deg,var(--cal-muted),transparent 75%);opacity: 0.5}.cal-pane .day-card.t-flight::before{background: linear-gradient(180deg,var(--flight-ink),transparent 80%);opacity: 0.9}.cal-pane .day-card.t-deadhead::before{background: linear-gradient(180deg,var(--sky-ink),transparent 80%)}.cal-pane .day-card.t-hotel::before{background: linear-gradient(180deg,var(--hotel-ink),transparent 80%)}.cal-pane .day-card.t-standby::before{background: linear-gradient(180deg,var(--standby-ink),transparent 80%)}.cal-pane .day-card.t-training::before{background: linear-gradient(180deg,var(--training-ink),transparent 80%)}.cal-pane .day-card.t-off::before{background: linear-gradient(180deg,var(--off-ink),transparent 80%);opacity: 0.4}.cal-pane .day-card:hover{transform: translateY(-1px);border-color: var(--cal-line-strong);box-shadow: var(--shadow-md)}.cal-pane .day-card.weekend{background: linear-gradient(180deg,color-mix(in srgb,var(--calendar-tint) 2%,transparent),transparent 40%),color-mix(in srgb,var(--cal-inset) 24%,var(--cal-surface))}.cal-pane .day-card.no-rail{grid-template-columns: minmax(0,1fr) auto;--dc-pad-y: var(--space-3);--dc-pad-x: var(--space-4);--dc-gap: var(--space-3)}.cal-pane .day-rail{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-1);min-width: 0;padding-right: var(--space-3);border-right: 1px solid var(--cal-line);align-self: stretch}.cal-pane .day-num{font-size: var(--fs-2xl);line-height: 1;font-weight: 800;letter-spacing: -0.04em;color: var(--cal-ink);font-variant-numeric: var(--tnum)}.cal-pane .day-dow{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.12em;text-transform: uppercase;color: var(--cal-faint)}.cal-pane .day-body{display: flex;flex-direction: column;gap: var(--space-3);min-width: 0}.cal-pane .day-card .duty{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2);margin: 0}.cal-pane .day-card .duty-badge{display: inline-flex;align-items: center;height: 22px;padding: 0 var(--space-3);border-radius: var(--r-full);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.10em;text-transform: uppercase}.cal-pane .day-card .flight-num{font-family: var(--mono);font-size: var(--fs-lg);font-weight: 800;letter-spacing: -0.01em;color: var(--cal-ink)}.cal-pane .day-card .duty-flag,.cal-pane .day-card .status-flag,.cal-pane .day-card .op-flt{display: inline-flex;align-items: center;height: 20px;padding: 0 var(--space-3);border-radius: var(--r-full);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase}.cal-pane .day-card .op-flt{background: var(--cal-inset);color: var(--cal-muted)}.cal-pane .duty-route{display: flex;align-items: center;gap: var(--space-4);min-width: 0;padding: var(--space-2) var(--space-3);border: 1px solid var(--cal-line);border-radius: var(--r-sm);background: color-mix(in srgb,var(--cal-inset) 52%,transparent)}.cal-pane .dr-end{display: flex;flex-direction: column;gap: 0;min-width: 0}.cal-pane .dr-end b{font-family: var(--mono);font-size: var(--fs-md);font-weight: 800;letter-spacing: 0.02em;line-height: 1.1;color: var(--cal-ink)}.cal-pane .dr-end small{font-size: var(--fs-xs);color: var(--cal-faint);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 110px}.cal-pane .dr-end i{font-family: var(--mono);font-style: normal;font-size: var(--fs-xs);font-weight: 700;color: var(--cal-muted);font-variant-numeric: var(--tnum)}.cal-pane .dr-end-arr{align-items: flex-end;text-align: right}.cal-pane .dr-line{position: relative;flex: 1 1 auto;min-width: 30px;height: 0;border-top: 1px dashed color-mix(in srgb,var(--flight) 48%,transparent)}.cal-pane .dr-line i{position: absolute;right: 0;top: -3px;width: 6px;height: 6px;border-top: 1px solid color-mix(in srgb,var(--flight) 70%,transparent);border-right: 1px solid color-mix(in srgb,var(--flight) 70%,transparent);transform: rotate(45deg)}.cal-pane .dr-plus{font-style: normal;font-size: var(--fs-xs);color: var(--sky-ink);font-weight: 800;margin-left: var(--space-1)}.cal-pane .duty-route-hotel{gap: var(--space-2);border-color: color-mix(in srgb,var(--hotel) 30%,transparent);background: color-mix(in srgb,var(--hotel) 8%,transparent);color: var(--hotel-ink)}.cal-pane .dr-hotel-ico{display: inline-flex;color: var(--hotel-ink)}.cal-pane .dr-hotel-ico svg{width: 15px;height: 15px}.cal-pane .dr-hotel-name{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: 700;font-size: var(--fs-sm)}.cal-pane .dr-hotel-nights{margin-left: auto;flex: none;font-size: var(--fs-xs);font-weight: 800;text-transform: uppercase;letter-spacing: 0.08em}.cal-pane .duty-times{display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-6)}.cal-pane .duty-times-hotel{gap: var(--space-2) var(--space-5)}.cal-pane .duty-time{display: flex;flex-direction: column;gap: 0;min-width: 64px}.cal-pane .duty-time span{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.11em;text-transform: uppercase;color: var(--cal-faint)}.cal-pane .duty-time b{font-family: var(--mono);font-size: var(--fs-sm);font-weight: 800;color: var(--cal-ink);font-variant-numeric: var(--tnum);white-space: nowrap}.cal-pane .duty-time small{font-size: var(--fs-xs);font-weight: 700;color: var(--cal-muted);margin-left: var(--space-1)}.cal-pane .duty-next-day{font-style: normal;color: var(--sky-ink);font-size: var(--fs-xs);font-weight: 800;margin-left: var(--space-1)}.cal-pane .duty-meta{display: flex;flex-wrap: wrap;gap: var(--space-1) var(--space-5);margin: 0}.cal-pane .duty-meta .meta-item{display: inline-flex;align-items: baseline;gap: var(--space-2)}.cal-pane .duty-meta .meta-key{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.10em;text-transform: uppercase;color: var(--cal-faint)}.cal-pane .duty-meta .meta-val{font-size: var(--fs-xs);font-weight: 600;color: var(--cal-muted)}.cal-pane .day-actions{display: flex;align-items: center;gap: var(--space-1);align-self: start;margin: 0}.cal-pane .day-actions .mini:not(.btn){display: grid;place-items: center;width: 30px;height: 30px;padding: 0;border: 1px solid var(--cal-line);border-radius: var(--r-sm);background: color-mix(in srgb,var(--cal-inset) 55%,transparent);color: var(--cal-faint);cursor: pointer;transition: color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.cal-pane .day-actions .mini svg{width: 14px;height: 14px}.cal-pane .day-actions .mini:not(.btn):hover{color: var(--cal-ink);background: var(--cal-surface);border-color: var(--cal-line-strong)}.cal-pane .day-actions .mini.danger:not(.btn):hover{color: var(--danger);border-color: color-mix(in srgb,var(--danger) 40%,transparent);background: var(--danger-soft)}.cal-pane .cal-list{display: flex;flex-direction: column;gap: var(--space-5);margin: 0;border: 0;background: transparent;box-shadow: none;overflow: visible}.cal-pane .cal-list-group{min-width: 0}.cal-pane .cal-list-head{display: flex;align-items: baseline;gap: var(--space-3);padding: 0 var(--space-1) var(--space-2);margin-bottom: var(--space-2);border-bottom: 1px solid var(--cal-line)}.cal-pane .cal-list-date{display: inline-flex;align-items: baseline;gap: var(--space-2);flex: none}.cal-pane .cal-list-date b{font-size: var(--fs-xl);line-height: 1;font-weight: 800;letter-spacing: -0.03em;color: var(--cal-ink);font-variant-numeric: var(--tnum)}.cal-pane .cal-list-date span{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.13em;text-transform: uppercase;color: var(--sky-ink)}.cal-pane .cal-list-period{font-size: var(--fs-xs);font-weight: 600;color: var(--cal-faint)}.cal-pane .cal-list-count{margin-left: auto;padding: var(--space-1) var(--space-3);border: 1px solid var(--cal-line);border-radius: var(--r-full);background: var(--cal-surface);color: var(--cal-faint);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;white-space: nowrap}.cal-pane .cal-list-items{display: flex;flex-direction: column;gap: var(--space-2)}@media (min-width: 700px){.cal-pane .day-card.no-rail .day-body{display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: center;gap: var(--space-2) var(--space-5)}.cal-pane .day-card.no-rail .duty{grid-column: 1 / -1}.cal-pane .day-card.no-rail .duty-route{grid-column: 1}.cal-pane .day-card.no-rail .duty-times{grid-column: 2}.cal-pane .day-card.no-rail.no-route .duty-times{grid-column: 1 / -1}.cal-pane .day-card.no-rail .duty-meta{grid-column: 1 / -1}}.cal-pane .cal-empty{display: block;margin: var(--space-5);padding: var(--space-8) var(--space-5);border: 1px dashed var(--cal-line-strong);border-radius: var(--r-lg);background: radial-gradient(90% 120% at 50% 0%,color-mix(in srgb,var(--sky) 7%,transparent),transparent 62%),var(--cal-surface);text-align: center}.cal-empty-icon{display: grid;place-items: center;width: 58px;height: 58px;margin: 0 auto var(--space-3);border: 1px solid color-mix(in srgb,var(--sky) 28%,transparent);border-radius: var(--r-lg);background: color-mix(in srgb,var(--sky) 9%,transparent);color: var(--sky-ink);box-shadow: 0 0 28px -10px var(--cal-glow)}.cal-empty-icon svg{width: 26px;height: 26px}.cal-pane .cal-empty h2{margin: 0 0 var(--space-1);font-size: var(--fs-lg);font-weight: 800;letter-spacing: -0.02em;color: var(--cal-ink)}.cal-pane .cal-empty p{max-width: 52ch;margin: 0 auto var(--space-3);font-size: var(--fs-xs);line-height: 1.5;color: var(--cal-muted)}.cal-pane .cal-empty .empty-actions{justify-content: center}.cal-pane .cal-empty .empty-detail{display: inline-flex;align-items: center;gap: var(--space-2);margin-top: var(--space-3);font-size: var(--fs-xs);color: var(--cal-muted)}.cal-pane .cal-empty .empty-detail.hidden{display: none}.cal-pane .cal-empty .empty-detail{position: relative;min-height: 44px}.cal-pane .cal-empty .empty-detail input{position: absolute;left: 0;top: 50%;width: 44px;height: 44px;margin: -22px 0 0;opacity: 0;cursor: pointer}.day-sheet{width: min(460px,94vw);border-left: 1px solid var(--card-border-2);background: radial-gradient(120% 70% at 100% 0%,color-mix(in srgb,var(--sky) 8%,transparent),transparent 55%),var(--card);box-shadow: -30px 0 70px -24px rgba(2,6,16,0.72)}[data-theme="light"] .day-sheet{background: radial-gradient(120% 70% at 100% 0%,rgba(2,132,199,0.06),transparent 55%),#ffffff;box-shadow: -30px 0 70px -30px rgba(15,23,42,0.34)}.day-sheet-scrim{background: rgba(2,6,16,0.48);backdrop-filter: blur(3px)}.day-sheet-head{display: flex;align-items: flex-start;gap: var(--space-3);padding: var(--space-5) var(--space-5) var(--space-4);border-bottom: 1px solid var(--card-border);background: linear-gradient(180deg,color-mix(in srgb,var(--card) 82%,transparent),transparent)}.day-sheet-title{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0}.day-sheet-dow{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.14em;text-transform: uppercase;color: var(--sky-ink)}.day-sheet-title b{font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.02em;color: var(--text)}.day-sheet-year{font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.08em;color: var(--text-faint)}.day-sheet-count{margin-left: auto;padding: var(--space-1) var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-full);background: var(--surface-2);color: var(--text-faint);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;white-space: nowrap}.day-sheet-x{width: 30px;height: 30px;margin-left: 0;border-radius: var(--r-sm);border: 1px solid var(--card-border);background: var(--surface-2);color: var(--text-soft);font-size: var(--fs-lg);line-height: 1}.day-sheet-summary{display: grid;grid-template-columns: repeat(auto-fit,minmax(76px,1fr));gap: var(--space-1);flex: none;background: var(--card-border);border-bottom: 1px solid var(--card-border)}.day-sheet-summary .dss-item{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0;padding: var(--space-3) var(--space-4);background: var(--card)}.day-sheet-summary .dss-item span{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.12em;text-transform: uppercase;color: var(--text-faint)}.day-sheet-summary .dss-item b{font-family: var(--mono);font-size: var(--fs-md);font-weight: 800;letter-spacing: -0.01em;color: var(--text);font-variant-numeric: var(--tnum);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.day-sheet-body{padding: var(--space-4) var(--space-4) var(--space-7)}.day-sheet-foot{padding: var(--space-3) var(--space-4);border-top: 1px solid var(--card-border);background: color-mix(in srgb,var(--card) 88%,transparent)}.day-sheet-foot .day-actions{margin: 0}.day-sheet-foot #day-add{width: 100%;justify-content: center}.day-sheet .cal-empty-day{margin: var(--space-3) 0;padding: var(--space-7) var(--space-4);border: 1px dashed var(--card-border-2);border-radius: var(--r-md);text-align: center;color: var(--text-faint)}.day-timeline{display: flex;flex-direction: column;gap: var(--space-3);position: relative}.day-sheet .day-node{display: grid;grid-template-columns: 46px 16px minmax(0,1fr);gap: var(--space-2);align-items: start;margin: 0;padding: 0;border: 0;background: transparent}.day-node-hour{display: flex;flex-direction: column;align-items: flex-end;gap: 0;padding-top: var(--space-1);text-align: right}.day-node-hour b{font-family: var(--mono);font-size: var(--fs-sm);font-weight: 800;color: var(--text);font-variant-numeric: var(--tnum)}.day-node-hour span{font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase;color: var(--text-faint)}.day-node-spine{position: relative;display: flex;justify-content: center;align-self: stretch;min-height: 100%}.day-node-spine::before{content: "";position: absolute;top: 4px;bottom: calc(-1 * var(--space-3));width: 1px;background: var(--card-border)}.day-sheet .day-node:last-child .day-node-spine::before{bottom: 0}.day-sheet .day-node-spine .rot-dot{position: relative;z-index: 1;width: 9px;height: 9px;margin-top: var(--space-3);border: 2px solid var(--card);border-radius: var(--r-full);background: var(--sky-ink);box-shadow: 0 0 0 1px color-mix(in srgb,var(--sky) 42%,transparent),0 0 12px color-mix(in srgb,var(--sky) 40%,transparent)}.day-sheet .day-node-card{display: flex;flex-direction: column;gap: var(--space-2);min-width: 0;padding: var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-md);background: linear-gradient(180deg,color-mix(in srgb,#ffffff 2.5%,transparent),transparent 60%),var(--surface-2);box-shadow: var(--shadow-xs)}[data-theme="light"] .day-sheet .day-node-card{background: #ffffff}.day-node-head{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2);min-width: 0}.day-sheet .day-node-card .duty-badge{display: inline-flex;align-items: center;height: 20px;padding: 0 var(--space-3);border-radius: var(--r-full);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase}.day-sheet .rot-leg-flt{font-family: var(--mono);font-size: var(--fs-sm);font-weight: 800;color: var(--text)}.day-sheet .rot-leg-route{min-width: 0;font-family: var(--mono);font-size: var(--fs-xs);color: var(--text-soft);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.day-sheet .rot-leg-route i{font-style: normal;color: var(--text-faint);margin: 0 var(--space-1)}.day-sheet .day-node-card .rot-edit{margin-left: auto;width: auto;height: 24px;padding: 0 var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-full);background: var(--card);color: var(--text-soft);font-size: var(--fs-xs);font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;cursor: pointer}.day-sheet .day-node-card .rot-edit:hover{color: var(--text);border-color: var(--card-border-2)}.day-node-meta{display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--space-1) var(--space-4);font-size: var(--fs-xs);color: var(--text-faint)}.day-node-meta b{font-family: var(--mono);font-size: var(--fs-xs);color: var(--text-soft);font-weight: 700}.day-node-meta .rot-leg-time{margin-left: auto;color: var(--text-faint);font-size: var(--fs-xs)}.day-sheet .rot-leg-sub{font-size: var(--fs-xs);color: var(--text-soft)}.day-sheet .hand-badge{align-self: flex-start;margin-top: var(--space-1)}.day-sheet .manual-restore{align-self: flex-start;width: auto;padding: 0 var(--space-3);height: 24px;border: 1px solid var(--card-border);border-radius: var(--r-full);background: var(--card);color: var(--text-soft);font-size: var(--fs-xs);cursor: pointer}@media (max-width: 1180px){.cal-instruments{grid-template-columns: repeat(3,minmax(0,1fr))}.cal-inst::after{display: none}.cal-inst:not(:nth-child(3n)){border-right: 1px solid var(--cal-line)}.cal-inst:nth-child(-n + 3){border-bottom: 1px solid var(--cal-line)}}@media (max-width: 960px){.cal-deck-head{align-items: flex-start;padding: var(--space-5) var(--space-5) var(--space-3)}.cal-deck-tools{justify-content: flex-start}.cal-toolbar{padding: var(--space-2) var(--space-5)}.cal-content{padding: var(--space-4)}.cal-label{font-size: var(--fs-2xl)}.cal-pane .cal-cell{padding: var(--space-2);min-height: clamp(76px,9vw,108px)}.cal-pane .chip{height: 44px;font-size: var(--fs-xs)}.cal-pane .cal-view-switch .seg{height: 44px}.cal-pane .cal-nav-btn{width: 44px;height: 44px}.cal-pane .cal-today-btn{height: 44px}.cal-pane .month-pick-select{height: 44px}.cal-pane .cal-evt .cal-evt-flt{font-size: var(--fs-xs)}.cal-pane .cal-evt .cal-route{font-size: var(--fs-xs)}.cal-pane .cal-evt-time,.cal-pane .cal-tarr{font-size: var(--fs-xs)}.cal-daystat{display: none}}@media (max-width: 780px){.cal-pane .cal-cell{min-height: 58px;padding: var(--space-2);gap: var(--space-1)}.cal-pane .cal-events,.cal-pane .cal-foot,.cal-pane .cal-more,.cal-pane .cal-starts,.cal-pane .cal-offcode,.cal-pane .cal-lay,.cal-pane .cal-offbar,.cal-pane .cal-thread,.cal-pane .cal-daystat{display: none}.cal-pane .cal-marks{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-1)}html[data-density] .cal-pane .cal-cell{min-height: 56px}.cal-pane .cal-num{font-size: var(--fs-base)}.cal-pane .cal-view-switch .seg{padding: 0 var(--space-2)}.cal-pane .cal-view-switch .seg span{display: none}.cal-pane .cal-view-switch .seg{width: 44px;height: 44px;justify-content: center}.cal-pane .cal-view-switch .seg svg{width: 16px;height: 16px}.cal-pane .month-pick-label{display: none}.cal-deck-period{gap: var(--space-2)}.cal-period-note{font-size: var(--fs-xs)}.cal-pane .day-card{--cal-day-rail: 46px;--dc-gap: var(--space-3);padding: var(--space-3)}.cal-pane .duty-times{gap: var(--space-2) var(--space-4)}.cal-pane .duty-route{padding: var(--space-2)}.cal-pane .dr-end small{display: none}.cal-pane .dr-end b{font-size: var(--fs-sm)}.cal-pane .dv-metric{min-width: 50px}.cal-pane .dv-datehead{padding: var(--space-4)}.cal-pane .dv-daynum{font-size: calc(var(--fs-3xl) + 2px)}.cal-pane .dv-metrics{gap: var(--space-3)}.cal-pane .dv-metric{min-width: 48px}.cal-pane .dv-metric b{font-size: var(--fs-md)}}@media (max-width: 700px){.cal-pane .week-view{overflow-x: auto;scroll-snap-type: x mandatory}.cal-pane .week-cols{grid-template-columns: repeat(7,minmax(156px,1fr));min-width: 1092px}.cal-pane .wk-col{scroll-snap-align: start}.cal-pane .wk-body{min-height: 190px}}@media (max-width: 620px){.cal-deck{border-radius: var(--r-lg)}.cal-kicker{display: none}.cal-deck-head{padding: var(--space-3) var(--space-4);gap: var(--space-2)}.cal-label{font-size: var(--fs-2xl)}.cal-deck-period{margin-top: 0;gap: var(--space-1) var(--space-3)}.cal-deck-tools{width: 100%;justify-content: space-between}.cal-pane .month-pick{flex: 0 0 auto;justify-content: flex-end;margin-left: auto}.cal-pane .month-pick-select{width: 160px;min-width: 0;max-width: 160px;height: 44px}.cal-toolbar{padding: var(--space-2) var(--space-4);gap: var(--space-2)}.cal-pager{flex: none}.cal-filterbar{flex: 1 1 0;min-width: 0;order: 0;-webkit-mask-image: linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image: linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.cal-filters{gap: var(--space-2)}.cal-content{padding: var(--space-3)}.cal-instruments{grid-template-columns: repeat(3,minmax(0,1fr))}.cal-inst{flex-direction: column;align-items: flex-start;gap: var(--space-1);padding: var(--space-2) var(--space-3);border-right: 1px solid var(--cal-line);border-bottom: 1px solid var(--cal-line)}.cal-inst:nth-child(3n){border-right: 0}.cal-inst:nth-child(n + 4){border-bottom: 0}.cal-inst-glyph{width: 24px;height: 24px}.cal-inst-glyph svg{width: 12px;height: 12px}.cal-inst-meta{gap: 0}.cal-inst .stat-num{font-size: var(--fs-md)}.cal-inst .stat-label{font-size: var(--fs-xs);letter-spacing: 0.06em}.cal-pane .cal-dow span{padding: var(--space-2) 0;font-size: var(--fs-xs);letter-spacing: 0.04em}.cal-pane .cal-cell{min-height: 72px;padding: var(--space-1) var(--space-1);gap: var(--space-1)}.cal-pane .cal-top{min-height: 18px;gap: var(--space-1)}.cal-pane .cal-num{font-size: var(--fs-xs)}.cal-today-tag{display: none}.cal-pane .cal-cell.today .cal-num{min-width: 19px;height: 19px;padding: 0 var(--space-1);border-radius: var(--r-sm);font-size: var(--fs-xs)}.cal-pane .cal-evt{padding: var(--space-1) var(--space-2) var(--space-1) var(--space-2);border-left-width: 2px;border-radius: var(--r-sm);gap: 0}.cal-pane .cal-evt-l1{gap: var(--space-1);min-height: 13px}.cal-pane .cal-evt .cal-route{display: none}.cal-pane .cal-evt .cal-evt-flt{display: none}.cal-pane .cal-evt .cal-evt-ico{display: none}.cal-pane .cal-evt .cal-evt-time{font-size: var(--fs-xs)}.cal-pane .cal-evt-path{display: none}.cal-pane .cal-evt .cal-tarr{display: none}.cal-pane .cal-evt .cal-evt-dest{display: inline;overflow: hidden;max-width: 100%;font-size: var(--fs-xs);letter-spacing: -0.02em}.cal-pane .cal-evt .cal-evt-dest .full{display: inline}.cal-pane .cal-evt .cal-evt-dest .loop{display: none}.cal-pane .cal-evt .cal-evt-dest:has(.loop) .full{display: none}.cal-pane .cal-evt .cal-evt-dest:has(.loop) .loop{display: inline}.cal-pane .cal-evt.cal-cross{width: auto;max-width: 100%}.cal-pane .cal-lane{display: none}.cal-pane .cal-evt.cal-cross-inline .cal-xmark{display: inline}.cal-pane .cal-offbar{height: 2px}.cal-pane .cal-foot{font-size: var(--fs-xs)}.cal-pane .cal-foot-when{display: none}.cal-pane .cal-lay-label,.cal-pane .cal-hotel-name{display: none}.cal-pane .cal-start small b,.cal-pane .cal-start small:nth-of-type(2),.cal-pane .cal-start-ar{display: none}.cal-pane .cal-role-standby,.cal-pane .cal-role-training{border-style: solid}.cal-pane .day-card{grid-template-columns: 38px minmax(0,1fr);--cal-day-rail: 38px;padding: var(--space-3);gap: var(--space-3)}.cal-pane .day-card .day-actions{grid-column: 2;justify-self: end;margin-top: calc(-1 * var(--space-1))}.cal-pane .day-card.no-rail{grid-template-columns: minmax(0,1fr)}.cal-pane .day-card.no-rail .day-actions{grid-column: 1}.cal-pane .day-rail{padding-right: var(--space-2)}.cal-pane .day-num{font-size: var(--fs-xl)}.cal-pane .duty-times{gap: var(--space-2) var(--space-3)}.cal-pane .duty-time{min-width: 52px}.cal-pane .duty-time b{font-size: var(--fs-xs)}.cal-pane .duty-route{gap: var(--space-2)}.cal-pane .dr-line{min-width: 18px}.cal-pane .dv-metrics{gap: var(--space-2)}.cal-pane .dv-metric{min-width: 44px;padding-left: var(--space-2)}.cal-pane .dv-metric:nth-child(n + 4){display: none}.cal-pane .cal-list-head{gap: var(--space-2)}.cal-pane .cal-list-period{display: none}.cal-pane .cal-empty{margin: var(--space-3);padding: var(--space-6) var(--space-4)}.day-sheet{width: 100%;max-width: none}.day-sheet-head{padding: var(--space-4)}.day-sheet-body{padding: var(--space-3) var(--space-3) var(--space-6)}.day-sheet .day-node{grid-template-columns: 40px 14px minmax(0,1fr);gap: var(--space-1)}.day-sheet .day-node-meta .rot-leg-time{display: none}}@media (max-width: 420px){.cal-pane .cal-today-btn span{display: none}.cal-pane .cal-today-btn{width: 32px;padding: 0;justify-content: center}.cal-pane .cal-evt .cal-evt-dest{font-size: 9px}.cal-pane .day-card .flight-num{font-size: var(--fs-md)}.cal-pane .duty-meta{display: none}.cal-pane .cal-list-count{display: none}}@media (forced-colors: active){.cal-pane .cal-evt,.cal-pane .day-card,.cal-pane .cal-inst,.cal-pane .cal-view-switch .seg[aria-pressed="true"]{border: 1px solid CanvasText;background: Canvas;color: CanvasText}.cal-pane .cal-evt .cal-evt-flt,.cal-pane .cal-evt .cal-route,.cal-pane .cal-evt-time,.cal-pane .cal-tarr{color: CanvasText}}.cal-pane .cal-raw-btn{display: inline-flex;align-items: center;gap: var(--space-2);min-height: 44px;height: 44px;padding: 0 var(--space-3);white-space: nowrap}.cal-pane .cal-raw-btn svg{width: 15px;height: 15px;flex: 0 0 auto}.cal-pane .cal-raw-export{gap: var(--space-1)}.cal-pane.raw-open #cal-content,.cal-pane.raw-open #empty-cal{display: none}.cal-pane .cal-raw{margin-top: var(--space-3);border: 1px solid var(--cal-line);border-radius: var(--r-lg);background: #fff;overflow: hidden}.cal-pane .cal-raw-bar{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2) var(--space-3);padding: var(--space-2) var(--space-3);background: var(--cal-surface);border-bottom: 1px solid var(--cal-line);color: var(--cal-ink)}.cal-pane .cal-raw-back{display: inline-flex;align-items: center;gap: var(--space-1);min-height: 44px;height: 44px;padding: 0 var(--space-3);white-space: nowrap}.cal-pane .cal-raw-back svg{width: 15px;height: 15px;flex: 0 0 auto}.cal-pane .cal-raw-copy{display: flex;flex-direction: column;flex: 1 1 12rem;min-width: 0}.cal-pane .cal-raw-title{font-size: var(--fs-sm);font-weight: 700;letter-spacing: 0.02em}.cal-pane .cal-raw-sub{color: var(--cal-muted);font-size: var(--fs-xs);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.cal-pane .cal-raw-zoom{display: none;align-items: center;gap: var(--space-1)}.cal-pane .cal-raw-zoom-btn,.cal-pane .cal-raw-fit{display: inline-flex;align-items: center;justify-content: center;min-width: 44px;height: 44px;padding: 0 var(--space-2);border: 1px solid var(--cal-line);border-radius: var(--r-md);background: var(--cal-head);color: var(--cal-ink);font: inherit;cursor: pointer}.cal-pane .cal-raw-fit{padding: 0 var(--space-3);white-space: nowrap}.cal-pane .cal-raw-refresh{flex: 0 0 auto}.cal-pane .cal-raw-refresh svg{width: 16px;height: 16px}.cal-pane .cal-raw-zoom-btn:hover,.cal-pane .cal-raw-fit:hover{border-color: var(--cal-line-strong)}.cal-pane .cal-raw-zoom-btn:focus-visible,.cal-pane .cal-raw-fit:focus-visible{outline: 2px solid var(--cal-line-strong);outline-offset: 2px}.cal-pane .cal-raw-zoom-value{min-width: 3.6em;text-align: center;font-variant-numeric: tabular-nums;font-size: var(--fs-xs);color: var(--cal-muted)}.cal-pane .cal-raw-scroll{overflow: auto;max-height: calc(100vh - 20rem);min-height: 18rem;padding: var(--space-2);background: #fff;overscroll-behavior: contain}.cal-pane .cal-raw-host{transform-origin: top left;background: #fff}.cal-pane .cal-raw-state{display: grid;place-items: center;min-height: 16rem;padding: var(--space-5);color: var(--cal-muted);font-size: var(--fs-sm);text-align: center}@media (hover: hover) and (pointer: fine) and (min-width: 900px){.cal-pane .cal-raw-zoom{display: flex}}@media (max-width: 700px){.cal-pane .cal-raw-bar{gap: var(--space-2)}.cal-pane .cal-raw-scroll{max-height: calc(100vh - 16rem)}.cal-pane .cal-raw-copy{order: 3;flex-basis: 100%}}@media (forced-colors: active){.cal-pane .cal-raw,.cal-pane .cal-raw-bar,.cal-pane .cal-raw-zoom-btn,.cal-pane .cal-raw-fit{border-color: CanvasText}}.cal-pane .duty-route-chain .dr-end{flex: 1 1 auto}.cal-pane .duty-route-chain .dr-end b{font-size: var(--fs-sm);line-height: 1.35}#greeting{display: none}.dash-home{--home-gap: var(--space-5);--home-radius: var(--r-xl)}.dash-home .status-pill-row{display: flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;gap: var(--space-1) var(--space-2);margin: 0;padding: 0}.dash-home .status-pill{padding: var(--space-1) var(--space-3);border-color: transparent;background: transparent;color: var(--text-faint);box-shadow: none;font-size: var(--fs-2xs);white-space: nowrap}.dash-home .status-pill .dot{width: var(--space-2);height: var(--space-2);box-shadow: none}.dash-home .bento{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--home-gap);align-items: start;margin-bottom: var(--home-gap)}.dash-home .bento-hero{grid-column: 1 / -1}.dash-home .bento-stay,.dash-home .bento-today{grid-column: auto}.dash-home .bento-side{grid-column: 1 / -1;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--home-gap);min-width: 0}.dash-home .dash-card{min-width: 0;padding: var(--card-pad);border: 1px solid var(--card-border);border-radius: var(--home-radius);background: var(--surface);animation: none}.dash-home .bento-side .dash-card{padding: var(--space-5)}.dash-home .dash-card:hover{border-color: var(--card-border-2)}.dash-home .dash-title{margin: 0 0 var(--space-4);color: var(--text-soft);font-size: var(--fs-sm);font-weight: 650;letter-spacing: -0.01em;text-transform: none}.dash-home .dash-title .dicon{width: 30px;height: 30px;border-radius: var(--r-sm);color: var(--sky-ink);background: color-mix(in srgb,var(--accent) 18%,transparent);box-shadow: none}.dash-home .dash-title .dicon svg{width: 16px;height: 16px}.dash-home .bento-hero{position: relative;display: flex;flex-direction: column;overflow: hidden;background: var(--grad-hero),var(--surface);border: 1px solid color-mix(in srgb,var(--accent) 26%,transparent);box-shadow: var(--shadow-lg),var(--glow-accent)}.dash-home .bento-hero::before{content: "";position: absolute;inset: 0;pointer-events: none;background: radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 62%)}.dash-home .bento-hero .dash-title{position: relative;margin-bottom: var(--space-3)}.dash-home .bento-hero .dash-body{position: relative;display: flex;flex: 1;min-height: 0}.dash-home .flight-strip{display: flex;flex: 1;flex-direction: column;gap: var(--space-5);min-width: 0;padding: 0;border: 0;background: none}.dash-home .flight-strip:focus-visible{outline: 2px solid var(--accent);outline-offset: var(--space-2);border-radius: var(--r-sm)}.dash-home .bp-head{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2);padding: 0;border: 0}.dash-home .bp-airline{padding: var(--space-1) var(--space-4);border: 1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius: var(--r-full);background: color-mix(in srgb,var(--text) 10%,transparent);color: var(--text);box-shadow: none}.dash-home .bp-airline svg{width: var(--space-5);height: var(--space-5)}.dash-home .bp-airline-name,.dash-home .op-flt{font-size: var(--fs-sm);font-weight: 700}.dash-home .strip-flt{color: var(--text);font-size: var(--fs-xl);font-weight: 800;line-height: 1}.dash-home .bp-status{padding: var(--space-1) var(--space-4);border: 0;border-radius: var(--r-full);background: color-mix(in srgb,var(--text) 14%,transparent);color: var(--text);box-shadow: none;font-size: var(--fs-2xs);font-weight: 700;text-transform: none}.dash-home .bp-pulse{width: var(--space-1);height: var(--space-1);animation: none;box-shadow: none}.dash-home .bp-wx{display: inline-flex;align-items: center;gap: var(--space-1);color: var(--text-soft);font-size: var(--fs-2xs)}.dash-home .bp-wx svg{width: var(--space-4);height: var(--space-4)}.dash-home .strip-dep-in{display: flex;flex-direction: column;align-items: flex-end;gap: var(--space-0);margin-left: auto;text-align: right}.dash-home .bp-count-key{color: var(--text-soft);font-size: var(--fs-2xs);text-transform: uppercase;letter-spacing: 0.08em}.dash-home .bp-count-fig{color: var(--text);font-size: var(--fs-hero);font-weight: 800;letter-spacing: -0.04em;line-height: 1.05}.dash-home .bp-route{display: grid;grid-template-columns: minmax(0,1fr) minmax(120px,0.85fr) minmax(0,1fr);align-items: center;gap: var(--space-3);padding: var(--space-3) 0;border: 0}.dash-home .bp-from{text-align: left}.dash-home .bp-to{text-align: right}.dash-home .bp-from b,.dash-home .bp-to b{display: inline-flex;align-items: baseline;gap: var(--space-1);color: var(--text);font-size: var(--fs-display-route);font-weight: 800;letter-spacing: -0.02em;line-height: 1}.dash-home .bp-n{color: var(--text-soft);font-size: var(--fs-2xs);letter-spacing: 0}.dash-home .bp-clock{display: block;margin-top: var(--space-1);color: var(--text);font-size: var(--fs-lg);font-weight: 700;line-height: 1.1}.dash-home .bp-city{display: block;max-width: none;margin-top: var(--space-1);overflow: visible;color: var(--text-soft);font-size: var(--fs-sm);line-height: 1.3;white-space: normal;text-overflow: clip}.dash-home .bp-leg{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--space-1);min-width: 0;padding: var(--space-1) 0;text-align: center}.dash-home .bp-leg::before{content: "";display: block;width: 100%;height: 2px;margin-bottom: var(--space-2);border-radius: var(--r-full);background: repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 34%,transparent) 0 6px,transparent 6px 12px)}.dash-home .bp-leg-top{display: flex;flex-direction: column;align-items: center;gap: var(--space-0)}.dash-home .bp-block-key{color: var(--text-soft);font-size: var(--fs-2xs);text-transform: uppercase;letter-spacing: 0.08em}.dash-home .strip-block{color: var(--text);font-size: var(--fs-lg);font-weight: 700}.dash-home .bp-meta,.dash-home .bp-chain{max-width: 100%;overflow: hidden;color: var(--text-soft);font-size: var(--fs-2xs);text-overflow: ellipsis;white-space: nowrap}.dash-home .bp-arc,.dash-home .strip-leg-line{display: none}.dash-home .bp-instruments{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-4);padding: var(--space-4) var(--space-5);border: 1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius: var(--r-lg);background: color-mix(in srgb,var(--bg) 55%,transparent)}.dash-home .strip-col{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0;padding: 0;border: 0}.dash-home .strip-key{color: var(--text-soft);font-size: var(--fs-2xs);text-transform: uppercase;letter-spacing: 0.08em}.dash-home .strip-col b{color: var(--text);font-size: var(--fs-lg);font-weight: 700}.dash-home .strip-rest{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3);margin-top: auto}.dash-home .strip-rest-bar{flex: 1 1 auto;width: auto;min-width: 90px;height: 6px;border-radius: var(--r-full);background: color-mix(in srgb,var(--text) 16%,transparent);overflow: hidden}.dash-home .strip-rest-bar .bar-fill{display: block;height: 100%;border-radius: inherit;animation: none}.dash-home .strip-rest-txt{flex: 1 1 180px;color: var(--text-soft);font-size: var(--fs-2xs);line-height: 1.3;text-align: right}.dash-home .strip-rest.ok .bar-fill{background: var(--green)}.dash-home .strip-rest.bad .bar-fill{background: var(--danger-fill)}.dash-home .strip-rest.bad .strip-rest-txt{color: var(--danger)}.dash-home .strip-foot{padding: 0;border: 0;color: var(--text-soft);font-size: var(--fs-2xs)}.dash-home .bento-stay .stay-head{margin-bottom: var(--space-3)}.dash-home .bento-stay .stay-state{border: 0;box-shadow: none;font-size: var(--fs-2xs);font-weight: 700}.dash-home .bento-stay .stay-place{margin-bottom: var(--space-3)}.dash-home .bento-stay .stay-hotel{font-size: var(--fs-lg);font-weight: 700;line-height: 1.2}.dash-home .bento-stay .stay-city{font-size: var(--fs-sm);color: var(--text-soft)}.dash-home .bento-stay .stay-span{grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);gap: var(--space-2);margin-bottom: var(--space-3);padding-top: var(--space-3);border-top: 1px solid var(--card-border)}.dash-home .bento-stay .stay-stamp-val{font-size: var(--fs-base);font-weight: 650}.dash-home .bento-stay .stay-stamp-key,.dash-home .bento-stay .stay-span-dur{font-size: var(--fs-2xs)}.dash-home .bento-stay .stay-rows{gap: var(--space-1);margin-top: 0}.dash-home .bento-stay .dash-empty{min-height: 0;padding: var(--space-3) 0;justify-content: flex-start;text-align: left}.dash-home .bento-today{display: flex;flex-direction: column}.dash-home .bento-today .dash-body{display: flex;flex: 1;flex-direction: column;min-height: 0}.dash-home .bento-today .dash-duty{display: grid;grid-template-columns: auto minmax(0,1fr) auto;align-items: center;gap: var(--space-2);padding: var(--space-3) var(--space-2);margin: 0 calc(-1 * var(--space-2));border: 0;border-top: 1px solid var(--card-border);border-radius: var(--r-sm);background: none;font-size: var(--fs-base)}.dash-home .bento-today .dash-duty:first-child{border-top: 0}.dash-home .bento-today .dash-duty:hover{background: var(--surface-2)}.dash-home .bento-today .today-duty-when{color: var(--text-soft);font-size: var(--fs-xs);white-space: nowrap}.dash-home .bento-today .today-duty-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: 650}.dash-home .bento-today .dash-empty{min-height: var(--space-9);justify-content: flex-start;text-align: left}.dash-home .dash-live-banner{position: relative;margin: 0 0 var(--space-4);padding: var(--space-4) var(--space-5);border: 1px solid color-mix(in srgb,var(--live-color) 30%,transparent);border-radius: var(--r-lg);background: color-mix(in srgb,var(--live-color) 10%,var(--surface));box-shadow: var(--shadow-sm);animation: none;transition: none}.dash-home .dash-live-banner:empty{display: none}.dash-home .dash-live-banner::before{width: 4px;border-radius: var(--r-full);background: var(--live-color);box-shadow: 0 0 16px -2px var(--live-color)}.dash-home .dash-live-banner:hover{transform: none}.dash-home .dash-live-banner .live-header{margin-bottom: var(--space-1)}.dash-home .dash-live-banner .live-badge{padding: var(--space-1) var(--space-3);border: 0;border-radius: var(--r-full);background: color-mix(in srgb,var(--live-color) 20%,transparent);box-shadow: none;font-size: var(--fs-2xs)}.dash-home .dash-live-banner .live-pulse-dot{width: var(--space-2);height: var(--space-2);animation: none}.dash-home .dash-live-banner .live-title{font-size: var(--fs-md);font-weight: 700}.dash-home .dash-live-banner .live-sub{font-size: var(--fs-xs)}.dash-home .dash-live-banner .live-bar-wrap{margin-top: var(--space-2);gap: var(--space-1)}.dash-home .dash-live-banner .live-bar-track{height: 6px;box-shadow: none}.dash-home .dash-live-banner .live-bar-fill{animation: none}.dash-home .dash-live-banner .live-bar-labels{font-size: var(--fs-2xs)}.dash-home .bento:has(.bento-stay .stay-state.is-active) + .dash-live-banner{display: none}.dash-home .dash-more-toggle{margin: var(--space-1) 0 var(--space-3)}.dash-home .dash-more-toggle .btn{border-color: var(--card-border);background: var(--surface);color: var(--text-soft);font-size: var(--fs-xs)}.dash-home .dash-more-toggle .btn:hover{color: var(--text);background: var(--surface-2)}.dash-home .dash-more-chevron{width: var(--space-4);height: var(--space-4)}@media (max-width: 1050px){.dash-home .bento-side{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.dash-home .status-pill-row{justify-content: flex-start}.dash-home .bento{grid-template-columns: 1fr}.dash-home .bento-side{grid-template-columns: 1fr}.dash-home .bento-side .bento-today{order: -1}.dash-home .bento-side .dash-card{padding: var(--space-3) var(--space-4)}.dash-home .bento-side .dash-title{margin-bottom: var(--space-2)}.dash-home .bento-side .dash-title .dicon{width: 24px;height: 24px}.dash-home .bento-side .dash-body{gap: var(--space-1)}.dash-home .bento-side .rest-day-card{padding: var(--space-2) var(--space-3)}.dash-home .dash-card{padding: var(--space-5);border-radius: var(--r-lg)}.dash-home .bp-route{grid-template-columns: minmax(0,1fr) minmax(0,1fr);grid-template-areas: "leg leg" "from to";align-items: end;gap: var(--space-3) var(--space-4)}.dash-home .bp-from{grid-area: from}.dash-home .bp-to{grid-area: to}.dash-home .bp-leg{grid-area: leg;width: 100%}.dash-home .strip-end{margin-bottom: 0}.dash-home .bp-from b,.dash-home .bp-to b{font-size: var(--fs-display-route-phone)}.dash-home .bp-clock{font-size: var(--fs-md)}.dash-home .bp-city{font-size: var(--fs-2xs)}.dash-home .bp-count-fig{font-size: var(--fs-2xl)}.dash-home .strip-dep-in{flex: 1 0 100%;align-items: flex-end;margin-left: 0;text-align: right}.dash-home .bp-count-fig{white-space: nowrap}.dash-home .bp-head{gap: var(--space-1)}.dash-home .bento-hero .dash-title{display: none}.dash-home .bento-hero{padding: var(--space-4)}.dash-home .bp-head{gap: var(--space-2)}.dash-home .bp-head .strip-flt{flex: 0 0 auto}.dash-home .bp-head .bp-status{order: 3}.dash-home .bp-airline{width: 34px;padding: 0;justify-content: center}.dash-home .bp-airline-name{display: none}.dash-home .bp-leg-top{display: flex;flex-direction: row;align-items: baseline;gap: var(--space-2)}.dash-home .bp-block-key{display: none}.dash-home .bp-route{gap: var(--space-2)}.dash-home .bp-instruments{padding: var(--space-2) var(--space-3)}.dash-home .strip-col b{font-size: var(--fs-md)}.dash-home .status-pill-row{display: none}.dash-home .bp-instruments{padding: var(--space-3)}.dash-home .page-title{font-size: var(--fs-xl)}.dash-home .page-head{gap: var(--space-2);margin-bottom: var(--space-4)}.dash-home .strip-rest{flex-direction: column;align-items: stretch;gap: var(--space-2)}.dash-home .strip-rest-bar{flex: 0 0 6px;width: 100%;min-width: 0}.dash-home .strip-rest-txt{flex: none;text-align: left}}@media (max-width: 420px){.dash-home .bp-meta{white-space: normal}}.dash-home .portal-expiries{grid-column: span 2}.dash-home .portal-expiries .expiry-desc{overflow-wrap: break-word}@media (max-width: 640px){.dash-home .portal-expiries{grid-column: span 1}}.dash-home .bp-stops{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-2);padding: var(--space-2) var(--space-3);border-top: 1px solid color-mix(in srgb,var(--card-border) 70%,transparent)}.dash-home .bp-stop{display: inline-flex;align-items: baseline;gap: var(--space-1);min-width: 0}.dash-home .bp-stop b{font-family: var(--mono);font-size: var(--fs-sm);font-weight: 800;color: var(--text);letter-spacing: 0.02em}.dash-home .bp-stop i{font-style: normal;font-size: var(--fs-xs);color: var(--text-soft);font-variant-numeric: var(--tnum)}.dash-home .bp-stop em{font-style: normal;font-size: var(--fs-2xs);font-weight: 700;color: var(--amber-ink)}.dash-home .bp-stop-arrow{color: var(--text-faint);font-size: var(--fs-sm);line-height: 1}.dash-home .strip-flt.is-multi{font-size: var(--fs-md);letter-spacing: 0}.map-page{--map-gap: var(--space-5)}.map-page .map-head-side{display: flex;align-items: flex-end;gap: var(--space-5);flex-wrap: wrap}.map-page .map-year{display: flex;flex-direction: column;gap: var(--space-1);color: var(--text-faint);font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.08em;text-transform: uppercase}.map-page #map-year{width: 7rem;padding: var(--space-1) var(--space-2);border: 1px solid var(--card-border);border-radius: var(--r-md);background: var(--card);color: var(--text);font-size: var(--fs-md);font-weight: 700}.map-page .map-metrics{display: flex;align-items: stretch;gap: var(--space-2)}.map-page .map-metric{display: flex;flex-direction: column;gap: var(--space-0);min-width: 4.8rem;padding: var(--space-2) var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-lg);background: var(--card)}.map-page .map-metric b{color: var(--text);font-size: var(--fs-lg);font-weight: 750;line-height: 1.15;white-space: nowrap}.map-page .map-metric span{color: var(--text-faint);font-size: var(--fs-2xs);text-transform: lowercase}.map-page .map-metric.is-wide{min-width: 8.5rem}.map-page .map-layout{display: grid;grid-template-columns: minmax(0,1fr) minmax(300px,340px);gap: var(--map-gap);align-items: start}.map-page .map-card{padding: 0;overflow: hidden;border: 1px solid var(--card-border);border-radius: var(--r-xl);background: var(--card);box-shadow: none;position: relative}.map-page .map-card-top{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-4);padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--card-border)}.map-page .map-card-title{color: var(--text-faint);font-size: var(--fs-2xs);font-weight: 800;letter-spacing: 0.12em;text-transform: uppercase;white-space: nowrap}.map-page .map-hint{max-width: 60%;margin: 0;color: var(--text-faint);font-size: var(--fs-xs);line-height: 1.4;text-align: right}.map-page #route-map{display: block;width: 100%;height: auto;border-radius: 0;background: var(--surface-2);box-shadow: none}.map-page .map-land{fill: color-mix(in srgb,var(--text) 4%,var(--surface-2))}.map-page .map-grid{stroke: color-mix(in srgb,var(--text) 7%,transparent)}.map-page .map-route,.map-page .map-route-glow{transition: none}.map-page .map-dot{transition: none}.map-page .map-chip{transition: none}.map-page .map-hub-ring{animation: none}.map-page .map-tooltip{top: var(--space-4);right: var(--space-4);left: auto;max-width: 18rem;border-radius: var(--r-md)}.map-page .map-tooltip .mt-code{font-size: var(--fs-md)}.map-page .map-tooltip .mt-stat{margin-top: var(--space-1)}.map-page .map-card-bottom{display: flex;flex-direction: column;gap: var(--space-3);padding: var(--space-3) var(--space-4) var(--space-4);border-top: 1px solid var(--card-border)}.map-page .map-chips-wrap{display: flex;align-items: center;gap: var(--space-3);min-width: 0}.map-page .map-chips{display: flex;flex: 1;flex-wrap: wrap;gap: var(--space-2);margin: 0;padding: 0;border: 0}.map-page .map-chip{padding: var(--space-1) var(--space-3);border: 1px solid var(--card-border);border-radius: var(--r-full);background: var(--surface-2);color: var(--text-soft);font-size: var(--fs-xs);font-weight: 700}.map-page .map-chip:hover{border-color: var(--card-border-2);background: var(--surface-2);color: var(--text);transform: none;box-shadow: none}.map-page .map-chip.active{border-color: var(--accent);background: var(--accent);color: #fff;box-shadow: none}.map-page .map-airport-rounds:not(:empty){padding-top: var(--space-3);border-top: 1px solid var(--card-border)}.map-page .map-summary{margin: 0;padding: 0;border: 1px solid var(--card-border);border-radius: var(--r-xl);background: var(--card);overflow: auto hidden}.map-page .map-summary-head{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3);padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--card-border)}.map-page .map-summary-head b{color: var(--text);font-size: var(--fs-md);font-weight: 750}.map-page .map-summary-head span{color: var(--text-faint);font-size: var(--fs-2xs);text-align: right}.map-page .dest-table{width: 100%;border-collapse: collapse;table-layout: fixed;font-size: var(--fs-xs)}.map-page .dest-table th{padding: var(--space-2) var(--space-3);border-bottom: 1px solid var(--card-border);color: var(--text-faint);font-size: var(--fs-2xs);font-weight: 700;letter-spacing: 0.04em;text-align: left;text-transform: uppercase}.map-page .dest-table th.dest-th-num{text-align: right}.map-page .dest-table td{padding: var(--space-2) var(--space-3);border-bottom: 1px solid var(--card-border);vertical-align: middle}.map-page .dest-table tbody tr:last-child td{border-bottom: 0}.map-page .dest-table tbody tr:hover td{background: var(--surface-2)}.map-page .dest-code{display: inline-block;min-width: 2.8rem;color: var(--text);font-weight: 800;letter-spacing: 0.05em}.map-page .dest-city{display: block;margin-top: var(--space-0);color: var(--text-faint);font-size: var(--fs-2xs);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.map-page .dest-num{color: var(--text-soft);text-align: right}.map-page .dest-freq{gap: var(--space-2)}.map-page .dest-freq-bar{width: 4rem;flex: none}.map-page .dest-freq-bar .bar-fill rect{fill: var(--flight)}@media (max-width: 1080px){.map-page .map-layout{grid-template-columns: 1fr}.map-page .map-summary{max-height: none}}@media (max-width: 700px){.map-page .map-head-side{align-items: flex-start;justify-content: space-between;width: 100%}.map-page .map-metrics{flex-wrap: wrap}.map-page .map-card-top{flex-direction: column;align-items: flex-start;gap: var(--space-1)}.map-page .map-hint{max-width: none;text-align: left}.map-page .map-chips-wrap{align-items: flex-start;flex-direction: column}.map-page .map-chip{padding: var(--space-1) var(--space-2)}.map-page .map-summary-head{align-items: flex-start;flex-direction: column;gap: var(--space-1)}.map-page .map-summary-head span{text-align: left}}@media (max-width: 700px){#route-map .map-label:nth-of-type(n+7){display: none}}.crew-actions{display: flex;align-items: center;gap: var(--space-3);flex: none}.dash-eyebrow{font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--sky-ink);margin-bottom: var(--space-1)}.me-title,.dash-greeting,.crew-title{font-size: var(--fs-2xl);font-weight: 800;letter-spacing: -0.04em;line-height: 1.05;color: var(--text)}.me-subtitle,.dash-date,.crew-sub{margin-top: var(--space-1);font-size: var(--fs-sm);color: var(--text-faint);max-width: 70ch}.me-grid,.crew-grid{display: flex;flex-direction: column;gap: var(--space-4);max-width: 760px;margin-bottom: var(--space-5)}.me-group{background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);overflow: hidden}.me-group-h{margin: 0;padding: var(--space-3) var(--space-4) var(--space-1);font-size: var(--fs-3xs);font-weight: 800;letter-spacing: var(--track-label);text-transform: uppercase;color: var(--text-faint)}.me-group .me-tile{width: 100%;min-height: 60px;padding: var(--space-3) var(--space-4);background: none;border: 0;border-radius: 0;box-shadow: none;transform: none}.me-group .me-tile + .me-tile{border-top: 1px solid var(--card-border)}.me-group .me-tile:hover{background: color-mix(in srgb,var(--accent) 6%,transparent);transform: none;box-shadow: none}.me-group .me-tile-ico{width: 36px;height: 36px}.me-pane,.crew-pane{max-width: 1180px}.me-tile{position: relative;display: flex;align-items: center;gap: var(--space-4);padding: var(--space-5);text-align: left;background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);color: var(--text);cursor: pointer;transition: border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.me-tile:hover{border-color: color-mix(in srgb,var(--accent) 40%,transparent);transform: translateY(-2px)}.me-tile:active{transform: translateY(0)}.me-tile-ico{flex: none;width: 48px;height: 48px;display: grid;place-items: center;border-radius: var(--r-md);background: color-mix(in srgb,var(--accent) 18%,transparent);color: var(--sky-ink)}.me-tile-ico svg{width: 24px;height: 24px}.me-tile-body{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0;flex: 1 1 auto}.me-tile-body b{font-size: var(--fs-base);font-weight: 700;color: var(--text)}.me-tile-body span{font-size: var(--fs-sm);color: var(--text-faint);line-height: 1.4}.me-tile-go{flex: none;width: 18px;height: 18px;color: var(--text-faint)}.me-tile:hover .me-tile-go{color: var(--text)}.crew-body{min-height: 120px}.crew-cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(260px,1fr));gap: var(--space-3)}.crew-cards--dense{grid-template-columns: repeat(auto-fill,minmax(200px,1fr))}.crew-card{display: flex;flex-direction: column;gap: var(--space-2);padding: var(--space-5);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);transition: border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.crew-card:hover{border-color: var(--card-border-2)}.crew-card-head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-3)}.crew-card-title{font-size: var(--fs-base);font-weight: 700;color: var(--text)}.crew-card-sub{font-size: var(--fs-sm);color: var(--text-faint)}.crew-code{font-size: var(--fs-sm);font-weight: 700;letter-spacing: 0.04em;color: var(--sky-ink)}.crew-count{font-size: var(--fs-sm);font-weight: 700;color: var(--text-faint)}.crew-rows{display: flex;flex-direction: column;gap: var(--space-2);margin-top: var(--space-2)}.crew-rows>div{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3)}.crew-rows dt{font-size: var(--fs-xs);color: var(--text-faint);text-transform: uppercase;letter-spacing: 0.05em}.crew-rows dd{font-size: var(--fs-base);font-weight: 650;color: var(--text)}.crew-wx .crew-card-head{align-items: baseline}.crew-wx-code{font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.03em;color: var(--text)}.crew-wx-temp{font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.03em;color: var(--sky-ink)}.crew-wx-place{display: flex;flex-direction: column;font-size: var(--fs-sm);color: var(--text-soft)}.crew-wx-place span{font-size: var(--fs-xs);color: var(--text-faint)}.crew-list{display: flex;flex-direction: column;gap: var(--space-2);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg);padding: var(--space-3);box-shadow: var(--shadow-sm)}.crew-row{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3);border-radius: var(--r-md);transition: background var(--dur-fast) var(--ease)}.crew-row:hover{background: var(--surface-2)}.crew-row-dot{width: 9px;height: 9px;flex: none;border-radius: 50%;background: var(--accent);box-shadow: 0 0 10px color-mix(in srgb,var(--accent) 70%,transparent)}.crew-row-dot.is-warn{background: var(--amber);box-shadow: 0 0 10px color-mix(in srgb,var(--amber) 70%,transparent)}.crew-row-body{flex: 1 1 auto;min-width: 0}.crew-row-body b{font-size: var(--fs-base);font-weight: 650;color: var(--text)}.crew-row-body p{font-size: var(--fs-sm);color: var(--text-faint);margin-top: 2px}.crew-row-when{flex: none;font-size: var(--fs-xs);color: var(--text-faint)}.crew-identity{flex-direction: row;align-items: center;gap: var(--space-4)}.crew-avatar{width: 52px;height: 52px;flex: none;display: grid;place-items: center;border-radius: 50%;background: var(--grad-accent);color: #fff;font-size: var(--fs-lg);font-weight: 800;box-shadow: inset 0 1px 0 rgba(255,255,255,0.35)}.crew-identity b{font-size: var(--fs-lg);font-weight: 700}.crew-airport{flex-direction: row;align-items: center;gap: var(--space-3);padding: var(--space-4)}.crew-airport-body{display: flex;flex-direction: column;min-width: 0;flex: 1 1 auto}.crew-airport-body b{font-size: var(--fs-base);font-weight: 650;color: var(--text)}.crew-airport-body span{font-size: var(--fs-xs);color: var(--text-faint);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.crew-loading{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-6);color: var(--text-faint);font-size: var(--fs-sm)}.crew-empty{padding: var(--space-8) var(--space-5)}.field-inline{display: inline-flex}.field-inline input{font: inherit;font-size: var(--fs-sm);color: var(--text);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-full);padding: var(--space-2) var(--space-5);min-height: 40px;min-width: 220px}.field-inline input::placeholder{color: var(--text-faint)}.field-inline input:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.dash-card,.chart-card{border-radius: var(--r-lg);box-shadow: var(--shadow-md)}.dash-card:hover,.chart-card:hover{box-shadow: var(--shadow-lg)}.dash-home .dash-card,.dash-home .chart-card{border-radius: var(--r-lg)}.dash-home .dash-card:hover{box-shadow: var(--shadow-lg)}.dash-title,.dash-home .dash-title{text-transform: none;letter-spacing: -0.01em;font-size: var(--fs-sm);font-weight: 650;color: var(--text-soft)}.dash-title .dicon,.dash-home .dash-title .dicon{width: 30px;height: 30px;border-radius: var(--r-sm);background: color-mix(in srgb,var(--accent) 18%,transparent);color: var(--sky-ink);box-shadow: none}.dash-title .dicon svg,.dash-home .dash-title .dicon svg{width: 16px;height: 16px}#greeting.rail-greeting{display: block}.me-tools{margin-top: var(--space-2)}.kpi{background: var(--grad-sheen),var(--surface);border-radius: var(--r-lg);box-shadow: var(--shadow-md)}.kpi:hover{box-shadow: var(--shadow-lg)}.kpi-num{font-size: var(--fs-xl);font-weight: 800;letter-spacing: -0.03em}.kpi-label{text-transform: none;letter-spacing: 0;font-weight: 650;color: var(--text-faint)}.crew-actions--wrap{flex-wrap: wrap;row-gap: var(--space-2)}@media (max-width: 999px){.crew-actions{flex: 1 1 100%;min-width: 0;flex-wrap: wrap}.crew-actions .btn{max-width: 100%}}.crew-card--wide{grid-column: 1 / -1}.crew-card-actions{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-2)}.crew-card-actions .btn{text-decoration: none}.crew-rows--wide{gap: var(--space-2)}.crew-rows--wide>div{align-items: flex-start}.crew-rows--wide dt{flex: 0 0 40%}.crew-rows--wide dd{text-align: right;word-break: break-word}.crew-scroll{overflow-x: auto;max-width: 100%}.crew-list--flat{background: none;border: 0;box-shadow: none;padding: 0}.crew-row--btn{width: 100%;text-align: left;font: inherit;color: inherit;background: none;border: 0;cursor: pointer}.crew-row--btn:hover{background: var(--surface-2)}.crew-row-dot.is-read{background: var(--text-faint);box-shadow: none}.crew-row-ico{width: 16px;height: 16px;vertical-align: -3px;margin-right: var(--space-1)}.crew-chip{display: inline-block;padding: var(--space-1) var(--space-3);margin: 0 var(--space-2) var(--space-2) 0;border-radius: var(--r-full);background: var(--surface-2);border: 1px solid var(--card-border);font-size: var(--fs-xs);color: var(--text-soft)}.crew-dates{margin-top: var(--space-1)}.crew-airport{padding: 0;overflow: hidden}.crew-airport-btn{display: flex;align-items: center;gap: var(--space-3);width: 100%;padding: var(--space-4);font: inherit;color: inherit;text-align: left;background: none;border: 0;cursor: pointer}.crew-airport-btn:hover{background: var(--surface-2)}.crew-airport-go{flex: none;width: 16px;height: 16px;color: var(--text-faint)}.crew-airport-btn:hover .crew-airport-go{color: var(--text)}.crew-note{font-size: var(--fs-sm);color: var(--text-faint);margin-bottom: var(--space-3)}.crew-form{display: grid;grid-template-columns: repeat(auto-fill,minmax(220px,1fr));gap: var(--space-3)}.crew-form .field{margin: 0}.crew-form-h{font-size: var(--fs-sm);font-weight: 700;color: var(--text);margin: var(--space-5) 0 var(--space-2)}.tool-statusline{display: flex;align-items: center;gap: var(--space-3);margin: var(--space-3) 0}.tool-statusline .sheet-k{margin: 0}.tool-combo{display: flex;flex-direction: column;margin-top: var(--space-1);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-md);box-shadow: var(--shadow-md);overflow: hidden;max-height: 280px;overflow-y: auto}.tool-combo-item{display: flex;align-items: baseline;gap: var(--space-3);padding: var(--space-2) var(--space-3);font: inherit;text-align: left;color: var(--text);background: none;border: 0;border-bottom: 1px solid var(--card-border);cursor: pointer}.tool-combo-item:last-child{border-bottom: 0}.tool-combo-item:hover{background: var(--surface-2)}.tool-combo-item b{color: var(--sky-ink)}.tool-combo-item span{font-size: var(--fs-sm);color: var(--text-faint)}.tool-flights{display: flex;flex-direction: column;gap: var(--space-2)}.tool-flight{display: flex;align-items: center;gap: var(--space-4);width: 100%;padding: var(--space-4);font: inherit;text-align: left;color: inherit;background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-md);cursor: pointer;transition: border-color var(--dur) var(--ease),background var(--dur-fast) var(--ease)}.tool-flight:hover{border-color: var(--card-border-2);background: var(--surface-2)}.tool-flight-main{display: flex;flex-direction: column;gap: var(--space-1);flex: 1 1 auto;min-width: 0}.tool-flight-main b{font-size: var(--fs-base);color: var(--text)}.tool-flight-route{font-size: var(--fs-base);color: var(--text)}.tool-flight-meta{font-size: var(--fs-xs);color: var(--text-faint)}.tool-flight-go{flex: none;width: 18px;height: 18px;color: var(--text-faint)}.flight-info{margin-bottom: var(--space-5)}.flight-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(180px,1fr));gap: var(--space-3)}.flight-cell{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.flight-section{margin-top: var(--space-5)}.flight-h{font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-faint);margin: 0 0 var(--space-3)}.tool-artifact{display: flex;align-items: center;gap: var(--space-3);flex-wrap: wrap}.msg-attach-h{font-size: var(--fs-sm);font-weight: 700;color: var(--text);margin: var(--space-4) 0 var(--space-2)}.msg-attach-list{display: flex;flex-wrap: wrap;gap: var(--space-2)}.msg-attach-result{margin-top: var(--space-3);white-space: pre-wrap;word-break: break-word;font-size: var(--fs-sm);color: var(--text-soft)}@media (max-width: 620px){.me-tile{padding: var(--space-4)}.me-grid,.crew-grid{grid-template-columns: 1fr}.crew-cards{grid-template-columns: 1fr}.field-inline input{min-width: 0;width: 100%}.crew-rows--wide dt{flex-basis: 50%}}.tool-workspace{display: grid;grid-template-columns: 280px minmax(0,1fr);gap: var(--space-5)}.tool-catalog{padding-right: var(--space-5);border-right: 1px solid var(--card-border)}#tool-form{display: flex;flex-direction: column;gap: var(--space-4)}#tool-fields{display: grid;grid-template-columns: repeat(auto-fit,minmax(300px,1fr));gap: var(--space-4) var(--space-5)}#tool-fields .field-wide{grid-column: 1 / -1}#tool-title{margin: 0;scroll-margin-top: 72px}#tool-result:not(:empty){margin-top: var(--space-5)}.tool-runrow{display: flex;align-items: center;justify-content: flex-end;gap: var(--space-3)}.tool-status{margin-right: auto;font-size: var(--fs-sm);color: var(--text-faint)}.tool-status:empty{display: none}.tool-status[data-tone="err"]{color: var(--danger)}.tool-picker{gap: var(--space-2)}.tool-list{display: flex;flex-direction: column;max-height: calc(100vh - 420px);overflow-y: auto;padding-bottom: var(--space-2)}.tool-list-h{padding: var(--space-2) var(--space-2) var(--space-1);font-size: var(--fs-3xs);font-weight: 800;letter-spacing: var(--track-label);text-transform: uppercase;color: var(--text-faint)}.tool-choice{display: flex;align-items: center;min-height: 44px;padding: 0 var(--space-2);border: 0;background: none;color: var(--text);font: inherit;font-size: var(--fs-sm);text-align: left;cursor: pointer}.tool-choice:hover{background: color-mix(in srgb,var(--accent) 10%,transparent)}.tool-choice.is-on{background: color-mix(in srgb,var(--accent) 16%,transparent);box-shadow: inset 2px 0 0 var(--accent);font-weight: 700}#tool-op{display: none}.tool-op-label{display: none}@media (max-width: 999px){.tool-search-label,#tool-search,#tool-list{display: none}.tool-op-label{display: block}#tool-op{display: block}}@media (max-width: 999px){.tool-workspace{grid-template-columns: 1fr;gap: var(--space-4)}.tool-catalog{padding: 0 0 var(--space-4);border-right: 0;border-bottom: 1px solid var(--card-border)}.tool-list{max-height: 34vh}}.wx-decoder{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2) var(--space-3);padding: var(--space-3) var(--space-4);margin-bottom: var(--space-4);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-md)}.wx-decoder-badge{flex: none;padding: 2px var(--space-2);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.04em;color: var(--sky-ink);background: var(--sky-soft);border-radius: var(--r-sm)}.wx-decoder-title{font-size: var(--fs-sm);font-weight: 600;color: var(--text)}.wx-decoder-desc{font-size: var(--fs-sm);color: var(--text-soft)}.wx-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(320px,1fr));gap: var(--space-4)}.wx-card{display: flex;flex-direction: column;gap: var(--space-4);padding: var(--card-pad);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-lg)}.wx-card-head{display: flex;align-items: flex-start;justify-content: space-between;gap: var(--space-3)}.wx-card-id{display: flex;flex-direction: column;gap: var(--space-1);min-width: 0}.wx-role{align-self: flex-start;font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-faint)}.wx-place{margin: 0;font-size: var(--fs-lg);font-weight: 700;color: var(--text)}.wx-codes{font-size: var(--fs-xs);color: var(--text-soft)}.wx-card-status{display: flex;flex-direction: column;align-items: flex-end;gap: var(--space-1);flex: none}.wx-rules{padding: 2px var(--space-2);font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.04em;border: 1px solid currentColor;border-radius: var(--r-full)}.wx-rules--ok{color: var(--green-ink);background: var(--green-soft)}.wx-rules--warn{color: var(--amber-ink);background: var(--amber-soft)}.wx-rules--bad{color: var(--danger);background: var(--danger-soft)}.wx-rules-note{font-size: var(--fs-xs);color: var(--text-faint)}.wx-kpis{display: grid;grid-template-columns: repeat(auto-fit,minmax(108px,1fr));gap: var(--space-2)}.wx-kpi{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.wx-kpi-k{font-size: var(--fs-xs);color: var(--text-faint)}.wx-kpi-v{font-size: var(--fs-lg);font-weight: 700;color: var(--text)}.wx-kpi--wind .wx-kpi-v{color: var(--sky-ink)}.wx-kpi--vis .wx-kpi-v{color: var(--green-ink)}.wx-kpi-sub{font-size: var(--fs-xs);color: var(--text-soft)}.wx-conditions{margin: 0;font-size: var(--fs-sm);color: var(--text-soft)}.wx-block{display: flex;flex-direction: column;gap: var(--space-2)}.wx-block-h{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3)}.wx-block-t{font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-faint)}.wx-block-hint{font-size: var(--fs-xs);color: var(--text-faint)}.wx-tokens{display: flex;flex-wrap: wrap;gap: var(--space-1)}.wx-tok{padding: 2px var(--space-1);font-family: ui-monospace,SFMono-Regular,Menlo,monospace;font-size: var(--fs-xs);font-weight: 600;color: var(--text-soft);background: var(--surface-2);border: 1px solid transparent;border-radius: var(--r-sm);cursor: default}.wx-tok.is-active{border-color: var(--card-border-2);box-shadow: var(--shadow-sm)}.wx-tok--type{color: var(--text);background: var(--accent-soft);font-weight: 700}.wx-tok--icao{color: var(--sky-ink);background: var(--sky-soft)}.wx-tok--time,.wx-tok--period{color: var(--text-soft);background: var(--surface-2)}.wx-tok--wind{color: var(--sky-ink);background: var(--sky-soft)}.wx-tok--ok{color: var(--green-ink);background: var(--green-soft)}.wx-tok--vis{color: var(--green-ink);background: var(--green-soft)}.wx-tok--temp{color: var(--danger);background: var(--danger-soft)}.wx-tok--qnh{color: var(--text);background: var(--accent-soft)}.wx-tok--cloud{color: var(--amber-ink);background: var(--amber-soft)}.wx-tok--wx{color: var(--amber-ink);background: var(--amber-soft)}.wx-tok--warn{color: var(--danger);background: var(--danger-soft);font-weight: 700}.wx-tok--change{color: var(--text-faint);background: var(--surface-2);font-style: italic}.wx-timeline{display: flex;flex-direction: column;gap: var(--space-1)}.wx-timeline-h{font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-faint)}.wx-seg{display: grid;grid-template-columns: auto 1fr auto;align-items: center;gap: var(--space-2) var(--space-3);padding: var(--space-2) var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-inline-start-width: 3px;border-radius: var(--r-sm);font-size: var(--fs-xs)}.wx-seg--ok{border-inline-start-color: var(--green)}.wx-seg--warn{border-inline-start-color: var(--amber)}.wx-seg--bad{border-inline-start-color: var(--danger-fill)}.wx-seg-when{font-weight: 600;color: var(--text)}.wx-seg-kind{font-style: italic;color: var(--text-faint)}.wx-seg-facts{grid-column: 1 / -1;color: var(--text-soft)}.wx-seg-cat{font-weight: 700;color: var(--text-soft)}.wx-seg-wx{grid-column: 1 / -1;color: var(--amber-ink)}.wx-hotels{display: flex;flex-direction: column;gap: var(--space-2)}.wx-hotel{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.wx-hotel b{font-size: var(--fs-base);color: var(--text)}.wx-hotel span{font-size: var(--fs-xs);color: var(--text-faint)}.wx-hotel p{margin: 0;font-size: var(--fs-xs);color: var(--text-soft)}.wx-hotel a{color: var(--sky-ink);text-decoration: none}.wx-hotel a:hover{text-decoration: underline}.wx-hotel-facts{color: var(--text-faint)}.tool-hotels{display: flex;flex-direction: column;gap: var(--space-2)}.tool-hotel{display: flex;align-items: center;gap: var(--space-3);width: 100%;padding: var(--space-3) var(--space-4);font: inherit;text-align: left;color: inherit;background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-md);cursor: pointer;transition: border-color var(--dur) var(--ease),background var(--dur-fast) var(--ease)}.tool-hotel:hover{border-color: var(--card-border-2);background: var(--surface-2)}.tool-hotel-main{display: flex;flex-direction: column;gap: var(--space-1);flex: 1 1 auto;min-width: 0}.tool-hotel-main b{font-size: var(--fs-base);color: var(--text)}.tool-hotel-meta{font-size: var(--fs-xs);color: var(--text-faint)}.tool-hotel-address{font-size: var(--fs-sm);color: var(--text-soft)}.tool-hotel-state{flex: none;padding: 2px var(--space-2);font-size: var(--fs-xs);font-weight: 700;border: 1px solid currentColor;border-radius: var(--r-full);color: var(--text-faint)}.tool-hotel-state.is-ok{color: var(--green-ink)}.tool-hotel-state.is-bad{color: var(--danger)}.tool-hotel-map{flex: none;font-size: var(--fs-base);color: var(--sky-ink)}.tool-hotel-detail{display: flex;flex-direction: column;gap: var(--space-4)}.tool-hotel-head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-3)}.tool-hotel-head h4{margin: 0;font-size: var(--fs-lg);color: var(--text)}.tool-hotel-detail .sheet-v a{color: var(--sky-ink)}.tool-hotel-actions{margin: 0}.tool-combo-item.is-active{background: var(--surface-2)}#crew-weather .wx-card{background: var(--bg)}.other-crew-table{overflow-x: auto;padding: var(--space-2) var(--space-3);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-md)}.other-crew-table .sheet-table{min-width: 0}.other-crew-table .sheet-table th{padding-inline: var(--space-2)}.other-crew-table .sheet-table td{padding-inline: var(--space-2)}.other-crew-table .sheet-table td:first-child{white-space: nowrap;font-weight: 700;font-variant-numeric: var(--tnum)}.other-crew-table .sheet-table td:nth-child(2){white-space: nowrap;color: var(--text-soft);font-variant-numeric: var(--tnum)}.admin-scroll{overflow-x: auto}.admin-scroll .sheet-table{min-width: 560px}.admin-badge{display: inline-block;padding: 1px var(--space-2);font-size: var(--fs-xs);font-weight: 700;color: var(--sky-ink);background: var(--sky-soft);border-radius: var(--r-sm)}.admin-counts{display: grid;grid-template-columns: repeat(auto-fit,minmax(88px,1fr));gap: var(--space-2)}.admin-count{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.admin-count-k{font-size: var(--fs-xs);color: var(--text-faint)}.admin-count-v{font-size: var(--fs-lg);font-weight: 700;color: var(--text)}.admin-count.live{border-color: var(--sky-ink)}.admin-count.warn .admin-count-v{color: var(--amber-ink)}.admin-count.bad .admin-count-v{color: var(--danger)}.admin-state{display: inline-block;padding: 1px var(--space-2);font-size: var(--fs-xs);font-weight: 600;color: var(--text-soft);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.admin-state.is-running{color: var(--sky-ink);border-color: var(--sky-ink)}.admin-state.is-done{color: var(--green-ink);border-color: var(--green-ink)}.admin-state.is-failed{color: var(--danger);border-color: var(--danger)}.admin-facts{display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: var(--space-2)}.admin-fact{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm);min-width: 0}.admin-fact-k{font-size: var(--fs-xs);color: var(--text-faint)}.admin-fact-v{font-size: var(--fs-sm);font-weight: 600;color: var(--text);overflow-wrap: anywhere}.admin-warn{margin: 0;padding: var(--space-2) var(--space-3);font-size: var(--fs-sm);color: var(--amber-ink);background: var(--amber-soft);border: 1px solid var(--amber-ink);border-radius: var(--r-sm)}body.console-admin .app{grid-template-columns: minmax(0,1fr)}body.console-admin .rail,body.console-admin .subnav,body.console-admin .hero-actions{display: none}.console-pane{padding-top: var(--space-2)}.console-head{margin-bottom: var(--space-5)}.console-eyebrow{display: block;font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--amber-ink)}.console-title{margin: var(--space-1) 0 var(--space-2);font-size: var(--fs-2xl);color: var(--text)}.console-sub{margin: 0;font-size: var(--fs-base);color: var(--text-soft);max-width: 62ch}.console-tabs{display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap;padding: var(--space-2);margin-bottom: var(--space-5);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-md)}.console-tabs-gap{flex: 1 1 auto}.console-tab{padding: var(--space-2) var(--space-4);font: inherit;font-size: var(--fs-sm);font-weight: 600;color: var(--text-soft);background: none;border: 1px solid transparent;border-radius: var(--r-sm);cursor: pointer}.console-tab:hover{color: var(--text);background: var(--surface)}.console-tab.is-on{color: var(--text);background: var(--surface);border-color: var(--card-border-2)}.console-view{display: block}.console-acts{display: inline-flex;gap: var(--space-2);flex-wrap: wrap}.console-na{font-size: var(--fs-xs);font-style: italic;color: var(--text-faint)}.console-status{margin-top: var(--space-5)}.console-status[data-tone="ok"]{color: var(--green-ink)}.console-status[data-tone="err"]{color: var(--danger)}body.console-admin #offline-badge,body.console-admin main>footer.print-hide{display: none}.console-kpis{display: grid;grid-template-columns: repeat(auto-fit,minmax(132px,1fr));gap: var(--space-3)}.console-kpi{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-4);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-md);min-width: 0}.console-kpi-k{font-size: var(--fs-xs);color: var(--text-faint)}.console-kpi-v{font-size: var(--fs-xl);font-weight: 700;color: var(--text)}.console-kpi-s{font-size: var(--fs-xs);color: var(--text-faint)}.console-kpi.is-ok .console-kpi-v{color: var(--green-ink)}.console-kpi.is-warn .console-kpi-v{color: var(--amber-ink)}.console-kpi.is-error .console-kpi-v{color: var(--danger)}.console-block{margin-top: var(--space-6)}.console-block-head{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-4);flex-wrap: wrap}.console-h{font-size: var(--fs-xs);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--text-faint);margin: 0 0 var(--space-3)}.console-legend{display: flex;align-items: center;gap: var(--space-2);font-size: var(--fs-xs);color: var(--text-faint)}.console-key{width: 8px;height: 8px;border-radius: var(--r-sm);display: inline-block;margin-left: var(--space-2)}.console-key.is-import{background: var(--sky-ink)}.console-key.is-login{background: var(--green-ink)}.console-traffic{display: flex;align-items: flex-end;gap: var(--space-2);height: 148px;padding: var(--space-2) var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-md)}.console-traffic-col{display: flex;flex-direction: column;align-items: center;gap: var(--space-1);flex: 1 1 0;height: 100%;min-width: 0}.console-traffic-bars{display: flex;align-items: flex-end;gap: 2px;flex: 1 1 auto;width: 100%;height: 100%}.console-traffic-bar{flex: 1 1 0;border-radius: var(--r-sm) var(--r-sm) 0 0;min-height: 0}.console-traffic-bar.is-import{background: var(--sky-ink)}.console-traffic-bar.is-login{background: var(--green-ink)}.console-traffic-day{font-size: var(--fs-xs);color: var(--text-faint)}.console-bars{display: flex;flex-direction: column;gap: var(--space-2)}.console-bar-row{display: grid;grid-template-columns: minmax(64px,96px) 1fr auto;align-items: center;gap: var(--space-3)}.console-bar-name{font-size: var(--fs-sm);color: var(--text);overflow: hidden;text-overflow: ellipsis}.console-bar-track{height: 8px;background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-full);overflow: hidden}.console-bar-fill{display: block;height: 100%;background: var(--sky-ink);border-radius: inherit}.console-bar-value{font-size: var(--fs-xs);color: var(--text-faint)}.console-activity{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: var(--space-1)}.console-activity-row{display: grid;grid-template-columns: auto 1fr auto auto;align-items: center;gap: var(--space-3);padding: var(--space-2) var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm);font-size: var(--fs-sm)}.console-activity-when{font-size: var(--fs-xs);color: var(--text-faint)}.console-activity-what{color: var(--text);overflow: hidden;text-overflow: ellipsis}.console-activity-who{font-size: var(--fs-xs);color: var(--text-soft)}.console-activity-out{font-size: var(--fs-xs);font-weight: 600;padding: 1px var(--space-2);border: 1px solid var(--card-border);border-radius: var(--r-sm);color: var(--text-faint)}.console-activity-out.is-ok{color: var(--green-ink);border-color: var(--green-ink)}.console-activity-out.is-refused,.console-activity-out.is-denied,.console-activity-out.is-error,.console-activity-out.is-failed{color: var(--danger);border-color: var(--danger)}.console-activity-out.is-rate-limited,.console-activity-out.is-rejected{color: var(--amber-ink);border-color: var(--amber-ink)}.console-chips{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-bottom: var(--space-3)}.console-chip{display: inline-flex;align-items: baseline;gap: var(--space-1);padding: var(--space-1) var(--space-3);font-size: var(--fs-xs);color: var(--text-soft);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-full)}.console-chip b{color: var(--text)}.console-supervisor{border-left: 3px solid var(--amber-ink);padding-left: var(--space-4)}.console-data-bar{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-2);margin: var(--space-3) 0}.console-select,.console-input{min-height: 34px;padding: 0 var(--space-3);font: inherit;font-size: var(--fs-sm);color: var(--text);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.console-input{min-width: min(260px,100%)}.console-data-search{display: block;margin: var(--space-3) 0}.console-data-search .console-input{width: 100%}.console-job-detail{border-top: 1px solid var(--card-border);padding-top: var(--space-4)}.console-job-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(280px,1fr));gap: var(--space-4);margin-top: var(--space-3)}.console-h4{margin: 0 0 var(--space-2);font-size: var(--fs-sm);color: var(--text-soft)}.console-detail-pre{max-height: 40vh;overflow: auto;margin: 0;padding: var(--space-3);font-size: var(--fs-xs);line-height: 1.5;white-space: pre-wrap;word-break: break-word;color: var(--text);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-sm)}.console-activity-out.is-warn{color: var(--amber-ink);border-color: var(--amber-ink)}.console-ref-form{margin: var(--space-4) 0;padding: var(--space-4);border: 1px solid var(--card-border);border-radius: var(--r-md);background: var(--surface-2)}.console-ref-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: var(--space-3);margin: var(--space-3) 0}.console-ref-field{display: flex;flex-direction: column;gap: 4px}.console-ref-field>span{font-size: var(--fs-xs);color: var(--text-faint)}.console-ref-field .console-input{width: 100%}.console-ref-field input[readonly]{color: var(--text-faint)}.console-hint{font-size: var(--fs-xs);color: var(--text-faint)}.console-summary-line{margin: var(--space-3) 0 var(--space-2);font-size: var(--fs-sm);color: var(--text-soft)}.console-filters{display: flex;flex-wrap: wrap;align-items: flex-end;gap: var(--space-3);margin: var(--space-3) 0 var(--space-4)}.console-filter{display: flex;flex-direction: column;gap: 4px;min-width: 160px}.console-filter>span{font-size: var(--fs-xs);color: var(--text-faint)}.console-filter .console-input,.console-filter .console-select{width: 100%}.console-group{margin-top: var(--space-5)}.console-group-count{padding: 2px var(--space-2);font-size: var(--fs-xs);color: var(--text-faint);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-full)}.console-grid-2{display: grid;grid-template-columns: repeat(auto-fit,minmax(360px,1fr));gap: var(--space-4);align-items: start}.console-usage-chart{display: flex;align-items: flex-end;gap: var(--space-2);min-height: 170px;padding: var(--space-3);background: var(--surface-2);border: 1px solid var(--card-border);border-radius: var(--r-md)}.console-usage-col{display: flex;flex: 1 1 0;flex-direction: column;align-items: center;gap: var(--space-1);min-width: 0;height: 150px}.console-usage-bars{display: flex;align-items: flex-end;flex: 1 1 auto;width: 100%}.console-usage-bar{display: block;width: 100%;min-height: 2px;border-radius: var(--r-sm) var(--r-sm) 0 0;background: var(--sky-ink)}.console-usage-day,.console-usage-value{font-size: 9px;color: var(--text-faint)}.console-activity-day + .console-activity-day{margin-top: var(--space-4)}.console-activity-head{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-3);margin-bottom: var(--space-2)}.console-activity-head b{font-size: var(--fs-sm);color: var(--text)}.console-activity-head span{font-size: var(--fs-xs);color: var(--text-faint)}.console-data-filter{align-items: flex-end}.console-data-groups{margin-top: var(--space-4)}.console-data-group + .console-data-group{margin-top: var(--space-5)}.console-data-cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(210px,1fr));gap: var(--space-3)}.console-data-card{display: flex;flex-direction: column;gap: var(--space-1);padding: var(--space-3) var(--space-4);text-align: left;font: inherit;color: var(--text);background: var(--surface);border: 1px solid var(--card-border);border-radius: var(--r-md);cursor: pointer}.console-data-card:hover{border-color: var(--card-border-2);background: var(--surface-2)}.console-data-card b{font-size: var(--fs-sm)}.console-data-card span{font-size: var(--fs-xs);color: var(--text-soft)}.console-data-card small{font-size: var(--fs-xs);color: var(--text-faint)}.console-ref-filter{align-items: flex-end}.console-more{margin-top: var(--space-5)}@media (max-width: 700px){.console-grid-2{grid-template-columns: 1fr}.console-filter{min-width: 0;flex: 1 1 100%}}
