/* VAAS Premium Operations. Tokens follow the user's supplied visual references. */
:root {
  font-family: "Segoe UI", system-ui, sans-serif;
  --sidebar: 224px; --topbar: 72px;
  --radius-sm: 10px; --radius-md: 16px; --radius-lg: 20px;
  color-scheme: light;
  --bg: #eef3fb; --surface: #ffffff; --surface-2: #eaf0fa; --surface-3: #e1eaf8; --surface-elevated: #ffffff;
  --text: #11243e; --muted: #4c6080; --muted-2: #4c6080;
  --line: #7b8da8; --line-soft: #dbe4f1;
  --blue: #2358c7; --blue-2: #2358c7; --action: #2563eb; --cyan: #116f83;
  --green: #087651; --amber: #875500; --red: #b3304a; --purple: #7445ca;
  --on-accent: #ffffff; --sidebar-bg: #0b1b30; --nav-text: #b9cce5;
  --chart-0: #2d62d2; --chart-1: #8052cb; --chart-2: #087d74; --chart-3: #98600a; --chart-4: #aa478d; --chart-5: #376c9b;
  --panel-shadow: 0 12px 32px #1536690c, inset 0 1px 0 #ffffff;
  --shadow-dialog: 0 24px 80px #142b5140;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme=light]) {
  color-scheme: dark;
  --bg: #08111f; --surface: #101f34; --surface-2: #182b45; --surface-3: #203854; --surface-elevated: #1b304e;
  --text: #f3f7ff; --muted: #a6b8d0; --muted-2: #a6b8d0;
  --line: #637b9d; --line-soft: #ffffff16;
  --blue: #9bbdff; --blue-2: #9bbdff; --action: #2563eb; --cyan: #70d6eb;
  --green: #58dbb0; --amber: #f5c272; --red: #ff9aa7; --purple: #b69dff;
  --on-accent: #ffffff; --sidebar-bg: #0a1729; --nav-text: #afc5e1;
  --chart-0: #80aaff; --chart-1: #b79aff; --chart-2: #58d4c5; --chart-3: #f2bc7b; --chart-4: #e3a2d9; --chart-5: #9dd0ed;
  --panel-shadow: 0 12px 32px #00000026, inset 0 1px 0 #ffffff07;
  --shadow-dialog: 0 28px 90px #0009;
} }
:root[data-theme=dark] {
  color-scheme: dark;
  --bg: #08111f; --surface: #101f34; --surface-2: #182b45; --surface-3: #203854; --surface-elevated: #1b304e;
  --text: #f3f7ff; --muted: #a6b8d0; --muted-2: #a6b8d0;
  --line: #637b9d; --line-soft: #ffffff16;
  --blue: #9bbdff; --blue-2: #9bbdff; --action: #2563eb; --cyan: #70d6eb;
  --green: #58dbb0; --amber: #f5c272; --red: #ff9aa7; --purple: #b69dff;
  --on-accent: #ffffff; --sidebar-bg: #0a1729; --nav-text: #afc5e1;
  --chart-0: #80aaff; --chart-1: #b79aff; --chart-2: #58d4c5; --chart-3: #f2bc7b; --chart-4: #e3a2d9; --chart-5: #9dd0ed;
  --panel-shadow: 0 12px 32px #00000026, inset 0 1px 0 #ffffff07;
  --shadow-dialog: 0 28px 90px #0009;
}
html { background: var(--bg); scroll-padding-top: 88px; }
body { padding: 16px; background: radial-gradient(ellipse at 15% 0%, #395bb52b, transparent 45%), var(--bg); color: var(--text); font-size: 16px; line-height: 1.5; }
body, input, select, textarea, button, h3, legend, .eyebrow,
.capture-column legend, .brand-copy { font-family: "Segoe UI", system-ui, sans-serif; }
* { scrollbar-color: var(--line) transparent; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
a { text-underline-offset: 3px; }
main a:not(.button):not([class]):hover { text-decoration: underline; }
h1 { margin: 0 0 8px; font-size: clamp(28px, 2.4vw, 34px); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
h1, h2 { font-family: "Lufthansa Head", "Segoe UI", system-ui, sans-serif; }
h2 { font-size: 21px; line-height: 1.3; font-weight: 650; letter-spacing: -.02em; }
h3 { font-size: 17px; font-weight: 650; }
small { font-size: 14px; }
.muted, .eyebrow, .help-text, .field-help { color: var(--muted); }
.eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 650; letter-spacing: .07em; }
.mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-variant-numeric: tabular-nums; }
.skip-link { position: fixed; z-index: 1000; top: -100px; left: 16px; padding: 12px 18px; color: var(--on-accent); background: var(--blue); border-radius: 8px; }
.skip-link:focus { top: 12px; }
.app-shell { display: grid; min-height: calc(100dvh - 32px); overflow: clip; border: 1px solid var(--line-soft); border-radius: 22px; background: var(--bg); box-shadow: 0 24px 90px #00000020; grid-template: var(--topbar) 1fr / var(--sidebar) minmax(0, 1fr); }
.topbar { display: flex; position: sticky; top: 0; z-index: 30; grid-column: 1 / -1; grid-row: 1; gap: 24px; height: var(--topbar); padding: 0 28px; border-bottom: 1px solid var(--line-soft); background: var(--surface); box-shadow: none; backdrop-filter: none; }
.brand { min-width: 172px; gap: 10px; }
.brand-mark.small { width: 36px; height: 36px; border: 0; background: transparent; box-shadow: none; }
.brand-copy strong { color: var(--text); font-size: 20px; font-weight: 750; letter-spacing: -.03em; }
.brand-copy small { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.topbar-context { display: block; margin: 0; padding: 0 0 0 24px; border-left: 1px solid var(--line-soft); color: var(--muted); font-size: 14px; }
.topbar-actions { display: flex; gap: 16px; margin-left: auto; }
.avatar { width: 36px; height: 36px; border: 1px solid var(--line); color: var(--blue); background: var(--surface-2); font-size: 14px; }
.user-menu summary { border-radius: 8px; }
.user-menu summary:hover, .language-switch { background: var(--surface-2); }
.language-switch { border: 1px solid var(--line-soft); }
.language-switch button { min-width: 36px; min-height: 36px; color: var(--muted); }
.language-switch button.active { color: var(--text); background: var(--surface); box-shadow: none; }
.user-menu-panel { top: 52px; color: var(--text); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-dialog); }
.user-menu-panel > a, .user-menu-panel form button { min-height: 44px; color: var(--text); font-size: 14px; }
.user-menu-panel > a:hover, .user-menu-panel form button:hover { color: var(--text); background: var(--surface-2); }
.user-menu-identity small { color: var(--muted); }
.appearance-control { display: grid; gap: 6px; padding: 12px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 12px; }
.app-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--topbar) + 16px); grid-column: 1; grid-row: 2; height: calc(100dvh - var(--topbar) - 32px); padding: 26px 16px; border-right: 1px solid #ffffff08; background: var(--sidebar-bg); overflow-y: auto; }
.app-sidebar .primary-nav { display: flex; position: static; flex-direction: column; gap: 6px; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.app-sidebar .primary-nav a { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 46px; padding: 10px 12px; border-radius: 8px; border: 1px solid transparent; color: var(--nav-text); background: transparent; font-size: 14px; font-weight: 600; text-align: left; box-shadow: none; }
.app-sidebar .primary-nav a:hover { color: #fff; background: #ffffff0a; }
.app-sidebar .primary-nav a.active { color: #fff; border-color: #7199ff66; background: linear-gradient(110deg, #2058d3, #386feb); font-weight: 650; box-shadow: 0 6px 20px #1c56d840, inset 0 1px 0 #ffffff20; }
.nav-symbol { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-section-label { margin: 0 12px 12px; color: #8fa8c9; font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-footer { margin-top: auto; padding: 16px 12px 0; border-top: 1px solid #ffffff16; color: #9bb2d1; font-size: 12px; }
.content { isolation: isolate; grid-column: 2; grid-row: 2; width: 100%; min-width: 0; max-width: 1840px; margin: 0 auto; padding: 32px clamp(20px, 2.6vw, 48px) 64px; }
.page-header, .page-header.split { align-items: flex-start; gap: 24px; margin-bottom: 24px; }
.page-header p { max-width: 70ch; margin-top: 8px; }
.workspace-actions, .airline-list-actions, .form-actions { flex-wrap: wrap; gap: 8px; }
.workspace-actions { display: flex; align-items: center; }
.button, button.button, summary.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: var(--surface-2); font-size: 14px; font-weight: 600; line-height: 1.35; text-align: center; box-shadow: none; cursor: pointer; transition: background 120ms ease, border-color 120ms ease; }
.button.primary, button.primary, .button.success { color: var(--on-accent); border-color: #6590ff55; background: linear-gradient(135deg, #2964e7, #1e4ac5); box-shadow: 0 6px 18px #2563eb29, inset 0 1px 0 #ffffff20; }
.button:hover { border-color: var(--muted); background: var(--surface-2); transform: none; }
.button.primary:hover, .button.success:hover { color: var(--on-accent); border-color: #91afff; background: #245add; box-shadow: 0 8px 22px #2563eb40; }
.button.danger { color: var(--red); border-color: color-mix(in srgb, var(--red) 35%, var(--line)); background: var(--surface); }
.button.ghost, .button.quiet { border-color: transparent; background: transparent; }
button:disabled, input:disabled, select:disabled, .button[aria-disabled=true] { opacity: .55; cursor: not-allowed; }
input:not([type=checkbox]):not([type=radio]), select, textarea { min-height: 44px; padding: 10px 12px; color: var(--text); border: 1px solid var(--line); border-radius: 8px; background: var(--surface); font-size: 14px; box-shadow: none; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input[type=checkbox], input[type=radio] { width: 24px; height: 24px; accent-color: var(--blue); }
label, legend { color: var(--text); }
label { font-size: 14px; }
fieldset { min-width: 0; }
.form-card, .data-panel, .card, .connection-card, .saved-rule-group, .list-card, .issue-panel,
.capture-column, .capture-ring-card, .capture-log-card, .capture-stage-card, .capture-pipeline-card,
.transfer-area-card, .api-connection-card, .settings-card, .airline-tile-shell { color: var(--text); border: 1px solid var(--line-soft); border-radius: 16px; background: var(--surface); box-shadow: var(--panel-shadow); }
.form-card, .capture-column { padding: 24px; }
.alert, .connection-note { padding: 14px 16px; color: var(--text); border: 1px solid var(--line-soft); border-left: 3px solid var(--blue); border-radius: 8px; background: var(--surface); font-size: 14px; }
.alert.error, .alert.danger { border-left-color: var(--red); }
.alert.warning { border-left-color: var(--amber); }
.alert.success { border-left-color: var(--green); }
.section-heading { margin: 28px 0 16px; }
.airline-workspace-bar { display: flex; flex-direction: row; flex-wrap: wrap; gap: 16px; align-items: center; margin-bottom: 28px; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; background: transparent; box-shadow: none; }
.airline-workspace-bar .workspace-identity { flex: 1 1 210px; min-width: 0; }
.workspace-identity strong { color: var(--text); font-size: 15px; }
.workspace-identity small { color: var(--muted); }
.airline-badge, .airline-badge.small { color: var(--blue); border: 1px solid var(--line-soft); border-radius: 10px; background: var(--surface); box-shadow: none; }
.airline-workspace-bar .workspace-primary-nav { display: flex; flex: 0 1 auto; width: auto; max-width: none; flex-wrap: wrap; gap: 4px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.airline-workspace-bar .workspace-primary-nav a { flex: 0 0 auto; min-width: 0; min-height: 42px; padding: 10px 12px; color: var(--muted); border-radius: 7px; font-size: 13px; font-weight: 600; }
.airline-workspace-bar .workspace-primary-nav a.active { color: var(--blue); background: var(--surface-2); box-shadow: none; }
.workspace-publish-shortcut { color: var(--blue); border: 0; background: transparent; font-size: 13px; }
.route-state-strip { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 20px; padding: 0; color: var(--muted); border: 0; background: transparent; font-size: 12px; }
.route-data-sheet { padding: 0; border: 0; border-radius: 12px; background: transparent; }
.route-data-toolbar { display: flex; flex-direction: column; align-items: stretch; gap: 16px; margin-bottom: 16px; padding: 20px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface); }
.route-data-toolbar .workbench-filter-form { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0,1fr); gap: 14px; }
.route-data-toolbar .search-form > input { width: 100%; max-width: 560px; }
.route-core-filters { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(4, minmax(100px, 1fr)) auto auto; gap: 12px; align-items: end; }
.route-core-filters label { display: grid; gap: 6px; }
.route-core-filters a { align-self: center; color: var(--muted); font-size: 13px; }
.route-filter-options summary { color: var(--muted); font-size: 13px; }
.route-table-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.save-indicator:not(.saving):not(.saved):not(.error) { display: none; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-chip { min-height: 36px; padding: 7px 12px; border: 1px solid var(--line-soft); color: var(--muted); background: var(--surface); font-size: 13px; }
.filter-chip.active { color: var(--blue); border-color: var(--blue); background: color-mix(in srgb, var(--blue) 7%, var(--surface)); }
.route-status-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; }
.route-status-card { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 18px 20px; color: var(--text); border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface); }
.route-status-card:hover, .route-status-card.active { border-color: var(--blue); }
.route-status-card.active { box-shadow: inset 0 0 0 1px var(--blue); }
.route-status-card > strong { grid-row: 1 / 3; grid-column: 2; align-self: center; font-size: 28px; font-weight: 650; font-variant-numeric: tabular-nums; }
.route-status-card > span { font-size: 14px; font-weight: 650; }
.route-status-card > small { color: var(--muted); font-size: 12px; }
.route-status-card.new > span { color: var(--green); }
.route-status-card.outdated > span { color: var(--red); }
.table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.route-data-sheet .workbench-panel .table-scroll { width: 100%; overflow-x: auto; }
.data-table, .route-table { width: 100%; color: var(--text); font-size: 14px; border-collapse: collapse; }
.data-table th, .data-table td, .workbench-table th, .workbench-table td { padding: 12px 14px; color: var(--text); border-bottom: 1px solid var(--line-soft); background: transparent; }
.data-table th, .workbench-table th { color: var(--muted); background: var(--surface-2); font-size: 12px; font-weight: 650; letter-spacing: .02em; text-transform: none; }
.data-table tbody tr:hover td { background: var(--surface-2); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.route-table td { vertical-align: middle; }
.route-table .comparison-cell { min-width: 150px; max-width: 245px; }
.route-table .comparison-cell small { font-size: 11px; line-height: 1.4; }
.route-table .record-actions { min-width: 120px; }
.route-table .button { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.route-fleet-summary { max-width: 170px; font-size: 12px; }
.route-fleet-summary summary { cursor: pointer; color: var(--muted); }
.route-fleet-list { display: grid; gap: 5px; margin-top: 8px; }
.route-fleet-value { padding: 0; border: 0; background: transparent; font-size: 12px; }
.route-fleet-value small { color: var(--muted); }
.status-badge, .comparison-badge { min-height: 24px; padding: 3px 8px; font-size: 11px; font-weight: 650; border-radius: 5px; box-shadow: none; }
.comparison-badge.current, .status-badge.succeeded { color: var(--green); background: color-mix(in srgb, var(--green) 9%, var(--surface)); border-color: transparent; }
.pagination { margin-top: 18px; }
.pagination a, .pagination button { min-height: 40px; }
dialog { color: var(--text); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-dialog); }
dialog::backdrop { background: #0e142080; backdrop-filter: none; }
.route-editor-dialog { max-width: min(1100px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); }
.route-editor-header { color: var(--text); background: var(--surface); border-color: var(--line-soft); }
.record-editor .inline-record-editor { padding: 16px 0; border: 0; background: transparent; }
.record-editor .inline-record-editor > summary { display: none; }
.inline-record-editor { padding: 16px; border: 1px solid var(--line-soft); border-radius: 10px; background: var(--surface); }
.explicit-edit-actions { background: var(--surface); border-color: var(--line-soft); }
.action-menu > div, .workbook-status-more > div { color: var(--text); background: var(--surface); border-color: var(--line); box-shadow: var(--shadow-dialog); }
.global-job-dock { margin-bottom: 24px; padding: 16px 20px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface); box-shadow: none; }
.global-job-heading small { color: var(--muted); }
.progress-track { height: 5px; border-radius: 5px; background: var(--surface-3); }
.progress-track > span { background: var(--blue); }
.completion-actions { padding: 24px; border: 1px solid var(--line-soft); border-left: 3px solid var(--green); border-radius: 12px; background: var(--surface); }
.completion-check { margin: 20px 0; padding: 24px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface); }
.completion-check h2 { margin-top: 0; }
.guided-next { flex-wrap: wrap; color: var(--text); border-color: var(--line-soft); background: var(--surface); }
.guided-next > div { flex: 1 1 300px; }
.guided-progress { gap: 4px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.guided-progress a { border: 0; border-radius: 8px; background: var(--surface-2); box-shadow: none; font-size: 13px; }
.completion-counts { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 16px 0; }
.completion-counts div { display: grid; gap: 2px; }
.completion-counts dt { color: var(--muted); font-size: 12px; }
.completion-counts dd { margin: 0; font-size: 24px; font-weight: 650; font-variant-numeric: tabular-nums; }
.airline-tile-grid { grid-template-columns: repeat(auto-fill, minmax(min(320px,100%),1fr)); gap: 16px; }
.airline-tile { min-height: 0; padding: 24px; color: var(--text); border: 0; background: transparent; box-shadow: none; }
.airline-tile:hover { transform: none; background: var(--surface-2); box-shadow: none; }
.airline-tile-code strong { color: var(--muted); font-size: 13px; letter-spacing: .04em; }
.airline-tile-name h2 { color: var(--text); font-size: 20px; }
.airline-tile-name p { color: var(--muted); }
.airline-sync-times { margin-top: 20px; padding-top: 16px; border-color: var(--line-soft); }
.airline-sync-times dt, .workspace-kind-line small { color: var(--muted); font-size: 12px; }
.airline-sync-times dd { color: var(--text); font-size: 13px; }
.workspace-kind-badge { color: var(--muted); border-color: var(--line-soft); background: var(--surface-2); font-size: 11px; }
.capture-masthead { margin-bottom: 28px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.capture-masthead h1 { font-size: 32px; }
.capture-masthead img { display: none; }
.capture-column legend { color: var(--text); }
.capture-choice, .callsign-strategy-summary { color: var(--text); border-color: var(--line-soft); background: var(--surface); box-shadow: none; }
.capture-choice:hover { transform: none; color: var(--text); background: var(--surface-2); }
.capture-choice:has(input:checked) { border-color: var(--blue); background: color-mix(in srgb, var(--blue) 7%, var(--surface)); box-shadow: none; }
.capture-choice:has(input:focus-visible) { outline: 3px solid var(--blue); outline-offset: 3px; }
.capture-choice small, .column-intro, .capture-subheading small, .capture-speed-label small { color: var(--muted); font-size: 13px; }
.choice-marker { color: var(--blue); border-color: var(--line); background: var(--surface-2); }
.capture-choice:has(input:checked) .choice-marker { color: var(--on-accent); background: var(--blue); border-color: var(--blue); }
.step-heading > span, .guided-steps > li > span, .workflow-strip article > span { color: var(--on-accent); background: var(--action); }
.capture-setting-group { border-color: var(--line-soft); }
.capture-run-grid { gap: 20px; }
.login-page { background: var(--bg); }
.login-shell { max-width: 920px; border-color: var(--line-soft); border-radius: 16px; background: var(--surface); box-shadow: 0 16px 64px #1823380a; }
.login-brand { min-height: 520px; padding: 40px; color: var(--text); background: var(--surface-2); }
.login-brand h1 { font-size: 56px; }
.login-brand h1 span { color: var(--blue); }
.login-brand p:last-child { color: var(--muted); }
.login-card { padding: 40px; }
.login-brand .brand-mark { border: 0; box-shadow: none; }
@media (max-width: 1200px) {
  .route-core-filters { grid-template-columns: repeat(2,minmax(100px,1fr)) auto; }
  .page-header.split { flex-wrap: wrap; }
  .capture-console { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .capture-column:last-child { grid-column: 1 / -1; }
}
@media (min-width: 1201px) {
  .route-data-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .route-data-heading .workspace-actions { display: flex; flex-wrap: nowrap; max-width: none; }
}
@media (max-width: 1050px) {
  body { padding: 0; }
  .app-shell { min-height: 100dvh; border: 0; border-radius: 0; box-shadow: none; }
  .topbar { top: 0; }
  .app-shell { grid-template: var(--topbar) 1fr / minmax(0,1fr); }
  .topbar { grid-column: 1; padding: 0 20px; gap: 16px; }
  .content { grid-column: 1; padding: 24px 20px 48px; }
  .mobile-menu-toggle { display: grid; place-items: center; order: -1; width: 44px; height: 44px; border-color: var(--line); background: var(--surface); }
  .app-sidebar { display: none; position: fixed; top: var(--topbar); left: 0; z-index: 40; width: 260px; height: calc(100dvh - var(--topbar)); box-shadow: 20px 12px 40px #0e142020; }
  .nav-open .app-sidebar { display: flex; }
  .nav-open .app-sidebar .primary-nav { display: flex; position: static; width: 100%; }
  .topbar-context { display: none; }
}
@media (max-width: 700px) {
  .topbar { padding: 0 12px; gap: 10px; }
  .brand { min-width: 0; }
  .brand-copy { display: flex; }
  .brand-copy strong { font-size: 18px; }
  .brand-copy small, .user-name, .language-switch { display: none; }
  .topbar-actions { gap: 6px; }
  .content { padding: 20px 12px 40px; }
  .airline-workspace-bar { gap: 12px; margin-bottom: 20px; padding-bottom: 12px; }
  .airline-workspace-bar .workspace-primary-nav { width: 100%; order: 3; overflow-x: auto; flex-wrap: nowrap; }
  .workspace-actions { width: 100%; }
  .route-status-overview { gap: 8px; }
  .route-status-card { display: flex; flex-direction: column; gap: 4px; padding: 12px; }
  .route-status-card > strong { font-size: 24px; align-self: flex-start; }
  .route-status-card > span { font-size: 12px; }
  .route-status-card > small { display: none; }
  .route-data-toolbar { padding: 14px; }
  .route-core-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .route-core-filters input { width: 100%; min-width: 0; }
  .route-data-sheet .route-table { min-width: 900px; }
  .route-data-sheet .route-table { display: table; }
  .route-data-sheet .route-table thead { display: table-header-group; }
  .route-data-sheet .route-table tbody { display: table-row-group; }
  .route-data-sheet .route-table tr.record-row { display: table-row; border: 0; border-radius: 0; }
  .route-data-sheet .route-table td { display: table-cell; width: auto; position: static; }
  .route-data-sheet .route-table td::before { display: none; }
  .route-data-sheet .route-table .record-actions .button { width: auto; }
  .app-launch-grid, .capture-console, .workflow-explainer { grid-template-columns: 1fr; }
  .capture-column:last-child { grid-column: auto; }
  .launch-card { min-height: 130px; flex-direction: row; align-items: center; }
  .form-card, .capture-column { padding: 18px; }
  .capture-run-grid, .capture-run-main { min-width: 0; }
  .login-shell { grid-template-columns: 1fr; }
  .login-brand { min-height: 0; padding: 28px; }
  .login-brand h1 { font-size: 36px; }
  .login-card { padding: 28px; }
}
/* Flight plan comparison: source context, status, then the actual flight offers. */
.source-bridge { display: grid; grid-template-columns: minmax(180px,1fr) 110px minmax(180px,1fr) auto; align-items: center; gap: 20px; padding: 18px 24px; margin-bottom: 20px; border: 1px solid var(--line-soft); border-radius: 16px; background: linear-gradient(110deg, color-mix(in srgb, var(--purple) 6%, var(--surface)), var(--surface) 55%, color-mix(in srgb, var(--cyan) 5%, var(--surface))); box-shadow: var(--panel-shadow); }
.source-bridge-side { display: flex; align-items: center; gap: 12px; min-width: 0; }
.source-bridge-side > div { display: grid; gap: 5px; }
.source-bridge-side strong { font-size: 14px; }.source-bridge-side small { font-size: 11px; color: var(--muted); }
.source-app-mark { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; color: var(--purple); background: color-mix(in srgb, var(--purple) 14%, transparent); border: 1px solid color-mix(in srgb, var(--purple) 20%, transparent); font-size: 10px; font-weight: 750; }
.source-app-mark.vamsys { color: var(--cyan); background: color-mix(in srgb, var(--cyan) 12%, transparent); border-color: color-mix(in srgb, var(--cyan) 20%, transparent); font-size: 18px; }
.source-bridge-link { display: grid; justify-items: center; gap: 4px; color: var(--muted); font-size: 10px; }
.source-bridge-link > span { display: grid; place-items: center; width: 92px; height: 26px; border-bottom: 1px solid var(--line); color: var(--blue); }.source-bridge-link small { font-size: 10px; }
.source-exclusion { display: grid; gap: 5px; padding-left: 20px; border-left: 1px solid var(--line-soft); }
.source-exclusion span { color: var(--muted); font-size: 10px; }.source-exclusion strong { font-size: 11px; font-weight: 600; }
.route-status-overview { gap: 0; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 16px; background: var(--surface); box-shadow: var(--panel-shadow); }
.route-status-card { --status-accent: var(--blue); position: relative; padding: 18px 22px; border: 0; border-right: 1px solid var(--line-soft); border-radius: 0; background: transparent; box-shadow: none; }
.route-status-card:last-child { border-right: 0; }.route-status-card.new { --status-accent: var(--green); }.route-status-card.outdated { --status-accent: var(--red); }
.route-status-card > strong { font-size: 30px; }.route-status-card > span { color: var(--status-accent); }
.route-status-card.active { background: color-mix(in srgb, var(--status-accent) 8%, var(--surface)); box-shadow: inset 0 -3px var(--status-accent); }.route-status-card:hover { background: var(--surface-2); }
.route-data-sheet { width: 100%; max-width: none; border: 1px solid var(--line-soft); border-radius: 16px; background: var(--surface); box-shadow: var(--panel-shadow); }
.route-data-toolbar { position: relative; z-index: 5; gap: 12px; margin: 0; padding: 18px 20px; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 16px 16px 0 0; background: transparent; }
.route-data-toolbar .workbench-filter-form { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.route-data-toolbar .search-form > input { flex: 1 1 220px; max-width: none; background: var(--bg); }
.route-data-toolbar .workbench-filter-form > input[name=q] { width: auto; max-width: none; min-width: 0; }
.route-filter-panel { flex: 0 0 auto; font-size: 13px; }
.route-filter-panel[open] { flex: 1 1 100%; }
.route-filter-panel > summary { width: fit-content; }
.route-filter-panel > summary { display: flex; gap: 8px; min-height: 44px; align-items: center; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); cursor: pointer; list-style: none; }.route-filter-panel > summary::-webkit-details-marker { display: none; }.route-filter-panel > summary svg { width: 16px; height: 16px; }
.route-filter-body { position: static; width: 100%; margin-top: 12px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-elevated); box-shadow: inset 0 1px 0 #ffffff08; }
.route-filter-body .route-core-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
.route-filter-body .route-filter-options { margin-top: 16px; }.route-filter-body .route-filter-options > div { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 12px; }
.route-data-sheet .workbench-panel { border: 0; border-radius: 0 0 16px 16px; box-shadow: none; }
.route-data-sheet .route-table th { padding-top: 13px; padding-bottom: 13px; background: color-mix(in srgb, var(--bg) 55%, var(--surface)); }
.route-data-sheet .route-table td { padding: 13px 14px; }
.route-data-sheet .route-table .mono strong { font-size: 14px; letter-spacing: .03em; }
.route-data-sheet .route-table tr.state-current { background: transparent; }
.route-data-sheet .route-table .comparison-cell { border-left: 0; }
.route-data-sheet .route-table .record-actions .button { border-radius: 8px; }
@media(max-width:1200px) { .source-bridge { grid-template-columns: 1fr 70px 1fr; gap: 12px; }.source-exclusion { grid-column: 1 / -1; display: flex; gap: 10px; align-items: center; padding: 10px 0 0; border: 0; border-top: 1px solid var(--line-soft); } }
@media(max-width:650px) {
  .source-bridge { grid-template-columns: 1fr 1fr; padding: 16px; gap: 14px; }.source-bridge-link { display: none; }.source-app-mark { width: 34px; height: 34px; flex-basis: 34px; font-size: 8px; border-radius: 10px; }.source-app-mark.vamsys { font-size: 16px; }.source-bridge-side { gap: 8px; }.source-bridge-side strong { font-size: 12px; }.source-bridge-side small { font-size: 12px; }
  .route-status-card { padding: 14px; }.route-status-card > strong { font-size: 25px; }
  .route-data-toolbar .workbench-filter-form { gap: 8px; }.route-filter-panel > summary { padding-inline: 10px; font-size: 11px; }.route-filter-panel > summary svg { display: none; }
  .route-filter-body { width: 100%; padding: 16px; }
}
/* Shared depth and accents across the remaining operational screens. */
.capture-masthead { min-height: 0; padding: 10px 0; margin-bottom: 28px; }
.capture-column, .export-control-panel, .export-history-panel, .settings-card, .connection-card { border-radius: 18px; background: linear-gradient(145deg, color-mix(in srgb, var(--surface-2) 20%, var(--surface)), var(--surface)); box-shadow: var(--panel-shadow); }
.capture-column legend > span { color: white; background: var(--action); border-radius: 9px; box-shadow: 0 4px 12px #2563eb30; }
.capture-choice { border-radius: 14px; }.capture-choice:has(input:checked) { border-color: var(--blue); box-shadow: inset 0 1px 0 #ffffff0a, 0 0 0 1px color-mix(in srgb, var(--blue) 12%, transparent); }
.capture-choice:has(input:checked) .choice-marker { color: white; background: var(--action); border-color: var(--action); }
.export-method-tabs { padding: 5px; border-radius: 12px; border: 1px solid var(--line-soft); background: var(--bg); }
.export-method-tabs button { border-radius: 9px; }.export-method-tabs button.active { color: var(--text); background: var(--surface-2); box-shadow: 0 3px 10px #00000012; }
.airline-tile-shell { overflow: visible; border-radius: 18px; background: linear-gradient(140deg, color-mix(in srgb, var(--blue) 6%, var(--surface)), var(--surface)); box-shadow: var(--panel-shadow); }
.airline-tile-shell:hover { border-color: color-mix(in srgb, var(--blue) 48%, var(--line-soft)); }
.airline-tile { border-radius: 18px; }.airline-tile:hover { background: transparent; }
.airline-tile-name .airline-badge { border-color: color-mix(in srgb, var(--blue) 25%, transparent); background: color-mix(in srgb, var(--blue) 10%, var(--surface)); }
.login-shell { border-radius: 24px; box-shadow: 0 24px 80px #00000026; }.login-brand { color: #f3f7ff; background: radial-gradient(ellipse at 0% 0%, #2860c740, transparent 70%), #0b1b30; }
.login-brand h1 { color: #f3f7ff; }.login-brand .eyebrow, .login-brand p:last-child { color: #b9cce5; }.login-brand h1 span { color: #91b6ff; }
.route-editor-dialog { border-radius: 20px; }.route-editor-header { background: linear-gradient(100deg, color-mix(in srgb, var(--blue) 6%, var(--surface)), var(--surface)); }
.form-card, .completion-check { box-shadow: var(--panel-shadow); }
/* Clear entry points: recognizable app symbols, one next action, details on demand. */
.app-icon { --app-start:#367cf2; --app-end:#184ac5; display:grid; position:relative; place-items:center; flex:none; width:84px; height:84px; color:white; border:1px solid #ffffff35; border-radius:23px; background:linear-gradient(150deg,var(--app-start),var(--app-end)); box-shadow:inset 0 2px 1px #ffffff40,inset 0 -2px 3px #00000020,0 10px 22px color-mix(in srgb,var(--app-end) 26%,transparent); }
.app-icon .nav-symbol { width:38px; height:38px; stroke-width:1.65; }
.app-violet { --app-start:#9564ef; --app-end:#6732c9; }.app-cyan { --app-start:#158398; --app-end:#087186; }.app-amber { --app-start:#c17c20; --app-end:#9b5e15; }
.ipad-home { max-width:920px; margin:clamp(20px,5vh,70px) auto 0; }
.ipad-home-heading { text-align:center; }.ipad-home-heading .eyebrow { color:var(--blue); letter-spacing:.16em; }.ipad-home-heading h1 { font-size:clamp(30px,3vw,40px); }.ipad-home-heading > p:last-child { margin-top:12px; color:var(--muted); }
.home-apps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:44px 0 50px; }
.home-app { display:flex; align-items:center; flex-direction:column; gap:10px; padding:24px 10px; border:1px solid transparent; border-radius:24px; color:var(--text); transition:background 140ms ease; }
.home-app:hover { background:color-mix(in srgb,var(--surface) 80%,transparent); border-color:var(--line-soft); }.home-app > strong { margin-top:8px; font-size:18px; font-weight:650; }.home-app > small { color:var(--muted); font-size:14px; text-align:center; }
.home-app .app-icon { width:112px; height:112px; border-radius:30px; }.home-app .app-icon .nav-symbol { width:48px; height:48px; }
.app-count { position:absolute; right:-8px; top:-8px; display:grid; place-items:center; min-width:27px; height:27px; padding:0 6px; border:2px solid var(--bg); border-radius:20px; background:#bd3547; color:white; font-size:13px; }
.resume-workspace { display:flex; align-items:center; gap:18px; padding:22px; border:1px solid var(--line-soft); border-radius:18px; background:linear-gradient(135deg,var(--surface-2),var(--surface)); box-shadow:var(--panel-shadow); }
.resume-icon { display:grid; flex:none; place-items:center; width:46px; height:46px; color:var(--blue); background:var(--surface-3); border-radius:13px; }.resume-workspace > div { display:grid; gap:3px; min-width:0; flex:1; }.resume-workspace small { color:var(--muted); font-size:12px; }.resume-workspace strong { font-size:16px; }.resume-workspace div > span { color:var(--muted); font-size:12px; }
.home-utilities { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 26px; margin-top:28px; }.home-utilities a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--muted); }.home-utilities a:hover { color:var(--blue); }
.airline-tile-grid { grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),420px)); gap:24px; }
.airline-tile { display:flex; flex-direction:column; align-items:flex-start; min-height:355px; padding:30px; gap:0; }
.airline-launch-icon { width:68px; height:68px; border-radius:20px; font-size:21px; font-weight:750; letter-spacing:.03em; }.airline-launch-icon .nav-symbol { width:32px; height:32px; }
.airline-launch-title { margin-top:22px; }.airline-launch-title h2 { margin:0; font-size:24px; }.airline-launch-title p { margin:6px 0 0; font-size:13px; color:var(--muted); }
.airline-launch-inventory { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:24px 0 18px; }.airline-launch-inventory strong { font-size:26px; line-height:1; font-variant-numeric:tabular-nums; }.airline-launch-inventory span,.airline-launch-inventory small { color:var(--muted); font-size:13px; }
.airline-launch-source { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--muted); }.airline-launch-source strong { font-weight:500; }
.airline-launch-open { display:flex; align-items:center; gap:24px; margin-top:24px; color:var(--blue); font-size:14px; font-weight:650; }.airline-launch-open b { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--surface-3); font-size:18px; }.airline-tile:hover .airline-launch-open b { background:var(--action); color:white; }
.airline-workspace-bar { position:relative; top:auto; z-index:auto; padding:12px; border:1px solid var(--line-soft); border-radius:16px; background:var(--surface-elevated); box-shadow:0 8px 25px #00000020,inset 0 1px 0 #ffffff0c; gap:12px; }
.airline-workspace-bar .workspace-primary-nav { gap:5px; padding:5px; border-radius:12px; background:var(--bg); border:1px solid var(--line-soft); }
.airline-workspace-bar .workspace-primary-nav a { display:flex; align-items:center; gap:7px; min-height:44px; padding:10px 13px; color:var(--text); border-radius:9px; font-size:14px; }.airline-workspace-bar .workspace-primary-nav .nav-symbol { width:17px; height:17px; flex-basis:17px; color:var(--muted); }
.airline-workspace-bar .workspace-primary-nav a > span { padding:0; color:inherit; font-size:inherit; border-radius:0; }
.airline-workspace-bar .workspace-primary-nav a.active { color:white; background:linear-gradient(135deg,#2964e7,#1e4ac5); box-shadow:0 4px 12px #2563eb30,inset 0 1px 0 #ffffff30; }.airline-workspace-bar .workspace-primary-nav a.active .nav-symbol { color:white; }
.airline-workspace-bar .workspace-publish-shortcut { min-height:44px; display:flex; align-items:center; padding:10px 14px; border-radius:10px; background:var(--surface-2); border:1px solid var(--line-soft); }
.airline-page-heading { margin:28px 0 24px; }.airline-page-heading .eyebrow { font-size:11px; color:var(--muted); }
.airline-focus { --focus-color:var(--blue); display:flex; align-items:center; gap:22px; margin-bottom:28px; padding:28px; border:1px solid color-mix(in srgb,var(--focus-color) 25%,var(--line-soft)); border-radius:20px; background:linear-gradient(120deg,color-mix(in srgb,var(--focus-color) 10%,var(--surface)),var(--surface) 80%); box-shadow:var(--panel-shadow); }
.focus-current { --focus-color:var(--green); }.focus-review { --focus-color:var(--amber); }.focus-working { --focus-color:var(--purple); }
.focus-app-icon { display:grid; place-items:center; flex:none; width:60px; height:60px; color:var(--focus-color); background:color-mix(in srgb,var(--focus-color) 13%,var(--surface)); border:1px solid color-mix(in srgb,var(--focus-color) 24%,transparent); box-shadow:inset 0 1px 0 #ffffff10; border-radius:18px; font-size:30px; }.focus-app-icon svg { width:28px; height:28px; }.airline-focus > div { flex:1; min-width:0; }.airline-focus .eyebrow { font-size:10px; letter-spacing:.12em; color:var(--focus-color); margin-bottom:6px; }.airline-focus h2 { margin:0; font-size:25px; }.airline-focus p:last-child { margin:8px 0 0; color:var(--muted); font-size:14px; }
.airline-apps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0 0 30px; padding:4px 0; }
.airline-app { display:flex; align-items:center; flex-direction:column; padding:20px 10px; gap:7px; color:var(--text); border-radius:18px; border:1px solid transparent; }.airline-app:hover { border-color:var(--line-soft); background:var(--surface); }.airline-app .app-icon { width:88px; height:88px; border-radius:24px; margin-bottom:8px; }.airline-app .app-icon svg { width:38px; height:38px; }.airline-app strong { font-size:17px; font-weight:650; }.airline-app small { color:var(--muted); font-size:13px; }
.airline-source-details { margin-bottom:18px; padding:0 20px; border:1px solid var(--line-soft); border-radius:13px; background:var(--surface); }.airline-source-details > summary { padding:15px 0; font-size:14px; color:var(--muted); cursor:pointer; }.airline-source-details > form { margin-bottom:18px; }.airline-source-details .route-state-strip { margin-top:0; }
.route-editor-dialog { background:var(--bg); box-shadow:var(--shadow-dialog); }.route-editor-header { padding:24px; border-bottom:1px solid var(--line-soft); }.route-inline-editor { padding:24px; }.route-inline-editor > .muted { margin:0 0 22px; font-size:13px; }
.route-inline-editor .editor-section-card { margin:0 0 26px; padding:24px; border:1px solid var(--line-soft); border-top:3px solid color-mix(in srgb,var(--blue) 60%,var(--surface)); border-radius:16px; background:linear-gradient(145deg,var(--surface-elevated),var(--surface)); box-shadow:0 8px 22px #00000015,inset 0 1px 0 #ffffff0b; }.route-inline-editor > fieldset:nth-of-type(2) { border-top-color:var(--purple); }.route-inline-editor > fieldset:nth-of-type(3) { border-top-color:var(--cyan); }.route-inline-editor legend { padding:0 8px; color:var(--blue); font-size:15px; font-weight:700; }.route-inline-editor .route-details-grid { gap:20px 24px; }.route-inline-editor input[readonly] { color:var(--muted); background:var(--surface-2); }.route-inline-editor .choice-editor { background:transparent; }.route-inline-editor .explicit-edit-actions { background:var(--surface-elevated); border-top:1px solid var(--line-soft); padding:18px 20px; border-radius:12px; box-shadow:0 -8px 24px #00000015; }
.editor-advanced > summary { min-height:44px; padding:12px 4px; color:var(--blue); cursor:pointer; font-size:14px; font-weight:600; }.editor-advanced > summary small { display:block; margin:4px 0 0 18px; color:var(--muted); font-size:12px; font-weight:400; }.editor-advanced .editor-section-card { margin-top:18px; }
@media(max-width:1200px) { .airline-workspace-bar .workspace-primary-nav { order:3; width:100%; overflow-x:auto; flex-wrap:nowrap; }.airline-focus { flex-wrap:wrap; }.airline-focus > .button { margin-left:82px; } }

@media(max-width:650px) { .airline-workspace-bar .workspace-identity { flex:1 1 140px; }.airline-workspace-bar .workspace-publish-shortcut { font-size:12px; padding:8px 10px; }.ipad-home { margin-top:24px; }.ipad-home-heading h1 { font-size:28px; }.home-apps { gap:5px; margin:30px -10px; }.home-app { padding:18px 4px; }.home-app > strong { font-size:14px; }.home-app > small { font-size:11px; }.home-app .app-icon { width:76px; height:76px; border-radius:22px; }.airline-app .app-icon { width:76px; height:76px; border-radius:22px; }.home-app .app-icon .nav-symbol { width:34px; height:34px; }.resume-workspace { padding:18px; flex-wrap:wrap; gap:12px; }.resume-workspace .button { width:100%; }.resume-workspace > div { flex:1 1 180px; }.airline-apps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }.airline-focus { padding:22px; gap:16px; }.airline-focus > div { flex-basis:calc(100% - 76px); }.airline-focus h2 { font-size:22px; }.airline-focus > .button { margin-left:0; width:100%; }.airline-workspace-bar .workspace-primary-nav a { padding:10px; font-size:13px; }.airline-workspace-bar .workspace-primary-nav .nav-symbol { display:none; }.route-inline-editor { padding:16px; }.route-inline-editor .editor-section-card { padding:18px 14px; }.airline-launch-title h2 { font-size:22px; } }
/* Form fields share a top edge even when only some have help text. */
.rule-conditions { align-items:start; padding:20px; border:1px solid var(--line-soft); border-radius:14px; }
.rule-conditions > label, .route-details-grid > label:not(.check-row), .advanced-rule-options .code-grid > label { display:flex; flex-direction:column; align-self:start; gap:8px; margin:0; min-width:0; }
.rule-conditions > label > input, .rule-conditions > label > select { width:100%; min-width:0; height:44px; margin:0; }
.rule-conditions small { font-size:13px; line-height:1.45; }
@media(max-width:650px) { .rule-conditions { padding:16px; } }
/* Fleet source sheet: one recommended action, optional detail and a quiet fallback. */
.fleet-source-dialog { width:min(800px,calc(100vw - 32px)); padding:0; background:var(--bg); }
.fleet-source-header { align-items:flex-start; gap:20px; padding:20px 24px; }
.fleet-source-heading { display:flex; align-items:center; gap:18px; min-width:0; }.fleet-source-heading .app-icon { width:60px; height:60px; border-radius:18px; }.fleet-source-heading .app-icon svg { width:28px; height:28px; }.fleet-source-heading h2 { margin:0; font-size:25px; }.fleet-source-heading .eyebrow { font-size:11px; color:var(--muted); margin:0 0 5px; }.fleet-source-heading p.muted { font-size:13px; margin:8px 0 0; }
.fleet-source-content { display:grid; gap:18px; padding:24px; }
.fleet-source-status { display:flex; flex-wrap:wrap; gap:5px 12px; margin:0; font-size:12px; color:var(--muted); }.fleet-source-status strong { color:var(--text); font-weight:600; }
.fleet-source-primary, .fleet-source-secondary { display:block; margin:0; padding:24px; border:1px solid var(--line-soft); border-radius:16px; background:var(--surface); box-shadow:var(--panel-shadow); }.fleet-source-primary { border-color:color-mix(in srgb,var(--blue) 32%,var(--line-soft)); background:linear-gradient(130deg,color-mix(in srgb,var(--blue) 7%,var(--surface)),var(--surface)); }
.fleet-source-card-heading { display:flex; align-items:center; gap:12px; }.fleet-source-card-heading h3 { margin:0; font-size:18px; }.fleet-source-card-heading .eyebrow { font-size:10px; letter-spacing:.08em; margin:0 0 3px; color:var(--muted); }
.fleet-source-primary > p, .fleet-source-secondary > p { margin:16px 0; font-size:14px; color:var(--muted); line-height:1.6; }
.fleet-source-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }.fleet-source-options { margin:0; }.fleet-source-options[open] { flex:1 1 100%; }.fleet-source-options > summary { display:list-item; min-height:44px; padding:12px 0; cursor:pointer; color:var(--muted); font-size:13px; }.fleet-source-options .check-row { display:flex; gap:12px; align-items:flex-start; margin:0 0 12px; padding:12px; border-radius:10px; background:var(--surface-2); }.fleet-source-options .check-row > span { display:grid; gap:5px; }.fleet-source-options strong { font-size:13px; }.fleet-source-options small { font-size:12px; color:var(--muted); font-weight:400; line-height:1.5; }.fleet-source-preservation { display:block; margin-top:12px; font-size:12px; color:var(--muted); }
@media(max-width:650px) { .fleet-source-content { padding:16px; }.fleet-source-header { padding:18px; flex-wrap:wrap; }.fleet-source-heading { gap:12px; }.fleet-source-heading h2 { font-size:22px; }.fleet-source-heading .app-icon { width:46px; height:46px; border-radius:14px; }.fleet-source-header > button { margin-left:auto; }.fleet-source-primary,.fleet-source-secondary { padding:18px; }.fleet-source-controls { flex-direction:column; align-items:stretch; }.fleet-source-controls > button,.fleet-source-secondary > .button { width:100%; } }
/* Capture: raised panels, inset fields and recognizable source choices. */
.capture-page-new .capture-masthead .eyebrow { color:var(--purple); }
.capture-page-new .capture-console { gap:22px; }
.capture-page-new .capture-column { padding:24px; border:1px solid color-mix(in srgb,var(--blue) 15%,var(--line-soft)); border-radius:22px; background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 80%,var(--surface)),var(--surface) 75%); box-shadow:0 16px 36px #0000001c,inset 0 1px 0 #ffffff15,inset 0 -1px 0 #00000012; }
.capture-page-new .capture-mode-column { background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 8%,var(--surface-2)),var(--surface) 75%); }
.capture-page-new .capture-column legend { padding:0 8px; gap:10px; }.capture-page-new .capture-column legend > span { width:32px; height:32px; border:1px solid #ffffff25; border-radius:11px; background:linear-gradient(145deg,#367cf2,#184ac5); box-shadow:0 5px 13px #184ac533,inset 0 1px 0 #ffffff50; }.capture-page-new .capture-mode-column legend > span { background:linear-gradient(145deg,#9564ef,#6732c9); box-shadow:0 5px 13px #6732c933,inset 0 1px 0 #ffffff50; }
.capture-page-new .capture-code-grid input,.capture-page-new .capture-airline-name input { background:var(--bg); border-color:var(--line); box-shadow:inset 0 2px 5px #00000016,0 1px 0 #ffffff08; }
.capture-page-new .airline-lookup-status { border-left-width:3px; border-radius:10px; background:color-mix(in srgb,var(--blue) 7%,var(--surface)); }
.capture-page-new .capture-subheading { margin-top:26px; }
.capture-page-new .capture-choice { --choice-accent:var(--blue); --choice-start:#367cf2; --choice-end:#184ac5; position:relative; grid-template-columns:52px minmax(0,1fr); gap:16px; padding:20px; border-radius:17px; border:1px solid color-mix(in srgb,var(--choice-accent) 12%,var(--line-soft)); background:linear-gradient(145deg,var(--surface-elevated),var(--surface)); box-shadow:0 5px 12px #00000019,inset 0 1px 0 #ffffff0c; }
.capture-page-new .capture-choice:has(input[value="viacc_capture"]),.capture-page-new .capture-choice:has(input[value="generated"]) { --choice-accent:var(--purple); --choice-start:#9564ef; --choice-end:#6732c9; }
.capture-page-new .capture-choice:has(input[value="intrepid_capture"]) { --choice-accent:var(--cyan); --choice-start:#158398; --choice-end:#087186; }
.capture-page-new .capture-choice > span:last-child { padding-right:20px; }
.capture-page-new .capture-choice .choice-marker { width:52px; height:52px; border-radius:15px; color:#fff; border:1px solid #ffffff28; background:linear-gradient(145deg,var(--choice-start),var(--choice-end)); box-shadow:0 7px 15px color-mix(in srgb,var(--choice-end) 24%,transparent),inset 0 1px 0 #ffffff50,inset 0 -1px 1px #00000020; }
.capture-page-new .choice-marker .nav-symbol { width:25px; height:25px; }
.capture-page-new .capture-choice:hover { border-color:color-mix(in srgb,var(--choice-accent) 55%,var(--line-soft)); background:linear-gradient(145deg,color-mix(in srgb,var(--choice-accent) 6%,var(--surface-elevated)),var(--surface)); box-shadow:0 8px 20px #00000020,inset 0 1px 0 #ffffff10; }
.capture-page-new .capture-choice:has(input:checked) { border-color:var(--choice-accent); background:linear-gradient(125deg,color-mix(in srgb,var(--choice-accent) 14%,var(--surface-elevated)),color-mix(in srgb,var(--choice-accent) 4%,var(--surface))); box-shadow:0 9px 24px color-mix(in srgb,var(--choice-accent) 12%,transparent),inset 0 1px 0 #ffffff20,0 0 0 1px color-mix(in srgb,var(--choice-accent) 20%,transparent); }
.capture-page-new .capture-choice:has(input:checked) .choice-marker { color:white; border-color:#ffffff28; background:linear-gradient(145deg,var(--choice-start),var(--choice-end)); }
.capture-page-new .capture-choice:has(input:checked)::after { content:""; position:absolute; top:14px; right:14px; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:white; background:var(--choice-end); box-shadow:inset 0 1px 0 #ffffff30; font-size:13px; font-weight:700; }
.capture-page-new .capture-choice:has(input:checked)::before { content:""; position:absolute; top:19px; right:22px; width:5px; height:9px; border:solid white; border-width:0 2px 2px 0; transform:rotate(45deg); z-index:1; pointer-events:none; }
.capture-page-new .capture-choice em { color:var(--choice-accent); background:color-mix(in srgb,var(--choice-accent) 12%,transparent); border:1px solid color-mix(in srgb,var(--choice-accent) 20%,transparent); border-radius:6px; }
.capture-page-new .callsign-choice { grid-template-columns:42px minmax(0,1fr); gap:12px; padding:18px 14px; }.capture-page-new .callsign-choice .choice-marker { width:42px; height:42px; border-radius:13px; }.capture-page-new .callsign-choice strong { font-size:14px; }.capture-page-new .callsign-choice small { font-size:12px; }
.capture-page-new .callsign-strategy-summary { border:0; padding:14px 0 0; background:transparent; color:var(--muted); line-height:1.5; }
.capture-page-new .capture-advanced { border-color:var(--line-soft); border-radius:14px; background:var(--surface); box-shadow:inset 0 1px 0 #ffffff08; }.capture-page-new .capture-advanced > summary { min-height:52px; padding:16px 20px; }
.capture-page-new .capture-console-footer { border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line-soft)); border-radius:18px; padding:22px 24px; background:linear-gradient(110deg,var(--surface-2),var(--surface)); box-shadow:0 10px 24px #0000001a,inset 0 1px 0 #ffffff12; }
@media(max-width:650px) { .capture-page-new .capture-column { padding:20px 16px; }.capture-page-new .capture-choice { padding:18px 14px; gap:12px; grid-template-columns:44px minmax(0,1fr); }.capture-page-new .capture-choice .choice-marker { width:44px; height:44px; border-radius:13px; }.capture-page-new .capture-console-footer { padding:20px; } }
/* A readable working order, with reference data before route editing. */
.capture-page-new .mode-summary { color:var(--text); font-size:14px; font-weight:600; }
.airline-workpath-heading { margin:0 0 6px; color:var(--muted); font-size:13px; font-weight:600; }
.airline-apps[data-workflow-nav] { gap:36px; }
.airline-apps[data-workflow-nav] .airline-app { position:relative; }
.airline-step-number { position:absolute; top:16px; left:calc(50% - 61px); display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--line); border-radius:50%; color:var(--text); background:var(--surface-elevated); box-shadow:0 3px 8px #00000020; font-size:12px; font-weight:700; z-index:1; }
.airline-apps[data-workflow-nav] .airline-app:not(:last-child)::after { content:"→"; position:absolute; right:-29px; top:46px; color:var(--muted); font-size:28px; pointer-events:none; }
/* Export: method-specific evidence, unmistakable warnings and raised selections. */
.export-control-panel { border-color:var(--line-soft); background:linear-gradient(145deg,var(--surface-2),var(--surface) 65%); box-shadow:0 16px 38px #00000022,inset 0 1px 0 #ffffff12; }
.export-method-tabs { gap:8px; padding:7px; border-radius:15px; background:var(--bg); }
.export-method-tabs button { min-height:58px; padding:13px 16px; border:1px solid transparent; border-radius:11px; }.export-method-tabs button.active { color:white; border-color:#ffffff30; background:linear-gradient(135deg,#367cf2,#184ac5); box-shadow:0 5px 15px #184ac530,inset 0 1px 0 #ffffff35; }.export-method-tabs button.active[data-export-method-select=api] { background:linear-gradient(135deg,#9564ef,#6732c9); }.export-method-tabs button.active small { color:white; }
.export-entity-list { gap:16px; padding-top:18px; }
.export-entity-card { --status-accent:var(--line-soft); overflow:hidden; border:1px solid var(--line-soft); border-left:4px solid var(--status-accent); border-radius:15px; background:linear-gradient(140deg,var(--surface-elevated),var(--surface)); box-shadow:0 7px 18px #0000001d,inset 0 1px 0 #ffffff0b; }
.export-entity-button { min-height:88px; grid-template-columns:48px minmax(0,1fr) auto auto; gap:15px; padding:18px; border:0; border-radius:0; background:transparent; }.export-entity-button:hover { background:color-mix(in srgb,var(--blue) 6%,transparent); }.export-entity-button small { font-size:12px; }.export-change-count small { font-size:10px; }
.export-entity-icon { --icon-start:#367cf2; --icon-end:#184ac5; width:48px; height:48px; border-radius:14px; border:1px solid #ffffff30; color:white; background:linear-gradient(145deg,var(--icon-start),var(--icon-end)); box-shadow:0 5px 12px color-mix(in srgb,var(--icon-end) 25%,transparent),inset 0 1px 0 #ffffff45; }.export-entity-icon svg { width:23px; height:23px; }.export-entity-card[data-entity=fleet] .export-entity-icon { --icon-start:#9564ef; --icon-end:#6732c9; }.export-entity-card[data-entity=airport] .export-entity-icon { --icon-start:#158398; --icon-end:#087186; }.export-entity-card[data-entity=aircraft] .export-entity-icon { --icon-start:#c17c20; --icon-end:#9b5e15; }
.export-next-action { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0; padding:12px 18px; border-top:1px solid var(--line-soft); background:color-mix(in srgb,var(--bg) 40%,transparent); }
.export-state { display:flex; flex-wrap:wrap; align-items:center; gap:5px 12px; flex:1 1 240px; font-size:13px; line-height:1.5; }.export-state strong { font-size:13px; font-weight:650; }.export-state > span { flex:1 1 100%; }.export-state.state-ready { color:var(--green); }.export-state.state-warning,.export-pending-note { color:var(--amber); }.export-next-action > a { color:var(--blue); font-size:13px; font-weight:600; min-height:32px; display:flex; align-items:center; }
.export-console-grid[data-export-method=api] .export-state-csv,.export-console-grid[data-export-method=csv] .export-state-api { display:none; }
.export-console-grid[data-export-method=csv] .export-entity-card:has(.export-state-csv.state-warning),.export-console-grid[data-export-method=api] .export-entity-card:has(.export-state-api.state-warning) { --status-accent:var(--amber); border-color:color-mix(in srgb,var(--amber) 50%,var(--line-soft)); }.export-console-grid[data-export-method=csv] .export-entity-card:has(.export-state-csv.state-warning) .export-next-action,.export-console-grid[data-export-method=api] .export-entity-card:has(.export-state-api.state-warning) .export-next-action { background:color-mix(in srgb,var(--amber) 10%,var(--surface)); }
.export-console-grid[data-export-method=csv] .export-entity-card:has(.export-state-csv.state-ready),.export-console-grid[data-export-method=api] .export-entity-card:has(.export-state-api.state-ready) { --status-accent:var(--green); }
.export-scope-dialog { width:min(820px,calc(100vw - 28px)); border-radius:22px; background:var(--bg); box-shadow:var(--shadow-dialog); }
.export-scope-dialog::backdrop { background:#030a16a6; backdrop-filter:blur(7px); }
.export-scope-dialog > header { gap:16px; padding:24px; border-bottom:1px solid var(--line-soft); background:linear-gradient(120deg,var(--surface-2),var(--surface)); box-shadow:inset 0 1px 0 #ffffff0c; }.export-scope-dialog > header > div { flex:1; min-width:0; }.export-dialog-mark.app-icon { width:48px; height:48px; border-radius:15px; }.export-dialog-mark .nav-symbol { width:24px; height:24px; }.export-scope-dialog > header h2 { font-size:24px; }.export-scope-dialog > header p:last-child { font-size:13px; line-height:1.5; margin-top:8px; }
.export-scope-dialog .export-counter-heading { margin:18px 24px 10px; padding:0; background:transparent; }.export-scope-dialog .export-counter-heading > span { max-width:320px; line-height:1.5; }
.export-scope-dialog .export-scope-summary { gap:10px; margin:0 24px; border:0; background:transparent; }.export-scope-dialog .export-scope-summary > div { --summary-accent:var(--green); display:grid; gap:7px; padding:14px 16px; border:1px solid var(--line-soft); border-top:3px solid var(--summary-accent); border-radius:12px; background:linear-gradient(140deg,color-mix(in srgb,var(--summary-accent) 8%,var(--surface-elevated)),var(--surface)); box-shadow:0 5px 12px #00000018,inset 0 1px 0 #ffffff0b; }.export-scope-dialog .export-scope-summary > div:nth-child(2) { --summary-accent:var(--amber); }.export-scope-dialog .export-scope-summary > div:nth-child(3) { --summary-accent:var(--red); }.export-scope-dialog .export-scope-summary strong { font-size:24px; color:var(--summary-accent); }
.export-scope-dialog .export-review-status { display:block; margin:16px 24px 0; padding:13px 16px; border:1px solid var(--line-soft); border-radius:12px; background:var(--surface); font-size:13px; }.export-review-status > summary { cursor:pointer; color:var(--muted); }.export-review-status[open] > summary { margin-bottom:14px; }
.export-scope-dialog .export-scope-form { gap:18px; padding:24px; }.export-scope-form fieldset > label { min-height:92px; padding:16px; gap:12px; border-radius:14px; background:linear-gradient(145deg,var(--surface-elevated),var(--surface)); box-shadow:0 6px 14px #0000001b,inset 0 1px 0 #ffffff10; }.export-scope-form fieldset > label strong { font-size:14px; line-height:1.4; }.export-scope-form fieldset small { font-size:12px; line-height:1.5; }.export-scope-dialog .export-scope-form fieldset input { width:22px; height:22px; min-height:22px; margin-top:1px; }
.export-scope-dialog .export-csv-mode > label:has(input:checked) { border-color:var(--blue); background:linear-gradient(140deg,color-mix(in srgb,var(--blue) 13%,var(--surface-elevated)),var(--surface)); box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 12%,transparent),inset 0 1px 0 #ffffff20; }
.export-scope-form fieldset > label.create { border-top-color:var(--green); }.export-scope-form fieldset > label.create input { accent-color:var(--green); }.export-scope-form fieldset > label.update input { accent-color:var(--amber); }.export-scope-form fieldset > label.delete input { accent-color:var(--red); }
.export-scope-form [data-selection-feedback]:not(:empty) { padding:14px 16px; border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line-soft)); border-radius:12px; background:color-mix(in srgb,var(--amber) 8%,var(--surface)); font-size:13px; line-height:1.5; }
.export-scope-form [data-export-submit],.export-scope-form [data-api-export-submit] { position:static; bottom:auto; z-index:auto; }
.export-scope-form .export-preflight-issues { padding:14px; border:1px solid color-mix(in srgb,var(--amber) 40%,var(--line-soft)); border-radius:12px; background:color-mix(in srgb,var(--amber) 8%,var(--surface)); }.export-preflight-issues strong { color:var(--amber); }
@media(max-width:650px) { .airline-apps[data-workflow-nav] { grid-template-columns:1fr; gap:24px; }.airline-apps[data-workflow-nav] .airline-app { display:grid; grid-template-columns:24px 76px minmax(0,1fr); grid-template-rows:auto auto; gap:4px 14px; justify-items:start; padding:14px; }.airline-step-number { position:static; grid-column:1; grid-row:1 / 3; width:24px; height:24px; }.airline-apps[data-workflow-nav] .app-icon { grid-column:2; grid-row:1 / 3; margin:0; }.airline-apps[data-workflow-nav] strong { grid-column:3; align-self:end; }.airline-apps[data-workflow-nav] small { grid-column:3; align-self:start; }.airline-apps[data-workflow-nav] .airline-app:not(:last-child)::after { top:auto; bottom:-27px; left:calc(50% - 10px); right:auto; transform:rotate(90deg); font-size:24px; }.export-entity-button { padding:14px; gap:10px; grid-template-columns:42px minmax(0,1fr) auto; }.export-entity-button > b { display:none; }.export-entity-icon { width:42px; height:42px; }.export-next-action { padding:12px 14px; }.export-scope-dialog > header { flex-wrap:wrap; padding:18px; }.export-scope-dialog > header > .button { margin-left:auto; }.export-scope-dialog .export-scope-form { padding:18px; }.export-scope-dialog .export-counter-heading { margin-inline:18px; }.export-scope-dialog .export-scope-summary { margin-inline:18px; }.export-scope-dialog .export-scope-summary > div { padding:12px; }.export-scope-dialog .export-review-status { margin-inline:18px; } }
/* Local airline identity and a calm, spacious home screen. */
.ipad-home { position:relative; isolation:isolate; max-width:1120px; min-height:calc(100dvh - 180px); padding:20px 24px 48px; overflow:hidden; }
.ipad-home::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:0; background:url("images/vaa-logo.2e53b2d298ff.png") right -160px top -30px / 740px auto no-repeat; opacity:.12; -webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 35%,#000 68%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%,#000 70%,transparent 100%); mask-image:linear-gradient(90deg,transparent 8%,#000 35%,#000 68%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%,#000 70%,transparent 100%); -webkit-mask-composite:source-in; mask-composite:intersect; }
.ipad-home .home-apps { gap:clamp(24px,4vw,52px); margin:58px 0 28px; }
.ipad-home .home-app { min-height:300px; padding:28px 12px; border-radius:30px; }
.ipad-home .home-app .app-icon { width:160px; height:160px; border-radius:41px; }
.ipad-home .home-app .app-icon .nav-symbol { width:66px; height:66px; }
.ipad-home .home-app > strong { margin-top:14px; font-size:21px; }
.ipad-home .home-app > small { font-size:14px; }
.airline-identity-art { display:flex; align-items:center; min-height:96px; }
.airline-logo { display:grid; place-items:center; width:188px; height:88px; padding:18px; border:1px solid #fff; border-radius:20px; background:linear-gradient(145deg,#fff,#edf2f8); box-shadow:inset 0 1px 1px #fff,0 8px 22px #00000020; }
.airline-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.airline-logo-compact img { width:112px; max-width:100%; }
@media(max-width:760px) { .ipad-home { padding-inline:12px; }.ipad-home::before { background-size:540px auto; background-position:right -210px top 60px; opacity:.09; }.ipad-home .home-apps { gap:14px; }.ipad-home .home-app { min-height:250px; }.ipad-home .home-app .app-icon { width:120px; height:120px; border-radius:32px; }.ipad-home .home-app .app-icon .nav-symbol { width:52px; height:52px; }.ipad-home .home-app > strong { font-size:18px; } }
@media(max-width:520px) { .ipad-home { margin-top:12px; }.ipad-home .home-apps { grid-template-columns:1fr; gap:16px; margin-top:28px; }.ipad-home .home-app { display:grid; grid-template-columns:100px minmax(0,1fr); column-gap:20px; row-gap:5px; justify-items:start; min-height:142px; padding:18px; text-align:left; background:color-mix(in srgb,var(--surface) 65%,transparent); border-color:var(--line-soft); }.ipad-home .home-app .app-icon { grid-row:1 / 3; width:100px; height:100px; border-radius:28px; }.ipad-home .home-app > strong { margin:0; align-self:end; }.ipad-home .home-app > small { text-align:left; align-self:start; }.airline-logo { max-width:100%; } }
@media (prefers-contrast: more) { .ipad-home::before { display:none; } }
/* Independent API connection library and explicit export destination. */
.connection-library-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr); gap:24px; align-items:start; }
.connection-library-card { padding:22px; margin-top:18px; border:1px solid var(--line-soft); border-radius:18px; background:linear-gradient(135deg,var(--surface-2),var(--surface)); box-shadow:var(--panel-shadow); }
.connection-library-identity { display:flex; align-items:center; gap:14px; }.connection-library-identity > div { flex:1; min-width:0; }.connection-library-identity h3 { margin:0 0 4px; font-size:20px; overflow-wrap:anywhere; }.connection-library-identity small { color:var(--muted); }
.connection-library-scopes { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }.connection-library-scopes span { padding:5px 10px; border-radius:20px; color:var(--blue); border:1px solid var(--line-soft); background:var(--surface-3); font-size:12px; }
.connection-library-actions { display:flex; flex-wrap:wrap; align-items:start; gap:12px; }.connection-library-actions form { margin:0; }.connection-rename-form { display:grid; gap:12px; padding-top:12px; }.connection-create-card h2 { margin-top:4px; }.connection-create-card .stack-form { gap:18px; }
.settings-quick-card.api .settings-icon { color:var(--cyan); background:color-mix(in srgb,var(--cyan) 12%,var(--surface)); }
.export-destination-panel { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-bottom:20px; padding:24px; border:1px solid color-mix(in srgb,var(--blue) 38%,var(--line-soft)); border-radius:20px; background:linear-gradient(130deg,color-mix(in srgb,var(--blue) 9%,var(--surface)),var(--surface)); box-shadow:var(--panel-shadow); }.export-destination-panel > div:first-child { flex:1; min-width:200px; }.export-destination-panel h2 { margin:4px 0; font-size:22px; }.export-destination-panel p { margin:4px 0; color:var(--muted); font-size:14px; }
.export-destination-form { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }.export-destination-form label { min-width:210px; flex:1; }.export-destination-form a { flex-basis:100%; text-align:right; font-size:13px; }.export-target-readback { display:flex; flex:1 1 100%; align-items:center; gap:16px; border-top:1px solid var(--line-soft); padding-top:18px; }.export-target-readback > div { flex:1; }
@media(max-width:980px) { .connection-library-grid { grid-template-columns:1fr; }.connection-create-card { order:-1; } }
@media(max-width:650px) { .export-destination-panel { padding:18px; }.export-destination-form,.export-target-readback { width:100%; }.export-target-readback { align-items:stretch; flex-direction:column; }.export-destination-form label { min-width:0; flex-basis:100%; }.connection-library-card { padding:18px; }.connection-library-identity { flex-wrap:wrap; } }
.airline-tile-raw-export { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:0 30px 28px; padding-top:20px; border-top:1px solid var(--line-soft); }.airline-tile-raw-export small { color:var(--muted); font-size:12px; }.raw-delivery-card { border-color:color-mix(in srgb,var(--cyan) 40%,var(--line-soft)); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (prefers-contrast: more) {
  :root { --line-soft: var(--line); --muted: var(--text); --muted-2: var(--text); --panel-shadow: none; }
}

.connection-delete { margin-left:auto; }.connection-delete .danger { color:var(--red); }.connection-delete-form { max-width:330px; padding:14px; margin-top:10px !important; border:1px solid color-mix(in srgb,var(--red) 35%,var(--line-soft)); border-radius:14px; background:var(--surface); }.connection-delete-form p { margin:0 0 14px; }.connection-delete-form .button { border-color:var(--red); }

/* Automatic FR24 logo loads separately; the airline code remains the fallback. */
.airline-identity-art { position:relative; }
.airline-logo-automatic { position:absolute; left:0; opacity:0; pointer-events:none; }
.airline-logo-ready .airline-logo-automatic { opacity:1; }
.airline-logo-ready .airline-launch-icon { visibility:hidden; }

/* Saved destinations are the main action for inventory loading and export. */
.api-saved-destination-form .wide-field > label { display:block; margin-bottom:8px; font-weight:650; }
.api-saved-destination-form select { width:100%; min-height:48px; }
.api-sync-details { margin-top:24px; }.api-sync-details > summary { padding:18px 20px; border:1px solid var(--line-soft); border-radius:14px; background:var(--surface); font-weight:650; }
.sync-status-table { width:100%; border-collapse:collapse; font-size:13px; }
.sync-status-table th,.sync-status-table td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--line-soft); white-space:nowrap; }
.sync-status-table th { color:var(--muted); background:var(--surface-2); font-size:12px; }

/* Transfer activity: destination, record identity and verified counts per action. */
.publish-activity { padding:18px 20px; border-bottom:1px solid var(--line-soft); background:var(--surface); }
.publish-destination { display:flex; justify-content:space-between; gap:12px; align-items:center; }.publish-destination > span { color:var(--muted); font-size:12px; }.publish-destination > strong { color:var(--cyan); font-size:16px; }
.publish-stage { margin:12px 0; font-size:12px; color:var(--muted); }.publish-stage strong { color:var(--text); }
.publish-action-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.publish-action { padding:10px; border:1px solid var(--line-soft); border-top:3px solid var(--blue); border-radius:10px; background:var(--surface-2); }.publish-action > strong { display:block; margin-bottom:6px; font-size:12px; }.publish-action > span { display:block; font-size:11px; color:var(--muted); }.publish-action b { color:var(--text); }
.publish-action.create { border-top-color:var(--green); }.publish-action.update { border-top-color:var(--amber); }.publish-action.delete { border-top-color:var(--red); }
.publish-action.create > strong,.capture-log-row.create .capture-log-tag,.event.create > strong { color:var(--green); }.publish-action.update > strong,.capture-log-row.update .capture-log-tag,.event.update > strong { color:var(--amber); }.publish-action.delete > strong,.capture-log-row.delete .capture-log-tag,.event.delete > strong { color:var(--red); }
.publish-total { margin:12px 0 0; font-size:12px; }.publish-record { margin:12px 0 0; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }.publish-record[hidden] { display:none; }
.job-log-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:14px 0; font-size:13px; }

/* Comparison scope: explicit tag choices before importing or publishing. */
.tag-protection-selector{min-width:0;margin:0;padding:18px;border:1px solid #386779;border-radius:18px;background:linear-gradient(125deg,#163443,#101f34);color:#edf4ff}
.tag-protection-selector legend{padding:0 8px;color:#8de6e0;font-weight:750}
.tag-protection-selector p,.tag-protection-selector small{color:#b6c9df;font-size:.85rem;line-height:1.5}
.tag-protection-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:16px 0;max-height:300px;overflow:auto}
.tag-protection-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:14px!important;min-height:64px;border:1px solid #3d5773;border-radius:13px;background:#15263c;cursor:pointer;overflow-wrap:anywhere}
.tag-protection-choice:has(input:checked){border-color:#66d9cb;background:#163d46;box-shadow:inset 0 1px #ffffff16}
.tag-protection-choice:focus-within{outline:2px solid #96b9ff;outline-offset:3px}
.tag-protection-choice input{width:20px!important;height:20px!important;min-width:20px;accent-color:#59d9c1}
.tag-protection-choice span{display:grid;gap:4px}.tag-protection-choice strong{color:#edf4ff}
.tag-protection-origin{margin-bottom:0}.tag-protection-selector>label{display:grid;gap:6px}
.route-tag-protection{margin:16px 0;border:1px solid #386779;border-radius:16px;background:#10283a;overflow:hidden}
.route-tag-protection>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;cursor:pointer;list-style:none}
.route-tag-protection>summary>span:first-child{display:grid;gap:5px}.route-tag-protection summary small{color:#b6c9df}
.route-tag-protection>form{padding:0 18px 18px}.route-tag-protection .form-actions{justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:15px}
@media(max-width:600px){.tag-protection-choices{grid-template-columns:1fr}.route-tag-protection>summary{align-items:flex-start;flex-wrap:wrap}.tag-protection-selector{padding:14px}}

.route-tag-label{display:block;margin-top:7px;color:#8de6e0;font-size:.72rem;overflow-wrap:anywhere}

/* Airline ownership and reference retention: one quiet, explicit scope per task. */
.comparison-scope-notice, .reference-retention-bar {
  margin: 16px 0; padding: 16px 20px; border: 1px solid var(--line-soft);
  border-radius: var(--radius-md); background: var(--surface);
}
.comparison-scope-notice > div, .scope-carriers { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.scope-carriers > span { padding: 4px 10px; border-radius: 9px; background: var(--surface-2); }
.scope-carriers small { margin-left: 6px; color: var(--muted); }
.comparison-scope-notice p, .reference-retention-bar p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.reference-retention-bar { display: flex; gap: 20px; justify-content: space-between; align-items: center; }
.reference-retention-bar form { margin: 0; flex-shrink: 0; }
.reference-retention-bar.is-active { border-color: var(--green); background: linear-gradient(110deg, color-mix(in srgb, var(--green) 8%, var(--surface)), var(--surface)); }
.reference-retention-bar.is-active strong, .badge.retained { color: var(--green); }
.reference-retention-bar button { min-height: 44px; white-space: normal; }
@media (max-width: 760px) {
  .reference-retention-bar { align-items: stretch; flex-direction: column; gap: 12px; }
  .reference-retention-bar button { width: 100%; }
}

/* Pick the existing airline blocks, then merge once. */
.composition-picker-dialog { width: min(960px, calc(100vw - 32px)); padding: 0; }
.composition-picker-dialog .route-editor-header { display: flex; align-items: flex-start; gap: 20px; }
.composition-picker-dialog .route-editor-header p:last-child { margin-bottom: 0; }
.composition-picker-sources { border: 0; padding: 24px; margin: 0; }
.composition-picker-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.composition-source-choice { position: relative; display: flex; align-items: center; gap: 16px; min-height: 138px; padding: 20px; border: 1px solid var(--line-soft); border-radius: 18px; background: linear-gradient(140deg,var(--surface-elevated),var(--surface)); box-shadow: var(--panel-shadow); cursor: pointer; }
.composition-source-choice:hover:not(.unavailable) { border-color: var(--blue); }
.composition-source-choice:has(input:checked) { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue), var(--panel-shadow); background: linear-gradient(140deg,color-mix(in srgb,var(--action) 16%,var(--surface)),var(--surface)); }
.composition-source-choice:focus-within { outline: 3px solid var(--blue); outline-offset: 3px; }
.composition-source-choice > input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: var(--action); }
.composition-source-choice .airline-identity-art { width: 80px; height: 60px; min-height: 60px; flex: 0 0 80px; margin: 0; }
.composition-source-choice .airline-logo { width: 80px; height: 60px; padding: 8px; border-radius: 12px; }
.composition-source-choice .airline-logo img { width: 100%; height: 100%; object-fit: contain; }
.composition-source-choice .airline-launch-icon { width: 60px; height: 60px; font-size: 18px; }
.composition-source-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.composition-source-info strong { color: var(--text); font-size: 17px; overflow-wrap: anywhere; }
.composition-source-info small, .composition-source-info > span { color: var(--muted); font-size: 13px; }
.composition-choice-check { position: absolute; right: 12px; top: 10px; color: var(--blue); visibility: hidden; }
.composition-source-choice:has(input:checked) .composition-choice-check { visibility: visible; }
.composition-source-choice.unavailable { cursor: default; box-shadow: none; background: var(--surface); }
.composition-source-choice.unavailable .airline-identity-art { opacity: .55; }
.composition-picker-footer { position: sticky; bottom: 0; padding: 20px 24px; background: var(--surface); border-top: 1px solid var(--line-soft); }
.composition-picker-footer > label { display: block; max-width: 560px; }
.composition-picker-footer label small { margin-left: 5px; font-weight: 400; color: var(--muted); }
.composition-picker-confirm { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.composition-picker-confirm p { margin: 0; color: var(--muted); font-size: 14px; }
.composition-picker-confirm > div { display: flex; gap: 10px; }
@media (max-width: 650px) {
 .composition-picker-grid { grid-template-columns: minmax(0,1fr); }
 .composition-picker-sources, .composition-picker-footer { padding: 16px; }
 .composition-source-choice { padding: 16px; gap: 12px; }
 .composition-source-choice .airline-identity-art { width: 60px; flex-basis: 60px; }
 .composition-source-choice .airline-logo { width: 60px; }
 .composition-picker-confirm > div { width: 100%; flex-wrap: wrap; }
 .composition-picker-confirm button { flex: 1; }
}

.composition-picker-sources > legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.composition-source-info strong { overflow-wrap: anywhere; }

/* The planning view shares the workbench roles and keeps detail off the first screen. */
.sync-planning { display:grid; gap:1.25rem; }
.planning-profile { display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; background:linear-gradient(125deg,var(--surface-2),var(--surface)); }
.planning-profile > div { flex:1 1 260px; }
.planning-profile > p { flex:2 1 320px; }
.planning-profile label,.planning-filters label { display:grid; gap:.5rem; }
.planning-status-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.7rem; }
.planning-status { display:grid; gap:.8rem; text-decoration:none; border-top:3px solid var(--blue); padding:1rem; min-height:100px; }
.planning-status strong { font-size:1.8rem; }
.planning-status.status-new { border-color:var(--green); }
.planning-status.status-update,.planning-status.status-review { border-color:var(--amber); }
.planning-status.status-deletion_candidate { border-color:var(--red); }
.planning-status.selected { outline:2px solid var(--blue); outline-offset:2px; }
.planning-filters { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; }
.planning-filters label { flex:1 1 220px; }
.sync-planning .planning-table { padding:0; overflow:hidden; }
.sync-planning .planning-table table { width:100%; margin:0; white-space:normal; table-layout:fixed; }
.sync-planning .planning-table td { vertical-align:top; white-space:normal; overflow-wrap:anywhere; }
.planning-table th:nth-child(1),.planning-table th:nth-child(2) { width:20%; }
.planning-table details { margin:.6rem 0; }
.planning-table summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--blue); }
.planning-table dt { font-weight:650; margin-top:.5rem; }
@media(max-width:1450px) { .planning-status-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:560px) { .planning-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .planning-profile .button,.planning-filters .button { width:100%; } }

.planning-status { min-width:0; }
.planning-status span { overflow-wrap:anywhere; hyphens:auto; }
.sync-planning h1 { overflow-wrap:break-word; }


@media(max-width:560px) {
 .sync-planning .planning-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .sync-planning .planning-table table,.sync-planning .planning-table tbody { display:block; }
 .sync-planning .planning-table tr { display:grid; grid-template-columns:minmax(0,1fr); padding:10px; border-bottom:1px solid var(--line-soft); }
 .sync-planning .planning-table td { display:block; width:100%; border:0; padding:8px 12px; }
 .sync-planning .planning-table td:first-child { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
 .sync-planning .planning-table td:first-child p { margin:0; }
}
