/*
 * VAAS product interface
 * Shared VAAS product interface. The authenticated workspace uses one balanced
 * high-contrast appearance while the proven workflow templates and domain
 * logic remain intact.
 */

.has-product-shell {
    color-scheme: light;
    --bg: #f4f6f8;
    --panel: #ffffff;
    --panel-2: #f8fafc;
    --line: #d9e0e7;
    --text: #18212f;
    --muted: #5f6e7d;
    --blue: #1769e0;
    --green: #14845f;
    --yellow: #a96200;
    --red: #c53c4d;
    --gray: #697586;
    --ink: #18212f;
    --ink-soft: #445265;
    --surface: #ffffff;
    --surface-soft: #f7f9fb;
    --surface-blue: #eef5ff;
    --brand: #1769e0;
    --brand-hover: #0e56c1;
    --border: #d9e0e7;
    --border-strong: #bdc8d4;
    --focus: #0a66d8;
    --success: #14845f;
    --warning: #a96200;
    --danger: #c53c4d;
    --shadow: 0 8px 26px rgba(20, 36, 55, .08);
    margin: 0;
    background: #f4f6f8;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.5;
}

body.has-workspace-shell.has-product-shell {
    background: #f4f6f8;
}

.has-product-shell * {
    scrollbar-color: #bac5d1 #edf1f4;
}

.has-product-shell a {
    color: var(--brand);
}

.has-product-shell :where(h1, h2, h3, h4, strong, legend, label) {
    color: var(--ink);
}

.has-product-shell :where(p, small, .muted) {
    color: var(--muted);
}

.has-product-shell :where(button, input, select, textarea, a) {
    font-size: .9375rem;
}

.has-product-shell :where(button, input, select, textarea):focus-visible,
.has-product-shell :where(a, summary):focus-visible {
    outline: 3px solid rgba(23, 105, 224, .28);
    outline-offset: 2px;
}

.product-shell {
    display: block !important;
    min-height: 100vh;
    background: #f4f6f8;
}

.product-header {
    position: sticky;
    z-index: 80;
    top: 0;
    border-bottom: 1px solid var(--border);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 3px 14px rgba(18, 33, 51, .05);
    backdrop-filter: blur(18px);
}

.product-header-main {
    display: grid;
    grid-template-columns: minmax(190px, auto) minmax(320px, 680px) minmax(270px, auto);
    align-items: center;
    gap: 28px;
    width: min(1760px, calc(100% - 40px));
    min-height: 72px;
    margin: 0 auto;
}

.product-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--ink);
    text-decoration: none;
}

.product-brand img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.product-brand span {
    display: grid;
    line-height: 1.15;
}

.product-brand strong {
    font-size: 1.25rem;
    letter-spacing: .02em;
}

.product-brand small {
    margin-top: 3px;
    font-size: .72rem;
}

.has-product-shell [data-airline-switcher] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 7px 10px 7px 14px;
    border: 1px solid #cbd6e2;
    border-radius: 11px;
    background: #f8fafc;
}

.has-product-shell [data-airline-switcher] label {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 0;
}

.has-product-shell [data-airline-switcher] label > span {
    color: #66778a;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.has-product-shell [data-airline-switcher] select {
    width: 100%;
    min-height: 28px;
    padding: 0 28px 0 0;
    border: 0;
    background: transparent;
    color: var(--ink);
    font-size: .98rem;
    font-weight: 750;
}

.product-airline-summary {
    flex: none;
    padding-left: 12px;
    border-left: 1px solid var(--border);
    color: var(--muted);
    font-size: .8rem;
    white-space: nowrap;
}

.product-airline-summary strong {
    color: var(--brand);
}

.product-account-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.product-navigation-row {
    border-top: 1px solid #edf0f3;
}

.has-product-shell [data-product-navigation] {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    width: min(1760px, calc(100% - 40px));
    min-height: 48px;
    margin: 0 auto;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.has-product-shell [data-product-navigation] a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 13px;
    border-radius: 8px;
    color: #536174;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.has-product-shell [data-product-navigation] a:hover {
    background: #f0f4f8;
    color: var(--ink);
}

.has-product-shell [data-product-navigation] a.active {
    background: #eaf2ff;
    color: #0d5fcf;
}

.has-product-shell [data-product-navigation] .nav-step {
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    border: 1px solid #c3ceda;
    border-radius: 6px;
    color: #667589;
    font-size: .7rem;
}

.has-product-shell [data-product-navigation] a.active .nav-step {
    border-color: #8fbaef;
    background: #fff;
    color: #0d5fcf;
}

.workspace-mobile-menu {
    display: none;
}

.product-context-strip {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto minmax(210px, auto);
    align-items: center;
    gap: 28px;
    width: min(1760px, calc(100% - 40px));
    min-height: 76px;
    margin: 18px auto 0;
    padding: 12px 18px;
    border: 1px solid #cfe0f5;
    border-radius: 14px;
    background: #f7fbff;
    box-shadow: 0 3px 12px rgba(35, 77, 120, .04);
}

.product-context-airline {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.has-product-shell .airline-code {
    display: grid;
    min-width: 54px;
    height: 40px;
    place-items: center;
    border: 1px solid #8fb9ea;
    border-radius: 9px;
    background: #e9f3ff;
    color: #0d5fcf;
    font-size: .95rem;
    font-weight: 850;
}

.product-context-airline > span:last-child,
.product-context-next {
    display: grid;
}

.product-context-airline small,
.product-context-next small {
    font-size: .78rem;
}

.has-product-shell .workspace-context-counts {
    display: flex;
    gap: 8px;
}

.has-product-shell .workspace-context-counts > span {
    display: grid;
    min-width: 74px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: var(--muted);
    font-size: .72rem;
    text-align: center;
}

.has-product-shell .workspace-context-counts strong {
    font-size: 1rem;
}

.product-context-next {
    justify-items: end;
}

.product-context-next a {
    font-weight: 800;
    text-decoration: none;
}

.product-page {
    width: min(1760px, calc(100% - 40px));
    min-height: calc(100vh - 230px);
    margin: 0 auto;
    padding: 28px 0 56px;
}

.product-footer {
    padding: 18px;
    border-top: 1px solid var(--border);
    background: #fff;
    color: #738094;
    font-size: .78rem;
    text-align: center;
}

/* Header controls */
.has-product-shell .process-center > summary,
.has-product-shell .account-menu > summary {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: #4b596c;
    cursor: pointer;
    list-style: none;
}

.has-product-shell .process-center > summary strong {
    display: grid;
    min-width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 999px;
    background: #eef2f6;
    color: #58677a;
    font-size: .7rem;
}

.has-product-shell .process-center[data-has-processes] > summary {
    border-color: #8fbaef;
    background: #eff6ff;
    color: #0d5fcf;
}

.has-product-shell .process-center-panel,
.has-product-shell .account-dropdown {
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: 0 18px 48px rgba(25, 42, 63, .16);
    color: var(--ink);
}

.has-product-shell .process-center-empty,
.has-product-shell .process-center-head small {
    color: #5f7084;
}

.has-product-shell .process-center-list a {
    border-color: var(--border);
    background: #fff;
    color: var(--ink);
}

.has-product-shell .process-mini-track,
.has-product-shell .progress-track,
.has-product-shell .api-batch-progress {
    background: #e6ebf0;
}

.has-product-shell .process-mini-track i,
.has-product-shell .progress-track span,
.has-product-shell .api-batch-progress span {
    background: linear-gradient(90deg, #1769e0, #3b8fec);
}

.has-product-shell .language-switcher {
    display: flex;
    padding: 3px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f6f8fa;
}

.has-product-shell .language-switcher button {
    min-width: 34px;
    min-height: 34px;
    padding: 4px 7px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #6b788a;
    font-size: .72rem;
    font-weight: 800;
}

.has-product-shell .language-switcher button.active {
    background: #fff;
    box-shadow: 0 1px 4px rgba(25, 42, 63, .12);
    color: #0d5fcf;
}

.has-product-shell .user-avatar {
    background: #1769e0;
    color: #fff;
}

.has-product-shell .account-copy strong {
    color: var(--ink);
}

.has-product-shell .account-copy small {
    color: var(--muted);
}

.has-product-shell .account-dropdown a,
.has-product-shell .account-dropdown .link-button {
    color: #344154;
}

/* Shared content language */
.has-product-shell .back-link {
    color: #526277;
    font-weight: 700;
    text-decoration: none;
}

.has-product-shell .page-heading {
    align-items: center;
    margin-bottom: 22px;
}

.has-product-shell .page-heading h1 {
    margin: 5px 0 5px;
    color: var(--ink);
    font-size: clamp(2rem, 3.2vw, 3rem);
    letter-spacing: -.035em;
}

.has-product-shell .page-heading p,
.has-product-shell .section-title p {
    color: var(--muted);
    font-size: .96rem;
}

.has-product-shell .eyebrow {
    color: #1769e0;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .12em;
}

.has-product-shell :where(.section-card, .login-card) {
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.has-product-shell .section-title,
.has-product-shell .dataset-action-heading,
.has-product-shell .comparison-source-heading {
    border-color: var(--border);
    background: #fff;
}

.has-product-shell .section-title h2,
.has-product-shell .dataset-action-heading h2,
.has-product-shell .comparison-source-heading h2 {
    color: var(--ink);
    font-size: 1.3rem;
}

.has-product-shell :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 44px;
    border: 1px solid #bfcad5;
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
}

.has-product-shell :where(input, select, textarea)::placeholder {
    color: #8794a4;
}

.has-product-shell :where(input[type="checkbox"], input[type="radio"]) {
    accent-color: #1769e0;
}

.has-product-shell :where(button, .primary-button, .fleet-compare-button) {
    min-height: 42px;
    border-radius: 8px;
}

.has-product-shell :where(.primary-button, button[type="submit"]:not(.link-button):not(.danger-button), .fleet-compare-button:not(.disabled)) {
    border: 1px solid #1769e0;
    background: #1769e0;
    color: #fff;
    box-shadow: none;
}

.has-product-shell a.primary-button,
.has-product-shell a.dashboard-primary-action {
    color: #fff;
}

.has-product-shell :where(.primary-button, button[type="submit"]:not(.link-button):not(.danger-button), .fleet-compare-button:not(.disabled)):hover {
    border-color: #0e56c1;
    background: #0e56c1;
}

.has-product-shell :where(.secondary-button, .workspace-clear-button, .route-show-all) {
    border: 1px solid #bdc8d4;
    background: #fff;
    color: #3f4e61;
}

.has-product-shell :where(.danger-button, .route-inline-button.danger) {
    border-color: #d96875;
    background: #fff3f4;
    color: #a72334;
}

.has-product-shell .messages .message,
.has-product-shell .message {
    border: 1px solid #a9c8eb;
    background: #eff6ff;
    color: #244767;
}

.has-product-shell .message.success {
    border-color: #8bc9b4;
    background: #effaf6;
    color: #176348;
}

.has-product-shell .message.error {
    border-color: #e1a7af;
    background: #fff3f4;
    color: #922636;
}

.has-product-shell .role-access-notice {
    border-color: #e4c478;
    background: #fff9e9;
    color: #674b12;
}

.save-state-indicator {
    display: none;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid #e0be69;
    border-radius: 8px;
    background: #fff8e5;
    color: #74500a;
    font-size: .78rem;
    font-weight: 800;
}

.save-state-indicator::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d28a00;
    content: "";
}

.product-shell[data-unsaved="true"] .save-state-indicator {
    display: inline-flex;
}

/* Existing workflow becomes a quiet secondary navigation. */
.has-product-shell .product-page > .data-workflow {
    display: none;
}

.has-product-shell .workflow-bar {
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: none;
}

.has-product-shell .workflow-bar a,
.has-product-shell .workflow-bar span {
    color: #5a687a;
}

.has-product-shell .workflow-bar .active {
    border-color: #8fbaef;
    background: #eaf2ff;
    color: #0d5fcf;
}

/* Dashboard */
.dashboard-command-center {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .75fr);
    gap: 30px;
    align-items: center;
    margin-bottom: 24px;
    padding: clamp(28px, 4vw, 52px);
    border: 1px solid #cbdcf0;
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0, rgba(92, 158, 235, .13), transparent 24rem),
        #fff;
    box-shadow: 0 12px 36px rgba(27, 55, 88, .08);
}

.dashboard-command-copy h1 {
    margin: 8px 0 10px;
    color: var(--ink);
    font-size: clamp(2.4rem, 4vw, 4.2rem);
    line-height: 1;
    letter-spacing: -.05em;
}

.dashboard-command-copy > p {
    max-width: 760px;
    margin: 0;
    color: #56667a;
    font-size: 1.08rem;
}

.dashboard-command-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.dashboard-command-actions a {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    text-decoration: none;
}

.dashboard-primary-action {
    font-weight: 800;
}

.dashboard-command-status {
    padding: 20px;
    border: 1px solid #d7e0e9;
    border-radius: 14px;
    background: #f8fafc;
}

.dashboard-command-airline {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.dashboard-command-airline > span:last-child {
    display: grid;
}

.dashboard-command-airline strong {
    font-size: 1.05rem;
}

.dashboard-command-airline small {
    font-size: .8rem;
}

.dashboard-command-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.dashboard-command-metrics a {
    display: grid;
    padding: 10px;
    border-radius: 9px;
    background: #fff;
    color: #59687a;
    text-align: center;
    text-decoration: none;
}

.dashboard-command-metrics a:hover {
    background: #eef5ff;
}

.dashboard-command-metrics strong {
    font-size: 1.35rem;
}

.dashboard-command-metrics span {
    font-size: .72rem;
}

.dashboard-first-run {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dashboard-first-run-number {
    display: grid;
    width: 42px;
    height: 42px;
    flex: none;
    place-items: center;
    border-radius: 50%;
    background: #1769e0;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 850;
}

.dashboard-first-run div {
    display: grid;
}

.dashboard-workflow {
    margin: 30px 0;
}

.dashboard-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 16px;
}

.dashboard-section-heading h2 {
    margin: 5px 0 3px;
    font-size: 1.65rem;
}

.dashboard-section-heading p {
    margin: 0;
}

.has-product-shell .welcome-heading {
    margin-bottom: 20px;
}

.has-product-shell .welcome-heading h1 {
    color: var(--ink);
    font-size: clamp(2rem, 3.2vw, 3rem);
}

.has-product-shell .welcome-presence {
    border-color: var(--border);
    background: #fff;
    color: #526176;
}

.has-product-shell .module-grid {
    gap: 14px;
}

.has-product-shell .module-tile {
    min-height: 132px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(26, 43, 65, .06);
    color: #1769e0;
}

.has-product-shell .module-tile:hover {
    border-color: #9fbfe6;
    background: #fbfdff;
    box-shadow: 0 10px 26px rgba(31, 72, 120, .1);
    transform: translateY(-2px);
}

.has-product-shell .module-tile::before {
    display: none;
}

.has-product-shell .module-icon {
    border-color: #cfe0f3;
    background: #eff6ff;
}

.has-product-shell .module-copy strong {
    color: var(--ink);
    font-size: 1.05rem;
}

.has-product-shell .module-copy small {
    color: #1769e0;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.has-product-shell .module-copy span {
    color: var(--muted);
    font-size: .84rem;
}

.has-product-shell .dashboard-airline-card,
.has-product-shell .dashboard-active-card {
    border-color: var(--border);
    background: #fff;
    box-shadow: none;
}

.has-product-shell .dashboard-airline-card:hover,
.has-product-shell .dashboard-airline-card.active {
    border-color: #8fbaef;
    background: #f5f9ff;
}

.has-product-shell .dashboard-airline-copy strong,
.has-product-shell .dashboard-active-card strong {
    color: var(--ink);
}

.has-product-shell .stat-card {
    min-height: 100px;
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: none;
}

.has-product-shell .stat-card span {
    color: var(--muted);
}

.has-product-shell .stat-card strong {
    color: var(--ink);
}

/* Dataset choice and import areas */
.has-product-shell :where(
    .dataset-action-card,
    .comparison-source-card,
    .fleet-import-card,
    .aircraft-source-card,
    .route-schedule-enrichment-card,
    .route-package-card
) {
    background: #fff;
}

.has-product-shell :where(
    .dataset-action-selector,
    .dataset-action-identity,
    .dataset-action-option,
    .comparison-upload-panel,
    .comparison-catalog-panel,
    .api-source-card,
    .route-package-source,
    .route-package-current,
    .historic-route-protection
) {
    border-color: var(--border);
    background: var(--surface-soft);
    color: var(--ink);
}

.has-product-shell .dataset-action-option:hover,
.has-product-shell .dataset-action-option.active {
    border-color: #8fbaef;
    background: #eef5ff;
}

.has-product-shell .dataset-action-option strong,
.has-product-shell .comparison-source-label strong,
.has-product-shell .fleet-preview-heading strong {
    color: var(--ink);
}

.has-product-shell .dataset-action-option small,
.has-product-shell .comparison-source-label small {
    color: var(--muted);
}

.has-product-shell .module-toolbar {
    border-color: var(--border);
    background: #fff;
}

.module-toolbar-context {
    display: flex;
    align-items: center;
    gap: 11px;
}

.module-toolbar-context > span:last-child {
    display: grid;
}

.module-toolbar-context small {
    font-size: .78rem;
}

.has-product-shell .fleet-card-step {
    border-color: #8fbaef;
    background: #eaf2ff;
    color: #0d5fcf;
}

.has-product-shell .fleet-count-badge {
    border-color: var(--border);
    background: #f5f7f9;
    color: #4d5c70;
}

.has-product-shell :where(.route-schedule-enrichment-option, .route-package-source) {
    border-color: var(--border);
    background: #fff;
}

.has-product-shell :where(.route-schedule-enrichment-option.selected, .route-package-source.detected) {
    border-color: #83c5ac;
    background: #f0faf6;
}

.has-product-shell :where(.route-package-detection-warning, .api-throughput-note) {
    border-color: #dfbe6b;
    background: #fff9ea;
    color: #694d16;
}

/* Route review workspace */
.route-review-launch {
    display: grid;
    grid-template-columns: minmax(230px, auto) minmax(420px, 1fr) auto;
    align-items: center;
    gap: 20px;
    margin: 18px 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--shadow);
}

.route-optional-settings,
.route-reference-details {
    margin: 14px 0;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
}

body.has-product-shell .route-optional-settings,
body.has-product-shell .route-reference-details,
body.has-product-shell .route-optional-settings > summary,
body.has-product-shell .route-reference-details > summary {
    border-color: var(--border);
    background: #fff;
}

.route-optional-settings > summary,
.route-reference-details > summary {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 16px;
    color: #3f4e61;
    cursor: pointer;
    list-style: none;
}

.route-optional-settings > summary::-webkit-details-marker,
.route-reference-details > summary::-webkit-details-marker {
    display: none;
}

.route-optional-settings > summary > span:first-child,
.route-reference-details > summary > span:first-child {
    display: grid;
}

.route-optional-settings > summary small,
.route-reference-details > summary small {
    font-size: .8rem;
}

.route-reference-details > summary > span:last-child {
    color: #1769e0;
    font-size: .8rem;
    font-weight: 800;
}

.route-optional-settings-body {
    padding: 0 16px 16px;
    border-top: 1px solid var(--border);
}

.route-optional-settings-body > p {
    margin: 14px 0 0;
}

.route-reference-details .comparison-source-card {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--border);
    border-radius: 0 0 12px 12px;
    box-shadow: none;
}

.route-preview-limit {
    display: block;
    padding: 10px 12px;
    border-top: 1px solid var(--border);
    background: #f7f9fb;
}

.route-review-dataset {
    display: flex;
    align-items: center;
    gap: 11px;
}

.route-review-dataset > span:last-child {
    display: grid;
}

.route-review-dataset small {
    font-size: .78rem;
}

.route-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    padding: 4px;
    border-radius: 10px;
    background: #eef2f6;
}

.route-view-tabs a {
    display: grid;
    padding: 8px 14px;
    border-radius: 8px;
    color: #59687b;
    text-align: center;
    text-decoration: none;
}

.route-view-tabs a.active {
    background: #fff;
    box-shadow: 0 2px 7px rgba(24, 42, 64, .12);
    color: #0d5fcf;
}

.route-view-tabs a.active strong {
    color: #0d5fcf;
}

.route-view-tabs small {
    font-size: .72rem;
}

.route-export-shortcut {
    padding: 9px 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.has-product-shell .route-status-grid {
    display: flex;
    overflow-x: auto;
    gap: 7px;
    padding: 5px 0 12px;
}

.has-product-shell .route-status-card {
    flex: 1 0 145px;
    min-height: 96px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #fff;
    box-shadow: none;
}

.has-product-shell .route-status-card::before {
    height: 3px;
}

.has-product-shell .route-status-card:hover,
.has-product-shell .route-status-card.active {
    border-color: #8fbaef;
    background: #f7fbff;
}

.has-product-shell .route-status-card span,
.has-product-shell .route-status-card small {
    color: #59687b;
}

.has-product-shell .route-status-card strong {
    color: var(--ink);
}

.has-product-shell .route-comparison-card {
    overflow: visible;
    box-shadow: 0 8px 24px rgba(25, 43, 66, .07);
}

.has-product-shell .route-table-workbench {
    position: sticky;
    z-index: 22;
    top: 121px;
    border-color: var(--border);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 7px 18px rgba(23, 42, 64, .07);
    backdrop-filter: blur(14px);
}

.has-product-shell .route-table-filter {
    border-color: var(--border);
    background: #f7f9fb;
}

.has-product-shell .route-bulk-action-form {
    border-color: #b9d3f2;
    background: #f4f8fe;
}

.has-product-shell .route-bulk-selection,
.has-product-shell .route-bulk-filtered {
    color: #4b5b6f;
}

.has-product-shell .route-bulk-action-form button {
    border-color: #a9b8c8;
    background: #fff;
    color: #334256;
}

.has-product-shell .route-bulk-action-form button:not(:disabled):hover {
    border-color: #1769e0;
    color: #0d5fcf;
}

.has-product-shell .route-reconcile-list {
    max-height: min(66vh, 760px);
    border-color: var(--border);
    background: #fff;
}

.has-product-shell .route-reconcile-row {
    min-height: 64px;
    border-color: #e3e8ed;
    background: #fff;
    color: #354357;
    font-size: .88rem;
}

.has-product-shell .route-reconcile-row:not(.route-reconcile-header):hover {
    background: #f5f9fd;
}

.has-product-shell .route-reconcile-header {
    position: sticky;
    z-index: 5;
    top: 0;
    min-height: 44px;
    background: #eef2f6;
    color: #526075;
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.has-product-shell .route-reconcile-row:has([data-route-select]:checked) {
    background: #eaf3ff;
    box-shadow: inset 3px 0 #1769e0;
}

.has-product-shell .route-state-pill {
    border: 1px solid var(--border);
    background: #f3f5f7;
    color: #4f5e70;
}

.has-product-shell .route-state-pill.new {
    border-color: #9fc3ee;
    background: #eaf3ff;
    color: #0d5fcf;
}

.has-product-shell .route-state-pill.changed {
    border-color: #e2c372;
    background: #fff8e6;
    color: #835000;
}

.has-product-shell .route-state-pill.expired,
.has-product-shell .route-state-pill.manual-delete {
    border-color: #e3a4ae;
    background: #fff1f3;
    color: #a32436;
}

.has-product-shell .route-state-pill.current,
.has-product-shell .route-state-pill.retained {
    border-color: #96cbb8;
    background: #edf9f4;
    color: #126347;
}

.has-product-shell :where(.route-choice-switch, .route-inline-button, .route-detail-button, .route-keep-button, .route-expire-button) {
    border-color: #bdc8d4;
    background: #fff;
    color: #3d4c60;
}

.has-product-shell .route-choice-switch:has(input:checked) {
    border-color: #82b3eb;
    background: #eaf3ff;
    color: #0d5fcf;
}

.has-product-shell .route-detail-dialog {
    border: 1px solid var(--border);
    background: #fff;
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(20, 36, 55, .22);
}

.has-product-shell .route-detail-dialog::backdrop {
    background: rgba(35, 45, 58, .35);
}

.has-product-shell .route-detail-grid > * {
    border-color: var(--border);
    background: #fff;
    color: #38475b;
}

.has-product-shell .route-detail-grid > strong {
    background: #eef2f6;
    color: #4f5e71;
}

.has-product-shell .route-detail-grid .changed {
    background: #fff8e6;
    color: #784b00;
}

.has-product-shell .pagination-bar {
    border-color: var(--border);
    background: #f7f9fb;
}

/* Other large lists and tables */
.has-product-shell :where(
    .captured-route-list,
    .route-preview-list,
    .fleet-preview-list,
    .airport-list,
    .aircraft-list,
    .api-batch-list,
    .settings-list,
    .dataset-list
) {
    border-color: var(--border);
    background: #fff;
}

.has-product-shell :where(
    .captured-route-row,
    .route-preview-row,
    .fleet-preview-row,
    .airport-row,
    .aircraft-row,
    .api-batch-row,
    .settings-row,
    .dataset-row
) {
    border-color: #e2e7ec;
    background: #fff;
    color: #344255;
}

.has-product-shell :where(
    .captured-route-row,
    .route-preview-row,
    .fleet-preview-row,
    .airport-row,
    .aircraft-row,
    .api-batch-row
):hover {
    background: #f7fafc;
}

.has-product-shell :where(
    .captured-route-header,
    .airport-header,
    .aircraft-heade
) {
    background: #eef2f6;
    color: #536175;
}

.has-product-shell table {
    background: #fff;
    color: #344255;
}

.has-product-shell :where(th, td) {
    border-color: #e1e6eb;
}

.has-product-shell th {
    background: #eef2f6;
    color: #4e5d70;
}

.has-product-shell tr:hover td {
    background: #f7fafc;
}

/* API and job feedback */
.has-product-shell .api-batch-live-metrics span,
.has-product-shell .api-write-preview-grid span,
.has-product-shell .job-metric {
    border-color: var(--border);
    background: #f7f9fb;
}

.has-product-shell .api-batch-live-metrics strong,
.has-product-shell .api-write-preview-grid strong,
.has-product-shell .job-metric strong {
    color: var(--ink);
}

.has-product-shell .api-preflight-note {
    border-color: #8bc9b4;
    background: #effaf6;
    color: #175e46;
}

.has-product-shell .job-log,
.has-product-shell .job-result-log {
    border-color: var(--border);
    background: #253040;
    color: #e8eef6;
}

.has-product-shell .empty-state {
    border-color: #cfd8e2;
    background: #f7f9fb;
    color: #687689;
}

/* Advanced and destructive areas stay visually subordinate. */
.has-product-shell :where(details.route-package-card, details.danger-zone, details.route-bulk-delete-card) > summary {
    background: #f7f9fb;
    color: #3f4e61;
}

.has-product-shell details.danger-zone,
.has-product-shell details.route-bulk-delete-card {
    border-color: #e5b5bc;
    background: #fffafb;
}

@media (max-width: 1220px) {
    .product-header-main {
        grid-template-columns: auto minmax(280px, 1fr) auto;
        gap: 14px;
    }

    .product-brand small,
    .product-airline-summary,
    .account-copy {
        display: none;
    }

    .has-product-shell [data-product-navigation] {
        overflow-x: auto;
    }

    .has-product-shell [data-product-navigation] a {
        padding-inline: 10px;
    }

    .dashboard-command-center {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .product-header {
        position: relative;
    }

    .product-header-main {
        grid-template-columns: auto 1fr;
        width: min(100% - 24px, 1760px);
        padding: 10px 0;
    }

    .has-product-shell [data-airline-switcher] {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .product-account-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .product-navigation-row {
        padding: 7px 12px;
    }

    .workspace-mobile-menu {
        display: inline-flex;
        min-height: 40px;
        align-items: center;
        gap: 8px;
        padding: 7px 12px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: #fff;
        color: #3f4e61;
        font-weight: 750;
    }

    .has-product-shell [data-product-navigation] {
        display: none;
        width: 100%;
        padding: 8px 0 2px;
    }

    .product-nav-open [data-product-navigation] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .has-product-shell [data-product-navigation] a {
        white-space: normal;
    }

    .product-context-strip {
        grid-template-columns: 1fr auto;
        width: calc(100% - 24px);
    }

    .product-context-next {
        grid-column: 1 / -1;
        align-items: center;
        justify-items: start;
    }

    .product-page {
        width: calc(100% - 24px);
        padding-top: 20px;
    }

    .has-product-shell .route-table-workbench {
        top: 0;
    }

    .route-review-launch {
        grid-template-columns: 1fr;
    }

    .route-export-shortcut {
        justify-self: start;
    }
}

@media (max-width: 620px) {
    .product-account-actions .language-switcher,
    .account-copy,
    .process-center > summary > span:nth-child(2) {
        display: none;
    }

    .product-context-strip {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .has-product-shell .workspace-context-counts {
        justify-content: stretch;
    }

    .has-product-shell .workspace-context-counts > span {
        flex: 1;
    }

    .product-nav-open [data-product-navigation] {
        grid-template-columns: 1fr;
    }

    .has-product-shell .page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .has-product-shell .route-bulk-action-form,
    .has-product-shell .route-table-filter {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   VAAS 0.84 – visual consistency and accessibility pass
   The application used to mix the original dark workspace with the new light
   product shell. These deliberately specific rules make the product surface
   predictable without changing workflow markup or behaviour.
   ========================================================================== */

body.has-product-shell {
    --module-capture: #0f8a83;
    --module-routes: #2563eb;
    --module-airports: #7357d6;
    --module-fleet: #c87910;
    --module-aircraft: #16875d;
    --module-export: #5755c9;
    --module-settings: #566579;
    --surface-subtle: #f7f9fc;
    --surface-muted: #edf2f7;
    --border-strong: #c5d0dc;
    --text-strong: #172033;
    --text-secondary: #536174;
    --success-surface: #eaf8f1;
    --warning-surface: #fff7e8;
    --analysis-surface: #f3efff;
    --danger-surface: #fff0f2;
    color: var(--text-strong);
    font-size: 15px;
}

body.has-product-shell main {
    color: var(--text-strong);
}

body.has-product-shell main :where(p, li, dd, td, th, button, input, select, textarea) {
    font-size: max(14px, 0.875rem);
}

body.has-product-shell main :where(label, legend) {
    color: #3d4c60;
    font-size: 14px;
}

body.has-product-shell main :where(small, .help-text, .field-help, .muted) {
    color: var(--text-secondary);
    font-size: max(12px, 0.75rem);
    line-height: 1.45;
}

body.has-product-shell main :where(.section-title, .compact-title) h2,
body.has-product-shell main :where(.section-title, .compact-title) h3 {
    color: var(--text-strong);
}

body.has-product-shell main :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
) {
    min-height: 44px;
    border: 1px solid var(--border-strong) !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: none;
}

body.has-product-shell main :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
):focus {
    border-color: #3478d4 !important;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15) !important;
}

body.has-product-shell main ::placeholder {
    color: #64748b !important;
    opacity: 1;
}

body.has-product-shell main input[type="checkbox"],
body.has-product-shell main input[type="radio"] {
    width: 17px;
    height: 17px;
    accent-color: #2563eb;
}

body.has-product-shell main input[type="file"] {
    min-height: 46px;
    padding: 5px 6px !important;
    line-height: 34px;
}

body.has-product-shell main input[type="file"]::file-selector-button {
    min-height: 34px;
    margin-right: 10px;
    padding: 0 13px;
    border: 0;
    border-radius: 7px;
    background: #e6eefb;
    color: #194e9b;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

body.has-product-shell main :where(button, .primary-button, .secondary-button) {
    font-size: 14px;
}

body.has-product-shell main :where(button, .primary-button, .secondary-button):disabled,
body.has-product-shell main :where(.primary-button, .secondary-button).disabled {
    border-color: #ccd5df !important;
    background: #e6ebf0 !important;
    color: #627084 !important;
    opacity: 1;
}

body.has-product-shell main :where(.primary-button, button.primary, .fleet-export-next-button) {
    color: #fff !important;
}

/* Shared legacy panels become genuine product surfaces. */
body.has-product-shell main :is(
    .capture-config-card,
    .run-panel,
    .mini-log-card,
    .progress-console,
    .recent-runs,
    .route-package-card,
    .route-comparison-source,
    .route-comparison-card,
    .airport-dataset-actions,
    .fleet-source-card,
    .fleet-assignment-mode-card,
    .fleet-mapping-workspace,
    .fleet-group-workspace,
    .fleet-cost-index-card,
    .fleet-draft-card,
    .fleet-route-section,
    .aircraft-capture-card,
    .aircraft-source-inventory,
    .aircraft-source-card,
    .aircraft-comparison-card,
    .aircraft-catalog-card,
    .aircraft-bulk-fleet-card,
    .central-export-card,
    .exporter-api-cockpit,
    .exporter-feedback-card,
    .settings-api-section,
    .settings-storage-overview,
    .settings-datasets-section,
    .settings-users-section
) {
    border-color: #d9e1e9 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 8px 24px rgba(31, 45, 61, .055) !important;
}

body.has-product-shell main :is(
    .capture-config-card,
    .run-panel,
    .route-package-card,
    .route-comparison-card,
    .airport-dataset-actions,
    .fleet-source-card,
    .fleet-assignment-mode-card,
    .aircraft-capture-card,
    .central-export-card,
    .exporter-api-cockpit,
    .settings-api-section
) > :where(.section-title, .compact-title, summary:first-child) {
    border-color: #dbe3eb !important;
    background: #f8fafc !important;
}

/* Capture – teal process identity, readable configuration and state panels. */
body.has-product-shell main .capture-config-card {
    border-top: 3px solid var(--module-capture) !important;
}

body.has-product-shell main :is(
    .source-card,
    .workflow-selector,
    .scope-option,
    .api-token-replace-toggle,
    .enrichment-only-toggle,
    .advanced-settings,
    .form-actions.compact-actions
) {
    border-color: #ccd7e2 !important;
    background: var(--surface-subtle) !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .source-card.selected,
body.has-product-shell main .source-card:has(input:checked),
body.has-product-shell main .scope-option:has(input:checked) {
    border-color: #45a79f !important;
    background: #eaf8f6 !important;
    box-shadow: inset 3px 0 var(--module-capture);
}

body.has-product-shell main .capture-enrichment {
    border-color: #d5e1e9 !important;
    background: #f4f8fa !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .capture-enrichment-heading strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .capture-enrichment-heading small {
    color: var(--text-secondary) !important;
}

@media (min-width: 1001px) and (max-width: 1500px) {
    body.has-product-shell main .source-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.has-product-shell main .source-card .selection-indicator {
        grid-column: 2;
        width: max-content;
    }
}

body.has-product-shell main :is(.source-card, .workflow-selector, .scope-option) :where(strong, h3) {
    color: var(--text-strong) !important;
    font-size: 15px;
}

body.has-product-shell main :is(.source-card, .workflow-selector, .scope-option) :where(p, small, span) {
    color: var(--text-secondary);
}

body.has-product-shell main .run-panel {
    border-top: 3px solid #2c74c9 !important;
}

body.has-product-shell main .progress-console {
    border-top: 3px solid var(--module-capture) !important;
}

body.has-product-shell main .recent-runs {
    border-top: 3px solid #77879a !important;
}

body.has-product-shell main .mini-log-card .job-log,
body.has-product-shell main .progress-console .job-log,
body.has-product-shell main .job-log.mini-log {
    border-color: #26384c !important;
    background: #17283b !important;
    color: #e9f1f8 !important;
}

body.has-product-shell main .job-log :where(strong, span, time, p) {
    color: inherit !important;
}

/* Routes – blue operational surface and purple comparison decision area. */
body.has-product-shell main .route-package-card {
    border-top: 3px solid var(--module-routes) !important;
}

body.has-product-shell main :is(
    .route-package-source,
    .route-package-detection-warning,
    .comparison-upload-panel,
    .comparison-catalog-panel,
    .route-reference-details,
    .route-table-workbench,
    .route-workflow-card,
    .route-workflow-options,
    .route-schedule-enrichment-option,
    .historic-route-protection
) {
    border-color: #d3dce6 !important;
    background: var(--surface-subtle) !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .route-comparison-source {
    border-top: 3px solid var(--module-airports) !important;
}

body.has-product-shell main .route-compare-action,
body.has-product-shell main .fleet-compare-action {
    border-color: #c7baf0 !important;
    background: var(--analysis-surface) !important;
    color: #352968 !important;
}

body.has-product-shell main .route-compare-action :where(strong, span, p),
body.has-product-shell main .fleet-compare-action :where(strong, span, p) {
    color: inherit !important;
}

body.has-product-shell main .fleet-compare-button:not(.disabled) {
    border-color: #6847c7 !important;
    background: #6847c7 !important;
    color: #fff !important;
}

body.has-product-shell main .route-comparison-card {
    border-top: 3px solid var(--module-routes) !important;
}

body.has-product-shell main .route-table-filter {
    border-color: #d9e1e9 !important;
    background: #f1f5f9 !important;
}

body.has-product-shell main .route-reconcile-list,
body.has-product-shell main .captured-route-list {
    border-color: #d6dee7 !important;
    background: #fff !important;
}

body.has-product-shell main .route-reconcile-row,
body.has-product-shell main .captured-route-row {
    border-color: #dbe3eb !important;
    background: #fff !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .route-reconcile-row:not(.route-reconcile-header):hover,
body.has-product-shell main .captured-route-row:not(.captured-route-header):hover {
    background: #f5f8fc !important;
}

body.has-product-shell main :is(.route-reconcile-header, .captured-route-header) {
    background: #edf2f7 !important;
    color: #435267 !important;
}

body.has-product-shell main .route-reconcile-row :where(strong, span, small, a, button),
body.has-product-shell main .captured-route-row :where(strong, span, small, a, button) {
    color: inherit;
}

body.has-product-shell main .route-detail-note {
    border-color: #d6dee7 !important;
    background: #f4f7fa !important;
    color: #3e4d61 !important;
    font-size: 14px;
}

body.has-product-shell main .route-workflow-card {
    border-left: 4px solid var(--module-routes) !important;
    background: #eef4ff !important;
}

body.has-product-shell main .route-workflow-heading :where(strong, span),
body.has-product-shell main .route-workflow-options :where(strong, small) {
    color: var(--text-strong) !important;
}

body.has-product-shell main .route-workflow-options article {
    border-color: #d4deea !important;
    background: #fff !important;
}

body.has-product-shell main .route-workflow-buttons a {
    border-color: #b7c8df !important;
    background: #fff !important;
    color: #245895 !important;
}

/* Airports – purple analysis, teal success handoff. */
body.has-product-shell main .airport-dataset-actions {
    border-top: 3px solid var(--module-airports) !important;
}

body.has-product-shell main :is(
    .dataset-action-selector,
    .dataset-action-option,
    .comparison-source-layout,
    .comparison-search-toolbar,
    .comparison-search-result,
    .airport-preview-list,
    .airport-list
) {
    border-color: #d6dee7 !important;
    background: var(--surface-subtle) !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .dataset-action-option.active,
body.has-product-shell main .dataset-action-option:hover {
    border-color: #9b85dc !important;
    background: var(--analysis-surface) !important;
}

body.has-product-shell main .fleet-export-handoff {
    border-color: #a7dac6 !important;
    background: var(--success-surface) !important;
    color: #174e3d !important;
}

body.has-product-shell main .fleet-export-handoff :where(strong, span, small, p) {
    color: inherit !important;
}

body.has-product-shell main .fleet-export-next-button {
    border-color: #16875d !important;
    background: #16875d !important;
}

body.has-product-shell main .fleet-card-step {
    min-width: 26px;
    min-height: 26px;
    background: #e5edf6 !important;
    color: #34506f !important;
    font-size: 12px !important;
}

/* Fleet – amber mapping identity and neutral workbench rows. */
body.has-product-shell main .fleet-source-card {
    border-top: 3px solid var(--module-fleet) !important;
}

body.has-product-shell main :is(
    .fleet-import-sources,
    .route-api-source,
    .fleet-dataset-selector,
    .fleet-catalog-preview,
    .fleet-assignment-mode-option,
    .fleet-mapping-overview-body,
    .fleet-mapping-overview-stats > span,
    .fleet-mapping-batch-form,
    .fleet-mapping-batch-list,
    .fleet-group-body,
    .fleet-group-editor,
    .fleet-group-options,
    .fleet-group-card,
    .mapping-list,
    .fleet-route-list
) {
    border-color: #d6dee7 !important;
    background: var(--surface-subtle) !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .fleet-assignment-mode-option.selected,
body.has-product-shell main .fleet-assignment-mode-option:has(input:checked) {
    border-color: #d6a04d !important;
    background: var(--warning-surface) !important;
    box-shadow: inset 3px 0 var(--module-fleet);
}

body.has-product-shell main :is(
    .fleet-mapping-batch-heading,
    .fleet-mapping-batch-footer,
    .fleet-cost-index-summary,
    .fleet-group-summary
) {
    border-color: #d8e0e8 !important;
    background: #f1f5f9 !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .fleet-mapping-batch-row,
body.has-product-shell main .mapping-row,
body.has-product-shell main .fleet-preview-row,
body.has-product-shell main .fleet-route-row {
    border-color: #dbe3eb !important;
    background: #fff !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .fleet-mapping-batch-row:hover,
body.has-product-shell main .mapping-row:hover,
body.has-product-shell main .fleet-route-row:not(.fleet-route-header):hover {
    background: #f6f8fb !important;
}

body.has-product-shell main :is(
    .fleet-mapping-batch-type,
    .fleet-group-editor,
    .fleet-group-card,
    .fleet-group-options,
    .fleet-mapping-overview-stats
) :where(strong, small, span, em) {
    color: inherit !important;
}

body.has-product-shell main .fleet-mapping-batch-type > strong,
body.has-product-shell main .fleet-group-editor-heading h3,
body.has-product-shell main .fleet-group-columns > section > strong,
body.has-product-shell main .fleet-group-options strong,
body.has-product-shell main .fleet-group-card > summary strong,
body.has-product-shell main .fleet-mapping-overview-stats strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .fleet-mapping-batch-type > small,
body.has-product-shell main .fleet-group-columns > section > small,
body.has-product-shell main .fleet-group-options small,
body.has-product-shell main .fleet-group-card > summary small,
body.has-product-shell main .fleet-mapping-overview-stats small {
    color: var(--text-secondary) !important;
    font-size: 12px !important;
}

body.has-product-shell main .fleet-group-options label {
    border-color: #dce3ea !important;
}

body.has-product-shell main .fleet-group-options label:hover {
    background: #edf7f2 !important;
}

body.has-product-shell main .aircraft-variant-chip {
    border-color: #c9d5e1 !important;
    background: #edf2f7 !important;
    color: #33465c !important;
}

body.has-product-shell main .aircraft-variant-chip.primary {
    border-color: #8fb4e2 !important;
    background: #e8f1fc !important;
    color: #184f94 !important;
}

/* Aircraft – teal online capture and purple local source. */
body.has-product-shell main .aircraft-capture-card,
body.has-product-shell main .aircraft-source-inventory {
    border-top: 3px solid var(--module-aircraft) !important;
}

body.has-product-shell main .aircraft-capture-option {
    color: var(--text-strong) !important;
    box-shadow: none !important;
}

body.has-product-shell main .aircraft-capture-option.online {
    border-color: #94d6be !important;
    background: #eaf8f1 !important;
}

body.has-product-shell main .aircraft-capture-option.local {
    border-color: #c7b8ee !important;
    background: var(--analysis-surface) !important;
}

body.has-product-shell main .aircraft-capture-option :where(h3, strong, p, small, label, span) {
    color: inherit !important;
}

body.has-product-shell main :is(.aircraft-source-table, .aircraft-comparison-list) {
    border-color: #d7e0e8 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main :is(.aircraft-source-table-head, .aircraft-comparison-row.head) {
    background: #edf2f7 !important;
    color: #435267 !important;
}

body.has-product-shell main .aircraft-source-table > div,
body.has-product-shell main .aircraft-comparison-row {
    border-color: #dce3ea !important;
    color: var(--text-strong) !important;
}

/* Export – purple delivery identity and independently readable resources. */
body.has-product-shell main .export-summary .summary-chip {
    border-color: #d6dee7 !important;
    background: #f4f7fa !important;
    color: var(--text-strong) !important;
    box-shadow: none !important;
}

body.has-product-shell main .export-summary .summary-chip.ready {
    border-color: #9dd6c1 !important;
    background: var(--success-surface) !important;
}

body.has-product-shell main .export-summary .summary-chip.rejected {
    border-color: #efb3bd !important;
    background: var(--danger-surface) !important;
}

body.has-product-shell main .central-export-card,
body.has-product-shell main .exporter-api-cockpit {
    border-top: 3px solid var(--module-export) !important;
}

body.has-product-shell main :is(
    .central-export-resource,
    .exporter-api-resource,
    .exporter-api-all,
    .exporter-api-history,
    .route-feedback-results,
    .route-feedback-list
) {
    border-color: #d6dee7 !important;
    background: var(--surface-subtle) !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .central-export-resource {
    box-shadow: inset 3px 0 #8b78d7;
}

body.has-product-shell main .central-export-resource.airports {
    box-shadow: inset 3px 0 var(--module-capture);
}

body.has-product-shell main .central-export-resource.fleet {
    box-shadow: inset 3px 0 var(--module-aircraft);
}

body.has-product-shell main .central-export-resource.aircraft {
    box-shadow: inset 3px 0 var(--module-airports);
}

body.has-product-shell main :is(.central-export-resource, .exporter-api-resource) :where(strong, small, span, p) {
    color: inherit !important;
}

body.has-product-shell main .exporter-api-resource-title > span,
body.has-product-shell main .central-export-icon {
    background: #fff !important;
}

body.has-product-shell main .exporter-api-counts > span,
body.has-product-shell main .exporter-api-last,
body.has-product-shell main .exporter-api-warning {
    border-color: #dbe3eb !important;
    background: #fff !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .exporter-api-counts strong,
body.has-product-shell main .exporter-api-resource-title strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .exporter-api-all {
    border-color: #dfbf7e !important;
    background: var(--warning-surface) !important;
    color: #694710 !important;
}

body.has-product-shell main .exporter-api-history a,
body.has-product-shell main .exporter-api-history summary {
    border-color: #dce3ea !important;
    color: #34506f !important;
}

/* Settings – neutral administration identity with explicit status colours. */
body.has-product-shell main .settings-section-nav {
    border-color: #d7e0e8 !important;
    background: #fff !important;
    box-shadow: 0 5px 18px rgba(31, 45, 61, .05);
}

body.has-product-shell main .settings-section-nav a {
    color: #536174 !important;
}

body.has-product-shell main .settings-section-nav a:hover {
    background: #edf2f7 !important;
    color: #20344d !important;
}

body.has-product-shell main .settings-section-nav a.active {
    background: #e8f1fc !important;
    color: #194f93 !important;
}

body.has-product-shell main .settings-api-section {
    border-top: 3px solid var(--module-settings) !important;
}

body.has-product-shell main :is(
    .settings-security-warning,
    .api-connection-card,
    .api-edit-form,
    .api-delete-details,
    .api-add-connection,
    .api-connection-form
) {
    border-color: #d4dde6 !important;
    background: var(--surface-subtle) !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .api-connection-card.status-connected {
    border-left: 4px solid #16875d !important;
    background: #f4fbf7 !important;
}

body.has-product-shell main .api-connection-card.status-error {
    border-left: 4px solid #c74355 !important;
    background: #fff7f8 !important;
}

body.has-product-shell main .api-connection-card :where(h3, p, dt, dd, strong, small),
body.has-product-shell main .api-add-connection :where(strong, small),
body.has-product-shell main .api-edit-form label,
body.has-product-shell main .api-delete-details label,
body.has-product-shell main .api-connection-form label {
    color: inherit !important;
}

body.has-product-shell main .api-connection-meta div {
    border-color: #dce3ea !important;
    background: #fff !important;
}

body.has-product-shell main .api-connection-meta dt {
    color: #657489 !important;
    font-size: 12px !important;
}

body.has-product-shell main .api-connection-meta dd {
    color: var(--text-strong) !important;
    font-size: 14px !important;
}

/* Dashboard module identity: every workflow is recognisable without relying on
   one repeated blue card. */
body.has-product-shell main .module-card {
    border-top: 3px solid #7a8a9d !important;
}

body.has-product-shell main .module-card.capture {
    border-top-color: var(--module-capture) !important;
}

body.has-product-shell main .module-card.routes {
    border-top-color: var(--module-routes) !important;
}

body.has-product-shell main .module-card.airports {
    border-top-color: var(--module-airports) !important;
}

body.has-product-shell main .module-card.fleet {
    border-top-color: var(--module-fleet) !important;
}

body.has-product-shell main .module-card.aircraft {
    border-top-color: var(--module-aircraft) !important;
}

body.has-product-shell main .module-card.export {
    border-top-color: var(--module-export) !important;
}

body.has-product-shell main .module-card.storage {
    border-top-color: var(--module-settings) !important;
}

body.has-product-shell main .module-card.capture .module-icon {
    background: #e6f6f4 !important;
    color: var(--module-capture) !important;
}

body.has-product-shell main .module-card.routes .module-icon {
    background: #e8f1fc !important;
    color: var(--module-routes) !important;
}

body.has-product-shell main .module-card.airports .module-icon {
    background: var(--analysis-surface) !important;
    color: var(--module-airports) !important;
}

body.has-product-shell main .module-card.fleet .module-icon {
    background: var(--warning-surface) !important;
    color: var(--module-fleet) !important;
}

body.has-product-shell main .module-card.aircraft .module-icon {
    background: var(--success-surface) !important;
    color: var(--module-aircraft) !important;
}

body.has-product-shell main .module-card.export .module-icon {
    background: #efeffd !important;
    color: var(--module-export) !important;
}

body.has-product-shell main .module-card.storage .module-icon {
    background: #edf2f7 !important;
    color: var(--module-settings) !important;
}

/* Second visual pass: remaining dashboard, capture and API states. */
body.has-product-shell main .dashboard-lower-grid > .dashboard-section {
    border-color: #d9e1e9 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 8px 24px rgba(31, 45, 61, .055) !important;
}

body.has-product-shell main .dashboard-lower-grid > .dashboard-section > .section-title {
    border-color: #dbe3eb !important;
    background: #f8fafc !important;
}

body.has-product-shell main .dashboard-stats,
body.has-product-shell main .presence-list {
    background: #fff !important;
}

body.has-product-shell main .dashboard-stats .stat-card {
    border-color: #d6dee7 !important;
    background: #f8fafc !important;
    color: #64748b !important;
    box-shadow: none !important;
}

body.has-product-shell main .dashboard-stats .stat-card.current {
    border-color: #9fd8c3 !important;
    background: #f0faf5 !important;
    color: var(--module-aircraft) !important;
}

body.has-product-shell main .dashboard-stats .stat-card.new {
    border-color: #aac8ed !important;
    background: #f1f6fd !important;
    color: var(--module-routes) !important;
}

body.has-product-shell main .dashboard-stats .stat-card.changed {
    border-color: #e1c07c !important;
    background: var(--warning-surface) !important;
    color: var(--module-fleet) !important;
}

body.has-product-shell main .dashboard-stats .stat-card.expired {
    border-color: #efb3bd !important;
    background: var(--danger-surface) !important;
    color: #bd354a !important;
}

body.has-product-shell main .dashboard-stats .stat-card :where(strong, span) {
    color: inherit !important;
}

body.has-product-shell main .presence-item {
    border-color: #dde4eb !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .presence-item strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .presence-item span:not(.presence-dot) {
    color: var(--text-secondary) !important;
    font-size: 13px !important;
}

body.has-product-shell main .module-tile {
    border-top: 3px solid #7a8a9d !important;
}

body.has-product-shell main .module-tile.capture {
    border-top-color: var(--module-capture) !important;
}

body.has-product-shell main .module-tile.routes {
    border-top-color: var(--module-routes) !important;
}

body.has-product-shell main .module-tile.airports {
    border-top-color: var(--module-airports) !important;
}

body.has-product-shell main .module-tile.fleet {
    border-top-color: var(--module-fleet) !important;
}

body.has-product-shell main .module-tile.aircraft {
    border-top-color: var(--module-aircraft) !important;
}

body.has-product-shell main .module-tile.export {
    border-top-color: var(--module-export) !important;
}

body.has-product-shell main .module-tile.storage {
    border-top-color: var(--module-settings) !important;
}

body.has-product-shell main .module-tile.capture .module-icon {
    background: #e6f6f4 !important;
    color: var(--module-capture) !important;
}

body.has-product-shell main .module-tile.routes .module-icon {
    background: #e8f1fc !important;
    color: var(--module-routes) !important;
}

body.has-product-shell main .module-tile.airports .module-icon {
    background: var(--analysis-surface) !important;
    color: var(--module-airports) !important;
}

body.has-product-shell main .module-tile.fleet .module-icon {
    background: var(--warning-surface) !important;
    color: var(--module-fleet) !important;
}

body.has-product-shell main .module-tile.aircraft .module-icon {
    background: var(--success-surface) !important;
    color: var(--module-aircraft) !important;
}

body.has-product-shell main .module-tile.export .module-icon {
    background: #efeffd !important;
    color: var(--module-export) !important;
}

body.has-product-shell main .module-tile.storage .module-icon {
    background: #edf2f7 !important;
    color: var(--module-settings) !important;
}

body.has-product-shell main .capture-config-card > :not(.section-title) strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .route-row-ignored {
    opacity: .72 !important;
}

body.has-product-shell main .route-api-source {
    border-color: #d6dee7 !important;
    background: #f8fafc !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .route-api-source.ready {
    border-color: #9fd8c3 !important;
    background: #f0faf5 !important;
}

body.has-product-shell main .route-api-source.warning {
    border-color: #e1c07c !important;
    background: var(--warning-surface) !important;
}

body.has-product-shell main .route-api-source :where(strong, small) {
    color: inherit !important;
}

body.has-product-shell main .api-import-button {
    border-color: #16875d !important;
    background: #16875d !important;
    color: #fff !important;
}

body.has-product-shell main .api-import-button :where(strong, small, span) {
    color: #fff !important;
}

body.has-product-shell main .api-sync-feedback {
    color: var(--text-strong) !important;
}

body.has-product-shell main .api-sync-feedback.success {
    border-color: #9fd8c3 !important;
    background: var(--success-surface) !important;
}

body.has-product-shell main .api-sync-feedback.error {
    border-color: #efb3bd !important;
    background: var(--danger-surface) !important;
}

body.has-product-shell main .api-sync-feedback :where(strong, small, dt, dd) {
    color: inherit !important;
}

body.has-product-shell main .api-sync-feedback small,
body.has-product-shell main .api-sync-feedback dt,
body.has-product-shell main .api-sync-feedback dd {
    font-size: 12px !important;
}

/* Final second-pass corrections from the real empty-state walkthrough. */
body.has-product-shell .workspace-context-counts > span {
    border-color: #d4dde6 !important;
    background: #fff !important;
    color: #526176 !important;
}

body.has-product-shell .workspace-context-counts strong {
    color: #20344d !important;
}

body.has-product-shell main .workspace-empty-state {
    border: 1px solid #d5dee7 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 8px 24px rgba(31, 45, 61, .055) !important;
}

body.has-product-shell main .workspace-empty-state h2 {
    color: var(--text-strong) !important;
}

body.has-product-shell main .workspace-empty-state p {
    color: var(--text-secondary) !important;
    font-size: 14px !important;
}

body.has-product-shell main .workspace-empty-icon {
    border-color: #5ab8c0 !important;
    background: #e9f7f8 !important;
    color: #137a83 !important;
}

body.has-product-shell main .workspace-empty-icon.export-empty-icon {
    border-color: #a894e0 !important;
    background: var(--analysis-surface) !important;
    color: var(--module-export) !important;
}

body.has-product-shell main .workspace-empty-icon.fleet-empty-icon {
    border-color: #dfba74 !important;
    background: var(--warning-surface) !important;
    color: var(--module-fleet) !important;
}

body.has-product-shell main .workspace-dataset-picker {
    color: var(--text-strong) !important;
}

body.has-product-shell main .workspace-dataset-picker label {
    color: #526176 !important;
}

body.has-product-shell main .dashboard-airline-workspaces {
    border-color: #d9e1e9 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 8px 24px rgba(31, 45, 61, .055) !important;
}

body.has-product-shell main .dashboard-airline-workspaces > .section-title {
    border-color: #dbe3eb !important;
    background: #f8fafc !important;
}

body.has-product-shell main .dashboard-airline-grid {
    background: #f4f7fa !important;
}

body.has-product-shell main .dashboard-airline-card {
    border-color: #d2dce6 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .dashboard-airline-card:hover {
    border-color: #78a9de !important;
    background: #f5f9fe !important;
}

body.has-product-shell main .dashboard-airline-card.active {
    border-color: #4c91d7 !important;
    background: #eef5fd !important;
    box-shadow: inset 3px 0 var(--module-routes) !important;
}

body.has-product-shell main .dashboard-airline-copy strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .dashboard-airline-copy small {
    color: var(--text-secondary) !important;
    font-size: 12px !important;
}

body.has-product-shell main .dashboard-airline-metrics > span {
    border-color: #cbd7e3 !important;
    background: #f8fafc !important;
    color: #5f6e81 !important;
    font-size: 11px !important;
}

body.has-product-shell main .dashboard-airline-metrics strong {
    color: #24405f !important;
    font-size: 14px !important;
}

body.has-product-shell main .api-security-note {
    border-color: #9fd8c3 !important;
    background: var(--success-surface) !important;
    color: #174e3d !important;
}

body.has-product-shell main .api-security-note strong {
    color: #174e3d !important;
    font-size: 14px !important;
}

body.has-product-shell main .api-security-note p {
    color: #3f675b !important;
    font-size: 13px !important;
}

body.has-product-shell main .api-security-note a {
    color: #1558a1 !important;
    font-size: 13px !important;
}

body.has-product-shell main .api-status-pill {
    font-size: 11px !important;
}

body.has-product-shell main .api-status-pill.connected {
    border-color: #64bc98 !important;
    background: #e7f7ef !important;
    color: #126d4b !important;
}

/* Layered workspace background: light, but no longer flat or clinical. */
body.has-workspace-shell.has-product-shell,
body.has-product-shell {
    --bg: #e8edf2;
    background:
        radial-gradient(circle at 8% 8%, rgba(15, 138, 131, .075), transparent 28rem),
        radial-gradient(circle at 92% 34%, rgba(115, 87, 214, .065), transparent 34rem),
        linear-gradient(145deg, #e5ebf1 0%, #edf1f5 48%, #e6ecf2 100%) fixed !important;
}

body.has-product-shell .product-context-strip {
    border-color: #c9d5e0 !important;
    background: rgba(244, 248, 251, .94) !important;
    box-shadow: 0 8px 24px rgba(31, 45, 61, .08) !important;
}

body.has-product-shell main :is(
    .section-card,
    .dashboard-command-center,
    .module-tile,
    .dashboard-airline-card,
    .settings-section-nav
) {
    border-color: #cfd9e3;
    box-shadow: 0 10px 28px rgba(31, 45, 61, .085);
}

body.has-product-shell main .capture-config-card .config-section {
    border-bottom-color: #d6dee7 !important;
    background: #fff;
}

body.has-product-shell main .capture-config-card .config-section:nth-child(even) {
    background: #f6f8fb;
}

body.has-product-shell main .capture-config-card .config-step {
    border-color: #355a7d !important;
    background: #183550 !important;
    color: #fff !important;
}

body.has-product-shell main :is(
    .route-table-filter,
    .fleet-mapping-batch-heading,
    .fleet-mapping-batch-footer,
    .fleet-cost-index-summary,
    .fleet-group-summary,
    .aircraft-source-table-head,
    .aircraft-comparison-row.head
) {
    background: #e9eff5 !important;
}

body.has-product-shell main .page-heading > div > p {
    color: #536174;
}

/* Settings completion pass: datasets, storage and user administration. */
body.has-product-shell main .settings-datasets-section,
body.has-product-shell main .settings-users-section {
    border-top: 3px solid var(--module-settings) !important;
}

body.has-product-shell main .settings-datasets-section .airline-grid {
    background: #f4f7fa !important;
}

body.has-product-shell main .settings-datasets-section .airline-card {
    border-color: #cbd7e2 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 6px 18px rgba(31, 45, 61, .065) !important;
}

body.has-product-shell main .settings-datasets-section .airline-main h3 {
    color: var(--text-strong) !important;
}

body.has-product-shell main .settings-datasets-section .airline-main p {
    color: var(--text-secondary) !important;
}

body.has-product-shell main .settings-datasets-section .dataset-meta div {
    border-color: #d6dee7 !important;
    background: #f2f6fa !important;
}

body.has-product-shell main .settings-datasets-section .dataset-meta dt {
    color: #657489 !important;
    font-size: 12px !important;
}

body.has-product-shell main .settings-datasets-section .dataset-meta dd {
    color: var(--text-strong) !important;
    font-size: 14px !important;
}

body.has-product-shell main .settings-datasets-section .airline-footer {
    border-color: #d9e1e9 !important;
    color: #657489 !important;
}

body.has-product-shell main .settings-datasets-section .dashboard-delete summary {
    color: #b72f44 !important;
}

body.has-product-shell main .settings-datasets-section .dashboard-delete[open] {
    border-color: #e5aab4 !important;
    background: var(--danger-surface) !important;
}

body.has-product-shell main .settings-datasets-section .dashboard-delete label {
    color: #743642 !important;
}

body.has-product-shell main :is(.storage-meter-card, .settings-storage-overview .summary-chip) {
    border-color: #cfd9e3 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 8px 24px rgba(31, 45, 61, .07) !important;
}

body.has-product-shell main .storage-meter-card {
    border-top: 3px solid var(--module-capture) !important;
}

body.has-product-shell main .storage-meter-head strong,
body.has-product-shell main .settings-storage-overview .summary-chip strong {
    color: var(--text-strong) !important;
}

body.has-product-shell main .storage-meter {
    background: #dde5ed !important;
}

body.has-product-shell main .user-create-panel {
    border-color: #cbd7e2 !important;
    background: #f4f7fa !important;
    color: var(--text-strong) !important;
}

body.has-product-shell main .user-create-panel > summary strong {
    color: var(--text-strong) !important;
    font-size: 14px !important;
}

body.has-product-shell main .user-create-panel > summary small {
    color: var(--text-secondary) !important;
    font-size: 12px !important;
}

body.has-product-shell main .user-action-icon {
    border-color: #78a9de !important;
    background: #e8f1fc !important;
    color: #1d67b4 !important;
}

body.has-product-shell main .user-management-form {
    border-color: #d5dee7 !important;
    background: #fff !important;
}

body.has-product-shell main .user-management-form label {
    color: #3d4c60 !important;
    font-size: 14px !important;
}

body.has-product-shell main .managed-user-card {
    border-color: #cbd7e2 !important;
    background: #fff !important;
    color: var(--text-strong) !important;
    box-shadow: 0 6px 18px rgba(31, 45, 61, .065) !important;
}

body.has-product-shell main .managed-user-card.inactive {
    border-color: #dda8b1 !important;
    background: #f4f5f7 !important;
    opacity: .78 !important;
}

body.has-product-shell main .managed-user-summary h3 {
    color: var(--text-strong) !important;
    font-size: 15px !important;
}

body.has-product-shell main .managed-user-summary p {
    color: #536174 !important;
    font-size: 13px !important;
}

body.has-product-shell main .managed-user-meta div {
    border-color: #d6dee7 !important;
    background: #f2f6fa !important;
}

body.has-product-shell main .managed-user-meta dt {
    color: #657489 !important;
    font-size: 12px !important;
}

body.has-product-shell main .managed-user-meta dd {
    color: var(--text-strong) !important;
    font-size: 14px !important;
}

body.has-product-shell main .managed-user-edit,
body.has-product-shell main .managed-user-reset {
    border-color: #cfd9e3 !important;
    background: #f8fafc !important;
}

body.has-product-shell main .managed-user-reset {
    border-color: #e3a7b1 !important;
    background: #fff8f9 !important;
}

body.has-product-shell main .managed-user-edit > summary {
    color: #245d9c !important;
    font-size: 12px !important;
}

body.has-product-shell main .managed-user-reset > summary {
    color: #b72f44 !important;
    font-size: 12px !important;
}

body.has-product-shell main .managed-user-reset form {
    border-color: #e3a7b1 !important;
    background: #fff !important;
}

body.has-product-shell main .managed-user-reset p {
    color: #70414a !important;
    font-size: 13px !important;
}

body.has-product-shell main :is(
    .airline-scope-options .api-checkbox,
    .user-permission-row .api-checkbox,
    .airline-access-fieldset
) {
    border-color: #d5dee7 !important;
    background: #f8fafc !important;
    color: var(--text-strong) !important;
}

/* Desktop application shell – dark navigation anchor with a layered work area.
   This follows the proven "dark shell + light task surface" pattern used by
   mature data and operations products. */
.has-product-shell .product-shell {
    background: transparent !important;
}

body.has-product-shell .sidebar-dataset-context {
    display: none;
}

@media (min-width: 1101px) {
    body.has-product-shell .workspace-shell.product-shell {
        min-width: 0;
        padding-left: 248px;
    }

    body.has-product-shell .product-header {
        min-height: 72px;
        border-bottom-color: #cbd5df;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 4px 18px rgba(20, 36, 55, .09);
    }

    body.has-product-shell .product-header-main {
        grid-template-columns: minmax(360px, 720px) minmax(310px, 1fr);
        width: calc(100% - 40px);
    }

    body.has-product-shell .product-brand {
        position: fixed;
        z-index: 120;
        top: 0;
        left: 0;
        width: 248px;
        height: 72px;
        padding: 0 22px;
        background: #172638;
        color: #fff;
        box-shadow: inset -1px 0 rgba(255, 255, 255, .08);
    }

    body.has-product-shell .product-brand img {
        width: 40px;
        height: 40px;
        filter: drop-shadow(0 4px 9px rgba(0, 0, 0, .24));
    }

    body.has-product-shell .product-brand strong {
        color: #fff;
    }

    body.has-product-shell .product-brand small {
        color: #aebdcd;
    }

    body.has-product-shell .product-navigation-row {
        position: fixed;
        z-index: 110;
        top: 72px;
        bottom: 0;
        left: 0;
        width: 248px;
        padding: 18px 12px 20px;
        border: 0;
        background:
            linear-gradient(180deg, rgba(31, 51, 73, .98), #142233 82%);
        box-shadow:
            inset -1px 0 rgba(255, 255, 255, .07),
            8px 0 26px rgba(19, 31, 45, .12);
    }

    body.has-product-shell [data-product-navigation] {
        width: 100%;
        height: 100%;
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        margin: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    body.has-product-shell [data-product-navigation] a {
        width: 100%;
        min-height: 46px;
        padding: 10px 12px;
        border: 1px solid transparent;
        border-radius: 9px;
        color: #c4cfdb;
        font-size: 14px;
        font-weight: 680;
    }

    body.has-product-shell [data-product-navigation] a:hover {
        border-color: rgba(255, 255, 255, .08);
        background: rgba(255, 255, 255, .075);
        color: #fff;
    }

    body.has-product-shell [data-product-navigation] a.active {
        border-color: rgba(122, 181, 247, .32);
        background: linear-gradient(135deg, #2870cf, #235faf);
        color: #fff;
        box-shadow: 0 7px 18px rgba(2, 16, 33, .22);
    }

    body.has-product-shell [data-product-navigation] .nav-step {
        border-color: #61758c;
        background: rgba(5, 15, 27, .22);
        color: #c8d5e2;
    }

    body.has-product-shell [data-product-navigation] a.active .nav-step {
        border-color: rgba(255, 255, 255, .58);
        background: rgba(255, 255, 255, .16);
        color: #fff;
    }

    body.has-product-shell [data-product-navigation] a:last-child {
        margin-top: auto;
        border-top-color: rgba(255, 255, 255, .1);
    }

    body.has-product-shell [data-airline-switcher] {
        grid-column: 1;
    }

    body.has-product-shell .product-account-actions {
        grid-column: 2;
    }

    body.has-product-shell .product-context-strip,
    body.has-product-shell .product-page {
        width: calc(100% - 40px);
        max-width: 1512px;
    }

    body.has-product-shell .product-footer {
        margin-left: 0;
        background: rgba(255, 255, 255, .78);
    }
}

.product-sidebar {
    display: none;
}

@media (min-width: 1101px) {
    body.has-product-shell .product-sidebar {
        position: fixed;
        z-index: 115;
        top: 0;
        bottom: 0;
        left: 0;
        display: flex;
        width: 248px;
        flex-direction: column;
        background:
            linear-gradient(180deg, #1c3046 0%, #172638 28%, #132131 100%);
        box-shadow:
            inset -1px 0 rgba(255, 255, 255, .07),
            8px 0 26px rgba(19, 31, 45, .14);
    }

    body.has-product-shell .product-header > .product-header-main > .product-brand,
    body.has-product-shell .product-header > .product-navigation-row {
        display: none !important;
    }

    body.has-product-shell .product-sidebar .product-sidebar-brand {
        position: static;
        width: 100%;
        height: 82px;
        flex: 0 0 82px;
        padding: 0 22px;
        background: rgba(6, 17, 29, .2);
        box-shadow: inset 0 -1px rgba(255, 255, 255, .08);
    }

    body.has-product-shell .product-sidebar-navigation {
        display: flex;
        min-height: 0;
        flex: 1;
        flex-direction: column;
        gap: 6px;
        padding: 20px 12px;
        overflow-y: auto;
    }

    body.has-product-shell .product-sidebar-navigation a {
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border: 1px solid transparent;
        border-radius: 9px;
        color: #c4cfdb;
        font-size: 14px;
        font-weight: 680;
        text-decoration: none;
    }

    body.has-product-shell .product-sidebar-navigation a:hover {
        border-color: rgba(255, 255, 255, .08);
        background: rgba(255, 255, 255, .075);
        color: #fff;
    }

    body.has-product-shell .product-sidebar-navigation a.active {
        border-color: rgba(122, 181, 247, .32);
        background: linear-gradient(135deg, #2870cf, #235faf);
        color: #fff;
        box-shadow: 0 7px 18px rgba(2, 16, 33, .22);
    }

    body.has-product-shell .product-sidebar-navigation .nav-step {
        display: grid;
        width: 23px;
        height: 23px;
        place-items: center;
        border: 1px solid #61758c;
        border-radius: 6px;
        background: rgba(5, 15, 27, .22);
        color: #c8d5e2;
        font-size: 11px;
    }

    body.has-product-shell .product-sidebar-navigation a.active .nav-step {
        border-color: rgba(255, 255, 255, .58);
        background: rgba(255, 255, 255, .16);
        color: #fff;
    }

    body.has-product-shell .product-sidebar-navigation a:last-child {
        margin-top: auto;
        border-top-color: rgba(255, 255, 255, .1);
    }
}

/* Login belongs to the same product even before a user is authenticated. */
body.vaas-role-anonymous {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 20%, rgba(15, 138, 131, .12), transparent 30%),
        radial-gradient(circle at 85% 75%, rgba(87, 85, 201, .11), transparent 34%),
        #eef3f7;
    color: #172033;
    color-scheme: light;
}

body.vaas-role-anonymous .page-shell {
    min-height: 100vh;
}

body.vaas-role-anonymous .login-layout {
    min-height: 100vh;
    width: min(1120px, calc(100% - 48px));
    padding: 32px 0;
    gap: clamp(42px, 7vw, 96px);
}

body.vaas-role-anonymous .login-copy h1 {
    color: #172033;
}

body.vaas-role-anonymous .login-copy > p {
    color: #536174;
}

body.vaas-role-anonymous .login-copy .eyebrow {
    color: #0b7771;
}

body.vaas-role-anonymous .feature-list {
    color: #34465b;
}

body.vaas-role-anonymous .feature-list li::before {
    color: #16875d;
}

body.vaas-role-anonymous .login-card {
    border: 1px solid #d2dce6;
    background: rgba(255, 255, 255, .96);
    color: #172033;
    box-shadow: 0 24px 60px rgba(37, 54, 73, .14);
}

body.vaas-role-anonymous .login-logo span {
    color: #617084;
}

body.vaas-role-anonymous .login-form label {
    color: #3d4c60;
    font-size: 14px;
}

body.vaas-role-anonymous .login-form input {
    border-color: #c5d0dc;
    background: #fff;
    color: #172033;
}

body.vaas-role-anonymous .login-form input:focus {
    border-color: #3478d4;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

body.vaas-role-anonymous .login-form .primary-button {
    background: #2563eb;
    color: #fff;
}

@media (max-width: 920px) {
    body.vaas-role-anonymous .login-layout {
        grid-template-columns: 1fr;
        width: min(680px, calc(100% - 32px));
        padding: 40px 0;
    }

    body.vaas-role-anonymous .login-copy {
        text-align: left;
    }

    body.has-product-shell main .fleet-group-editor-heading,
    body.has-product-shell main .fleet-group-columns,
    body.has-product-shell main .fleet-api-write-grid,
    body.has-product-shell main .exporter-api-resource-grid,
    body.has-product-shell main .central-export-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    body.vaas-role-anonymous .login-copy h1 {
        font-size: clamp(40px, 13vw, 58px);
    }

    body.vaas-role-anonymous .login-card {
        padding: 24px;
    }
}

html[data-theme="dark"] body.has-product-shell {
    --bg: #0b1420;
    --panel: #132334;
    --panel-2: #17283b;
    --line: #304459;
    --text: #e8eef5;
    --muted: #a6b5c5;
    --ink: #e8eef5;
    --ink-soft: #b5c2cf;
    --surface: #132334;
    --surface-soft: #17283b;
    --surface-blue: #172b43;
    --border: #304459;
    --border-strong: #40566d;
    --focus: #69a9ff;
    --surface-subtle: #17283b;
    --surface-muted: #1d3044;
    --text-strong: #e8eef5;
    --text-secondary: #a6b5c5;
    --success-surface: #112f29;
    --warning-surface: #342711;
    --analysis-surface: #27223f;
    --danger-surface: #391d27;
    color-scheme: dark;
    background: #0b1420;
    color: #e8eef5;
}

html[data-theme="dark"] body.has-workspace-shell.has-product-shell,
html[data-theme="dark"] body.has-product-shell .product-shell {
    background:
        radial-gradient(circle at 26% 8%, rgba(38, 99, 166, .13), transparent 31%),
        #0b1420 !important;
}

html[data-theme="dark"] body.has-product-shell .product-header {
    border-color: #2c4054;
    background: rgba(15, 28, 42, .97);
    box-shadow: 0 4px 18px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] body.has-product-shell :is(
    .workspace-airline-switcher,
    .process-center > summary,
    .language-switcher,
    .account-menu > summary
) {
    border-color: #33485d;
    background: #132334;
    color: #dfe8f1;
}

html[data-theme="dark"] body.has-product-shell :is(
    .workspace-airline-switcher,
    .process-center > summary,
    .language-switcher,
    .account-menu > summary
) :where(strong, span, small) {
    color: inherit;
}

html[data-theme="dark"] body.has-product-shell .language-switcher button {
    color: #a6b5c5;
}

html[data-theme="dark"] body.has-product-shell .language-switcher button.active {
    background: #24466b;
    color: #fff;
}

html[data-theme="dark"] body.has-product-shell :is(
    .process-center-panel,
    .account-dropdown
) {
    border-color: #33485d;
    background: #132334;
    color: #e8eef5;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .36);
}

html[data-theme="dark"] body.has-product-shell .process-center > summary strong {
    border-color: #405a73;
    background: #29445f;
    color: #f5f9fd;
}

html[data-theme="dark"] body.has-product-shell .account-dropdown :is(a, .link-button) {
    color: #c9d8e7;
}

html[data-theme="dark"] body.has-product-shell .account-dropdown :is(a, .link-button):hover {
    color: #fff;
}

html[data-theme="dark"] body.has-product-shell main :is(.eyebrow, .primary-link) {
    color: #78b4ff !important;
}

html[data-theme="dark"] body.has-product-shell .product-context-strip {
    border-color: #2d4358 !important;
    background: #122234 !important;
    box-shadow: 0 9px 24px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] body.has-product-shell .product-page {
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell main :where(
    h1, h2, h3, h4, h5, h6, strong, legend, label, dt
) {
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    p, small, .muted, .help-text, .field-help, dd
) {
    color: #a6b5c5 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    .section-card,
    .module-tile,
    .module-card,
    .dashboard-hero,
    .dashboard-airline-card,
    .airline-workspace-card,
    .airline-card,
    .stat-card,
    .workspace-empty-state,
    .settings-tabs,
    .comparison-tabs,
    .route-summary-card,
    .route-status-card,
    .fleet-summary-card,
    .export-summary-card
) {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] body.has-product-shell main .dashboard-command-center,
html[data-theme="dark"] body.has-product-shell main .dashboard-lower-grid > .dashboard-section,
html[data-theme="dark"] body.has-product-shell main .dashboard-stats,
html[data-theme="dark"] body.has-product-shell main .dashboard-airline-grid {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] body.has-product-shell main .section-card > .section-title,
html[data-theme="dark"] body.has-product-shell main .section-card > .compact-title,
html[data-theme="dark"] body.has-product-shell main .dashboard-lower-grid > .dashboard-section > .section-title,
html[data-theme="dark"] body.has-product-shell main .dashboard-airline-workspaces > .section-title {
    border-color: #304459 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card,
html[data-theme="dark"] body.has-product-shell main .dashboard-airline-card {
    border-color: #3a5066 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .dashboard-command-status,
html[data-theme="dark"] body.has-product-shell .workspace-context-counts > span {
    border-color: #3a5066 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell .workspace-context-counts > span :where(strong, span, small) {
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    .section-title,
    .compact-title,
    .config-section,
    .route-panel-heading,
    .settings-section-heading,
    .workspace-empty-copy,
    .comparison-toolbar,
    .comparison-search-toolbar,
    .route-bulk-action-form,
    .route-table-filter,
    .route-reference-details,
    .fleet-editor-panel,
    .fleet-summary-grid > *,
    .export-summary-grid > *,
    .storage-metric,
    .dataset-metric,
    .user-metric
) {
    border-color: #304459 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .capture-config-card .config-section,
html[data-theme="dark"] body.has-product-shell main .capture-config-card .config-section:nth-child(even) {
    border-color: #304459 !important;
    background: #132334 !important;
}

html[data-theme="dark"] body.has-product-shell main .source-card:has(input:checked),
html[data-theme="dark"] body.has-product-shell main .source-card.selected,
html[data-theme="dark"] body.has-product-shell main .workflow-card:has(input:checked),
html[data-theme="dark"] body.has-product-shell main .workflow-card.selected,
html[data-theme="dark"] body.has-product-shell main .scope-option:has(input:checked) {
    border-color: #42b8ad !important;
    background: #123a38 !important;
    color: #e8f7f5 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-review-launch,
html[data-theme="dark"] body.has-product-shell main .route-view-tabs a,
html[data-theme="dark"] body.has-product-shell main details > summary,
html[data-theme="dark"] body.has-product-shell main .comparison-source-heading,
html[data-theme="dark"] body.has-product-shell main .route-preview-list,
html[data-theme="dark"] body.has-product-shell main .route-reconcile-list,
html[data-theme="dark"] body.has-product-shell main .route-reconcile-row,
html[data-theme="dark"] body.has-product-shell main .route-workflow-options > article {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-view-tabs a.active {
    border-color: #477fc0 !important;
    background: #1a3552 !important;
    color: #8fc1ff !important;
}

html[data-theme="dark"] body.has-product-shell main .presence-list,
html[data-theme="dark"] body.has-product-shell main .dataset-action-heading,
html[data-theme="dark"] body.has-product-shell main .fleet-mapping-batch-row,
html[data-theme="dark"] body.has-product-shell main .module-toolbar,
html[data-theme="dark"] body.has-product-shell main .settings-section-nav,
html[data-theme="dark"] body.has-product-shell main .api-connection-meta > div,
html[data-theme="dark"] body.has-product-shell main .airline-grid,
html[data-theme="dark"] body.has-product-shell main .airline-card,
html[data-theme="dark"] body.has-product-shell main .user-create-panel,
html[data-theme="dark"] body.has-product-shell main .user-management-form,
html[data-theme="dark"] body.has-product-shell main .airline-access-fieldset,
html[data-theme="dark"] body.has-product-shell main .managed-user-card,
html[data-theme="dark"] body.has-product-shell main .managed-user-reset > form {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-mapping-batch-row:nth-child(even),
html[data-theme="dark"] body.has-product-shell main .airline-grid,
html[data-theme="dark"] body.has-product-shell main .airline-access-fieldset {
    background: #17283b !important;
}

html[data-theme="dark"] body.has-product-shell main .settings-section-nav a {
    color: #aebdcb !important;
}

html[data-theme="dark"] body.has-product-shell main .settings-section-nav a.active {
    background: #1c3b5e !important;
    color: #9bc8ff !important;
}

html[data-theme="dark"] body.has-product-shell main .exporter-api-warning {
    border-color: #8e6c2d !important;
    background: #342711 !important;
    color: #f0c56f !important;
}

html[data-theme="dark"] body.has-product-shell main .mapping-row,
html[data-theme="dark"] body.has-product-shell main .export-setting-row,
html[data-theme="dark"] body.has-product-shell main .fleet-cost-index-row {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-api-source.ready {
    border-color: #35755f !important;
    background: #112f29 !important;
    color: #dff6ec !important;
}

html[data-theme="dark"] body.has-product-shell main .route-api-source.ready :where(strong, small, span) {
    color: #dff6ec !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-cost-index-summary,
html[data-theme="dark"] body.has-product-shell main .fleet-mapping-batch-footer,
html[data-theme="dark"] body.has-product-shell main .fleet-group-summary,
html[data-theme="dark"] body.has-product-shell main .fleet-mapping-workspace-summary {
    border-color: #304459 !important;
    background: #1b2e42 !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-view-tabs,
html[data-theme="dark"] body.has-product-shell main .route-table-filter,
html[data-theme="dark"] body.has-product-shell main .route-workflow-card,
html[data-theme="dark"] body.has-product-shell main .empty-state {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .aircraft-capture-option.online,
html[data-theme="dark"] body.has-product-shell main .api-connection-card.status-connected {
    border-color: #35755f !important;
    background: #112f29 !important;
    color: #dff6ec !important;
}

html[data-theme="dark"] body.has-product-shell main .aircraft-capture-option.online :where(strong, small, span),
html[data-theme="dark"] body.has-product-shell main .api-connection-card.status-connected :where(strong, small, span) {
    color: #dff6ec !important;
}

html[data-theme="dark"] body.has-product-shell main .managed-user-meta > div {
    border-color: #3a5066 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .dashboard-airline-metrics > span,
html[data-theme="dark"] body.has-product-shell main .dashboard-command-metrics > a {
    border-color: #3a5066 !important;
    background: #1b2e42 !important;
    color: #dce7f1 !important;
}

html[data-theme="dark"] body.has-product-shell main .dashboard-airline-metrics > span :where(strong, small),
html[data-theme="dark"] body.has-product-shell main .dashboard-command-metrics > a :where(strong, small) {
    color: #dce7f1 !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .secondary-button,
    .workspace-clear-button,
    .route-show-all,
    .route-inline-button,
    .route-detail-button
),
html[data-theme="dark"] body.has-product-shell main .route-workflow-buttons a,
html[data-theme="dark"] body.has-product-shell main .route-bulk-selection button,
html[data-theme="dark"] body.has-product-shell main .route-bulk-filtered button {
    border-color: #496077 !important;
    background: #1a2d41 !important;
    color: #b9d8ff !important;
    box-shadow: none !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .secondary-button,
    .workspace-clear-button,
    .route-show-all,
    .route-inline-button,
    .route-detail-button
):hover,
html[data-theme="dark"] body.has-product-shell main .route-workflow-buttons a:hover,
html[data-theme="dark"] body.has-product-shell main .route-bulk-selection button:hover,
html[data-theme="dark"] body.has-product-shell main .route-bulk-filtered button:hover {
    border-color: #6d8dab !important;
    background: #213b55 !important;
    color: #fff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-bulk-selection button:disabled,
html[data-theme="dark"] body.has-product-shell main .route-bulk-filtered button:disabled {
    border-color: #33475b !important;
    background: #152536 !important;
    color: #8295a8 !important;
}

html[data-theme="dark"] body.has-product-shell main .danger-button {
    border-color: #7e3e4a !important;
    background: #391d27 !important;
    color: #ffadb7 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-count-badge {
    border-color: #465b70 !important;
    background: #1b2e42 !important;
    color: #c6d3df !important;
}

html[data-theme="dark"] body.has-product-shell main .route-preview-row,
html[data-theme="dark"] body.has-product-shell main .route-preview-limit {
    border-color: #2f4357 !important;
    background: #17283b !important;
    color: #c4d2df !important;
}

html[data-theme="dark"] body.has-product-shell main .aircraft-variant-chip {
    border-color: #40566d !important;
    background: #1d3044 !important;
    color: #c7d5e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .aircraft-variant-chip.primary {
    border-color: #3b6fa8 !important;
    background: #172f4b !important;
    color: #9bc8ff !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-preview-row,
html[data-theme="dark"] body.has-product-shell main .fleet-mapping-batch-heading,
html[data-theme="dark"] body.has-product-shell main .fleet-mapping-batch-footer,
html[data-theme="dark"] body.has-product-shell main .fleet-cost-index-summary,
html[data-theme="dark"] body.has-product-shell main .fleet-group-summary {
    border-color: #304459 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .aircraft-source-table-head,
html[data-theme="dark"] body.has-product-shell main .aircraft-comparison-row.head {
    border-color: #3a4f64 !important;
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .export-summary .summary-chip,
html[data-theme="dark"] body.has-product-shell main .exporter-api-counts > span,
html[data-theme="dark"] body.has-product-shell main .exporter-api-last,
html[data-theme="dark"] body.has-product-shell main .exporter-api-resource-title > span,
html[data-theme="dark"] body.has-product-shell main .central-export-icon {
    border-color: #3a5066 !important;
    background: #1b2e42 !important;
    color: #dce7f1 !important;
    box-shadow: none !important;
}

html[data-theme="dark"] body.has-product-shell main .export-summary .summary-chip.ready {
    border-color: #35755f !important;
    background: #112f29 !important;
    color: #dff6ec !important;
}

html[data-theme="dark"] body.has-product-shell main .export-summary .summary-chip.rejected,
html[data-theme="dark"] body.has-product-shell main .exporter-api-counts > span.danger {
    border-color: #7e3e4a !important;
    background: #391d27 !important;
    color: #ffadb7 !important;
}

html[data-theme="dark"] body.has-product-shell main .settings-datasets-section .dataset-meta > div {
    border-color: #3a5066 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .managed-user-edit,
html[data-theme="dark"] body.has-product-shell main .airline-scope-options .api-checkbox,
html[data-theme="dark"] body.has-product-shell main .user-permission-row .api-checkbox {
    border-color: #3a5066 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .managed-user-reset {
    border-color: #7e3e4a !important;
    background: #391d27 !important;
    color: #ffadb7 !important;
}

html[data-theme="dark"] body.has-product-shell main .managed-user-edit > summary {
    color: #9bc8ff !important;
}

html[data-theme="dark"] body.has-product-shell main .managed-user-reset > summary,
html[data-theme="dark"] body.has-product-shell main .managed-user-reset p {
    color: #ffadb7 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
) {
    border-color: #40566d !important;
    background: #0f1c2a !important;
    color: #eef4fa !important;
}

html[data-theme="dark"] body.has-product-shell main ::placeholder {
    color: #9babbc !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    .source-card,
    .workflow-card,
    .scope-option,
    .api-token-replace-toggle,
    .enrichment-only-toggle,
    .advanced-settings,
    .form-actions.compact-actions,
    .aircraft-capture-option,
    .central-export-resource,
    .exporter-api-resource,
    .comparison-source-card,
    .route-package-source
) {
    border-color: #3a5066 !important;
    background: #17283b !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    .source-card.selected,
    .source-card:has(input:checked),
    .workflow-card.selected,
    .workflow-card:has(input:checked),
    .scope-option:has(input:checked)
) {
    border-color: #42b8ad !important;
    background: #123a38 !important;
}

html[data-theme="dark"] body.has-product-shell main .capture-enrichment {
    border-color: #304459 !important;
    background: #15283a !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .capture-enrichment-heading strong {
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .capture-enrichment-heading small {
    color: #9db0c4 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    table,
    .data-table,
    .result-table,
    .captured-route-list,
    .route-comparison-list,
    .aircraft-source-table,
    .aircraft-comparison-list
) {
    border-color: #304459 !important;
    background: #112132 !important;
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    th,
    .captured-route-header,
    .route-reconcile-header,
    .aircraft-source-table-head,
    .aircraft-comparison-row.head
) {
    border-color: #3a4f64 !important;
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    td,
    .captured-route-row,
    .route-comparison-row,
    .aircraft-source-table > div,
    .aircraft-comparison-row
) {
    border-color: #2c4054 !important;
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    dialog,
    .route-detail-dialog,
    .route-fleet-dialog,
    .active-job-dialog
) {
    border-color: #40566d !important;
    background: #132334 !important;
    color: #e8eef5 !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .52) !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    .message,
    .api-preview-message,
    .role-access-notice,
    .rebuild-notice
) {
    color: #dbe6f0;
}

html[data-theme="dark"] body.has-product-shell main :where(
    button,
    .primary-button,
    .secondary-button,
    .danger-button
) :where(strong, span) {
    color: inherit !important;
}

html[data-theme="dark"] body.has-product-shell .product-footer {
    color: #8497aa;
}

/* Help, release notes and guided onboarding */
.help-menu {
    position: relative;
}

.has-product-shell .help-menu > summary {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: #4b596c;
    cursor: pointer;
    font-weight: 750;
    list-style: none;
}

.help-menu > summary::-webkit-details-marker {
    display: none;
}

.help-menu-icon {
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 999px;
    background: #eaf2ff;
    color: #0d5fcf;
    font-weight: 900;
}

.help-update-badge {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    padding: 2px 7px;
    border-radius: 999px;
    background: #1769e0;
    color: #fff !important;
    font-size: .65rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.help-menu-panel {
    position: absolute;
    z-index: 130;
    top: calc(100% + 10px);
    right: 0;
    display: grid;
    width: min(370px, calc(100vw - 28px));
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 58px rgba(20, 36, 55, .2);
}

.help-menu-head {
    display: grid;
    padding: 10px 11px 13px;
    border-bottom: 1px solid var(--border);
}

.help-menu-head small {
    margin-top: 2px;
    color: var(--muted);
}

.help-menu-panel > a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 9px;
    border-radius: 9px;
    color: var(--ink);
    text-decoration: none;
}

.help-menu-panel > a:hover {
    background: #f2f6fb;
}

.help-menu-panel > a > span:first-child {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #bed2ea;
    border-radius: 8px;
    background: #edf5ff;
    color: #0d5fcf;
    font-weight: 900;
}

.help-menu-panel > a > span:nth-child(2) {
    display: grid;
}

.help-menu-panel > a small {
    color: var(--muted);
    font-size: .74rem;
}

.help-menu-panel > a i {
    padding: 2px 6px;
    border-radius: 999px;
    background: #1769e0;
    color: #fff;
    font-size: .61rem;
    font-style: normal;
    font-weight: 850;
    text-transform: uppercase;
}

.nav-new-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #1769e0;
}

.onboarding-prompt {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
    padding: 18px 20px;
    border: 1px solid #bcd7f5;
    border-radius: 16px;
    background: linear-gradient(120deg, #f7fbff, #edf6ff);
    box-shadow: 0 8px 28px rgba(32, 86, 145, .07);
}

.onboarding-prompt-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    background: #1769e0;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
}

.onboarding-prompt h2,
.onboarding-prompt p {
    margin: 2px 0;
}

.onboarding-prompt-actions,
.onboarding-prompt-actions form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.onboarding-prompt-actions .link-button {
    min-height: 40px;
    color: #536174;
}

.help-page-header {
    align-items: flex-end;
}

.help-search-card {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.15fr);
    align-items: center;
    gap: 28px;
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid #bcd7f5;
    border-radius: 17px;
    background: linear-gradient(120deg, #f8fbff, #edf5ff);
}

.help-search-card > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.help-search-card h2,
.help-search-card p {
    margin: 0;
}

.help-search-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 14px;
    background: #1769e0;
    color: #fff;
    font-size: 1.45rem;
}

.help-search-card form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 9px;
}

.help-search-card input {
    min-height: 46px;
}

.help-result-summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 4px 0 18px;
    color: var(--muted);
}

.help-result-summary strong {
    color: #1769e0;
    font-size: 1.35rem;
}

.help-category-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.help-category-nav a {
    position: relative;
    display: grid;
    min-height: 142px;
    align-content: start;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20, 36, 55, .05);
    color: var(--ink);
    text-decoration: none;
}

.help-category-nav a:hover {
    border-color: #8eb9ec;
    transform: translateY(-1px);
}

.help-category-nav small {
    margin-top: 5px;
    color: var(--muted);
}

.help-category-nav i {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    min-width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 999px;
    background: #edf4fc;
    color: #42617f;
    font-size: .72rem;
    font-style: normal;
    font-weight: 850;
}

.help-category-number {
    margin-bottom: 12px;
    color: #1769e0;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.help-sections {
    display: grid;
    gap: 20px;
}

.help-section {
    scroll-margin-top: 170px;
    border: 1px solid var(--border);
    background: #fff;
    color: #10243a;
}

.help-section > .section-title > a {
    font-size: 1.2rem;
    text-decoration: none;
}

.help-article-list {
    display: grid;
    padding: 10px 20px 22px;
}

.help-article {
    scroll-margin-top: 170px;
    border-bottom: 1px solid var(--border);
}

.help-article:last-child {
    border-bottom: 0;
}

.help-article > summary {
    display: flex;
    min-height: 74px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 4px;
    background: #fff;
    color: #10243a;
    cursor: pointer;
    list-style: none;
}

.help-article > summary::-webkit-details-marker {
    display: none;
}

.help-article > summary span {
    display: grid;
}

.help-article > summary small {
    margin-top: 3px;
    color: var(--muted);
}

.help-article > summary i {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 999px;
    background: #edf4fc;
    color: #1769e0;
    font-size: 1.05rem;
    font-style: normal;
    font-weight: 850;
}

.help-article[open] > summary i {
    transform: rotate(45deg);
}

.help-article-body {
    max-width: 980px;
    padding: 0 48px 18px 4px;
}

.help-article-body p {
    margin: 0 0 9px;
}

.help-article-actions {
    display: flex;
    gap: 18px;
    margin-top: 13px;
}

.help-article-actions a {
    font-weight: 750;
    text-decoration: none;
}

.help-no-results,
.support-safety-note {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
    padding: 18px 20px;
    border: 1px solid #bcd7f5;
    border-radius: 14px;
    background: #f5faff;
}

.help-no-results > span,
.support-safety-note > span {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 999px;
    background: #1769e0;
    color: #fff;
    font-weight: 900;
}

.help-no-results div {
    flex: 1;
}

.help-no-results h2,
.help-no-results p,
.support-safety-note p {
    margin: 0;
}

.changelog-read-form {
    display: flex;
    justify-content: flex-end;
    margin: -12px 0 14px;
}

.changelog-read-form button {
    border: 0;
    background: transparent;
    color: #1769e0;
    cursor: pointer;
    font-weight: 750;
}

.changelog-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
}

.changelog-index {
    position: sticky;
    top: 164px;
    display: grid;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.changelog-index nav {
    display: grid;
    max-height: 54vh;
    margin-top: 10px;
    overflow-y: auto;
}

.changelog-index a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 3px;
    border-bottom: 1px solid #edf1f5;
    text-decoration: none;
}

.changelog-index a small {
    font-size: .65rem;
    text-align: right;
}

.changelog-index p {
    margin: 12px 0 0;
    font-size: .75rem;
}

.changelog-list {
    display: grid;
    gap: 16px;
}

.changelog-entry {
    scroll-margin-top: 160px;
    padding: 22px 24px;
    border: 1px solid var(--border);
    background: #fff;
    color: #10243a;
}

.changelog-entry.latest {
    border-color: #8eb9ec;
    box-shadow: 0 8px 28px rgba(28, 91, 164, .08);
}

.changelog-entry > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.changelog-entry h2 {
    margin: 6px 0 0;
    color: #10243a;
}

.changelog-version {
    margin-right: 7px;
    color: #1769e0;
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.changelog-entry time {
    color: var(--muted);
    font-size: .78rem;
    white-space: nowrap;
}

.changelog-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px;
    padding-top: 16px;
}

.changelog-sections h3 {
    margin: 0 0 7px;
    color: #243e58;
    font-size: .78rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.changelog-sections ul {
    margin: 0;
    padding-left: 20px;
}

.changelog-sections li {
    margin: 0 0 7px;
    color: var(--ink-soft);
}

.version-current-pill,
.onboarding-progress-pill {
    padding: 7px 11px;
    border: 1px solid #9cc0ea;
    border-radius: 999px;
    background: #edf5ff;
    color: #0d5fcf;
    font-size: .78rem;
    font-weight: 850;
}

.onboarding-overview {
    display: grid;
    gap: 9px;
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.onboarding-overview p {
    margin: 0;
}

.onboarding-progress-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5ebf1;
}

.onboarding-progress-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1769e0, #31a783);
}

.onboarding-step-list {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.onboarding-step-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 17px;
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.onboarding-step-list li.complete {
    border-color: #aadac8;
    background: #f5fbf8;
}

.onboarding-step-number {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #9cc0ea;
    border-radius: 12px;
    background: #edf5ff;
    color: #0d5fcf;
    font-weight: 900;
}

.onboarding-step-list li.complete .onboarding-step-number {
    border-color: #79c4aa;
    background: #e8f7f1;
    color: #087453;
}

.onboarding-step-list h2,
.onboarding-step-list p {
    margin: 1px 0;
}

.onboarding-step-list small {
    color: #617287;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.onboarding-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.onboarding-footer-actions p {
    margin: 3px 0 0;
}

.onboarding-footer-actions > div:last-child,
.onboarding-footer-actions form {
    display: flex;
    gap: 9px;
}

.support-safety-note {
    border-color: #a7d8c6;
    background: #f2fbf7;
}

.support-safety-note > span {
    background: #14845f;
}

.support-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 18px;
    margin-top: 18px;
}

.support-data-card,
.support-copy-card {
    border: 1px solid var(--border);
    background: #fff;
    color: #10243a;
}

.support-data-card dl {
    display: grid;
    margin: 0;
    padding: 12px 20px 22px;
}

.support-data-card dl > div {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 14px;
    padding: 9px 0;
    border-bottom: 1px solid var(--border);
}

.support-data-card dl > div:last-child {
    border-bottom: 0;
}

.support-data-card dt {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 800;
}

.support-data-card dd {
    margin: 0;
    color: #10243a;
    overflow-wrap: anywhere;
}

.support-copy-card {
    padding-bottom: 20px;
}

.support-copy-card textarea {
    width: calc(100% - 40px);
    min-height: 230px;
    margin: 0 20px;
    border-color: #cbd6e2;
    background: #f8fafc;
    color: #10243a;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .78rem;
}

.support-copy-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px 0;
}

.support-copy-actions span {
    color: #14845f;
    font-weight: 750;
}

.support-next-steps {
    margin-top: 18px;
    padding: 20px 24px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.support-next-steps h2 {
    margin-top: 0;
}

.context-help {
    color: #52657a !important;
    font-size: .72rem !important;
    line-height: 1.45;
}

.route-bulk-selection .context-help,
.route-bulk-filtered .context-help {
    flex-basis: 100%;
}

.cache-context-help {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-left: 3px solid #1769e0;
    background: #f3f7fc;
}

.whats-new-dialog {
    width: min(650px, calc(100vw - 30px));
    max-height: calc(100vh - 40px);
    padding: 28px;
    overflow-y: auto;
    border: 1px solid #aac9ed;
    border-radius: 20px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 32px 90px rgba(10, 31, 57, .34);
}

.whats-new-dialog::backdrop {
    background: rgba(10, 23, 39, .58);
    backdrop-filter: blur(3px);
}

.whats-new-dialog h2 {
    margin: 5px 0;
    font-size: 1.8rem;
}

.whats-new-visual {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    float: right;
    border-radius: 14px;
    background: #1769e0;
    color: #fff;
    font-size: 1.35rem;
}

.whats-new-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0;
}

.whats-new-highlights section {
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #f7f9fc;
}

.whats-new-highlights ul {
    margin: 7px 0 0;
    padding-left: 18px;
}

.whats-new-highlights li {
    margin-bottom: 5px;
    color: var(--ink-soft);
    font-size: .82rem;
}

.whats-new-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

html[data-theme="dark"] body.has-product-shell .help-menu > summary {
    border-color: #3d5369;
    background: #142638;
    color: #dbe6f0;
}

html[data-theme="dark"] body.has-product-shell :is(.help-menu-panel, .changelog-index) {
    border-color: #3d5369;
    background: #132334;
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell .help-menu-panel > a {
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell .help-menu-panel > a:hover {
    background: #1b3045;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .onboarding-prompt,
    .help-search-card,
    .help-category-nav a,
    .help-no-results,
    .onboarding-overview,
    .onboarding-step-list li,
    .onboarding-footer-actions,
    .support-safety-note,
    .support-next-steps
) {
    border-color: #3a5066;
    background: #15283a;
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell main .onboarding-step-list li.complete {
    border-color: #347c68;
    background: #12332f;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .help-category-nav a,
    .help-article > summary,
    .changelog-index a,
    .changelog-sections li,
    .onboarding-step-list p
) {
    color: #dfe8f1;
}

html[data-theme="dark"] body.has-product-shell main .changelog-entry {
    border-color: #3a5066;
    background: #15283a;
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell main .changelog-entry :is(h2, h3) {
    color: #f1f6fb;
}

html[data-theme="dark"] body.has-product-shell main .changelog-entry :is(time, li) {
    color: #bdcad7;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .help-section,
    .support-data-card,
    .support-copy-card
) {
    border-color: #3a5066;
    background: #15283a;
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell main .help-article > summary {
    background: #15283a;
    color: #f1f6fb;
}

html[data-theme="dark"] body.has-product-shell main .support-data-card dd {
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell main .support-copy-card textarea {
    border-color: #40566c;
    background: #0d1d2c;
    color: #e8eef5;
}

html[data-theme="light"] body.has-product-shell main :is(
    .help-section,
    .changelog-entry,
    .support-data-card,
    .support-copy-card
) {
    border-color: var(--border);
    background: #fff;
    color: #10243a;
}

html[data-theme="light"] body.has-product-shell main .help-article > summary {
    background: #fff;
    color: #10243a;
}

html[data-theme="light"] body.has-product-shell main .changelog-entry :is(h2, h3) {
    color: #10243a;
}

html[data-theme="light"] body.has-product-shell main .changelog-entry :is(time, li) {
    color: #53687e;
}

html[data-theme="light"] body.has-product-shell main .support-data-card dd {
    color: #10243a;
}

html[data-theme="dark"] body.has-product-shell main .cache-context-help {
    background: #172a3e;
    color: #b8c8d8 !important;
}

html[data-theme="dark"] body.has-product-shell .whats-new-dialog {
    border-color: #405f80;
    background: #132334;
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell .whats-new-dialog :is(h2, strong) {
    color: #f1f6fb;
}

html[data-theme="dark"] body.has-product-shell .whats-new-dialog :is(p, li) {
    color: #bdcad7;
}

html[data-theme="dark"] body.has-product-shell .whats-new-highlights section {
    border-color: #3a5066;
    background: #17283b;
}

@media (max-width: 1180px) {
    .help-menu > summary > span:nth-child(2) {
        display: none;
    }

    .help-category-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .onboarding-prompt,
    .help-search-card,
    .support-layout,
    .changelog-layout {
        grid-template-columns: 1fr;
    }

    .onboarding-prompt-actions,
    .onboarding-footer-actions,
    .onboarding-step-list li {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .changelog-index {
        position: static;
    }

    .changelog-index nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
        max-height: none;
    }

    .changelog-sections,
    .whats-new-highlights {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .help-search-card form,
    .help-category-nav {
        grid-template-columns: 1fr;
    }

    .help-menu-panel {
        position: fixed;
        top: 64px;
        right: 12px;
    }

    .help-article-actions,
    .whats-new-actions,
    .onboarding-footer-actions > div:last-child {
        align-items: stretch;
        flex-direction: column;
    }

    .support-data-card dl > div {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}

/* v0.85.1: reference-free airport inventory and final workflow polish. */
body.has-product-shell main .captured-route-search,
body.has-product-shell main .captured-airport-toolbar {
    border-color: #d6dee7 !important;
    background: #f1f5f9 !important;
    color: #31455c !important;
}

body.has-product-shell main .captured-route-search label,
body.has-product-shell main .captured-airport-toolbar label {
    color: #31455c !important;
    font-weight: 750;
}

body.has-product-shell main .captured-route-search input,
body.has-product-shell main .captured-airport-toolbar input {
    border-color: #c7d3df !important;
    background: #fff !important;
    color: #10243a !important;
}

body.has-product-shell main .captured-route-search button {
    border-color: #1769e0 !important;
    background: #1769e0 !important;
    color: #fff !important;
}

body.has-product-shell main .captured-route-search a {
    border-color: #b8c6d5 !important;
    background: #fff !important;
    color: #285987 !important;
}

.captured-airport-card {
    margin-top: 16px;
    overflow: hidden;
    border-top: 3px solid var(--module-airports) !important;
}

.captured-airport-toolbar {
    display: grid;
    grid-template-columns: auto minmax(240px, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-top: 1px solid;
    border-bottom: 1px solid;
}

.captured-airport-toolbar input {
    min-height: 42px;
}

.captured-airport-toolbar > span {
    min-width: 70px;
    color: #53687e;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}

.captured-airport-list {
    max-height: 560px;
    overflow: auto;
    scrollbar-gutter: stable;
    background: #fff;
}

.captured-airport-row {
    display: grid;
    grid-template-columns: minmax(130px, .65fr) minmax(260px, 1.6fr) minmax(80px, .45fr) minmax(130px, .65fr);
    gap: 18px;
    align-items: center;
    min-width: 720px;
    padding: 12px 20px;
    border-bottom: 1px solid #dbe3eb;
    color: #10243a;
}

.captured-airport-row:not(.captured-airport-header):hover {
    background: #f5f8fc;
}

.captured-airport-header {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #e9eff5;
    color: #435267;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.captured-airport-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 20px;
    border-top: 1px solid #d6dee7;
    background: #eef4f8;
}

.captured-airport-actions > div:first-child {
    display: grid;
    gap: 4px;
}

.captured-airport-actions > div:first-child strong {
    color: #10243a;
}

.captured-airport-actions > div:first-child span {
    color: #53687e;
    font-size: 13px;
}

.captured-airport-actions > div:last-child {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.captured-airport-actions form {
    margin: 0;
}

body.has-product-shell main .fleet-upload-form {
    border-color: #d6dee7 !important;
    background: #eef3f7 !important;
}

body.has-product-shell main .fleet-upload-form label {
    color: #31455c !important;
}

body.has-product-shell main .fleet-upload-form small {
    color: #60758a !important;
}

body.has-product-shell main .fleet-upload-form input[type="file"] {
    border-color: #c7d3df !important;
    background: #fff !important;
    color: #10243a !important;
}

body.has-product-shell main :is(
    .fleet-mapping-workspace-summary,
    .fleet-group-summary,
    .fleet-cost-index-summary
) :where(strong, small) {
    color: #10243a !important;
}

body.has-product-shell main :is(
    .fleet-mapping-workspace-summary,
    .fleet-group-summary,
    .fleet-cost-index-summary
) small {
    color: #53687e !important;
}

body.has-product-shell main .fleet-bulk-button {
    border-color: #8f73dd !important;
    background: #f2edff !important;
    color: #5636ad !important;
}

body.has-product-shell main .fleet-bulk-button:hover {
    border-color: #6847c7 !important;
    background: #e7ddff !important;
    color: #402287 !important;
}

body.has-product-shell main .fleet-compare-button.disabled {
    border-color: #c6ced8 !important;
    background: #e6ebf1 !important;
    color: #66778a !important;
}

.module-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.module-toolbar-actions form,
.workflow-completion-card form {
    margin: 0;
}

.workflow-finish-button {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #a86d27;
    border-radius: 9px;
    background: #fff8ec;
    color: #7a4810;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.workflow-finish-button:hover {
    border-color: #855118;
    background: #ffedcf;
}

.exporter-api-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    border-top: 1px solid #cbd7e2;
    border-bottom: 1px solid #cbd7e2;
    background: #cbd7e2;
}

.exporter-api-guide > div {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 10px;
    align-items: center;
    padding: 14px 18px;
    background: #e8eef4;
}

.exporter-api-guide > div > span {
    grid-row: 1 / 3;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 999px;
    background: #173b5c;
    color: #fff;
    font-size: 12px;
    font-weight: 850;
}

.exporter-api-guide strong {
    color: #10243a;
    font-size: 13px;
}

.exporter-api-guide small {
    color: #5c7085;
    font-size: 11px;
    line-height: 1.4;
}

body.has-product-shell main .exporter-api-cockpit {
    background: #e3eaf1 !important;
}

body.has-product-shell main .exporter-api-resource {
    background: #f8fafc !important;
    box-shadow: 0 5px 16px rgba(31, 45, 61, .06);
}

body.has-product-shell main .exporter-api-resource.is-clean {
    border-top-color: #6c8195 !important;
    background: #f1f5f8 !important;
}

body.has-product-shell main .exporter-api-resource.has-changes {
    box-shadow: 0 7px 20px rgba(31, 105, 190, .1);
}

body.has-product-shell main .exporter-api-counts > span {
    background: #e9eff5 !important;
}

body.has-product-shell main .exporter-api-actions .secondary-button {
    border-color: #b5c3d1 !important;
    background: #fff !important;
    color: #345a80 !important;
}

/* Match the light API cockpit to the calm, accent-led dashboard module cards. */
html[data-theme="light"] body.has-product-shell main .exporter-api-cockpit {
    border-color: #bcc9d5 !important;
    background: #dce4eb !important;
    box-shadow: 0 14px 34px rgba(31, 45, 61, .1) !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-cockpit > .section-title {
    border-bottom-color: #cfd9e3 !important;
    background: #f7f9fb !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-intro {
    border-bottom-color: #c3d8d2 !important;
    background: #eef5f3 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-guide {
    border-color: #c8d3de;
    background: #c8d3de;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-guide > div {
    background: #f4f7fa;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-guide > div:nth-child(2) {
    background: #eef3f7;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-guide > div > span {
    background: #244b6c;
    box-shadow: 0 3px 8px rgba(20, 47, 70, .2);
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource-grid {
    gap: 16px;
    padding: 20px;
    background: #dce4eb;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource,
html[data-theme="light"] body.has-product-shell main .exporter-api-resource.is-clean {
    border-color: #cfd9e3 !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(31, 45, 61, .086) !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.routes,
html[data-theme="light"] body.has-product-shell main .exporter-api-resource.routes.is-clean {
    border-top: 3px solid #2563eb !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.airports,
html[data-theme="light"] body.has-product-shell main .exporter-api-resource.airports.is-clean {
    border-top: 3px solid #7357d6 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.fleet,
html[data-theme="light"] body.has-product-shell main .exporter-api-resource.fleet.is-clean {
    border-top: 3px solid #c87910 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.aircraft,
html[data-theme="light"] body.has-product-shell main .exporter-api-resource.aircraft.is-clean {
    border-top: 3px solid #16875d !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource-title {
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(67, 86, 104, .2);
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource-title > span {
    border-color: #cfd9e3 !important;
    background: #f4f7fa !important;
    color: #244b6c !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.routes .exporter-api-resource-title > span {
    border-color: #b9cef5 !important;
    background: #e8f1fc !important;
    color: #2563eb !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.airports .exporter-api-resource-title > span {
    border-color: #d4c8fa !important;
    background: #f3efff !important;
    color: #7357d6 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.fleet .exporter-api-resource-title > span {
    border-color: #ead1a6 !important;
    background: #fff7e8 !important;
    color: #c87910 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource.aircraft .exporter-api-resource-title > span {
    border-color: #b9dfcf !important;
    background: #eaf8f1 !important;
    color: #16875d !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource-title strong {
    font-size: 1rem;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-resource-title small {
    color: #435a70 !important;
    font-size: .7rem;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-counts > span {
    border-color: #d5dee7 !important;
    background: #f4f7fa !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-counts small {
    color: #455b70 !important;
    font-size: .67rem;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-counts strong {
    color: #10243a !important;
    font-size: 1.18rem;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-last {
    border-color: #a8d2c1 !important;
    background: #eff9f4 !important;
    color: #285c4a !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-clean {
    color: #245d49 !important;
    font-size: .73rem;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-warning {
    border-color: #d5a448 !important;
    background: #fff6e3 !important;
    color: #654813 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-actions .secondary-button {
    border-color: #b8c7d5 !important;
    background: #f8fafc !important;
    color: #234f76 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-actions .secondary-button:hover {
    border-color: #587b9c !important;
    background: #edf3f8 !important;
}

html[data-theme="light"] body.has-product-shell main .exporter-api-all {
    margin-top: 0;
    border-color: #d4ae67 !important;
    background: #fff8e8 !important;
    color: #5d4213 !important;
    box-shadow: 0 7px 18px rgba(95, 66, 19, .07);
}

html[data-theme="dark"] body.has-product-shell main :is(
    .captured-route-search,
    .captured-airport-toolba
) {
    border-color: #304459 !important;
    background: #17283b !important;
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .captured-route-search,
    .captured-airport-toolba
) label {
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .captured-airport-list,
    .captured-airport-row,
    .captured-airport-actions
) {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .captured-airport-header {
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .captured-airport-actions :where(strong, span) {
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-upload-form {
    border-color: #304459 !important;
    background: #17283b !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-upload-form label,
html[data-theme="dark"] body.has-product-shell main :is(
    .fleet-mapping-workspace-summary,
    .fleet-group-summary,
    .fleet-cost-index-summary
) :where(strong, small) {
    color: #e8eef5 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-upload-form small {
    color: #aebdcb !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-bulk-button {
    border-color: #7357be !important;
    background: #2c2248 !important;
    color: #dccfff !important;
}

html[data-theme="dark"] body.has-product-shell main .workflow-finish-button {
    border-color: #8d632a !important;
    background: #382a17 !important;
    color: #ffd99a !important;
}

html[data-theme="dark"] body.has-product-shell main .exporter-api-guide {
    border-color: #304459;
    background: #304459;
}

html[data-theme="dark"] body.has-product-shell main .exporter-api-guide > div {
    background: #17283b;
}

html[data-theme="dark"] body.has-product-shell main .exporter-api-guide strong {
    color: #e8eef5;
}

html[data-theme="dark"] body.has-product-shell main .exporter-api-guide small {
    color: #aebdcb;
}

html[data-theme="dark"] body.has-product-shell main .exporter-api-cockpit,
html[data-theme="dark"] body.has-product-shell main .exporter-api-resource,
html[data-theme="dark"] body.has-product-shell main .exporter-api-resource.is-clean {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #e8eef5 !important;
}

@media (max-width: 900px) {
    .captured-airport-toolbar,
    .exporter-api-guide {
        grid-template-columns: 1fr;
    }

    .captured-airport-toolbar > span {
        text-align: left;
    }

    .captured-airport-actions,
    .captured-airport-actions > div:last-child,
    .module-toolbar-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Final capture, process and route-workbench readability pass. */
html[data-theme="light"] body.has-product-shell main .viacc-source-settings {
    border-color: #83c8b3 !important;
    background: #edf8f4 !important;
    color: #183d34 !important;
}

html[data-theme="light"] body.has-product-shell main .intrepid-source-settings {
    border-color: #e3a45d !important;
    background: #fff7eb !important;
    color: #553711 !important;
}

html[data-theme="light"] body.has-product-shell main .intrepid-source-settings > div > strong,
html[data-theme="light"] body.has-product-shell main .source-intrepid .intrepid-window-copy strong {
    color: #553711 !important;
}

html[data-theme="light"] body.has-product-shell main .intrepid-source-settings p,
html[data-theme="light"] body.has-product-shell main .intrepid-source-settings small,
html[data-theme="light"] body.has-product-shell main .source-intrepid .intrepid-window-copy small {
    color: #765a38 !important;
}

html[data-theme="light"] body.has-product-shell main .intrepid-profile > span {
    border-color: #ebc48f !important;
    background: #fffdf8 !important;
}

html[data-theme="light"] body.has-product-shell main .intrepid-profile strong {
    color: #9a5407 !important;
}

html[data-theme="light"] body.has-product-shell main .intrepid-source-settings .api-preview-message.is-success {
    border-color: #d79a50 !important;
    background: #ffefd8 !important;
    color: #70430d !important;
}

html[data-theme="light"] body.has-product-shell main .viacc-source-settings > div > strong {
    color: #173d34 !important;
}

html[data-theme="light"] body.has-product-shell main .viacc-source-settings p,
html[data-theme="light"] body.has-product-shell main .viacc-source-settings .field-group small,
html[data-theme="light"] body.has-product-shell main .source-viacc .viacc-window-copy small {
    color: #49695f !important;
}

html[data-theme="light"] body.has-product-shell main .viacc-source-settings .api-preview-message.is-success {
    border-color: #66b797 !important;
    background: #dff3e9 !important;
    color: #185e47 !important;
}

html[data-theme="light"] body.has-product-shell main .source-viacc .viacc-window-copy strong {
    color: #183d34 !important;
}

html[data-theme="light"] body.has-product-shell main .workflow-switch .workflow-card.compare-mode.selected {
    border-color: #58b89d !important;
    background: #e7f7f1 !important;
    box-shadow: inset 0 0 0 1px #58b89d !important;
}

html[data-theme="light"] body.has-product-shell main .workflow-switch .compare-mode.selected .workflow-mark {
    border-color: #79cbb3 !important;
    background: #d8f2e8 !important;
    color: #137a5b !important;
}

html[data-theme="light"] body.has-product-shell main .workflow-switch .compare-mode.selected .selection-indicator {
    border-color: #79cbb3 !important;
    background: #d8f2e8 !important;
    color: #126347 !important;
}

html[data-theme="light"] body.has-product-shell main .workflow-switch .workflow-card.new-mode.selected {
    border-color: #e8a24d !important;
    background: #fff4e7 !important;
    box-shadow: inset 0 0 0 1px #e8a24d !important;
}

html[data-theme="light"] body.has-product-shell main .workflow-switch .new-mode.selected .workflow-mark,
html[data-theme="light"] body.has-product-shell main .workflow-switch .new-mode.selected .selection-indicator {
    border-color: #edb36b !important;
    background: #ffead1 !important;
    color: #9b5500 !important;
}

body.has-product-shell main .active-job-dialog-status strong {
    color: #d9e5f1 !important;
}

html[data-theme="light"] body.has-product-shell main .job-control-grid > .section-card {
    border-color: #cfd9e3 !important;
    background: #fff !important;
    color: #172033 !important;
    box-shadow: 0 10px 28px rgba(31, 45, 61, .085) !important;
}

html[data-theme="light"] body.has-product-shell main .job-progress-card {
    border-top: 3px solid #0f8a83 !important;
}

html[data-theme="light"] body.has-product-shell main .run-controls {
    border-top: 3px solid #477fc0 !important;
}

html[data-theme="light"] body.has-product-shell main .job-progress-head :where(strong, span),
html[data-theme="light"] body.has-product-shell main .transfer-stats,
html[data-theme="light"] body.has-product-shell main .run-controls small {
    color: #536174 !important;
}

html[data-theme="light"] body.has-product-shell main .job-progress-head > strong,
html[data-theme="light"] body.has-product-shell main .job-progress-head > div > strong,
html[data-theme="light"] body.has-product-shell main .transfer-stats strong {
    color: #172033 !important;
}

html[data-theme="light"] body.has-product-shell main .job-stage-progress {
    background: #d8e1ea !important;
}

html[data-theme="light"] body.has-product-shell main .job-progress-metrics > div {
    border-color: #d5dee7 !important;
    background: #f3f6f9 !important;
}

html[data-theme="light"] body.has-product-shell main .job-progress-metrics span {
    color: #5b6a7c !important;
}

html[data-theme="light"] body.has-product-shell main .job-progress-metrics strong {
    color: #172033 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-compare-action,
html[data-theme="dark"] body.has-product-shell main .fleet-compare-action {
    border-color: #6f5bb0 !important;
    background: #27223f !important;
    color: #e9e2ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-compare-action :where(strong, span, p),
html[data-theme="dark"] body.has-product-shell main .fleet-compare-action :where(strong, span, p) {
    color: #e9e2ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-compare-action .fleet-compare-button.disabled,
html[data-theme="dark"] body.has-product-shell main .fleet-compare-action .fleet-compare-button.disabled {
    border-color: #465b70 !important;
    background: #26384b !important;
    color: #b9c8d7 !important;
}

body.has-product-shell main .route-reconcile-row {
    min-height: 52px !important;
    padding: 8px 14px !important;
    font-size: .82rem !important;
}

body.has-product-shell main .route-reconcile-header {
    min-height: 40px !important;
}

body.has-product-shell main .route-row-actions {
    flex-wrap: nowrap !important;
    white-space: nowrap;
}

body.has-product-shell main .route-row-actions .route-choice-switch input[type="checkbox"] {
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
    min-height: 15px !important;
    margin: 0 !important;
}

body.has-product-shell main .route-row-actions :where(
    .route-choice-switch,
    .route-detail-button,
    .route-inline-button,
    .route-keep-button,
    .route-expire-button
) {
    min-height: 30px;
    padding-right: 9px;
    padding-left: 9px;
    font-size: .72rem;
    white-space: nowrap;
}

html[data-theme="dark"] body.has-product-shell main .route-row-actions :where(
    .route-choice-switch,
    .route-detail-button,
    .route-inline-button,
    .route-keep-button,
    .route-expire-button
) {
    border-color: #49627a !important;
    background: #1b2e42 !important;
    color: #dce7f1 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-row-actions .route-choice-switch:has(input:checked) {
    border-color: #477fc0 !important;
    background: #1a3552 !important;
    color: #9bc8ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-row-actions .route-choice-switch.review-open:not(:has(input:checked)) {
    border-color: #b78632 !important;
    background: #3a2b16 !important;
    color: #ffd483 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-row-actions .route-inline-button.ignore {
    border-color: #a97a32 !important;
    color: #ffd483 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-row-actions .route-inline-button.danger {
    border-color: #9d4b5a !important;
    color: #ffb2bd !important;
}

html[data-theme="dark"] body.has-product-shell main .captured-route-list,
html[data-theme="dark"] body.has-product-shell main .captured-route-row {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main .captured-route-header {
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .captured-route-row :where(strong, span) {
    color: inherit !important;
}

html[data-theme="dark"] body.has-product-shell main .captured-aircraft-variants small {
    border-color: #3b8d72 !important;
    background: #173a36 !important;
    color: #8fe0c5 !important;
}

/* v0.85.1: compact, colour-coded comparison workspaces and final dark surfaces. */
body.has-product-shell main .route-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    padding: 4px 0 14px;
}

body.has-product-shell main .route-status-card {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 78px;
    grid-template-columns: 1fr auto;
    align-content: center;
    gap: 2px 10px;
    padding: 11px 13px;
    border-left-width: 4px;
    background: #f8fafc;
}

body.has-product-shell main .route-status-card::before {
    display: none;
}

body.has-product-shell main .route-status-card > span {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .74rem;
    font-weight: 800;
}

body.has-product-shell main .route-status-card > span::before,
body.has-product-shell main .dashboard-stats .stat-card > span::before {
    display: inline-grid;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    place-items: center;
    border-radius: 999px;
    background: currentColor;
    color: #fff;
    content: "•";
    font-size: 12px;
    font-weight: 900;
}

body.has-product-shell main .route-status-card > strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    font-size: 1.55rem;
}

body.has-product-shell main .route-status-card > small {
    overflow: hidden;
    max-width: 25ch;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .route-status-card.current,
body.has-product-shell main .dashboard-stats .stat-card.current {
    border-color: #52b894 !important;
    background: #eef9f5 !important;
    color: #117054 !important;
}

body.has-product-shell main .route-status-card.current > span::before,
body.has-product-shell main .dashboard-stats .stat-card.current > span::before {
    content: "✓";
}

body.has-product-shell main .route-status-card.new,
body.has-product-shell main .dashboard-stats .stat-card.new {
    border-color: #5c9ee8 !important;
    background: #eef5fd !important;
    color: #155fb7 !important;
}

body.has-product-shell main .route-status-card.new > span::before,
body.has-product-shell main .dashboard-stats .stat-card.new > span::before {
    content: "+";
}

body.has-product-shell main .route-status-card.changed,
body.has-product-shell main .dashboard-stats .stat-card.changed {
    border-color: #d6a23f !important;
    background: #fff8e8 !important;
    color: #895b00 !important;
}

body.has-product-shell main .route-status-card.changed > span::before,
body.has-product-shell main .dashboard-stats .stat-card.changed > span::before {
    content: "↻";
}

body.has-product-shell main .route-status-card.expired,
body.has-product-shell main .dashboard-stats .stat-card.expired {
    border-color: #de6c7e !important;
    background: #fff1f3 !important;
    color: #a4263a !important;
}

body.has-product-shell main .route-status-card.expired > span::before,
body.has-product-shell main .dashboard-stats .stat-card.expired > span::before {
    content: "×";
}

body.has-product-shell main .route-status-card.retained {
    border-color: #8b9caf !important;
    background: #f2f5f8 !important;
    color: #526476 !important;
}

body.has-product-shell main .route-status-card.retained > span::before {
    content: "↺";
}

body.has-product-shell main .route-status-card.missing {
    border-color: #e38d3d !important;
    background: #fff5e9 !important;
    color: #99500b !important;
}

body.has-product-shell main .route-status-card.missing > span::before {
    content: "?";
}

body.has-product-shell main .route-status-card.unknown {
    border-color: #8996a5 !important;
    background: #f2f4f6 !important;
    color: #536170 !important;
}

body.has-product-shell main .route-status-card.unknown > span::before {
    content: "…";
}

body.has-product-shell main .route-status-card.manual-delete,
body.has-product-shell main .dashboard-stats .stat-card.deleted {
    border-color: #c45b77 !important;
    background: #fff1f5 !important;
    color: #97284b !important;
}

body.has-product-shell main .route-status-card.manual-delete > span::before,
body.has-product-shell main .dashboard-stats .stat-card.deleted > span::before {
    content: "−";
}

body.has-product-shell main .dashboard-stats .stat-card {
    position: relative;
    min-height: 92px;
    border-left-width: 4px !important;
}

body.has-product-shell main .dashboard-stats .stat-card > span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
}

body.has-product-shell main .comparison-source-layout {
    grid-template-columns: minmax(360px, .85fr) minmax(420px, 1.15fr);
    background: #edf2f7;
}

body.has-product-shell main .comparison-upload-panel {
    border-right: 1px solid #cad6e2 !important;
    background: #f8fbfd !important;
}

body.has-product-shell main .comparison-catalog-panel {
    background: #eef4f8 !important;
}

body.has-product-shell main .comparison-upload-panel::before,
body.has-product-shell main .comparison-catalog-panel::before {
    display: block;
    margin-bottom: 12px;
    color: #52657a;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .comparison-upload-panel::before {
    content: "① Quelle laden";
}

body.has-product-shell main .comparison-catalog-panel::before {
    content: "② Geladene Referenz prüfen";
}

body.has-product-shell main .airport-preview-list {
    max-height: 250px;
    border-color: #cbd7e2 !important;
    background: #fff !important;
}

body.has-product-shell main .airport-preview-row {
    min-height: 42px;
    border-color: #d9e1e9 !important;
    background: #fff !important;
}

body.has-product-shell main .airport-preview-row :where(strong, span) {
    color: #33465b !important;
}

body.has-product-shell main .airport-status-grid {
    gap: 12px;
}

body.has-product-shell main .airport-status-card {
    min-height: 96px;
    border-width: 1px 1px 1px 4px;
    background: #fff;
}

body.has-product-shell main .airport-status-card.present {
    border-color: #43a985 !important;
    background: #eef9f5 !important;
    color: #117054 !important;
}

body.has-product-shell main .airport-status-card.missing {
    border-color: #dc6173 !important;
    background: #fff1f3 !important;
    color: #a4263a !important;
}

body.has-product-shell main .airport-status-card.prepared {
    border-color: #d49a32 !important;
    background: #fff7e7 !important;
    color: #875900 !important;
}

body.has-product-shell main .airport-status-card :where(span, strong, small) {
    color: inherit !important;
}

body.has-product-shell main .fleet-route-list {
    max-height: 680px;
    border: 1px solid #ccd7e2 !important;
    background: #fff !important;
    scrollbar-color: #9aabba #edf2f6;
}

body.has-product-shell main .fleet-route-row {
    min-width: 1120px;
    min-height: 58px;
    grid-template-columns: 64px 145px 170px 180px minmax(240px, 1fr) 108px;
    gap: 8px;
    padding: 6px 12px;
    border-color: #dbe3eb !important;
    background: #fff !important;
    color: #3a4d61 !important;
    font-size: .76rem;
}

body.has-product-shell main .fleet-route-row:not(.fleet-route-header):nth-child(odd) {
    background: #f8fafc !important;
}

body.has-product-shell main .fleet-route-row:not(.fleet-route-header):hover {
    background: #eef5fd !important;
}

body.has-product-shell main .fleet-route-header {
    min-height: 40px;
    background: #eaf0f5 !important;
    color: #43566b !important;
    font-size: .66rem;
}

body.has-product-shell main .fleet-route-row :where(strong, span, small) {
    color: inherit;
}

body.has-product-shell main .fleet-route-identity strong {
    color: #182b40 !important;
    font-size: .8rem;
}

body.has-product-shell main .fleet-route-identity span,
body.has-product-shell main .fleet-route-identity small,
body.has-product-shell main .fleet-recommendation small,
body.has-product-shell main .effective-fleet-values small {
    color: #687b8e !important;
}

body.has-product-shell main .fleet-route-aircraft > small,
body.has-product-shell main .effective-fleet-values > small {
    display: none;
}

body.has-product-shell main .fleet-route-aircraft .aircraft-variant-chips {
    gap: 3px;
}

body.has-product-shell main .fleet-route-aircraft .aircraft-variant-chip,
body.has-product-shell main .effective-fleet-values .fleet-id-chip {
    padding: 3px 5px;
    font-size: .65rem;
}

body.has-product-shell main .fleet-recommendation strong {
    color: #294660 !important;
    font-size: .72rem;
}

body.has-product-shell main .route-fleet-edit-button {
    width: auto;
    min-width: 108px;
    min-height: 34px;
    padding: 7px 11px;
    border-color: #7da9d8 !important;
    background: #eef5fd !important;
    color: #155fb7 !important;
    white-space: nowrap;
}

body.has-product-shell main .fleet-route-pagination,
body.has-product-shell main .pagination-bar {
    border-color: #cdd8e3 !important;
    background: #f4f7fa !important;
    color: #52657a !important;
}

body.has-product-shell main .fleet-route-pagination a,
body.has-product-shell main .pagination-bar a {
    border-color: #8fb2d7 !important;
    background: #fff !important;
    color: #155fb7 !important;
}

@media (max-width: 1050px) {
    body.has-product-shell main .route-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .comparison-source-layout {
        grid-template-columns: 1fr;
    }
}

html[data-theme="dark"] body.has-product-shell main .route-status-card {
    background: #17283b !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card.current,
html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card.current {
    border-color: #3b9f7d !important;
    background: #15332f !important;
    color: #8fe0c5 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card.new,
html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card.new {
    border-color: #477fc0 !important;
    background: #172f49 !important;
    color: #9bc8ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card.changed,
html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card.changed {
    border-color: #b78632 !important;
    background: #382b18 !important;
    color: #ffd483 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card.expired,
html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card.expired,
html[data-theme="dark"] body.has-product-shell main .route-status-card.manual-delete,
html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card.deleted {
    border-color: #9d4b5a !important;
    background: #3a2029 !important;
    color: #ffb2bd !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card.retained,
html[data-theme="dark"] body.has-product-shell main .route-status-card.unknown {
    border-color: #52677c !important;
    background: #1a2a3b !important;
    color: #becbd8 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card.missing {
    border-color: #b76e2d !important;
    background: #39291a !important;
    color: #ffc17b !important;
}

html[data-theme="dark"] body.has-product-shell main .route-status-card :where(strong, span, small),
html[data-theme="dark"] body.has-product-shell main .dashboard-stats .stat-card :where(strong, span) {
    color: inherit !important;
}

/* v0.86.1: quieter capture start, adaptive summaries and final contrast fixes. */
body.has-product-shell main .fr24-workspace.config-only {
    grid-template-columns: minmax(0, 1fr);
}

body.has-product-shell main .dashboard-stats {
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

body.has-product-shell main .dashboard-stats .stat-card > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

body.has-product-shell main .history-clear-button {
    border-color: #e5a4ad;
    background: #fff4f5;
    color: #a4263a;
}

body.has-product-shell main .older-job-history {
    border-top: 1px solid var(--line);
}

body.has-product-shell main .older-job-history > summary {
    padding: 13px 18px;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 750;
}

body.has-product-shell main .older-job-history[open] > summary {
    border-bottom: 1px solid var(--line);
}

html[data-theme="dark"] body.has-product-shell main .history-clear-button {
    border-color: #8d5260;
    background: #331f27;
    color: #ffb2bd;
}

html[data-theme="dark"] body.has-product-shell main .fleet-export-handoff-status > div > span {
    color: #b8c8d8 !important;
}

html[data-theme="dark"] body.has-product-shell main .scope-banner a {
    color: #8bc2ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-state-pill {
    border-color: #526b84 !important;
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-state-pill.new {
    border-color: #477fc0 !important;
    background: #1a3552 !important;
    color: #a9d1ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-state-pill.changed {
    border-color: #b78632 !important;
    background: #3a2b16 !important;
    color: #ffd483 !important;
}

html[data-theme="dark"] body.has-product-shell main .route-state-pill.expired,
html[data-theme="dark"] body.has-product-shell main .route-state-pill.manual-delete {
    border-color: #9d4b5a !important;
    background: #3c2028 !important;
    color: #ffb2bd !important;
}

html[data-theme="dark"] body.has-product-shell main .route-state-pill.current,
html[data-theme="dark"] body.has-product-shell main .route-state-pill.retained {
    border-color: #3b8d72 !important;
    background: #173a36 !important;
    color: #8fe0c5 !important;
}

html[data-theme="dark"] body.has-product-shell main .pagination-bar,
html[data-theme="dark"] body.has-product-shell main .fleet-route-pagination {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .pagination-bar :where(span, div),
html[data-theme="dark"] body.has-product-shell main .fleet-route-pagination span {
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .pagination-bar a,
html[data-theme="dark"] body.has-product-shell main .fleet-route-pagination a {
    border-color: #477fc0 !important;
    background: #1b2e42 !important;
    color: #9bc8ff !important;
}

html[data-theme="dark"] body.has-product-shell main .route-workflow-heading :where(strong, span) {
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main .comparison-source-layout,
html[data-theme="dark"] body.has-product-shell main .comparison-upload-panel,
html[data-theme="dark"] body.has-product-shell main .comparison-catalog-panel {
    border-color: #304459 !important;
    background: #132334 !important;
}

html[data-theme="dark"] body.has-product-shell main .comparison-upload-panel::before,
html[data-theme="dark"] body.has-product-shell main .comparison-catalog-panel::before {
    color: #9bc8ff;
}

html[data-theme="dark"] body.has-product-shell main .airport-preview-list,
html[data-theme="dark"] body.has-product-shell main .airport-preview-row {
    border-color: #304459 !important;
    background: #17283b !important;
}

html[data-theme="dark"] body.has-product-shell main .airport-preview-row :where(strong, span) {
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-route-list,
html[data-theme="dark"] body.has-product-shell main .fleet-route-row {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #dfe8f1 !important;
    scrollbar-color: #506983 #091523;
}

html[data-theme="dark"] body.has-product-shell main .fleet-route-row:not(.fleet-route-header):nth-child(odd) {
    background: #17283b !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-route-row:not(.fleet-route-header):hover {
    background: #1b3045 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-route-header {
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-route-row :where(strong, span, small),
html[data-theme="dark"] body.has-product-shell main .fleet-route-identity strong,
html[data-theme="dark"] body.has-product-shell main .fleet-recommendation strong {
    color: inherit !important;
}

html[data-theme="dark"] body.has-product-shell main .fleet-route-identity span,
html[data-theme="dark"] body.has-product-shell main .fleet-route-identity small,
html[data-theme="dark"] body.has-product-shell main .fleet-recommendation small {
    color: #a9bacb !important;
}

html[data-theme="dark"] body.has-product-shell main .route-fleet-edit-button {
    border-color: #477fc0 !important;
    background: #1a3552 !important;
    color: #a9d1ff !important;
}

/* VAAS 0.86 – one clarity system for every workflow.
   These rules intentionally define the shared shell, density, scrolling and
   theme contracts in one place instead of adding page-specific colour fixes. */

body.has-product-shell .product-account-actions,
body.has-product-shell .workspace-airline-switcher,
body.has-product-shell .dashboard-command-copy,
body.has-product-shell .dashboard-command-status {
    min-width: 0;
}

body.has-product-shell .account-menu > summary {
    max-width: 190px;
}

body.has-product-shell .account-copy {
    min-width: 0;
    max-width: 116px;
}

body.has-product-shell .account-copy :where(strong, small) {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell .product-context-strip {
    min-height: 64px;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 16px;
    margin-top: 12px;
    padding: 10px 14px;
}

body.has-product-shell .workspace-context-counts > span {
    min-width: 68px;
    padding: 5px 8px;
}

body.has-product-shell .product-page {
    padding-top: 24px;
}

body.has-product-shell main .dashboard-command-center {
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
    gap: 24px;
    padding: clamp(28px, 3.2vw, 44px);
}

body.has-product-shell main .dashboard-command-copy h1 {
    max-width: 100%;
    font-size: clamp(2.1rem, 2.8vw, 3.2rem);
    line-height: 1.04;
    overflow-wrap: anywhere;
}

body.has-product-shell main .dashboard-command-copy > p {
    font-size: 1rem;
}

body.has-product-shell main .help-page-header .back-link {
    display: flex;
    width: max-content;
    margin-bottom: 14px;
}

body.has-product-shell main .help-page-header .eyebrow {
    display: block;
}

body.has-product-shell main .route-status-card > small {
    overflow: visible;
    max-width: none;
    line-height: 1.2;
    text-overflow: clip;
    white-space: normal;
}

body.has-product-shell main :is(
    .route-reconcile-list,
    .captured-route-list,
    .captured-airport-list,
    .airport-list,
    .airport-preview-list,
    .fleet-route-list,
    .fleet-catalog-list,
    .aircraft-source-table,
    .aircraft-comparison-list,
    .aircraft-list
) {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

body.has-product-shell *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body.has-product-shell *::-webkit-scrollbar-track {
    background: #edf2f6;
}

body.has-product-shell *::-webkit-scrollbar-thumb {
    border: 2px solid #edf2f6;
    border-radius: 999px;
    background: #9aabba;
}

body.has-product-shell *::-webkit-scrollbar-thumb:hover {
    background: #74889b;
}

@media (min-width: 1101px) {
    body.has-product-shell .product-header-main {
        grid-template-columns: minmax(300px, 1fr) auto;
        gap: 12px;
        width: calc(100% - 32px);
    }

    body.has-product-shell [data-airline-switcher] {
        max-width: 620px;
    }

    body.has-product-shell .product-account-actions {
        gap: 6px;
    }

    body.has-product-shell main .route-reconcile-row {
        min-width: 940px !important;
        grid-template-columns:
            28px 72px 48px 70px 105px 88px 88px 100px minmax(190px, 1fr) !important;
        gap: 6px !important;
        padding: 8px 10px !important;
    }

    body.has-product-shell main .route-row-actions {
        flex-wrap: wrap !important;
        gap: 4px !important;
        white-space: normal;
    }

    body.has-product-shell main .route-row-actions :where(
        .route-choice-switch,
        .route-detail-button,
        .route-inline-button,
        .route-keep-button,
        .route-expire-button
    ) {
        min-height: 28px;
        padding: 5px 7px;
        font-size: .68rem;
    }
}

@media (min-width: 1101px) and (max-width: 1320px) {
    body.has-product-shell .account-copy {
        max-width: 88px;
    }

    body.has-product-shell .process-center > summary,
    body.has-product-shell .help-menu > summary {
        padding-right: 8px;
        padding-left: 8px;
    }

    body.has-product-shell main .dashboard-command-center {
        grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    }
}

@media (max-width: 1050px) {
    body.has-product-shell main .dashboard-command-center {
        grid-template-columns: 1fr;
    }
}

html[data-theme="dark"] body.has-product-shell * {
    scrollbar-color: #526c85 #0f1e2d !important;
}

html[data-theme="dark"] body.has-product-shell *::-webkit-scrollbar-track {
    background: #0f1e2d;
}

html[data-theme="dark"] body.has-product-shell *::-webkit-scrollbar-thumb {
    border-color: #0f1e2d;
    background: #526c85;
}

html[data-theme="dark"] body.has-product-shell *::-webkit-scrollbar-thumb:hover {
    background: #6b849d;
}

html[data-theme="dark"] body.has-product-shell main :is(
    input[type="text"],
    input[type="search"],
    input[type="number"],
    input[type="file"],
    input[type="url"],
    input[type="password"],
    select,
    textarea
),
html[data-theme="dark"] body.has-product-shell main .captured-route-search input,
html[data-theme="dark"] body.has-product-shell main .captured-airport-toolbar input,
html[data-theme="dark"] body.has-product-shell main .comparison-search-toolbar input {
    border-color: #40566d !important;
    background: #102132 !important;
    color: #e8eef5 !important;
    box-shadow: none !important;
}

html[data-theme="dark"] body.has-product-shell main :is(input, textarea)::placeholder {
    color: #8195a9 !important;
    opacity: 1;
}

html[data-theme="dark"] body.has-product-shell main input[type="file"]::file-selector-button {
    border: 0;
    border-right: 1px solid #40566d;
    background: #1b3550;
    color: #b9d8ff;
}

html[data-theme="dark"] body.has-product-shell main .airport-status-card.present {
    border-color: #3b9f7d !important;
    background: #14332d !important;
    color: #9be6ce !important;
}

html[data-theme="dark"] body.has-product-shell main .airport-status-card.missing {
    border-color: #a95061 !important;
    background: #3a2029 !important;
    color: #ffb5c0 !important;
}

html[data-theme="dark"] body.has-product-shell main .airport-status-card.prepared {
    border-color: #b78632 !important;
    background: #392b18 !important;
    color: #ffd483 !important;
}

html[data-theme="dark"] body.has-product-shell main .airport-status-card :where(span, strong, small) {
    color: inherit !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .airport-list,
    .airport-row,
    .captured-airport-list,
    .captured-airport-row
) {
    border-color: #304459 !important;
    background: #132334 !important;
    color: #dfe8f1 !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .airport-row-header,
    .captured-airport-heade
) {
    border-color: #3a4f64 !important;
    background: #1b2e42 !important;
    color: #c9d6e2 !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .airport-row,
    .captured-airport-row
) :where(strong, span, small, label) {
    color: inherit !important;
}

html[data-theme="dark"] body.has-product-shell .product-footer {
    border-color: #2c4054;
    background: #0f1e2d;
    color: #8296aa;
}

/* ==========================================================================
   VAAS 0.87 – wide, task-first workspaces
   The shell already owns the full desktop canvas. These rules let the actual
   work area use it, keep actions inside their rows and progressively remove
   repeated context once a user has chosen a view.
   ========================================================================== */

@media (min-width: 1101px) {
    body.has-product-shell .product-context-strip,
    body.has-product-shell .product-page {
        width: calc(100% - 32px);
        max-width: 1920px;
    }
}

body.has-product-shell main .page-heading {
    margin-bottom: 16px;
}

body.has-product-shell main .page-heading h1 {
    margin-block: 3px;
    font-size: clamp(1.9rem, 2.35vw, 2.55rem);
    line-height: 1.08;
}

body.has-product-shell main .page-heading p {
    max-width: 78ch;
    margin-top: 4px;
}

body.has-product-shell main :is(
    .route-review-launch,
    .dataset-action-card,
    .comparison-source-card,
    .route-comparison-card,
    .airport-comparison-card,
    .fleet-import-card,
    .fleet-route-section,
    .aircraft-catalog-card
) {
    box-shadow: 0 6px 18px rgba(31, 45, 61, .065);
}

/* A selected Airport view needs context and navigation, not the complete
   selection wizard repeated above the work area. */
body.has-product-shell main .airport-context-bar {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(360px, auto) auto;
    align-items: center;
    gap: 14px;
    margin: 14px 0 16px;
    padding: 10px 12px;
    border: 1px solid #cfd9e3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(31, 45, 61, .055);
}

body.has-product-shell main .airport-context-selector {
    min-width: 0;
}

body.has-product-shell main .airport-context-selector select {
    width: 100%;
}

body.has-product-shell main .airport-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    border-radius: 9px;
    background: #edf2f7;
}

body.has-product-shell main .airport-view-tabs a {
    padding: 8px 12px;
    border-radius: 7px;
    color: #536174;
    font-size: .78rem;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

body.has-product-shell main .airport-view-tabs a:hover {
    color: #194f93;
}

body.has-product-shell main .airport-view-tabs a.active {
    background: #fff;
    color: #155fb7;
    box-shadow: 0 2px 7px rgba(24, 42, 64, .12);
}

/* Comparison summaries stay useful as filters without dominating the page. */
body.has-product-shell main .route-status-card {
    min-height: 68px;
    padding: 9px 11px;
}

body.has-product-shell main .route-status-card > strong {
    font-size: 1.35rem;
}

@media (min-width: 1500px) {
    body.has-product-shell main .route-status-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    body.has-product-shell main .route-status-card > small {
        display: none;
    }
}

/* Route rows reserve a predictable action area. Remaining width is distributed
   to the actual route data instead of becoming unused space after the buttons. */
@media (min-width: 1101px) {
    body.has-product-shell main .route-reconcile-row {
        min-width: 930px !important;
        grid-template-columns:
            28px
            76px
            54px
            76px
            minmax(92px, 1.15fr)
            minmax(80px, .9fr)
            minmax(80px, .9fr)
            minmax(92px, 1fr)
            270px !important;
        gap: 7px !important;
        padding: 7px 10px !important;
    }

    body.has-product-shell main .route-row-actions {
        flex-wrap: wrap !important;
        align-content: center;
        gap: 4px !important;
        white-space: normal;
    }

    body.has-product-shell main .route-row-actions :where(
        .route-choice-switch,
        .route-detail-button,
        .route-inline-button,
        .route-keep-button,
        .route-expire-button
    ) {
        min-height: 28px;
        padding: 4px 7px;
        font-size: .68rem;
    }
}

/* Airport actions require more room than the historical 110px column. */
body.has-product-shell main .airport-list {
    max-height: min(72vh, 900px);
}

body.has-product-shell main .airport-row {
    min-width: 900px;
    grid-template-columns:
        minmax(86px, .65fr)
        minmax(80px, .6fr)
        minmax(250px, 2.6fr)
        minmax(54px, .4fr)
        minmax(96px, .65fr)
        180px;
    gap: 10px;
    min-height: 58px;
    padding: 8px 12px;
}

body.has-product-shell main .airport-row-actions {
    justify-content: flex-end;
}

body.has-product-shell main .airport-row-actions button {
    min-height: 32px;
    padding-inline: 9px;
    font-size: .75rem;
}

/* Other editing tables use the wider canvas and keep their final action column
   fully visible at ordinary desktop sizes. */
body.has-product-shell main .aircraft-row {
    min-width: 1120px;
    grid-template-columns:
        82px
        140px
        minmax(210px, 1.2fr)
        minmax(180px, .8fr)
        minmax(250px, 1fr)
        180px;
    gap: 10px;
    padding-inline: 13px;
}

body.has-product-shell main :is(
    .captured-route-row,
    .captured-airport-row,
    .aircraft-source-table > div,
    .aircraft-source-table-head
) {
    width: 100%;
}

body.has-product-shell main .comparison-source-layout {
    min-height: 0;
}

body.has-product-shell main :is(.comparison-upload-panel, .comparison-catalog-panel) {
    padding: 16px 18px;
}

body.has-product-shell main .fleet-preview-list.is-empty {
    min-height: 56px !important;
    height: auto;
    max-height: none;
    overflow: hidden;
    scrollbar-gutter: auto;
}

body.has-product-shell main .fleet-preview-list.is-empty .empty-state {
    min-height: 56px;
    padding: 16px;
}

@media (max-width: 1100px) {
    body.has-product-shell main .airport-context-bar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    body.has-product-shell main .airport-view-tabs {
        grid-row: 2;
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    body.has-product-shell main .airport-context-bar {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .airport-context-bar .fleet-count-badge,
    body.has-product-shell main .airport-view-tabs {
        grid-row: auto;
        grid-column: auto;
    }

    body.has-product-shell main .airport-view-tabs {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .airport-view-tabs a {
        white-space: normal;
    }
}

html[data-theme="dark"] body.has-product-shell main .airport-context-bar {
    border-color: #304459;
    background: #132334;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

html[data-theme="dark"] body.has-product-shell main .airport-view-tabs {
    background: #0f1e2d;
}

html[data-theme="dark"] body.has-product-shell main .airport-view-tabs a {
    color: #a9bacb;
}

html[data-theme="dark"] body.has-product-shell main .airport-view-tabs a:hover {
    color: #dfe8f1;
}

html[data-theme="dark"] body.has-product-shell main .airport-view-tabs a.active {
    background: #1a3552;
    color: #9bc8ff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .2);
}

/* VAAS unified interface: one balanced high-contrast appearance. */
html[data-theme="dark"] body.has-product-shell {
    --bg: #1a2633;
    --panel: #243547;
    --panel-2: #2a3d50;
    --line: #435970;
    --text: #f4f7fa;
    --muted: #bcc8d3;
    --ink: #f4f7fa;
    --ink-soft: #ced7df;
    --surface: #243547;
    --surface-soft: #2a3d50;
    --surface-blue: #28445e;
    --border: #435970;
    --border-strong: #587087;
    --surface-subtle: #2a3d50;
    --surface-muted: #30465a;
    --text-strong: #f4f7fa;
    --text-secondary: #bcc8d3;
    --module-capture: #11a7a0;
    --module-fleet: #4f8df7;
    --module-aircraft: #24b47e;
    --module-airports: #8b6ee8;
    --module-routes: #f59e0b;
    --module-export: #d164b5;
    background: #1a2633;
}

html[data-theme="dark"] body.has-workspace-shell.has-product-shell,
html[data-theme="dark"] body.has-product-shell .product-shell {
    background:
        radial-gradient(circle at 22% 6%, rgba(143, 158, 173, .1), transparent 35rem),
        radial-gradient(circle at 84% 38%, rgba(98, 116, 134, .08), transparent 40rem),
        linear-gradient(135deg, #20272e 0%, #2a3239 56%, #232b32 100%) !important;
}

body.has-product-shell .product-shell {
    display: flex !important;
    min-height: 100vh;
    flex-direction: column;
}

body.has-product-shell .product-page {
    position: relative;
    isolation: isolate;
    min-height: 0;
    flex: 1;
}

body.has-product-shell .product-page::before {
    position: fixed;
    z-index: 0;
    right: -210px;
    bottom: -250px;
    width: min(72vw, 980px);
    aspect-ratio: 1;
    background: url("../images/vAA_Logo.2e53b2d298ff.png") center / contain no-repeat;
    filter: grayscale(1) brightness(1.55);
    opacity: .045;
    pointer-events: none;
    content: "";
}

body.has-product-shell .product-page > * {
    position: relative;
    z-index: 1;
}

body.has-product-shell .product-footer {
    margin-top: auto;
}

html[data-theme="dark"] body.has-product-shell .product-header {
    border-color: #40566b;
    background: rgba(31, 46, 61, .97);
}

html[data-theme="dark"] body.has-product-shell :is(
    .workspace-airline-switcher,
    .process-center > summary,
    .help-menu > summary,
    .language-switcher,
    .account-menu > summary
) {
    border-color: #465d73;
    background: #293b4d;
    color: #edf3f7;
}

html[data-theme="dark"] body.has-product-shell .product-context-strip {
    border-color: #435970 !important;
    background: #243547 !important;
}

html[data-theme="dark"] body.has-product-shell main :where(
    .section-card,
    .module-card,
    .dashboard-airline-card,
    .airline-workspace-card,
    .airline-card,
    .stat-card,
    .workspace-empty-state,
    .route-summary-card,
    .route-status-card,
    .fleet-summary-card,
    .export-summary-card
) {
    border-color: #435970 !important;
    background: #243547 !important;
}

@media (min-width: 1101px) {
    body.has-product-shell .product-sidebar {
        background:
            radial-gradient(circle at 20% 12%, rgba(28, 135, 170, .2), transparent 18rem),
            linear-gradient(180deg, #123b5b 0%, #17364e 42%, #1a2d40 100%);
    }

    body.has-product-shell .product-sidebar-navigation a:last-child {
        margin-top: 0;
        border-top-color: transparent;
    }

    body.has-product-shell .product-sidebar-navigation .sidebar-settings-link {
        margin-top: auto;
        border-top-color: rgba(255, 255, 255, .1);
    }
}

body.vaas-role-anonymous {
    background:
        radial-gradient(circle at 16% 18%, rgba(17, 167, 160, .18), transparent 30rem),
        radial-gradient(circle at 85% 78%, rgba(139, 110, 232, .17), transparent 32rem),
        #1a2633;
    color: #f4f7fa;
    color-scheme: dark;
}

body.vaas-role-anonymous .login-copy h1,
body.vaas-role-anonymous .login-card :where(h1, h2, h3, strong, label) {
    color: #f4f7fa;
}

body.vaas-role-anonymous .login-copy > p,
body.vaas-role-anonymous .feature-list,
body.vaas-role-anonymous .login-logo span {
    color: #bdc9d4;
}

body.vaas-role-anonymous .login-card {
    border-color: #465d73;
    background: rgba(36, 53, 71, .97);
    color: #f4f7fa;
    box-shadow: 0 28px 68px rgba(5, 13, 22, .36);
}

body.vaas-role-anonymous .login-form label {
    color: #d7e0e7;
}

body.vaas-role-anonymous .login-form input {
    border-color: #526980;
    background: #1d2d3c;
    color: #f4f7fa;
}

/* Dashboard: focused command surface inspired by the approved sketch. */
body.has-product-shell main .dashboard-focus {
    display: grid;
    gap: 24px;
}

body.has-product-shell main .dashboard-welcome {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    padding: clamp(28px, 3.4vw, 48px);
    border: 1px solid #3e6784;
    border-radius: 22px;
    background:
        radial-gradient(circle at 82% 18%, rgba(80, 181, 204, .24), transparent 19rem),
        linear-gradient(125deg, #173f60, #1d5270 62%, #23657b);
    box-shadow: 0 22px 50px rgba(8, 20, 32, .24);
}

body.has-product-shell main .dashboard-welcome::after {
    position: absolute;
    right: -42px;
    bottom: -108px;
    width: 390px;
    height: 390px;
    background: url("../images/vAA_Logo.2e53b2d298ff.png") center / contain no-repeat;
    filter: saturate(.4) brightness(2.2);
    mix-blend-mode: screen;
    opacity: .16;
    pointer-events: none;
    content: "";
}

body.has-product-shell main .dashboard-welcome .eyebrow {
    color: #a9ebee !important;
}

body.has-product-shell main .dashboard-welcome h1 {
    position: relative;
    z-index: 1;
    margin: 8px 0 18px;
    color: #fff !important;
    font-size: clamp(2.7rem, 5vw, 5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

body.has-product-shell main .dashboard-welcome p {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #dceaf1 !important;
    font-size: 1rem;
}

body.has-product-shell main .dashboard-welcome p strong {
    padding: 5px 9px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: rgba(8, 29, 45, .22);
    color: #fff !important;
}

body.has-product-shell main .dashboard-welcome p small {
    color: #c3dbe5 !important;
}

body.has-product-shell main .dashboard-modules {
    padding: 4px 0;
}

body.has-product-shell main .dashboard-modules-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 15px;
}

body.has-product-shell main .dashboard-modules-heading h2 {
    margin: 3px 0 0;
    font-size: clamp(1.55rem, 2vw, 2.1rem);
}

body.has-product-shell main .dashboard-modules-heading > p {
    max-width: 620px;
    margin: 0;
    text-align: right;
}

body.has-product-shell main .dashboard-module-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

body.has-product-shell main .dashboard-module-grid .module-tile {
    min-height: 235px;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto 1fr;
    align-items: start;
    gap: 12px;
    padding: 20px;
    border: 0 !important;
    border-radius: 18px;
    color: #fff !important;
    box-shadow: 0 15px 32px rgba(7, 17, 28, .22) !important;
    isolation: isolate;
}

body.has-product-shell main .dashboard-module-grid .module-tile::after {
    z-index: -1;
    width: 180px;
    height: 180px;
    right: -80px;
    top: -80px;
    background: rgba(255, 255, 255, .7);
    filter: blur(65px);
    opacity: .2;
}

body.has-product-shell main .dashboard-module-grid .module-tile.capture {
    background: linear-gradient(145deg, #0f8f8c, #08757f) !important;
}

body.has-product-shell main .dashboard-module-grid .module-tile.fleet {
    background: linear-gradient(145deg, #3478dd 0%, #256bb9 48%, #167c70 100%) !important;
}

body.has-product-shell main .dashboard-module-grid .module-tile.aircraft {
    background: linear-gradient(145deg, #218f68, #126e62) !important;
}

body.has-product-shell main .dashboard-module-grid .module-tile.airports {
    background: linear-gradient(145deg, #7659cb, #5545a4) !important;
}

body.has-product-shell main .dashboard-module-grid .module-tile.routes {
    background: linear-gradient(145deg, #d77b10, #ad4f12) !important;
}

body.has-product-shell main .dashboard-module-grid .module-tile.export {
    background: linear-gradient(145deg, #b34b9c, #783883) !important;
}

body.has-product-shell main .dashboard-module-grid .module-tile:hover {
    box-shadow: 0 22px 42px rgba(5, 14, 23, .34) !important;
    filter: saturate(1.08) brightness(1.04);
    transform: translateY(-4px);
}

body.has-product-shell main .dashboard-module-grid .module-step {
    color: rgba(255, 255, 255, .78);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

body.has-product-shell main .dashboard-module-grid .module-icon {
    width: 48px;
    height: 48px;
    grid-row: 1 / span 2;
    grid-column: 2;
    border: 1px solid rgba(255, 255, 255, .3) !important;
    border-radius: 14px;
    background: rgba(7, 24, 36, .17) !important;
    color: #fff !important;
}

body.has-product-shell main .dashboard-module-grid .module-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

body.has-product-shell main .dashboard-module-grid .module-copy {
    align-self: end;
    grid-column: 1 / -1;
}

body.has-product-shell main .dashboard-module-grid .module-copy strong {
    margin: 0 0 8px;
    color: #fff !important;
    font-size: clamp(1.15rem, 1.25vw, 1.45rem);
    line-height: 1.08;
}

body.has-product-shell main .dashboard-module-grid .module-copy span {
    display: block;
    padding-right: 30px;
    color: rgba(255, 255, 255, .82) !important;
    font-size: .78rem;
    line-height: 1.38;
}

body.has-product-shell main .dashboard-module-grid .module-arrow {
    position: absolute;
    right: 18px;
    bottom: 14px;
    color: rgba(255, 255, 255, .72);
    font-size: 1.15rem;
}

body.has-product-shell main .dashboard-status-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr);
    gap: 14px;
    background: transparent;
}

body.has-product-shell main :is(.dashboard-status-block, .dashboard-presence-block) {
    min-width: 0;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid #49647a;
    border-radius: 20px;
    background: #26394a;
    box-shadow: 0 16px 34px rgba(7, 17, 28, .16);
}

body.has-product-shell main .dashboard-status-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

body.has-product-shell main .dashboard-status-heading h2 {
    margin: 2px 0 0;
    font-size: 1.35rem;
}

body.has-product-shell main .dashboard-status-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

body.has-product-shell main .dashboard-status-link {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #5b7890;
    border-radius: 10px;
    color: #dcebf5;
    background: #30495e;
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}

body.has-product-shell main .dashboard-status-link:hover {
    border-color: #75a7ca;
    color: #fff;
    background: #3a5971;
    transform: translateY(-1px);
}

body.has-product-shell main .dashboard-status-link.live {
    border-color: rgba(42, 198, 143, .5);
    color: #dff9ee;
    background: rgba(16, 115, 88, .28);
}

body.has-product-shell main .dashboard-status-link.live:hover {
    border-color: #35c895;
    background: rgba(16, 115, 88, .48);
}

body.has-product-shell main .dashboard-status-count {
    display: grid;
    min-width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #557088;
    border-radius: 10px;
    background: #30485c;
    color: #dce7ef;
    font-size: .8rem;
    font-weight: 850;
}

body.has-product-shell main .dashboard-online-count {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    padding: 6px 11px;
    border: 1px solid rgba(45, 190, 137, .35);
    border-radius: 999px;
    background: rgba(16, 115, 88, .2);
    color: #dff9ee;
    font-size: .74rem;
}

body.has-product-shell main .dashboard-online-count i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #2bc68e;
    box-shadow: 0 0 0 4px rgba(43, 198, 142, .13);
}

body.has-product-shell main .dashboard-online-count strong {
    color: #fff !important;
}

body.has-product-shell main .dashboard-online-count span {
    color: #bfe8d8;
}

body.has-product-shell main .dashboard-status-job {
    padding: 16px;
    border: 1px solid #4b657d !important;
    border-radius: 14px;
    background: #203141 !important;
    color: #edf4f8;
    text-decoration: none;
}

body.has-product-shell main .dashboard-status-job:hover {
    border-color: #6e90ad !important;
    background: #24394b !important;
}

body.has-product-shell main .dashboard-last-capture {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 16px;
    border: 1px solid #4b657d;
    border-radius: 14px;
    background: #203141;
    color: #edf4f8;
    text-decoration: none;
}

body.has-product-shell main .dashboard-last-capture > span:nth-child(2) {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .dashboard-last-capture small {
    color: #b8c7d2 !important;
}

body.has-product-shell main .dashboard-status-empty {
    padding: 18px;
    border: 1px dashed #536d84;
    border-radius: 13px;
    color: #b9c8d3;
    text-align: center;
}

body.has-product-shell main .dashboard-presence-block .presence-list {
    display: grid;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent !important;
}

html[data-theme="dark"] body.has-product-shell main .dashboard-presence-block .presence-list {
    border-color: transparent !important;
    background: transparent !important;
}

body.has-product-shell main .dashboard-presence-block .presence-item {
    gap: 12px;
    padding: 12px 0;
    border: 0 !important;
    border-top: 1px solid rgba(102, 132, 154, .28) !important;
    border-radius: 0;
    background: transparent !important;
}

body.has-product-shell main .dashboard-presence-block .presence-item:first-child {
    padding-top: 2px;
    border-top: 0 !important;
}

body.has-product-shell main .presence-avatar {
    position: relative;
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border: 1px solid rgba(111, 186, 224, .38);
    border-radius: 12px;
    background: linear-gradient(145deg, #2677c8, #18548b);
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
}

body.has-product-shell main .presence-avatar::after {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 10px;
    height: 10px;
    border: 2px solid #26394a;
    border-radius: 999px;
    background: #28c98f;
    content: "";
}

@media (min-width: 1101px) {
    body.has-product-shell .product-header {
        position: static;
        z-index: 120;
        min-height: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    body.has-product-shell .product-header-main {
        width: 0;
        min-height: 0;
        margin: 0;
    }

    body.has-product-shell .product-sidebar-navigation {
        padding-top: 90px;
        padding-bottom: 118px;
    }

    body.has-product-shell .product-page {
        padding-top: 32px;
    }

    body.has-product-shell .product-account-actions {
        position: fixed;
        z-index: 125;
        bottom: 14px;
        left: 12px;
        display: grid;
        width: 224px;
        grid-template-columns: 1fr;
        gap: 7px;
        padding-top: 12px;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    body.has-product-shell .sidebar-dataset-context {
        display: grid;
        min-width: 0;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        padding: 9px 10px 11px;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        cursor: pointer;
        list-style: none;
    }

    body.has-product-shell .sidebar-dataset-context::-webkit-details-marker {
        display: none;
    }

    body.has-product-shell .sidebar-dataset-picker {
        position: relative;
        min-width: 0;
    }

    body.has-product-shell .sidebar-dataset-chevron {
        color: #84a7bd;
        font-size: .72rem;
        transition: transform .16s ease;
    }

    body.has-product-shell .sidebar-dataset-picker[open] .sidebar-dataset-chevron {
        transform: rotate(180deg);
    }

    body.has-product-shell .sidebar-dataset-panel {
        position: absolute;
        z-index: 150;
        bottom: calc(100% + 8px);
        left: 0;
        display: grid;
        width: 320px;
        max-width: calc(100vw - 24px);
        gap: 8px;
        padding: 14px;
        border: 1px solid #496b83;
        border-radius: 13px;
        background: #10293c;
        box-shadow: 0 18px 42px rgba(2, 12, 20, .48);
    }

    body.has-product-shell .sidebar-dataset-panel label {
        color: #dceaf3;
        font-size: .72rem;
        font-weight: 850;
    }

    body.has-product-shell .sidebar-dataset-panel select {
        width: 100%;
        min-height: 44px;
        border-color: #56778e;
        border-radius: 9px;
        color: #f2f8fc;
        background: #17364c;
    }

    body.has-product-shell .sidebar-dataset-panel small {
        color: #91adbf;
        font-size: .66rem;
        line-height: 1.45;
    }

    body.has-product-shell .sidebar-dataset-code {
        display: grid;
        width: 42px;
        height: 38px;
        place-items: center;
        border: 1px solid rgba(139, 196, 226, .38);
        border-radius: 10px;
        background: rgba(37, 114, 160, .26);
        color: #d9f0ff;
        font-size: .72rem;
        font-weight: 900;
        letter-spacing: .05em;
    }

    body.has-product-shell .sidebar-dataset-copy {
        display: grid;
        min-width: 0;
        gap: 2px;
    }

    body.has-product-shell .sidebar-dataset-copy small {
        color: #8fa8ba;
        font-size: .58rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    body.has-product-shell .sidebar-dataset-copy strong {
        overflow: hidden;
        color: #eef7fb;
        font-size: .75rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.has-product-shell .product-account-actions .save-state-indicator {
        grid-column: 1 / -1;
    }

    body.has-product-shell .product-account-actions .help-menu {
        min-width: 0;
    }

    body.has-product-shell .product-account-actions .help-menu > summary {
        width: 100%;
        justify-content: center;
        padding-right: 8px;
        padding-left: 8px;
        border-color: rgba(132, 169, 197, .28);
        background: rgba(14, 35, 51, .48);
    }

    body.has-product-shell .product-account-actions .help-menu > summary > span:nth-child(2) {
        display: inline;
    }

    body.has-product-shell .product-account-actions .language-switcher {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr 1fr;
        border-color: rgba(132, 169, 197, .28);
        background: rgba(14, 35, 51, .48);
    }

    body.has-product-shell .product-account-actions .language-switcher :is(a, button) {
        width: 100%;
        justify-content: center;
    }

    body.has-product-shell .product-account-actions .account-menu {
        position: fixed;
        z-index: 126;
        top: 104px;
        left: 12px;
        width: 224px;
    }

    body.has-product-shell .product-account-actions .account-menu > summary {
        width: 100%;
        max-width: none;
        min-height: 52px;
        justify-content: flex-start;
        border-color: rgba(132, 169, 197, .28);
        background: rgba(14, 35, 51, .48);
    }

    body.has-product-shell .product-account-actions .account-copy {
        flex: 1;
        max-width: 140px;
    }

    body.has-product-shell .product-account-actions .help-menu-panel {
        position: fixed;
        top: auto;
        right: auto;
        bottom: 14px;
        left: 260px;
    }

    body.has-product-shell .product-account-actions .account-dropdown {
        position: fixed;
        top: 104px;
        right: auto;
        bottom: auto;
        left: 260px;
    }

    body.has-product-shell .workspace-shell.product-shell,
    body.has-product-shell .product-sidebar,
    body.has-product-shell .product-sidebar .product-sidebar-brand,
    body.has-product-shell .product-account-actions,
    body.has-product-shell .product-account-actions .account-menu,
    body.has-product-shell .product-account-actions :is(.help-menu-panel, .account-dropdown) {
        transition:
            width .2s ease,
            left .2s ease,
            padding .2s ease;
    }

    body.has-product-shell .product-sidebar-toggle {
        position: absolute;
        z-index: 130;
        top: 66px;
        right: 12px;
        display: grid;
        min-height: 29px;
        width: 29px;
        height: 29px;
        place-items: center;
        padding: 0;
        border: 1px solid rgba(132, 169, 197, .28);
        border-radius: 8px;
        background: rgba(14, 35, 51, .62);
        color: #fff;
        box-shadow: none;
        cursor: pointer;
    }

    body.has-product-shell .product-sidebar-toggle:hover {
        border-color: rgba(181, 221, 248, .58);
        background: rgba(43, 105, 143, .84);
    }

    body.has-product-shell .product-sidebar-toggle span {
        margin-top: -2px;
        font-size: 1.55rem;
        line-height: 1;
    }

    html[data-sidebar="compact"] body.has-product-shell .workspace-shell.product-shell {
        padding-left: 84px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar {
        width: 84px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar-toggle {
        right: 27px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar .product-sidebar-brand {
        justify-content: center;
        padding: 0;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar .product-sidebar-brand > span {
        display: none;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar-navigation {
        padding-right: 10px;
        padding-left: 10px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar-navigation a {
        justify-content: center;
        gap: 0;
        padding-right: 8px;
        padding-left: 8px;
        font-size: 0;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar-navigation a > span {
        flex: 0 0 auto;
        font-size: 16px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-sidebar-navigation a > .nav-step {
        font-size: 11px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions {
        left: 10px;
        width: 64px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .account-menu {
        left: 10px;
        width: 64px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .account-menu > summary {
        min-width: 0;
        justify-content: center;
        padding-right: 6px;
        padding-left: 6px;
    }

    html[data-sidebar="compact"] body.has-product-shell .sidebar-dataset-context {
        grid-template-columns: 1fr;
        justify-items: center;
        padding-right: 0;
        padding-left: 0;
    }

    html[data-sidebar="compact"] body.has-product-shell .sidebar-dataset-code {
        width: 42px;
    }

    html[data-sidebar="compact"] body.has-product-shell .sidebar-dataset-copy {
        display: none;
    }

    html[data-sidebar="compact"] body.has-product-shell .sidebar-dataset-chevron {
        display: none;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions :is(.account-copy, .account-chevron) {
        display: none;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .help-menu > summary {
        gap: 0;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .help-menu > summary > span:nth-child(2) {
        display: none;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .help-update-badge {
        position: absolute;
        top: 7px;
        right: 8px;
        min-width: 8px;
        min-height: 8px;
        width: 8px;
        height: 8px;
        overflow: hidden;
        padding: 0;
        border-radius: 999px;
        font-size: 0;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .language-switcher {
        padding: 3px;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .language-switcher button {
        min-width: 0;
        padding-right: 2px;
        padding-left: 2px;
        font-size: .66rem;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions .save-state-indicator {
        justify-content: center;
        padding: 6px;
        font-size: 0;
    }

    html[data-sidebar="compact"] body.has-product-shell .product-account-actions :is(.help-menu-panel, .account-dropdown) {
        left: 96px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.has-product-shell .workspace-shell.product-shell,
    body.has-product-shell .product-sidebar,
    body.has-product-shell .product-sidebar .product-sidebar-brand,
    body.has-product-shell .product-account-actions,
    body.has-product-shell .product-account-actions .account-menu,
    body.has-product-shell .product-account-actions :is(.help-menu-panel, .account-dropdown) {
        transition: none;
    }
}

@media (max-width: 1100px) {
    body.has-product-shell .product-sidebar-toggle {
        display: none;
    }

    body.has-product-shell .product-header-main {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.has-product-shell .product-account-actions {
        grid-column: 2;
    }
}

@media (max-width: 1800px) {
    body.has-product-shell main .dashboard-module-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    body.has-product-shell main .dashboard-module-grid .module-tile {
        min-height: 205px;
    }
}

@media (max-width: 920px) {
    body.has-product-shell main .dashboard-modules-heading,
    body.has-product-shell main .dashboard-status-panel {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .dashboard-modules-heading {
        display: grid;
        align-items: start;
    }

    body.has-product-shell main .dashboard-modules-heading > p {
        text-align: left;
    }

    body.has-product-shell main .dashboard-status-panel {
        gap: 1px;
    }

    body.has-product-shell main .dashboard-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .dashboard-status-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .dashboard-status-heading-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    body.has-product-shell main .dashboard-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    body.has-product-shell main .dashboard-module-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .dashboard-module-grid .module-tile {
        min-height: 180px;
    }
}

/* Capture workflow: a focused three-step assistant in the dashboard language. */
body.has-product-shell main .fr24-workspace {
    display: block;
    max-width: 1500px;
    margin: 0 auto;
}

body.has-product-shell main .capture-page-hero {
    max-width: 1500px;
    min-height: 128px;
    margin: 0 auto 24px;
    padding: 20px 32px;
    background:
        radial-gradient(circle at 86% 8%, rgba(28, 135, 170, .2), transparent 18rem),
        linear-gradient(125deg, #123b5b 0%, #17364e 62%, #1a4056 100%) !important;
}

body.has-product-shell main .capture-page-hero::after {
    right: -26px;
    bottom: -76px;
    width: 270px;
    height: 270px;
}

body.has-product-shell main .capture-page-hero h1 {
    margin: 5px 0 10px;
    font-size: clamp(2.15rem, 3.5vw, 3.35rem);
    line-height: 1;
}

body.has-product-shell main .capture-page-hero p {
    font-size: .94rem;
}

body.has-product-shell main .capture-config-card {
    overflow: hidden;
    padding: 0;
    border: 1px solid #49647a !important;
    border-top: 0 !important;
    border-radius: 22px;
    background: #26394a !important;
    box-shadow: 0 22px 52px rgba(7, 17, 28, .24) !important;
}

body.has-product-shell main .capture-config-card > .config-card-header {
    min-height: 118px;
    align-items: center;
    padding: 26px 34px;
    border: 0 !important;
    border-bottom: 1px solid rgba(111, 145, 170, .28) !important;
    background:
        radial-gradient(circle at 88% 0%, rgba(28, 135, 170, .16), transparent 20rem),
        linear-gradient(125deg, #123b5b 0%, #17364e 68%, #1a2d40 100%) !important;
}

html[data-theme="dark"] body.has-product-shell main
    .capture-config-card > .config-card-header {
    background:
        radial-gradient(circle at 88% 0%, rgba(28, 135, 170, .16), transparent 20rem),
        linear-gradient(125deg, #123b5b 0%, #17364e 68%, #1a2d40 100%) !important;
}

body.has-product-shell main .capture-config-card > .config-card-header h2 {
    margin: 2px 0 5px;
    color: #fff !important;
    font-size: clamp(1.5rem, 2vw, 2.05rem);
}

body.has-product-shell main .capture-config-card > .config-card-header p {
    margin: 0;
    color: #cfdee7 !important;
}

body.has-product-shell main .capture-config-card > .config-card-header .eyebrow {
    color: #91e1df !important;
}

body.has-product-shell main .capture-config-card .config-state {
    border: 1px solid rgba(153, 225, 226, .3);
    background: rgba(10, 42, 57, .34);
    color: #d7f4f3;
}

body.has-product-shell main .capture-form-errors {
    margin: 24px 34px 0;
}

body.has-product-shell main .capture-wizard {
    scroll-margin-top: 24px;
}

body.has-product-shell main .capture-wizard-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0 34px;
    border-bottom: 1px solid rgba(111, 145, 170, .24);
    background: #1a3044;
    list-style: none;
}

body.has-product-shell main .capture-wizard-rail li {
    position: relative;
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: center;
    color: #91a4b5;
}

body.has-product-shell main .capture-wizard-rail li > button {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 16px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

body.has-product-shell main .capture-wizard-rail li > button:hover {
    background: rgba(91, 137, 169, .13);
    color: #e9f1f6;
}

body.has-product-shell main .capture-wizard-rail li > button:focus-visible {
    outline: 2px solid #67d4ce;
    outline-offset: 2px;
}

body.has-product-shell main .capture-wizard-rail li:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: -20%;
    width: 40%;
    height: 1px;
    background: #40566a;
    content: "";
}

body.has-product-shell main .capture-wizard-rail li > button > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #526b81;
    border-radius: 9px;
    background: #26394a;
    color: #b8c7d3;
    font-size: .76rem;
    font-weight: 850;
}

body.has-product-shell main .capture-wizard-rail li strong {
    color: inherit !important;
    font-size: .82rem;
}

body.has-product-shell main .capture-wizard-rail li.active {
    color: #fff;
}

body.has-product-shell main .capture-wizard-rail li.active > button > span {
    border-color: #47c1ba;
    background: #118d89;
    color: #fff;
    box-shadow: 0 0 0 5px rgba(71, 193, 186, .1);
}

body.has-product-shell main .capture-wizard-rail li.complete {
    color: #b5d8d4;
}

body.has-product-shell main .capture-wizard-rail li.complete > button > span {
    border-color: #3b8e84;
    background: #1d5e58;
    color: #d8f4ef;
}

body.has-product-shell main .capture-wizard-stage {
    height: 720px;
    min-height: 720px;
}

body.has-product-shell main .capture-wizard-panel {
    display: none;
    height: 720px;
    min-height: 720px;
    overflow-y: auto;
    padding: clamp(28px, 4vw, 52px);
}

body.has-product-shell main .capture-wizard-panel.active {
    display: flex;
    flex-direction: column;
    animation: capture-panel-forward .28s ease both;
}

body.has-product-shell main .capture-wizard[data-direction="back"] .capture-wizard-panel.active {
    animation-name: capture-panel-back;
}

@keyframes capture-panel-forward {
    from { opacity: 0; transform: translateX(24px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes capture-panel-back {
    from { opacity: 0; transform: translateX(-24px); }
    to { opacity: 1; transform: translateX(0); }
}

body.has-product-shell main .capture-wizard-heading {
    max-width: 820px;
    margin-bottom: 30px;
}

body.has-product-shell main .capture-wizard-heading .eyebrow {
    color: #72d5cf !important;
}

body.has-product-shell main .capture-wizard-heading h3 {
    margin: 6px 0 9px;
    color: #fff !important;
    font-size: clamp(1.7rem, 2.5vw, 2.5rem);
    line-height: 1.08;
}

body.has-product-shell main .capture-wizard-heading h3:focus {
    outline: none;
}

body.has-product-shell main .capture-wizard-heading p {
    max-width: 720px;
    margin: 0;
    color: #b9c8d3 !important;
    font-size: .96rem;
}

body.has-product-shell main .capture-wizard-panel .config-section,
body.has-product-shell main .capture-wizard-panel .config-section:nth-child(even) {
    padding: 0;
    border: 0 !important;
    background: transparent !important;
}

html[data-theme="dark"] body.has-product-shell main
    .capture-config-card
    .capture-wizard-panel
    .config-section,
html[data-theme="dark"] body.has-product-shell main
    .capture-config-card
    .capture-wizard-panel
    .config-section:nth-child(even) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.has-product-shell main .capture-wizard-panel .source-config-section > .config-section-heading {
    display: none;
}

body.has-product-shell main .source-wizard-panel {
    padding-top: 28px;
    padding-bottom: 28px;
}

body.has-product-shell main .source-wizard-panel .capture-wizard-heading {
    margin-bottom: 18px;
}

body.has-product-shell main .capture-wizard-panel .config-section + .config-section {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid rgba(111, 145, 170, .24) !important;
}

body.has-product-shell main .capture-wizard-panel .dataset-choice-section {
    display: grid;
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    min-height: 220px;
    margin-top: 14px;
    padding: 16px 18px !important;
    border: 1px solid #4a667e !important;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(35, 112, 146, .13), transparent 18rem),
        linear-gradient(145deg, #1c3046, #17364e) !important;
}

body.has-product-shell main .capture-wizard-panel .dataset-choice-section .config-section-heading {
    margin: 2px 0 0;
}

body.has-product-shell main .capture-wizard-panel .dataset-choice-section .mode-fields {
    margin-top: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
}

html[data-theme="dark"] body.has-product-shell main
    .capture-config-card
    .capture-wizard-panel
    .dataset-choice-section {
    padding: 16px 18px !important;
    border: 1px solid #4a667e !important;
    background:
        radial-gradient(circle at 92% 0%, rgba(35, 112, 146, .13), transparent 18rem),
        linear-gradient(145deg, #1c3046, #17364e) !important;
}

html[data-theme="dark"] body.has-product-shell main
    .capture-config-card
    .capture-wizard-panel
    .dataset-choice-section
    .mode-fields {
    padding: 0;
    border: 0 !important;
    background: transparent !important;
}

body.has-product-shell main .dataset-wizard-panel {
    padding-top: 24px;
    padding-bottom: 24px;
}

body.has-product-shell main .dataset-wizard-panel .capture-wizard-heading {
    margin-bottom: 14px;
}

body.has-product-shell main .dataset-wizard-panel .capture-wizard-heading h3 {
    font-size: clamp(1.7rem, 2.15vw, 2.2rem);
}

body.has-product-shell main .dataset-wizard-panel .workflow-choice-section > .config-section-heading {
    display: none;
}

body.has-product-shell main .dataset-wizard-panel .workflow-card {
    min-height: 132px;
    padding: 16px 18px;
}

body.has-product-shell main .dataset-wizard-panel .workflow-card .workflow-mark {
    width: 42px;
    height: 42px;
}

body.has-product-shell main .dataset-wizard-panel .capture-wizard-actions {
    margin-top: 16px;
    padding-top: 0;
}

body.has-product-shell main .settings-wizard-panel {
    padding: 20px 34px;
}

body.has-product-shell main .settings-wizard-panel .capture-wizard-heading {
    margin-bottom: 10px;
}

body.has-product-shell main .settings-wizard-panel .capture-wizard-heading h3 {
    font-size: clamp(1.65rem, 2vw, 2.05rem);
}

body.has-product-shell main .settings-wizard-panel .settings-config-section > .config-section-heading {
    display: none;
}

body.has-product-shell main .settings-wizard-panel .source-window-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 11px 14px;
    border: 1px solid #4c6a82;
    border-radius: 15px;
    background: linear-gradient(145deg, #24465e, #1e374d) !important;
}

body.has-product-shell main .settings-wizard-panel .source-window-field,
body.has-product-shell main .settings-wizard-panel .source-history-field {
    display: grid;
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px 14px;
    padding: 0 18px;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
}

body.has-product-shell main .settings-wizard-panel .source-window-field {
    padding-left: 0;
}

body.has-product-shell main .settings-wizard-panel .source-history-field {
    padding-right: 0;
    border-left: 1px solid rgba(111, 145, 170, .34) !important;
}

body.has-product-shell main .settings-wizard-panel :is(.viacc-window-copy, .intrepid-window-copy) {
    min-height: 78px;
    padding: 11px 14px;
    border: 1px solid #4c6a82;
    border-radius: 15px;
    background: linear-gradient(145deg, #24465e, #1e374d) !important;
}

body.has-product-shell main .settings-wizard-panel :is(.source-window-field, .source-history-field) input {
    width: 86px;
}

body.has-product-shell main .settings-wizard-panel :is(.source-window-field, .source-history-field) small {
    grid-column: 1 / -1;
}

body.has-product-shell main .settings-wizard-panel .capture-enrichment {
    grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 16px;
    background: #1c3043 !important;
}

body.has-product-shell main .settings-wizard-panel .scope-options {
    gap: 10px;
}

body.has-product-shell main .settings-wizard-panel .scope-option {
    min-height: 60px;
    padding: 10px 12px;
    border-radius: 14px;
    color: #fff !important;
}

body.has-product-shell main .settings-wizard-panel .capture-enrichment-options .scope-option:first-child {
    border-color: rgba(115, 229, 219, .48) !important;
    background: linear-gradient(145deg, #128c87, #0b6f75) !important;
}

body.has-product-shell main .settings-wizard-panel .capture-enrichment-options .scope-option:last-child {
    border-color: rgba(145, 187, 255, .48) !important;
    background: linear-gradient(145deg, #356fce, #294f9d) !important;
}

body.has-product-shell main .settings-wizard-panel .capture-enrichment-heading {
    padding-left: 4px;
}

body.has-product-shell main .settings-wizard-panel .legacy-capture-options {
    gap: 10px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #486177;
    border-radius: 16px;
    background: #1c3043 !important;
}

body.has-product-shell main .settings-wizard-panel .legacy-capture-options .scope-option:first-child {
    border-color: rgba(235, 151, 58, .44) !important;
    border-left: 4px solid #e58a28 !important;
    background: #26394a !important;
}

body.has-product-shell main .settings-wizard-panel .legacy-capture-options .cache-rebuild-notice {
    border-color: #4a6278 !important;
    border-left: 4px solid #7b6bb5 !important;
    background: #26394a !important;
}

body.has-product-shell main .settings-wizard-panel .scope-option:has(input:checked) {
    border-color: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .1) !important;
}

body.has-product-shell main .settings-wizard-panel .scope-option :where(strong, small),
body.has-product-shell main .settings-wizard-panel .cache-rebuild-notice :where(strong, small) {
    color: #fff !important;
}

body.has-product-shell main .settings-wizard-panel .scope-option small,
body.has-product-shell main .settings-wizard-panel .cache-rebuild-notice small {
    opacity: .82;
}

body.has-product-shell main .settings-wizard-panel .cache-context-help {
    grid-column: 1 / -1;
    margin-top: 8px;
    padding: 6px 10px;
    border-left-color: #5a768e !important;
    border-radius: 9px;
    background: #1b2f42 !important;
}

body.has-product-shell main .settings-wizard-panel .advanced-settings {
    margin: 8px 0 0;
    border-radius: 13px;
}

body.has-product-shell main .settings-wizard-panel .advanced-settings summary {
    padding: 10px 13px;
}

body.has-product-shell main .settings-wizard-panel .form-actions.compact-actions {
    margin-top: 8px;
    padding: 11px 13px;
}

@media (min-width: 1100px) {
    body.has-product-shell main :is(
        .source-wizard-panel,
        .settings-wizard-panel
    ) {
        overflow-y: hidden;
    }

    body.has-product-shell main
        .settings-wizard-panel:has(.advanced-settings[open]) {
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }
}

body.has-product-shell main .capture-wizard-panel .config-section-heading {
    margin-bottom: 16px;
}

body.has-product-shell main .capture-wizard-panel .config-section-heading .config-step {
    border-color: #4a667e !important;
    background: #203141 !important;
    color: #a9c3d5 !important;
}

body.has-product-shell main .capture-wizard-panel .config-section-heading strong {
    color: #eef4f8 !important;
}

body.has-product-shell main .capture-wizard-panel .config-section-heading small {
    color: #aebdca !important;
}

body.has-product-shell main .capture-wizard-panel .source-selector {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    padding: 0;
    border: 0;
    background: transparent !important;
    box-shadow: none !important;
}

body.has-product-shell main .capture-wizard-panel .source-card {
    position: relative;
    display: grid;
    min-height: 176px;
    grid-template-areas:
        "indicator icon"
        ". ."
        "copy copy";
    grid-template-columns: minmax(0, 1fr) 54px;
    grid-template-rows: auto 1fr auto;
    gap: 12px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 18px;
    color: #eef4f8 !important;
    box-shadow: none !important;
    isolation: isolate;
}

body.has-product-shell main .capture-wizard-panel .source-card:hover {
    border-color: rgba(255, 255, 255, .4) !important;
    filter: brightness(1.07);
    transform: translateY(-4px);
}

body.has-product-shell main .capture-wizard-panel .source-card > span:nth-of-type(2) {
    z-index: 1;
    grid-area: copy;
    align-self: end;
}

body.has-product-shell main .capture-wizard-panel .source-card strong {
    display: block;
    margin-bottom: 7px;
    color: #fff !important;
    font-size: 1.18rem;
}

body.has-product-shell main .capture-wizard-panel .source-card small {
    color: rgba(255, 255, 255, .86) !important;
    line-height: 1.45;
}

body.has-product-shell main .capture-wizard-panel .source-card .source-icon {
    z-index: 1;
    display: grid;
    width: 54px;
    height: 54px;
    grid-area: icon;
    justify-self: end;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 15px;
    background: rgba(5, 18, 28, .52);
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 10px 22px rgba(4, 13, 21, .16);
}

body.has-product-shell main .capture-wizard-panel .source-card .selection-indicator {
    z-index: 1;
    grid-area: indicator;
    align-self: center;
    width: max-content;
    opacity: 0;
    color: rgba(255, 255, 255, .92) !important;
    letter-spacing: .08em;
}

body.has-product-shell main .capture-wizard-panel .source-card:has(input:checked) .selection-indicator,
body.has-product-shell main .capture-wizard-panel .source-card.selected .selection-indicator {
    opacity: 1;
}

body.has-product-shell main .capture-wizard-panel .source-card:has(input:checked),
body.has-product-shell main .capture-wizard-panel .source-card.selected {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .11) !important;
}

body.has-product-shell main .capture-wizard-panel .legacy-source {
    background: linear-gradient(145deg, #159c98, #08777d) !important;
}

body.has-product-shell main .capture-wizard-panel .api-source {
    background: linear-gradient(145deg, #3979dd, #2857ae) !important;
}

body.has-product-shell main .capture-wizard-panel .viacc-source {
    background: linear-gradient(145deg, #26956f, #15715f) !important;
}

body.has-product-shell main .capture-wizard-panel .intrepid-source {
    background: linear-gradient(145deg, #7957ce, #5c409e) !important;
}

body.has-product-shell main .capture-wizard-panel :is(
    .api-source-settings,
    .viacc-source-settings,
    .intrepid-source-settings
) {
    gap: 10px;
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid #486177 !important;
    border-radius: 16px;
    background: #203141 !important;
    color: #eaf2f7 !important;
}

body.has-product-shell main .capture-wizard-panel .api-source-settings {
    grid-template-columns: minmax(0, 1fr);
}

body.has-product-shell main .capture-wizard-panel .api-source-settings .api-credential-grid {
    grid-template-columns: minmax(0, 2fr) minmax(130px, .65fr) minmax(160px, .75fr);
    gap: 10px 12px;
}

body.has-product-shell main
    .capture-wizard-panel
    .api-source-settings
    .api-credential-grid
    > .field-group {
    align-content: start;
}

body.has-product-shell main
    .capture-wizard-panel
    .api-source-settings
    .api-credential-grid
    > .field-group
    :is(input, select) {
    height: 48px;
    min-height: 48px;
}

body.has-product-shell main .capture-wizard-panel .api-source-settings .api-credential-grid .wide-field {
    grid-column: auto !important;
}

body.has-product-shell main .capture-wizard-panel :is(
    .api-source-settings,
    .viacc-source-settings,
    .intrepid-source-settings
) :where(.api-preview-message, p) {
    margin-top: 0;
    margin-bottom: 0;
}

body.has-product-shell main .capture-wizard-panel .viacc-source-settings {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr);
    align-items: center;
}

body.has-product-shell main .capture-wizard-panel .viacc-source-settings > .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.has-product-shell main
    .capture-wizard-panel
    .viacc-source-settings
    > .form-grid
    > .field-group {
    align-content: start;
}

body.has-product-shell main
    .capture-wizard-panel
    .viacc-source-settings
    > .form-grid
    > .field-group
    input {
    height: 48px;
    min-height: 48px;
}

body.has-product-shell main .capture-wizard-panel .viacc-source-settings > .api-preview-message {
    grid-column: 1 / -1;
}

body.has-product-shell main .capture-wizard-panel .intrepid-source-settings {
    grid-template-columns: minmax(0, 1.35fr) minmax(380px, .9fr);
    align-items: center;
}

body.has-product-shell main .capture-wizard-panel .intrepid-source-settings > .intrepid-profile {
    margin: 0;
}

body.has-product-shell main .capture-wizard-panel .intrepid-source-settings > .api-preview-message {
    grid-column: 1 / -1;
}

body.has-product-shell main .capture-wizard-panel :is(
    .api-source-settings,
    .viacc-source-settings,
    .intrepid-source-settings
) :where(strong, label) {
    color: #eef5f8 !important;
}

body.has-product-shell main .capture-wizard-panel :is(
    .api-source-settings,
    .viacc-source-settings,
    .intrepid-source-settings
) :where(p, small) {
    color: #b4c4d0 !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card {
    position: relative;
    display: grid;
    min-height: 190px;
    grid-template-areas:
        "indicator mark"
        ". ."
        "copy copy";
    grid-template-columns: minmax(0, 1fr) 52px;
    grid-template-rows: auto 1fr auto;
    gap: 12px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 18px;
    color: #fff !important;
    box-shadow: none !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card.compare-mode {
    background: linear-gradient(145deg, #3979dd, #2857ae) !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card.new-mode {
    background: linear-gradient(145deg, #159c98, #08777d) !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card > span:nth-of-type(2) {
    grid-area: copy;
    align-self: end;
}

body.has-product-shell main .capture-wizard-panel .workflow-card :where(strong, small) {
    color: #fff !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card strong {
    display: block;
    margin-bottom: 7px;
    font-size: 1.16rem;
}

body.has-product-shell main .capture-wizard-panel .workflow-card small {
    color: rgba(255, 255, 255, .86) !important;
    line-height: 1.45;
}

body.has-product-shell main .capture-wizard-panel .workflow-card .workflow-mark {
    display: grid;
    width: 52px;
    height: 52px;
    grid-area: mark;
    justify-self: end;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    border-radius: 15px;
    background: rgba(5, 18, 28, .5) !important;
    color: #fff !important;
    font-size: 1.25rem;
}

body.has-product-shell main .capture-wizard-panel .workflow-card .selection-indicator {
    grid-area: indicator;
    align-self: center;
    width: max-content;
    max-width: 100%;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    background: rgba(5, 18, 28, .28) !important;
    color: rgba(255, 255, 255, .92) !important;
    letter-spacing: .06em;
}

body.has-product-shell main .capture-wizard-panel .workflow-card .selection-indicator.unavailable {
    display: block !important;
    opacity: 1;
}

body.has-product-shell main .capture-wizard-panel .workflow-card:has(input:disabled) {
    cursor: not-allowed;
    filter: saturate(.42) brightness(.64);
}

body.has-product-shell main .capture-wizard-panel .workflow-card:hover {
    filter: brightness(1.07);
    transform: translateY(-3px);
}

body.has-product-shell main .capture-wizard-panel .workflow-card:has(input:disabled):hover {
    filter: saturate(.42) brightness(.64);
    transform: none;
}

body.has-product-shell main .capture-wizard-panel .workflow-card:has(input:checked),
body.has-product-shell main .capture-wizard-panel .workflow-card.selected {
    border-color: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .11) !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card.compare-mode:has(input:checked),
body.has-product-shell main .capture-wizard-panel .workflow-card.compare-mode.selected {
    border-color: rgba(255, 255, 255, .78) !important;
    background: linear-gradient(145deg, #3979dd, #2857ae) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .11) !important;
}

body.has-product-shell main .capture-wizard-panel .workflow-card.new-mode:has(input:checked),
body.has-product-shell main .capture-wizard-panel .workflow-card.new-mode.selected {
    border-color: rgba(255, 255, 255, .78) !important;
    background: linear-gradient(145deg, #159c98, #08777d) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .11) !important;
}

body.has-product-shell main .capture-wizard-panel :where(
    .mode-fields,
    .capture-enrichment,
    .scope-option,
    .advanced-settings,
    .context-help,
    .form-actions.compact-actions
) {
    border-color: #486177 !important;
    background: #203141 !important;
    color: #eaf2f7 !important;
}

body.has-product-shell main .capture-wizard-panel .mode-fields {
    margin-top: 14px;
    padding: 24px;
    border: 1px solid #4a667e;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(35, 112, 146, .16), transparent 18rem),
        linear-gradient(145deg, #1c3046, #17364e) !important;
    box-shadow: none !important;
}

body.has-product-shell main .capture-wizard-panel .field-group :is(label, strong),
body.has-product-shell main .capture-wizard-panel .capture-enrichment-heading strong,
body.has-product-shell main .capture-wizard-panel .scope-option strong {
    color: #eef5f8 !important;
}

body.has-product-shell main .capture-wizard-panel .field-group small,
body.has-product-shell main .capture-wizard-panel .capture-enrichment-heading small,
body.has-product-shell main .capture-wizard-panel .scope-option small {
    color: #aebfcd !important;
}

body.has-product-shell main .capture-wizard-panel :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    border-color: #587087 !important;
    background: #182938 !important;
    color: #f4f7fa !important;
}

body.has-product-shell main .capture-wizard-panel .capture-enrichment,
body.has-product-shell main .capture-wizard-panel .legacy-capture-options {
    margin-top: 18px;
}

body.has-product-shell main .capture-wizard-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 34px;
}

body.has-product-shell main .capture-wizard-actions :where(button, a),
body.has-product-shell main .capture-submit-actions :where(button, a) {
    min-height: 44px;
}

body.has-product-shell main .capture-submit-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.has-product-shell main .capture-wizard-panel .form-actions.compact-actions {
    margin-top: 24px;
    padding: 18px;
    border: 1px solid #486177 !important;
    border-radius: 15px;
}

body.has-product-shell main .capture-wizard-panel .form-actions.compact-actions > div:first-child strong {
    color: #fff !important;
}

body.has-product-shell main .capture-wizard-panel .form-actions.compact-actions > div:first-child span {
    color: #aebfcd !important;
}

/* Fleet IDs and aircraft share one guided workspace. */
body.has-product-shell main .fleet-page-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    overflow: hidden;
    border: 1px solid #3e6784;
    border-radius: 22px;
}

body.has-product-shell main .fleet-page-hero > * {
    position: relative;
    z-index: 1;
}

body.has-product-shell main .fleet-page-hero .workspace-clear-button {
    flex: 0 0 auto;
    border-color: rgba(197, 225, 238, .34);
    background: rgba(11, 39, 56, .48);
    color: #eaf4f8;
}

body.has-product-shell main .fleet-intake-card,
body.has-product-shell main .fleet-combined-rail,
body.has-product-shell main .fleet-source-grid {
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
}

body.has-product-shell main .fleet-combined-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 20px;
    padding: 0 34px;
    border: 1px solid #49647a;
    border-radius: 18px;
    background: #1a3044;
}

/* Fleet step 4: visual group rules plus a guarded CSV round-trip. */
body.has-product-shell main .fleet-group-step-card {
    max-width: 1500px;
    min-height: 780px;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

body.has-product-shell main .fleet-group-page-header {
    min-height: 116px;
}

body.has-product-shell main .fleet-group-kpis {
    display: grid;
    min-width: 330px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

body.has-product-shell main .fleet-group-kpis > span,
body.has-product-shell main .fleet-group-preview-counts > span {
    display: grid;
    min-height: 58px;
    place-content: center;
    gap: 2px;
    padding: 8px 12px;
    border: 1px solid rgba(106, 151, 179, .42);
    border-radius: 12px;
    background: rgba(13, 40, 58, .46);
    text-align: center;
}

body.has-product-shell main .fleet-group-kpis strong,
body.has-product-shell main .fleet-group-preview-counts strong {
    color: #fff !important;
    font-size: 1.05rem;
}

body.has-product-shell main .fleet-group-kpis small,
body.has-product-shell main .fleet-group-preview-counts small {
    color: #9fb5c4;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-group-workspace-new {
    display: grid;
    gap: 24px;
    padding: 26px 28px 24px;
}

body.has-product-shell main .fleet-group-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr);
    gap: 18px;
    align-items: stretch;
}

body.has-product-shell main .fleet-group-builder-card,
body.has-product-shell main .fleet-group-import-preview,
body.has-product-shell main .fleet-group-existing {
    overflow: hidden;
    border: 1px solid #4a667e;
    border-radius: 18px;
    background:
        radial-gradient(circle at 94% 0%, rgba(36, 119, 148, .12), transparent 23rem),
        linear-gradient(145deg, #1c3046, #17364e);
    color: #edf5f9;
}

body.has-product-shell main .fleet-group-builder-card {
    padding: 22px;
}

body.has-product-shell main .fleet-group-builder-card > header,
body.has-product-shell main .fleet-group-import-preview > header,
body.has-product-shell main .fleet-group-existing > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

body.has-product-shell main .fleet-group-builder-card > header {
    justify-content: flex-start;
    margin-bottom: 20px;
}

body.has-product-shell main .fleet-group-builder-card h3,
body.has-product-shell main .fleet-group-import-preview h3,
body.has-product-shell main .fleet-group-existing h3 {
    margin: 3px 0 5px;
    color: #fff !important;
    font-size: 1.24rem;
}

body.has-product-shell main .fleet-group-builder-card p,
body.has-product-shell main .fleet-group-import-preview p,
body.has-product-shell main .fleet-group-existing p {
    margin: 0;
    color: #aebfcd !important;
    font-size: .78rem;
    line-height: 1.5;
}

body.has-product-shell main .fleet-group-card-icon {
    display: grid;
    min-width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(116, 218, 208, .4);
    border-radius: 13px;
    background: rgba(12, 95, 94, .46);
    color: #8ee8df;
    font-size: .7rem;
    font-weight: 900;
}

body.has-product-shell main .fleet-group-builder-card.import .fleet-group-card-icon {
    border-color: rgba(130, 164, 236, .5);
    background: rgba(38, 84, 145, .48);
    color: #bdd2ff;
}

body.has-product-shell main .fleet-group-editor-form {
    display: grid;
    gap: 16px;
}

body.has-product-shell main .fleet-group-name-field {
    display: grid;
    gap: 6px;
}

body.has-product-shell main .fleet-group-name-field > span,
body.has-product-shell main .fleet-group-selection-columns legend {
    color: #eaf3f7;
    font-size: .74rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-group-name-field input {
    width: 100%;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid #46637b;
    border-radius: 10px;
    background: #10283b;
    color: #fff;
}

body.has-product-shell main .fleet-group-selection-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

body.has-product-shell main .fleet-group-selection-columns fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

body.has-product-shell main .fleet-group-selection-columns fieldset > small {
    display: block;
    min-height: 35px;
    margin: 4px 0 8px;
    color: #93aabc;
    font-size: .68rem;
    line-height: 1.35;
}

body.has-product-shell main .fleet-group-rule-arrow {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #46637b;
    border-radius: 50%;
    background: #142d42;
    color: #77d7cf;
    font-weight: 900;
}

body.has-product-shell main .fleet-group-assignment-matrix {
    overflow: hidden;
    border: 1px solid #46637b;
    border-radius: 14px;
    background: rgba(10, 29, 44, .5);
}

body.has-product-shell main .fleet-group-assignment-list {
    max-height: 320px;
    overflow: auto;
}

body.has-product-shell main .fleet-group-assignment-row {
    display: grid;
    min-height: 58px;
    grid-template-columns: minmax(240px, 1fr) minmax(150px, .42fr) minmax(150px, .42fr);
    align-items: stretch;
    border-bottom: 1px solid rgba(76, 105, 128, .58);
}

body.has-product-shell main .fleet-group-assignment-row:last-child {
    border-bottom: 0;
}

body.has-product-shell main .fleet-group-assignment-row.head {
    min-height: 48px;
    background: #132c40;
    color: #a9bdcc;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .025em;
}

body.has-product-shell main .fleet-group-assignment-row.head > span {
    display: flex;
    align-items: center;
    padding: 9px 14px;
}

body.has-product-shell main .fleet-group-assignment-row.head > span:not(:first-child) {
    justify-content: center;
    border-left: 1px solid rgba(76, 105, 128, .58);
    text-align: center;
}

body.has-product-shell main .fleet-group-assignment-aircraft {
    display: grid;
    min-width: 0;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
}

body.has-product-shell main .fleet-group-assignment-aircraft strong {
    min-width: 46px;
    color: #fff;
    font-size: .84rem;
}

body.has-product-shell main .fleet-group-assignment-aircraft > span {
    padding: 4px 7px;
    border: 1px solid rgba(119, 215, 207, .34);
    border-radius: 7px;
    background: rgba(16, 117, 112, .18);
    color: #8ee8df;
    font-size: .66rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-group-assignment-aircraft small {
    overflow: hidden;
    color: #a9bac7;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .fleet-group-assignment-choice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 9px;
    border-left: 1px solid rgba(76, 105, 128, .58);
    cursor: pointer;
    transition: background .16s ease;
}

body.has-product-shell main .fleet-group-assignment-choice:hover {
    background: rgba(68, 191, 182, .09);
}

body.has-product-shell main .fleet-group-assignment-choice.allowed:hover {
    background: rgba(82, 126, 214, .11);
}

body.has-product-shell main .fleet-group-assignment-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

body.has-product-shell main .fleet-group-assignment-choice > span {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border: 1px solid #587187;
    border-radius: 8px;
    background: #11283b;
    color: transparent;
    font-size: .8rem;
    font-weight: 900;
}

body.has-product-shell main .fleet-group-assignment-choice small {
    color: #94aabb;
    font-size: .64rem;
    font-weight: 750;
}

body.has-product-shell main .fleet-group-assignment-choice:has(input:checked) {
    background: rgba(16, 117, 112, .2);
}

body.has-product-shell main .fleet-group-assignment-choice.allowed:has(input:checked) {
    background: rgba(45, 89, 166, .24);
}

body.has-product-shell main .fleet-group-assignment-choice:has(input:checked) > span {
    border-color: #35c6bb;
    background: #159a92;
    color: #fff;
}

body.has-product-shell main .fleet-group-assignment-choice.allowed:has(input:checked) > span {
    border-color: #78a4ff;
    background: #386fc7;
}

body.has-product-shell main .fleet-group-matrix-note {
    margin: 0 !important;
    padding: 8px 14px;
    border-top: 1px solid rgba(76, 105, 128, .58);
    background: rgba(25, 49, 68, .82);
    color: #9db1c0 !important;
    font-size: .65rem !important;
}

body.has-product-shell main .fleet-group-overview-card {
    min-width: 0;
}

body.has-product-shell main .fleet-group-builder-grid.overview-layout {
    grid-template-columns: minmax(0, 1fr);
}

body.has-product-shell main .fleet-group-overview {
    overflow: hidden;
    border: 1px solid #46637b;
    border-radius: 14px;
    background: rgba(10, 29, 44, .5);
}

body.has-product-shell main .fleet-group-overview-row {
    display: grid;
    min-height: 66px;
    grid-template-columns: minmax(230px, .85fr) minmax(240px, 1.15fr) 86px 110px;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(76, 105, 128, .58);
}

body.has-product-shell main .fleet-group-overview-row:last-child {
    border-bottom: 0;
}

body.has-product-shell main .fleet-group-overview-row.head {
    min-height: 42px;
    background: #132c40;
    color: #a9bdcc;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .025em;
}

body.has-product-shell main .fleet-group-overview-aircraft {
    display: grid;
    min-width: 0;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

body.has-product-shell main .fleet-group-overview-aircraft > strong {
    min-width: 42px;
    color: #fff;
    font-size: .86rem;
}

body.has-product-shell main .fleet-group-overview-aircraft > span {
    padding: 4px 7px;
    border: 1px solid rgba(119, 215, 207, .34);
    border-radius: 7px;
    background: rgba(16, 117, 112, .18);
    color: #8ee8df;
    font-size: .65rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-group-overview-aircraft > small {
    overflow: hidden;
    color: #a9bac7;
    font-size: .69rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .fleet-group-overview-allowed {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 5px;
}

body.has-product-shell main .fleet-group-overview-allowed b {
    padding: 5px 8px;
    border: 1px solid rgba(91, 139, 225, .45);
    border-radius: 999px;
    background: rgba(45, 89, 166, .24);
    color: #cbdcff;
    font-size: .62rem;
}

body.has-product-shell main .fleet-group-overview-allowed small {
    color: #879dad;
    font-size: .66rem;
}

body.has-product-shell main .fleet-group-overview-state {
    justify-self: start;
    padding: 5px 8px;
    border: 1px solid #4b677d;
    border-radius: 999px;
    color: #9fb3c1;
    font-size: .61rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-group-overview-state.active {
    border-color: rgba(42, 189, 148, .5);
    background: rgba(27, 130, 103, .17);
    color: #72dfc0;
}

body.has-product-shell main .fleet-group-open-editor {
    width: 100%;
    min-height: 38px;
    padding: 7px 10px;
}

body.has-product-shell main .fleet-group-builder-card.mutual {
    border-color: rgba(126, 92, 221, .55);
    background: linear-gradient(135deg, rgba(30, 62, 82, .94), rgba(50, 45, 91, .82));
}

body.has-product-shell main .fleet-group-builder-card.mutual .fleet-group-card-icon {
    border-color: rgba(173, 145, 255, .55);
    background: rgba(88, 56, 166, .34);
    color: #d8c8ff;
}

body.has-product-shell main .fleet-mutual-group-list {
    display: grid;
    gap: 9px;
}

body.has-product-shell main .fleet-mutual-group-row {
    display: grid;
    grid-template-columns: minmax(180px, .72fr) minmax(0, 1.6fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(112, 129, 170, .5);
    border-radius: 12px;
    background: rgba(10, 29, 44, .48);
}

body.has-product-shell main .fleet-mutual-group-row > div:first-child {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .fleet-mutual-group-row strong {
    color: #fff;
    font-size: .78rem;
}

body.has-product-shell main .fleet-mutual-group-row small,
body.has-product-shell main .fleet-mutual-group-empty small {
    color: #9db0c0;
    font-size: .64rem;
}

body.has-product-shell main .fleet-mutual-group-empty {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 1px dashed rgba(129, 148, 184, .5);
    border-radius: 12px;
    text-align: center;
}

body.has-product-shell main .fleet-mutual-create {
    width: 100%;
    margin-top: 12px;
}

body.has-product-shell .fleet-group-editor-dialog {
    width: min(980px, calc(100vw - 40px));
    height: auto;
    max-height: min(820px, calc(100vh - 40px));
    padding: 0;
    overflow: hidden;
    border: 1px solid #54748c;
    border-radius: 20px;
    background: #1f394e;
    color: #eaf3f7;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .54);
}

body.has-product-shell .fleet-group-editor-dialog::backdrop {
    background: rgba(4, 15, 24, .78);
    backdrop-filter: blur(4px);
}

body.has-product-shell .fleet-group-dialog-form {
    display: flex;
    min-height: 0;
    max-height: min(820px, calc(100vh - 40px));
    flex-direction: column;
}

body.has-product-shell .fleet-group-dialog-form > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #45657d;
    background: linear-gradient(120deg, #153d5b, #205a70);
}

body.has-product-shell .fleet-group-dialog-form > header h3 {
    margin: 4px 0 5px;
    color: #fff;
    font-size: 1.42rem;
}

body.has-product-shell .fleet-group-dialog-form > header p {
    max-width: 720px;
    margin: 0;
    color: #c3d3dd;
    font-size: .76rem;
}

body.has-product-shell .fleet-group-dialog-close {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(210, 228, 239, .45);
    border-radius: 10px;
    background: rgba(10, 34, 50, .48);
    color: #fff;
    font-size: 1.3rem;
    cursor: pointer;
}

body.has-product-shell .fleet-group-dialog-standard {
    display: grid;
    gap: 4px;
    padding: 14px 24px;
    border-bottom: 1px solid #45657d;
    background: rgba(17, 47, 67, .82);
}

body.has-product-shell .fleet-mutual-name-field {
    display: grid;
    gap: 7px;
    padding: 14px 24px;
    border-bottom: 1px solid #45657d;
    background: rgba(17, 47, 67, .82);
}

body.has-product-shell .fleet-mutual-name-field label {
    color: #9eb4c3;
    font-size: .66rem;
    font-weight: 850;
    text-transform: uppercase;
}

body.has-product-shell .fleet-mutual-name-field input {
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #4d6b82;
    border-radius: 9px;
    background: #10283b;
    color: #fff;
}

body.has-product-shell .fleet-group-dialog-standard span {
    color: #8fa9bb;
    font-size: .64rem;
    font-weight: 850;
    text-transform: uppercase;
}

body.has-product-shell .fleet-group-dialog-standard strong {
    color: #fff;
    font-size: .82rem;
}

body.has-product-shell .fleet-group-dialog-form fieldset {
    max-height: min(520px, calc(100vh - 270px));
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    padding: 30px 24px 24px;
    overflow: auto;
    border: 0;
}

body.has-product-shell .fleet-group-dialog-form legend {
    float: left;
    width: 100%;
    margin: 0 0 18px;
    padding: 10px 12px;
    border: 1px solid rgba(79, 111, 136, .62);
    border-radius: 10px;
    background: rgba(23, 53, 73, .62);
    color: #eaf3f7;
    font-size: .75rem;
    font-weight: 850;
}

body.has-product-shell .fleet-group-dialog-options {
    display: grid;
    clear: both;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

body.has-product-shell .fleet-group-dialog-options label {
    display: grid;
    min-height: 66px;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid #45657d;
    border-radius: 12px;
    background: rgba(13, 38, 56, .72);
    cursor: pointer;
}

body.has-product-shell .fleet-group-dialog-options label:hover,
body.has-product-shell .fleet-group-dialog-options label:has(input:checked) {
    border-color: #5a91e9;
    background: rgba(45, 89, 166, .3);
}

body.has-product-shell .fleet-group-dialog-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

body.has-product-shell .fleet-group-dialog-options label > span:first-of-type {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #5a7488;
    border-radius: 8px;
    background: #10283b;
    color: transparent;
    font-weight: 900;
}

body.has-product-shell .fleet-group-dialog-options label:has(input:checked) > span:first-of-type {
    border-color: #78a4ff;
    background: #386fc7;
    color: #fff;
}

body.has-product-shell .fleet-group-dialog-options label > span:last-child {
    display: grid;
    gap: 2px;
}

body.has-product-shell .fleet-group-dialog-options strong {
    color: #fff;
    font-size: .76rem;
}

body.has-product-shell .fleet-group-dialog-options small {
    color: #9ab0bf;
    font-size: .65rem;
}

body.has-product-shell .fleet-group-dialog-form > footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    padding: 15px 24px;
    border-top: 1px solid #45657d;
    background: #172f43;
}

body.has-product-shell main .fleet-group-checklist {
    display: grid;
    max-height: 230px;
    gap: 6px;
    overflow: auto;
    padding: 7px;
    border: 1px solid #3f5b72;
    border-radius: 12px;
    background: rgba(11, 31, 47, .54);
}

body.has-product-shell main .fleet-group-checklist label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 9px;
    cursor: pointer;
}

body.has-product-shell main .fleet-group-checklist label:hover,
body.has-product-shell main .fleet-group-checklist label:has(input:checked) {
    border-color: rgba(68, 191, 182, .5);
    background: rgba(16, 117, 112, .28);
}

body.has-product-shell main .fleet-group-checklist.allowed label:has(input:checked) {
    border-color: rgba(93, 139, 226, .58);
    background: rgba(45, 89, 166, .3);
}

body.has-product-shell main .fleet-group-checklist label > span {
    display: grid;
    gap: 1px;
}

body.has-product-shell main .fleet-group-checklist strong {
    color: #fff !important;
    font-size: .76rem;
}

body.has-product-shell main .fleet-group-checklist small {
    overflow: hidden;
    color: #9fb1c0;
    font-size: .65rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .fleet-group-editor-form > footer,
body.has-product-shell main .fleet-group-import-preview > footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

body.has-product-shell main .fleet-group-template-guide {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid rgba(75, 199, 187, .35);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(19, 77, 83, .34), rgba(11, 35, 54, .42));
}

body.has-product-shell main .fleet-group-template-guide > strong {
    color: #eafffb !important;
    font-size: .78rem;
}

body.has-product-shell main .fleet-group-template-guide ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: fleet-guide;
}

body.has-product-shell main .fleet-group-template-guide li {
    display: grid;
    grid-template-columns: 24px minmax(150px, .78fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 9px;
    color: #a9becd;
    counter-increment: fleet-guide;
}

body.has-product-shell main .fleet-group-template-guide li::before {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    background: rgba(32, 165, 153, .22);
    color: #86e5dc;
    content: counter(fleet-guide);
    font-size: .66rem;
    font-weight: 900;
}

body.has-product-shell main .fleet-group-template-guide b {
    color: #f2fbff;
    font-size: .69rem;
}

body.has-product-shell main .fleet-group-template-guide span {
    font-size: .65rem;
    line-height: 1.45;
}

body.has-product-shell main .fleet-group-template-downloads {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

body.has-product-shell main .fleet-group-template-download {
    display: grid;
    min-height: 68px;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(94, 143, 224, .62);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(47, 105, 199, .56), rgba(29, 67, 125, .54));
    color: #fff;
    text-decoration: none;
}

body.has-product-shell main .fleet-group-template-downloads .fleet-group-template-download {
    margin-bottom: 0;
}

body.has-product-shell main .fleet-group-template-download.current {
    border-color: rgba(55, 190, 148, .58);
    background: linear-gradient(135deg, rgba(24, 126, 103, .5), rgba(20, 76, 88, .52));
}

body.has-product-shell main .fleet-group-template-download > span:first-child {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    background: rgba(10, 36, 68, .52);
    font-size: 1.2rem;
}

body.has-product-shell main .fleet-group-template-download > span:last-child {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .fleet-group-template-download strong {
    color: #fff !important;
    font-size: .8rem;
}

body.has-product-shell main .fleet-group-template-download small {
    color: #c2d5f5;
    font-size: .67rem;
}

body.has-product-shell main .fleet-group-template-download:hover {
    border-color: #9bc0ff;
    transform: translateY(-1px);
}

body.has-product-shell main .fleet-group-import-form {
    display: grid;
    gap: 10px;
}

body.has-product-shell main .fleet-group-import-form input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

body.has-product-shell main .fleet-group-import-form > label {
    display: grid;
    min-height: 94px;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    padding: 15px;
    border: 1px dashed #66839a;
    border-radius: 13px;
    background: rgba(10, 29, 45, .46);
    cursor: pointer;
}

body.has-product-shell main .fleet-group-import-form > label.has-file {
    border-style: solid;
    border-color: #52c7ba;
    background: rgba(15, 105, 100, .2);
}

body.has-product-shell main .fleet-group-import-form > label > span:first-child {
    color: #8cddd4;
    font-size: 1.35rem;
}

body.has-product-shell main .fleet-group-import-form > label > span:last-child {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .fleet-group-import-form strong {
    color: #fff !important;
    font-size: .8rem;
}

body.has-product-shell main .fleet-group-import-form small {
    color: #9cb1c1;
    font-size: .68rem;
}

body.has-product-shell main .fleet-group-import-form .primary-button {
    width: 100%;
}

body.has-product-shell main .fleet-group-import-safety {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 11px 12px;
    border-left: 3px solid #32b68e;
    border-radius: 8px;
    background: rgba(33, 112, 91, .22);
}

body.has-product-shell main .fleet-group-import-safety > span {
    color: #62e1ba;
    font-weight: 900;
}

body.has-product-shell main .fleet-group-import-safety p {
    display: grid;
}

body.has-product-shell main .fleet-group-import-safety strong {
    color: #eafff8 !important;
    font-size: .71rem;
}

body.has-product-shell main .fleet-group-import-safety small {
    color: #9dcabf;
    font-size: .64rem;
}

body.has-product-shell main .fleet-group-import-preview > header,
body.has-product-shell main .fleet-group-existing > header {
    padding: 18px 20px;
    border-bottom: 1px solid rgba(102, 136, 160, .35);
    background: rgba(12, 32, 48, .44);
}

body.has-product-shell main .fleet-group-preview-counts {
    display: grid;
    min-width: 180px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

body.has-product-shell main .fleet-group-preview-counts .valid {
    border-color: rgba(44, 183, 139, .55);
}

body.has-product-shell main .fleet-group-preview-counts .invalid {
    border-color: rgba(222, 102, 102, .6);
}

body.has-product-shell main .fleet-group-file-errors {
    margin: 14px 18px 0;
    padding: 10px 13px;
    border-left: 3px solid #d75f62;
    background: rgba(130, 38, 46, .24);
}

body.has-product-shell main .fleet-group-file-errors p {
    color: #ffd5d6 !important;
}

body.has-product-shell main .fleet-group-preview-table {
    display: grid;
    max-height: 410px;
    overflow: auto;
    padding: 14px 18px;
}

body.has-product-shell main .fleet-group-preview-row {
    display: grid;
    min-width: 1050px;
    grid-template-columns: 58px 1.05fr 100px .9fr 1.15fr 80px 1.2fr;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(81, 112, 136, .36);
    color: #dbe7ed;
    font-size: .72rem;
}

body.has-product-shell main .fleet-group-preview-row.head {
    min-height: 38px;
    border-radius: 9px;
    background: rgba(10, 28, 43, .64);
    color: #8fa8ba;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-group-preview-row.invalid {
    background: rgba(114, 35, 43, .15);
}

body.has-product-shell main .fleet-group-preview-row > span:last-child {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .fleet-group-preview-row > span:last-child small {
    color: #efaaa9;
    font-size: .63rem;
}

body.has-product-shell main .fleet-group-state {
    width: max-content;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: .61rem;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-group-state.active {
    background: rgba(32, 154, 115, .28);
    color: #81e8c4 !important;
}

body.has-product-shell main .fleet-group-state.error {
    background: rgba(180, 64, 71, .28);
    color: #ffb5b4 !important;
}

body.has-product-shell main .fleet-group-import-preview > footer {
    padding: 0 18px 18px;
}

body.has-product-shell main .fleet-id-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

body.has-product-shell main .fleet-id-chip-list b {
    padding: 4px 7px;
    border: 1px solid rgba(73, 191, 181, .42);
    border-radius: 999px;
    background: rgba(16, 114, 109, .24);
    color: #b9f0e8 !important;
    font-size: .62rem;
    white-space: nowrap;
}

body.has-product-shell main .fleet-id-chip-list.allowed b {
    border-color: rgba(91, 139, 223, .46);
    background: rgba(45, 88, 165, .25);
    color: #c6d8ff !important;
}

body.has-product-shell main .fleet-group-existing {
    display: grid;
}

body.has-product-shell main .fleet-group-record {
    border-bottom: 1px solid rgba(85, 119, 144, .4);
}

body.has-product-shell main .fleet-group-record:last-child {
    border-bottom: 0;
}

body.has-product-shell main .fleet-group-record > summary {
    display: grid;
    min-height: 78px;
    grid-template-columns: auto minmax(170px, 1fr) 1.3fr auto 1.3fr auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    cursor: pointer;
    list-style: none;
}

body.has-product-shell main .fleet-group-record > summary::-webkit-details-marker {
    display: none;
}

body.has-product-shell main .fleet-group-record > summary:hover,
body.has-product-shell main .fleet-group-record[open] > summary {
    background: rgba(33, 74, 102, .45);
}

body.has-product-shell main .fleet-group-record-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #526d82;
    border-radius: 10px;
    background: #20394d;
    color: #a7bac7;
}

body.has-product-shell main .fleet-group-record.active .fleet-group-record-icon {
    border-color: #39a884;
    background: rgba(25, 129, 99, .34);
    color: #77e0bc;
}

body.has-product-shell main .fleet-group-record > summary > span:nth-child(2) {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .fleet-group-record > summary > span:nth-child(2) strong {
    color: #fff !important;
    font-size: .82rem;
}

body.has-product-shell main .fleet-group-record > summary > span:nth-child(2) small {
    color: #95aabb;
    font-size: .65rem;
}

body.has-product-shell main .fleet-group-route-count {
    display: grid;
    min-width: 58px;
    text-align: center;
}

body.has-product-shell main .fleet-group-route-count strong {
    color: #fff !important;
}

body.has-product-shell main .fleet-group-route-count small {
    color: #91a7b7;
    font-size: .6rem;
}

body.has-product-shell main .fleet-group-editor-form.existing {
    padding: 18px;
    border-top: 1px solid rgba(91, 125, 149, .38);
    background: rgba(8, 27, 42, .34);
}

body.has-product-shell main .fleet-group-warning {
    padding: 9px 12px;
    border-left: 3px solid #d69238;
    background: rgba(134, 83, 22, .2);
    color: #ffd59a !important;
    font-size: .7rem;
}

body.has-product-shell main .fleet-group-no-catalog {
    margin: 28px;
}

@media (max-width: 1100px) {
    body.has-product-shell main .fleet-group-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .fleet-group-kpis {
        width: 100%;
        min-width: 0;
    }

    body.has-product-shell main .fleet-group-builder-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-group-record > summary {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    body.has-product-shell main .fleet-group-record > summary > :is(.fleet-id-chip-list, span:nth-child(4), .fleet-group-route-count) {
        display: none;
    }
}

@media (max-width: 720px) {
    body.has-product-shell main .fleet-group-workspace-new {
        padding: 16px 12px;
    }

    body.has-product-shell main .fleet-group-builder-card {
        padding: 16px;
    }

    body.has-product-shell main .fleet-group-template-guide li {
        grid-template-columns: 24px minmax(0, 1fr);
        align-items: start;
    }

    body.has-product-shell main .fleet-group-template-guide li span {
        grid-column: 2;
    }

    body.has-product-shell main .fleet-group-selection-columns {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-group-rule-arrow {
        transform: rotate(90deg);
        justify-self: center;
    }

    body.has-product-shell main .fleet-group-assignment-row {
        grid-template-columns: minmax(0, 1fr) 86px 86px;
    }

    body.has-product-shell main .fleet-group-assignment-row.head {
        font-size: .56rem;
    }

    body.has-product-shell main .fleet-group-assignment-row.head > span {
        padding: 7px;
    }

    body.has-product-shell main .fleet-group-assignment-aircraft {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 9px;
    }

    body.has-product-shell main .fleet-group-assignment-aircraft small {
        grid-column: 1 / -1;
    }

    body.has-product-shell main .fleet-group-assignment-choice {
        padding: 7px;
    }

    body.has-product-shell main .fleet-group-assignment-choice small {
        display: none;
    }

    body.has-product-shell main .fleet-group-overview-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    body.has-product-shell main .fleet-mutual-group-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    body.has-product-shell main .fleet-mutual-group-row .fleet-id-chip-list {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    body.has-product-shell main .fleet-group-overview-row.head {
        display: none;
    }

    body.has-product-shell main .fleet-group-overview-allowed {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    body.has-product-shell main .fleet-group-overview-state {
        grid-column: 1;
        grid-row: 3;
    }

    body.has-product-shell main .fleet-group-open-editor {
        grid-column: 2;
        grid-row: 1 / 4;
        align-self: center;
    }

    body.has-product-shell .fleet-group-dialog-options {
        grid-template-columns: 1fr;
    }

    body.has-product-shell .fleet-group-dialog-form > header,
    body.has-product-shell .fleet-group-dialog-standard,
    body.has-product-shell .fleet-group-dialog-form fieldset,
    body.has-product-shell .fleet-group-dialog-form > footer {
        padding-right: 16px;
        padding-left: 16px;
    }

    body.has-product-shell .fleet-group-dialog-form > footer {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .fleet-group-editor-form > footer,
    body.has-product-shell main .fleet-group-import-preview > footer {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .fleet-group-editor-form > footer button,
    body.has-product-shell main .fleet-group-import-preview > footer button {
        width: 100%;
    }
}

body.has-product-shell main .fleet-combined-rail a {
    position: relative;
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #91a4b5;
    text-decoration: none;
}

body.has-product-shell main .fleet-combined-rail > span.disabled {
    position: relative;
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #667b8c;
}

body.has-product-shell main .fleet-combined-rail > span.disabled > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #40566a;
    border-radius: 9px;
    background: #223547;
    font-size: .76rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-combined-rail > span.disabled strong {
    color: inherit !important;
    font-size: .82rem;
}

body.has-product-shell main .fleet-combined-rail a:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: -18%;
    width: 36%;
    height: 1px;
    background: #40566a;
    content: "";
}

body.has-product-shell main .fleet-combined-rail a > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #526b81;
    border-radius: 9px;
    background: #26394a;
    color: #b8c7d3;
    font-size: .76rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-combined-rail a strong {
    color: inherit !important;
    font-size: .82rem;
}

body.has-product-shell main .fleet-combined-rail a:hover {
    color: #fff;
}

body.has-product-shell main .fleet-combined-rail a.complete {
    color: #b5d8d4;
}

body.has-product-shell main .fleet-combined-rail a.complete > span {
    border-color: #3b8e84;
    background: #1d5e58;
    color: #d8f4ef;
}

body.has-product-shell main .fleet-combined-rail a.active {
    color: #fff;
}

body.has-product-shell main .fleet-combined-rail a.active > span {
    border-color: #47c1ba;
    background: #118d89;
    color: #fff;
    box-shadow: 0 0 0 5px rgba(71, 193, 186, .1);
}

body.has-product-shell main .fleet-intake-panel {
    padding-top: 30px;
    padding-bottom: 28px;
}

body.has-product-shell main .fleet-intake-panel .capture-wizard-heading {
    margin-bottom: 20px;
}

body.has-product-shell main .fleet-intake-choices {
    margin-bottom: 22px;
}

body.has-product-shell main .fleet-intake-choices .workflow-card {
    min-height: 155px;
}

body.has-product-shell main .fleet-intake-detail {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.5fr);
    align-items: center;
    gap: 22px;
    min-height: 142px;
    padding: 18px 20px;
    border: 1px solid #4a667e;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(35, 112, 146, .14), transparent 18rem),
        linear-gradient(145deg, #1c3046, #17364e);
}

body.has-product-shell main .fleet-intake-detail[hidden] {
    display: none;
}

body.has-product-shell main .fleet-intake-detail-copy {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

body.has-product-shell main .fleet-intake-detail-copy .config-step {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #4a667e;
    border-radius: 9px;
    background: #203141;
    color: #a9c3d5;
    font-size: .76rem;
    font-weight: 850;
}

body.has-product-shell main .fleet-intake-detail-copy strong,
body.has-product-shell main .fleet-intake-detail-copy small {
    display: block;
}

body.has-product-shell main .fleet-intake-detail-copy strong {
    margin: 1px 0 4px;
    color: #fff !important;
}

body.has-product-shell main .fleet-intake-detail-copy small {
    color: #aebfcd;
    line-height: 1.45;
}

body.has-product-shell main .fleet-intake-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 7px 12px;
}

body.has-product-shell main .fleet-intake-form label {
    grid-column: 1 / -1;
    color: #eef5f8;
    font-size: .78rem;
    font-weight: 750;
}

body.has-product-shell main .fleet-intake-form :is(input, select) {
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #587087;
    border-radius: 11px;
    outline: none;
    background: #182938;
    color: #f4f7fa;
    font: inherit;
    font-weight: 700;
}

body.has-product-shell main .fleet-intake-form input {
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-intake-form :is(input, select):focus {
    border-color: #67d4ce;
    box-shadow: 0 0 0 3px rgba(103, 212, 206, .12);
}

body.has-product-shell main .fleet-intake-form .primary-button {
    min-height: 48px;
    white-space: nowrap;
}

body.has-product-shell main .fleet-intake-panel .capture-wizard-actions {
    padding-top: 22px;
}

body.has-product-shell main .fleet-preview-button {
    display: inline-grid;
    min-height: 52px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 8px 14px;
    border: 1px solid rgba(90, 211, 198, .5);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(24, 130, 127, .28), rgba(16, 80, 91, .42));
    color: #ecfffc;
    text-decoration: none;
}

body.has-product-shell main .fleet-preview-button > span:nth-child(2) {
    display: grid;
    gap: 1px;
}

body.has-product-shell main .fleet-preview-button small {
    color: #9fd9d3;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-preview-button strong {
    color: #fff !important;
    font-size: .82rem;
}

body.has-product-shell main .fleet-preview-button:hover {
    border-color: #6de0d6;
    background: linear-gradient(145deg, rgba(25, 151, 145, .4), rgba(17, 91, 102, .55));
    transform: translateY(-1px);
}

/* Fleet step two: one source decision followed by one calm sheet. */
body.has-product-shell main .fleet-step-two-card {
    max-width: 1500px;
    min-height: 780px;
    margin: 0 auto;
}

body.has-product-shell main .fleet-source-wizard {
    display: flex;
    min-height: 660px;
    flex-direction: column;
    padding: 28px 32px 24px;
}

body.has-product-shell main .fleet-source-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body.has-product-shell main .fleet-source-choice {
    display: grid;
    min-height: 142px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(128, 164, 190, .4);
    border-radius: 18px;
    color: #f4f8fa;
    text-decoration: none;
    box-shadow: 0 13px 28px rgba(8, 18, 29, .16);
    transition: transform .18s ease, border-color .18s ease, filter .18s ease;
}

body.has-product-shell main .fleet-source-choice.api {
    background: linear-gradient(145deg, #3979dd, #2858af);
}

body.has-product-shell main .fleet-source-choice.csv {
    background: linear-gradient(145deg, #159d98, #08777d);
}

body.has-product-shell main .fleet-source-choice.new {
    background: linear-gradient(145deg, #7656c9, #593ca3);
}

body.has-product-shell main .fleet-source-choice:hover {
    filter: brightness(1.07);
    transform: translateY(-2px);
}

body.has-product-shell main .fleet-source-choice.selected {
    border-color: rgba(255, 255, 255, .86);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .1), 0 16px 32px rgba(7, 17, 28, .22);
}

body.has-product-shell main .fleet-source-choice > span:nth-child(2) {
    display: grid;
    align-self: stretch;
    gap: 4px;
}

body.has-product-shell main .fleet-source-choice small {
    color: rgba(255, 255, 255, .74);
    font-size: .63rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-source-choice strong {
    margin-top: auto;
    color: #fff !important;
    font-size: 1.08rem;
}

body.has-product-shell main .fleet-source-choice em {
    color: rgba(255, 255, 255, .82);
    font-size: .74rem;
    font-style: normal;
    line-height: 1.4;
}

body.has-product-shell main .fleet-source-icon {
    display: grid;
    min-width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 14px;
    background: rgba(10, 34, 51, .5);
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
}

body.has-product-shell main .fleet-source-panel {
    min-height: 382px;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid #4a667e;
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(35, 112, 146, .13), transparent 20rem),
        linear-gradient(145deg, #1c3046, #17364e);
}

body.has-product-shell main .fleet-table-heading {
    display: flex;
    min-height: 104px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(111, 145, 170, .28);
    background: rgba(14, 35, 51, .42);
}

body.has-product-shell main .fleet-table-heading h3 {
    margin: 3px 0 5px;
    color: #fff !important;
    font-size: 1.35rem;
}

body.has-product-shell main .fleet-table-heading p {
    max-width: 850px;
    margin: 0;
    color: #aebfcd !important;
    font-size: .8rem;
}

body.has-product-shell main .fleet-add-row-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid rgba(139, 203, 221, .42);
    border-radius: 12px;
    background: rgba(44, 99, 129, .36);
    color: #eef9fc;
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
}

body.has-product-shell main .fleet-sheet-form {
    padding: 18px 20px 16px;
}

body.has-product-shell main .fleet-sheet-table {
    display: grid;
    gap: 7px;
}

body.has-product-shell main .fleet-sheet-row {
    display: grid;
    grid-template-columns: minmax(110px, .55fr) minmax(150px, .85fr) minmax(240px, 1.8fr) minmax(130px, .75fr);
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 7px 10px;
    border: 1px solid rgba(93, 126, 151, .5);
    border-radius: 12px;
    background: rgba(24, 41, 56, .76);
}

body.has-product-shell main .fleet-sheet-table.draft .fleet-sheet-row {
    grid-template-columns: minmax(130px, .68fr) minmax(150px, .82fr) minmax(240px, 1.65fr) minmax(150px, .85fr) 38px;
}

body.has-product-shell main .fleet-sheet-row.head {
    min-height: 34px;
    padding-top: 0;
    padding-bottom: 0;
    border-color: transparent;
    background: transparent;
    color: #8fa8ba;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-sheet-row :is(input, select) {
    width: 100%;
    min-height: 40px;
    padding: 0 11px;
    border: 1px solid #536d83;
    border-radius: 9px;
    background: #142737;
    color: #f5f8fa;
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
}

body.has-product-shell main .fleet-id-value {
    color: #b8d9ff !important;
    font-size: 1rem;
}

body.has-product-shell main .fleet-id-empty {
    color: #8fa8ba;
    font-size: .72rem;
    font-weight: 700;
}

body.has-product-shell main .fleet-row-status {
    width: max-content;
    padding: 6px 10px;
    border: 1px solid rgba(64, 204, 156, .36);
    border-radius: 999px;
    background: rgba(21, 126, 96, .18);
    color: #9ce2ca;
    font-size: .67rem;
    font-weight: 800;
}

body.has-product-shell main .fleet-row-status.hidden {
    border-color: rgba(216, 169, 83, .38);
    background: rgba(142, 92, 25, .2);
    color: #efce93;
}

body.has-product-shell main .fleet-remove-row {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(206, 121, 131, .38);
    border-radius: 9px;
    background: rgba(114, 38, 52, .24);
    color: #f2b9c0;
    cursor: pointer;
    font-size: 1.05rem;
}

body.has-product-shell main .fleet-sheet-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
}

body.has-product-shell main .fleet-sheet-actions > span {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .fleet-sheet-actions strong {
    color: #fff !important;
    font-size: .78rem;
}

body.has-product-shell main .fleet-sheet-actions small {
    color: #9fb1c0;
    font-size: .7rem;
}

body.has-product-shell main .fleet-csv-dropzone {
    display: grid;
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 22px 24px;
}

body.has-product-shell main .fleet-csv-dropzone label {
    display: flex;
    min-height: 72px;
    align-items: center;
    gap: 13px;
    padding: 14px 18px;
    border: 1px dashed #5b7a91;
    border-radius: 13px;
    background: rgba(20, 39, 55, .58);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

body.has-product-shell main .fleet-csv-dropzone label:hover,
body.has-product-shell main .fleet-csv-dropzone label:focus-within {
    border-color: #73b7e6;
    background: rgba(28, 62, 85, .68);
    transform: translateY(-1px);
}

body.has-product-shell main .fleet-csv-dropzone label.has-file {
    border-style: solid;
    border-color: #33c4a3;
    background: rgba(18, 92, 82, .3);
}

body.has-product-shell main .fleet-csv-dropzone label > span {
    font-size: 1.4rem;
}

body.has-product-shell main .fleet-csv-dropzone label > small {
    margin-left: auto;
    color: #93a9b9;
}

body.has-product-shell main .fleet-csv-dropzone input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

body.has-product-shell main .fleet-csv-dropzone > .primary-button {
    width: 100%;
}

body.has-product-shell main .fleet-source-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 16px 20px 0;
    padding: 12px 14px;
    border: 1px solid rgba(102, 155, 191, .34);
    border-radius: 11px;
    background: rgba(35, 78, 106, .22);
    color: #b9cfde;
    font-size: .74rem;
}

body.has-product-shell main .fleet-source-note > span {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 8px;
    background: rgba(75, 142, 188, .24);
}

body.has-product-shell main .fleet-step-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 20px;
}

body.has-product-shell main .fleet-step-save-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

body.has-product-shell main .fleet-step-save-actions button:disabled {
    border-color: #486073;
    background: #233c50;
    color: #8195a4;
    cursor: default;
    opacity: .76;
}

body.has-product-shell main .fleet-draft-download {
    display: block;
    width: max-content;
    margin: 0 20px 18px auto;
    color: #9fc8e6;
    font-size: .74rem;
    font-weight: 800;
    text-decoration: none;
}

body.has-product-shell main .fleet-api-record-actions {
    margin: 0 20px 20px;
    padding: 16px;
    border: 1px solid #2f607d;
    border-radius: 14px;
    background: #10283b;
}

body.has-product-shell main .fleet-api-record-actions > header,
body.has-product-shell main .fleet-api-record-actions > summary {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #eef8ff;
    font-weight: 800;
    cursor: pointer;
}

body.has-product-shell main .fleet-api-record-actions > header > span {
    padding: 8px 10px;
    border-radius: 9px;
    background: #0f766e;
    color: #d6fff9;
    font-size: .72rem;
}

body.has-product-shell main .fleet-api-record-actions header div,
body.has-product-shell main .fleet-api-record-actions form > span {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .fleet-api-record-actions small,
body.has-product-shell main .fleet-api-record-actions > p {
    color: #a9bdcd;
}

body.has-product-shell main .fleet-api-record-actions form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(170px, 230px) auto;
    align-items: end;
    gap: 12px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #29475d;
}

body.has-product-shell main .fleet-api-record-actions form label {
    display: grid;
    gap: 5px;
    color: #a9bdcd;
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

body.has-product-shell main .fleet-api-record-actions form input {
    min-height: 40px;
}

body.has-product-shell main .fleet-api-record-actions .secondary-button.danger {
    border-color: #b43e55;
    background: #6d2235;
    color: #fff1f4;
}

@media (max-width: 1050px) {
    body.has-product-shell main .fleet-source-choice-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-source-choice {
        min-height: 110px;
    }

    body.has-product-shell main .fleet-sheet-row,
    body.has-product-shell main .fleet-sheet-table.draft .fleet-sheet-row {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-sheet-row.head {
        display: none;
    }

    body.has-product-shell main .fleet-csv-dropzone {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-api-record-actions form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .fleet-source-wizard {
        min-height: 0;
        padding: 20px;
    }

    body.has-product-shell main .fleet-table-heading,
    body.has-product-shell main .fleet-sheet-actions,
    body.has-product-shell main .fleet-step-actions,
    body.has-product-shell main .fleet-step-save-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .fleet-table-heading :is(a, button),
    body.has-product-shell main .fleet-sheet-actions button,
    body.has-product-shell main .fleet-step-actions :is(a, button),
    body.has-product-shell main .fleet-step-save-actions {
        width: 100%;
    }
}

/* -------------------------------------------------------------------------
   Operational action language

   Every interactive control must read as an action before it is hovered.
   Colours describe intent consistently across Fleet, Aircraft, Airports,
   Routes and Export rather than decorating individual screens ad hoc.
   ------------------------------------------------------------------------- */

body.has-product-shell main :is(
    button,
    .primary-button,
    .secondary-button,
    .danger-button,
    .route-inline-button,
    .route-detail-button,
    .workspace-clear-button,
    .route-show-all,
    .pagination-bar a
) {
    cursor: pointer;
    transition:
        transform 140ms ease,
        border-color 140ms ease,
        background 140ms ease,
        color 140ms ease,
        box-shadow 140ms ease;
}

body.has-product-shell main :is(
    button,
    .primary-button,
    .secondary-button,
    .danger-button,
    .route-inline-button,
    .route-detail-button,
    .workspace-clear-button,
    .route-show-all,
    .pagination-bar a
):not(:disabled):hover {
    transform: translateY(-1px);
}

body.has-product-shell main :is(
    button,
    .primary-button,
    .secondary-button,
    .danger-button,
    .route-inline-button,
    .route-detail-button,
    .workspace-clear-button,
    .route-show-all,
    .pagination-bar a
):focus-visible {
    outline: 3px solid rgba(126, 211, 255, .9) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(36, 144, 219, .24) !important;
}

/* Primary progress and save actions: blue. */
body.has-product-shell main :is(
    .primary-button,
    button.primary,
    .fleet-export-next-button,
    button[type="submit"]:not(.secondary-button):not(.danger-button):not(.route-inline-button)
) {
    border-color: #438ff4 !important;
    background: linear-gradient(135deg, #1978eb, #1258bd) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px rgba(15, 83, 177, .28) !important;
}

body.has-product-shell main :is(
    .primary-button,
    button.primary,
    .fleet-export-next-button,
    button[type="submit"]:not(.secondary-button):not(.danger-button):not(.route-inline-button)
):not(:disabled):hover {
    border-color: #78b2ff !important;
    background: linear-gradient(135deg, #2788fa, #1766d1) !important;
    box-shadow: 0 7px 18px rgba(20, 103, 214, .4) !important;
}

/* Secondary tools and filters: violet, visibly different from passive panels. */
html[data-theme="dark"] body.has-product-shell main :is(
    .secondary-button,
    .workspace-clear-button,
    .route-show-all,
    .route-inline-button,
    .route-detail-button,
    .pagination-bar a
) {
    border-color: #806bdd !important;
    background: linear-gradient(135deg, #5e48b8, #44328d) !important;
    color: #f7f4ff !important;
    box-shadow: 0 4px 12px rgba(43, 29, 105, .28) !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .secondary-button,
    .workspace-clear-button,
    .route-show-all,
    .route-inline-button,
    .route-detail-button,
    .pagination-bar a
):not(:disabled):hover {
    border-color: #aa9bff !important;
    background: linear-gradient(135deg, #715bd0, #5140a5) !important;
    color: #fff !important;
    box-shadow: 0 7px 17px rgba(72, 49, 160, .38) !important;
}

/* Spreadsheet/full-screen tools: a dedicated purple utility action. */
html[data-theme="dark"] body.has-product-shell main .workspace-expand-button {
    border-color: #aa76ec !important;
    background: linear-gradient(135deg, #7e45c8, #59319b) !important;
    color: #fff !important;
}

/* Refresh and check operations: orange. */
html[data-theme="dark"] body.has-product-shell main :is(
    .aircraft-fr24-update-button,
    .route-merge-action
) {
    border-color: #ed9b35 !important;
    background: linear-gradient(135deg, #c96a0b, #914707) !important;
    color: #fff8e9 !important;
    box-shadow: 0 5px 14px rgba(130, 61, 4, .34) !important;
}

html[data-theme="dark"] body.has-product-shell main :is(
    .aircraft-fr24-update-button,
    .route-merge-action
):not(:disabled):hover {
    border-color: #ffc56f !important;
    background: linear-gradient(135deg, #df7d16, #a95508) !important;
}

/* The generic submit selector intentionally has high specificity. Match it for
   the FR24 refresh so its operational orange cannot fall back to save-blue. */
html[data-theme="dark"] body.has-product-shell main button.primary-button.aircraft-fr24-update-button[type="submit"] {
    border-color: #ed9b35 !important;
    background: linear-gradient(135deg, #c96a0b, #914707) !important;
    color: #fff8e9 !important;
    box-shadow: 0 5px 14px rgba(130, 61, 4, .34) !important;
}

html[data-theme="dark"] body.has-product-shell main button.primary-button.aircraft-fr24-update-button[type="submit"]:not(:disabled):hover {
    border-color: #ffc56f !important;
    background: linear-gradient(135deg, #df7d16, #a95508) !important;
}

html[data-theme="dark"] body.has-product-shell main a.secondary-button.route-merge-action {
    border-color: #ed9b35 !important;
    background: linear-gradient(135deg, #c96a0b, #914707) !important;
    color: #fff8e9 !important;
    box-shadow: 0 5px 14px rgba(130, 61, 4, .34) !important;
}

html[data-theme="dark"] body.has-product-shell main a.secondary-button.route-merge-action:hover {
    border-color: #ffc56f !important;
    background: linear-gradient(135deg, #df7d16, #a95508) !important;
}

/* Read-only API comparison and positive actions: teal. */
html[data-theme="dark"] body.has-product-shell main :is(
    .api-compare-button,
    .secondary-button.success,
    .route-inline-button.restore
) {
    border-color: #28caaa !important;
    background: linear-gradient(135deg, #0b8874, #086252) !important;
    color: #effffb !important;
    box-shadow: 0 5px 14px rgba(4, 91, 75, .3) !important;
}

/* Destructive actions: red. */
html[data-theme="dark"] body.has-product-shell main :is(
    .danger-button,
    .secondary-button.danger,
    .route-inline-button.danger
) {
    border-color: #df6172 !important;
    background: linear-gradient(135deg, #a93449, #762435) !important;
    color: #fff4f6 !important;
    box-shadow: 0 5px 14px rgba(111, 25, 42, .3) !important;
}

/* Back/cancel navigation stays neutral so it never competes with progress. */
html[data-theme="dark"] body.has-product-shell main :is(
    .fleet-step-actions > a:first-child,
    .aircraft-work-mode-actions > a:last-child,
    a.secondary-button[href*="clear=1"],
    a.secondary-button[href*="choose=1"]
) {
    border-color: #607890 !important;
    background: linear-gradient(135deg, #2a4055, #203246) !important;
    color: #dceafb !important;
    box-shadow: 0 4px 11px rgba(7, 22, 36, .24) !important;
}

/* Disabled controls must be unmistakably unavailable. */
body.has-product-shell main :is(button, .primary-button, .secondary-button):disabled,
body.has-product-shell main :is(.primary-button, .secondary-button).disabled {
    border-color: #3a4d60 !important;
    background: #1a2a3a !important;
    color: #758a9d !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Row editors are real actions, not low-contrast labels. */
body.has-product-shell main .aircraft-edit-trigger {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 5px 10px;
    border: 1px solid #4e9bed !important;
    border-radius: 8px;
    background: linear-gradient(135deg, #155f9e, #124778) !important;
    color: #eff8ff !important;
    box-shadow: 0 3px 9px rgba(8, 48, 82, .28);
    font-weight: 850;
}

body.has-product-shell main .aircraft-edit-record > summary:hover .aircraft-edit-trigger,
body.has-product-shell main .aircraft-edit-record[open] > summary .aircraft-edit-trigger {
    border-color: #82c4ff !important;
    background: linear-gradient(135deg, #1d78c4, #155a96) !important;
    color: #fff !important;
}

/* Clickable status cards and source choices announce themselves on hover/focus. */
body.has-product-shell main :is(
    .aircraft-source-status-grid a,
    .route-status-card,
    .fleet-source-choice,
    .aircraft-package-airline-filter a
) {
    cursor: pointer;
    transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

body.has-product-shell main :is(
    .aircraft-source-status-grid a,
    .route-status-card,
    .fleet-source-choice,
    .aircraft-package-airline-filter a
):hover {
    transform: translateY(-2px);
    border-color: #65aee8 !important;
    box-shadow: 0 8px 20px rgba(5, 32, 55, .32) !important;
}

body.has-product-shell main :is(
    .aircraft-source-status-grid a,
    .route-status-card,
    .fleet-source-choice,
    .aircraft-package-airline-filter a
):focus-visible {
    outline: 3px solid rgba(126, 211, 255, .9);
    outline-offset: 3px;
}

body.has-product-shell main .recent-runs {
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
    border-radius: 18px;
}

/* Capture status: overview, services, log and one full-width progress line. */
body.has-product-shell main .capture-run-page {
    display: grid;
    max-width: 1500px;
    gap: 18px;
    margin: 0 auto;
}

body.has-product-shell main .capture-run-page > .back-link {
    width: max-content;
}

body.has-product-shell main .capture-run-hero {
    display: flex;
    min-height: 190px;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid #3e6784;
    border-radius: 22px;
    background:
        radial-gradient(circle at 84% 12%, rgba(77, 188, 197, .25), transparent 18rem),
        linear-gradient(125deg, #173f60, #1d5270 62%, #23657b);
    box-shadow: 0 22px 50px rgba(8, 20, 32, .24);
}

body.has-product-shell main .capture-run-hero h1 {
    margin: 7px 0 10px;
    color: #fff !important;
    font-size: clamp(2.35rem, 4.6vw, 4.5rem);
    line-height: 1;
    letter-spacing: -.045em;
}

body.has-product-shell main .capture-run-hero p {
    margin: 0;
    color: #d4e4eb !important;
}

body.has-product-shell main .capture-run-hero .eyebrow {
    color: #9ee5e5 !important;
}

body.has-product-shell main .capture-run-percent {
    display: grid;
    width: 118px;
    height: 118px;
    flex: 0 0 118px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 32px;
    background: rgba(6, 30, 45, .28);
    color: #fff !important;
    font-size: 2rem;
}

body.has-product-shell main .capture-run-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, .75fr);
    gap: 14px;
}

body.has-product-shell main :is(.capture-run-overview, .capture-run-log, .capture-run-progress) {
    border: 1px solid #49647a;
    border-radius: 20px;
    background: #26394a;
    box-shadow: 0 16px 34px rgba(7, 17, 28, .16);
}

body.has-product-shell main .capture-run-overview,
body.has-product-shell main .capture-run-log {
    min-height: 450px;
    padding: clamp(24px, 3vw, 34px);
}

body.has-product-shell main .capture-run-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 22px;
}

body.has-product-shell main .capture-run-heading h2,
body.has-product-shell main .capture-run-log h2 {
    margin: 4px 0 0;
    color: #fff !important;
    font-size: 1.45rem;
}

body.has-product-shell main .capture-run-heading > span,
body.has-product-shell main .capture-run-log p {
    color: #aebfcd !important;
    font-size: .78rem;
}

body.has-product-shell main .capture-service-status {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.has-product-shell main .capture-service-status > div {
    display: flex;
    min-height: 88px;
    align-items: center;
    gap: 13px;
    padding: 16px;
    border: 1px solid #4b657d;
    border-radius: 15px;
    background: #203141;
}

body.has-product-shell main .capture-service-status > div > span:last-child {
    display: grid;
    min-width: 0;
    gap: 5px;
}

body.has-product-shell main .capture-service-status small {
    color: #aebfcd !important;
}

body.has-product-shell main .capture-status-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 12px;
    font-weight: 900;
}

body.has-product-shell main .capture-status-icon.source {
    background: rgba(45, 173, 166, .17);
    color: #74ddd7;
}

body.has-product-shell main .capture-status-icon.vaas {
    background: rgba(79, 141, 247, .18);
    color: #9bc2ff;
}

body.has-product-shell main .capture-time-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

body.has-product-shell main .capture-time-grid > div {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 13px;
    background: #30465a;
}

body.has-product-shell main .capture-time-grid span,
body.has-product-shell main .capture-result-strip small {
    color: #aebfcd !important;
    font-size: .7rem;
}

body.has-product-shell main .capture-time-grid strong,
body.has-product-shell main .capture-result-strip strong {
    color: #fff !important;
}

body.has-product-shell main .capture-result-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid #486177;
    border-radius: 13px;
    background: #486177;
}

body.has-product-shell main .capture-result-strip > span {
    display: grid;
    gap: 3px;
    padding: 13px;
    background: #203141;
}

body.has-product-shell main .capture-run-log {
    display: grid;
    min-width: 0;
    grid-template-rows: auto minmax(250px, 1fr);
    gap: 18px;
}

body.has-product-shell main .capture-run-log .stable-job-log {
    width: 100%;
    min-height: 280px;
    max-height: 340px;
    margin: 0;
    border-color: #3b5268 !important;
    border-radius: 14px;
    background: #111f2c !important;
    color: #d8e6ef !important;
}

body.has-product-shell main .capture-run-progress {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(210px, auto) minmax(0, 1fr);
    align-items: center;
    gap: 26px;
    padding: 20px 24px;
}

body.has-product-shell main .capture-run-progress > div:first-child {
    display: grid;
}

body.has-product-shell main .capture-run-progress strong {
    color: #fff !important;
}

body.has-product-shell main .capture-run-progress span {
    color: #aebfcd;
    font-size: .75rem;
}

body.has-product-shell main .capture-run-progress .job-stage-progress {
    height: 16px;
    overflow: hidden;
    border-radius: 999px;
    background: #182938 !important;
}

body.has-product-shell main .capture-run-progress .job-stage-progress > span {
    background: linear-gradient(90deg, #0ea6a0, #4f8df7);
    box-shadow: 0 0 16px rgba(53, 184, 190, .35);
}

body.has-product-shell main .capture-run-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 4px 0 18px;
}

body.has-product-shell main .capture-run-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

body.has-product-shell main .capture-run-actions form {
    margin: 0;
}

@media (max-width: 1250px) {
    body.has-product-shell main .capture-wizard-panel .source-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .capture-run-shell {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .capture-run-log {
        min-height: 360px;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .capture-wizard-stage,
    body.has-product-shell main .capture-wizard-panel {
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    body.has-product-shell main .capture-config-card > .config-card-header,
    body.has-product-shell main .capture-wizard-panel {
        padding: 24px 20px;
    }

    body.has-product-shell main .capture-wizard-rail {
        padding: 0 14px;
    }

    body.has-product-shell main .capture-wizard-rail li {
        min-height: 66px;
    }

    body.has-product-shell main .capture-wizard-rail li strong {
        display: none;
    }

    body.has-product-shell main .capture-wizard-panel .source-selector,
    body.has-product-shell main .capture-wizard-panel .workflow-switch,
    body.has-product-shell main .capture-wizard-panel .dataset-choice-section,
    body.has-product-shell main .capture-service-status,
    body.has-product-shell main .capture-time-grid,
    body.has-product-shell main .capture-result-strip {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-page-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .fleet-combined-rail {
        padding: 0 12px;
    }

    body.has-product-shell main .fleet-combined-rail a {
        min-height: 64px;
    }

    body.has-product-shell main .fleet-combined-rail a strong {
        display: none;
    }

    body.has-product-shell main .fleet-intake-detail,
    body.has-product-shell main .fleet-intake-form {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .fleet-intake-form .primary-button {
        width: 100%;
        white-space: normal;
    }

    body.has-product-shell main .capture-wizard-panel :is(
        .viacc-source-settings,
        .intrepid-source-settings
    ) {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .capture-wizard-panel .dataset-choice-section .config-section-heading {
        margin-bottom: 10px;
    }

    body.has-product-shell main .capture-wizard-panel .dataset-choice-section {
        min-height: 0;
    }

    body.has-product-shell main .settings-wizard-panel .source-window-fields {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
    }

    body.has-product-shell main .settings-wizard-panel .source-window-field,
    body.has-product-shell main .settings-wizard-panel .source-history-field {
        padding: 0;
        border-left: 0 !important;
    }

    body.has-product-shell main .settings-wizard-panel .capture-enrichment {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .capture-wizard-panel .source-card {
        min-height: 148px;
    }

    body.has-product-shell main .capture-wizard-actions,
    body.has-product-shell main .capture-run-actions,
    body.has-product-shell main .capture-run-hero {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .capture-wizard-actions :where(button, a),
    body.has-product-shell main .capture-submit-actions,
    body.has-product-shell main .capture-submit-actions :where(button, a) {
        width: 100%;
    }

    body.has-product-shell main .capture-submit-actions {
        display: grid;
    }

    body.has-product-shell main .capture-run-percent {
        width: 100%;
        height: auto;
        min-height: 70px;
        border-radius: 18px;
    }

    body.has-product-shell main .capture-run-progress {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.has-product-shell main .capture-wizard-panel.active {
        animation: none;
    }
}

/* Aircraft step 3: one source decision, one calm result surface. */
body.has-product-shell main .aircraft-source-workspace {
    display: flex;
    min-height: 780px;
    flex-direction: column;
    overflow: hidden;
}

body.has-product-shell main .aircraft-source-wizard {
    display: flex;
    min-height: 620px;
    flex: 1;
    flex-direction: column;
    padding: 26px 28px;
}

body.has-product-shell main .aircraft-source-choice-grid {
    margin-bottom: 22px;
}

body.has-product-shell main .fleet-source-choice.fr24 {
    border-color: rgba(211, 122, 29, .58);
    background:
        linear-gradient(135deg, rgba(198, 92, 10, .95), rgba(230, 137, 25, .92));
}

body.has-product-shell main .fleet-source-choice.fr24 .fleet-source-icon {
    color: #ffb459;
}

body.has-product-shell main .fleet-source-choice.fr24.selected {
    border-color: #ffc06c;
    background:
        linear-gradient(135deg, rgba(62, 49, 24, .97), rgba(94, 56, 20, .97));
}

body.has-product-shell main .aircraft-source-panel {
    overflow: hidden;
}

body.has-product-shell main .aircraft-work-mode-header {
    display: flex;
    min-height: 104px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 28px;
    border-bottom: 1px solid rgba(76, 112, 137, .48);
    background: linear-gradient(100deg, #173e59, #18354a);
}

body.has-product-shell main .aircraft-work-mode-header > div {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .aircraft-work-mode-header h2 {
    margin: 0;
    color: #f4f8fb;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
}

body.has-product-shell main .aircraft-work-mode-header p {
    margin: 0;
    color: #9eb5c5;
    font-size: .76rem;
}

body.has-product-shell main .aircraft-work-mode-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

body.has-product-shell main .aircraft-work-mode-actions form {
    margin: 0;
}

body.has-product-shell main .aircraft-work-mode-actions .api-compare-button {
    border-color: rgba(62, 214, 181, .5);
    color: #b9fff0;
    background: rgba(14, 86, 79, .34);
}

body.has-product-shell main .aircraft-work-mode-actions .api-compare-button:hover {
    border-color: rgba(62, 214, 181, .8);
    background: rgba(16, 110, 98, .5);
}

body.has-product-shell main .aircraft-source-workspace.is-work-mode {
    min-height: 650px;
}

body.has-product-shell main .aircraft-source-workspace.is-work-mode .aircraft-source-wizard {
    min-height: 520px;
    padding: 18px 20px 20px;
}

body.has-product-shell main .aircraft-source-workspace.is-work-mode .aircraft-source-panel {
    flex: 1;
}

body.has-product-shell main .aircraft-fr24-form {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(330px, 1.2fr) auto;
    align-items: end;
    gap: 16px;
    padding: 22px 24px;
}

body.has-product-shell main .aircraft-fr24-form > label:not(.aircraft-fr24-refresh) {
    display: grid;
    gap: 7px;
}

body.has-product-shell main .aircraft-fr24-form label > span {
    color: #d9e7f1;
    font-size: .76rem;
    font-weight: 850;
}

body.has-product-shell main .aircraft-fr24-form input[type="text"],
body.has-product-shell main .aircraft-fr24-form input:not([type]) {
    min-height: 48px;
}

body.has-product-shell main .aircraft-fr24-form label > small {
    color: #8fa7b8;
    font-size: .68rem;
}

body.has-product-shell main .aircraft-fr24-refresh {
    display: flex;
    min-height: 72px;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    border: 1px solid #496981;
    border-radius: 12px;
    background: rgba(22, 43, 59, .62);
}

body.has-product-shell main .aircraft-fr24-refresh input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

body.has-product-shell main .aircraft-fr24-refresh > span {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .aircraft-fr24-refresh strong {
    color: #ecf5fb;
    font-size: .76rem;
}

body.has-product-shell main .aircraft-fr24-form > .primary-button {
    min-height: 48px;
    white-space: nowrap;
}

body.has-product-shell main .aircraft-result-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 24px 12px;
    border-top: 1px solid rgba(74, 112, 137, .42);
}

body.has-product-shell main .aircraft-result-heading > div {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .aircraft-result-heading strong {
    color: #edf6fc;
    font-size: .94rem;
}

body.has-product-shell main .aircraft-result-heading small {
    color: #8fa8b9;
    font-size: .7rem;
}

body.has-product-shell main .aircraft-result-heading > span {
    padding: 6px 10px;
    border: 1px solid rgba(83, 145, 184, .5);
    border-radius: 999px;
    color: #c8dfef;
    font-size: .68rem;
    font-weight: 850;
}

body.has-product-shell main .aircraft-clean-table {
    display: grid;
    gap: 7px;
    padding: 0 20px 20px;
}

body.has-product-shell main .aircraft-clean-row {
    display: grid;
    grid-template-columns: minmax(90px, .65fr) minmax(120px, .8fr) minmax(230px, 1.8fr) minmax(100px, .7fr) minmax(170px, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 9px 13px;
    border: 1px solid #3f6078;
    border-radius: 11px;
    background: rgba(23, 43, 59, .62);
    color: #b9cad6;
    font-size: .76rem;
}

body.has-product-shell main .aircraft-clean-row.head {
    min-height: auto;
    padding-top: 6px;
    padding-bottom: 5px;
    border: 0;
    background: transparent;
    color: #7fa0b7;
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .aircraft-clean-row strong {
    color: #edf5fa;
}

body.has-product-shell main .aircraft-fleet-pill {
    width: max-content;
    min-width: 52px;
    padding: 5px 9px;
    border: 1px solid rgba(42, 189, 148, .48);
    border-radius: 999px;
    background: rgba(27, 130, 103, .2);
    color: #75dec0;
    font-weight: 850;
    text-align: center;
}

body.has-product-shell main .aircraft-fleet-pill.open {
    border-color: rgba(221, 149, 48, .5);
    background: rgba(155, 96, 21, .2);
    color: #ffc46d;
}

body.has-product-shell main .aircraft-detail-values {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

body.has-product-shell main .aircraft-detail-values small {
    padding: 4px 7px;
    border-radius: 6px;
    background: rgba(68, 100, 122, .34);
    color: #b9ccd9;
    font-size: .65rem;
}

body.has-product-shell main .aircraft-source-panel > .pagination-bar {
    margin: 0 20px 20px;
}

body.has-product-shell main .aircraft-editor {
    border-top: 1px solid rgba(74, 112, 137, .42);
}

body.has-product-shell main .aircraft-editor .aircraft-result-heading {
    border-top: 0;
}

body.has-product-shell main .aircraft-source-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 9px;
    padding: 4px 20px 12px;
}

body.has-product-shell main .aircraft-source-status-grid a {
    display: flex;
    min-width: 0;
    min-height: 62px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid #3f6078;
    border-radius: 11px;
    background: #172f44;
    color: #b8cad6;
    text-decoration: none;
}

body.has-product-shell main .aircraft-source-status-grid a.active {
    border-color: #69a8d2;
    background: #1b3c55;
    box-shadow: inset 3px 0 #69a8d2;
}

body.has-product-shell main .aircraft-source-status-grid a.present {
    border-color: #3fd0aa;
    background: rgba(21, 91, 75, .38);
}

body.has-product-shell main .aircraft-source-status-grid a.present.active {
    box-shadow: inset 3px 0 #3fd0aa;
}

body.has-product-shell main .aircraft-source-status-grid a.missing {
    border-color: #4b95e6;
    background: rgba(27, 75, 129, .38);
}

body.has-product-shell main .aircraft-source-status-grid a.missing.active {
    box-shadow: inset 3px 0 #68adfb;
}

body.has-product-shell main .aircraft-source-status-grid a.fleet-open.active,
body.has-product-shell main .aircraft-source-status-grid a.open.active {
    border-color: #e1a74d;
    background: rgba(121, 76, 17, .32);
    box-shadow: inset 3px 0 #e1a74d;
}

body.has-product-shell main .aircraft-source-status-grid a.excluded.active {
    border-color: #e76c82;
    background: rgba(112, 34, 52, .34);
    box-shadow: inset 3px 0 #e76c82;
}

body.has-product-shell main .package-workspace-banner,
body.has-product-shell main .capture-package-stage,
body.has-product-shell main .dataset-composer-safety {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 14px 20px;
    padding: 13px 15px;
    border: 1px solid rgba(62, 210, 178, .48);
    border-radius: 11px;
    background: rgba(13, 83, 79, .28);
    color: #c5d9e5;
}

body.has-product-shell main .package-workspace-banner strong,
body.has-product-shell main .capture-package-stage strong,
body.has-product-shell main .dataset-composer-safety strong {
    color: #64e0c5;
    white-space: nowrap;
}

body.has-product-shell main .package-aircraft-source-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin: 0 20px 14px;
}

body.has-product-shell main .package-aircraft-source {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border: 1px solid #42647a;
    border-radius: 10px;
    background: #163047;
}

body.has-product-shell main .package-aircraft-source.ready {
    border-color: rgba(47, 194, 156, .55);
}

body.has-product-shell main .package-aircraft-source > div {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .package-aircraft-source small {
    color: #98afbf;
}

body.has-product-shell main .capture-package-stage {
    max-width: 1500px;
    margin: 0 auto 18px;
}

body.has-product-shell main .capture-package-stage > div {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .capture-package-stage small {
    color: #a8bdcc;
}

body.has-product-shell main .dataset-composer-card {
    max-width: 1500px;
    margin: 0 auto;
}

body.has-product-shell main .dataset-target-form,
body.has-product-shell main .dataset-composer-primary,
body.has-product-shell main .dataset-composer-form footer,
body.has-product-shell main .dataset-composer-active {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
}

body.has-product-shell main .dataset-target-form label,
body.has-product-shell main .dataset-composer-primary > div,
body.has-product-shell main .dataset-composer-active {
    display: grid;
    gap: 5px;
}

body.has-product-shell main .dataset-target-form input {
    width: 180px;
}

body.has-product-shell main .dataset-composer-source-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 4px 22px 10px;
}

body.has-product-shell main .dataset-composer-source {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 92px;
    padding: 14px;
    border: 1px solid #3f6078;
    border-radius: 11px;
    background: #172f44;
}

body.has-product-shell main .dataset-composer-source:has(input:checked) {
    border-color: #6d8eff;
    box-shadow: inset 3px 0 #6d8eff;
}

body.has-product-shell main .dataset-composer-source span:last-child {
    display: grid;
    gap: 4px;
}

body.has-product-shell main .dataset-composer-source small,
body.has-product-shell main .dataset-composer-primary em,
body.has-product-shell main .dataset-composer-active span {
    color: #9fb5c5;
}

body.has-product-shell main .dataset-composer-form footer {
    justify-content: space-between;
    border-top: 1px solid rgba(74, 112, 137, .42);
}

body.has-product-shell main .dataset-composer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

body.has-product-shell main .dataset-composer-active {
    margin: 0 22px 22px;
    border: 1px solid rgba(62, 210, 178, .4);
    border-radius: 11px;
    background: rgba(13, 83, 79, .2);
}

body.has-product-shell main .aircraft-source-status-grid small {
    color: #a8bdcc;
    font-size: .7rem;
    font-weight: 800;
}

body.has-product-shell main .aircraft-source-status-grid strong {
    color: #f5f9fc;
    font-size: 1.25rem;
}

body.has-product-shell main .aircraft-source-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, .42fr) auto auto auto;
    align-items: end;
    gap: 9px;
    padding: 0 20px 14px;
}

body.has-product-shell main .aircraft-source-filter label {
    display: grid;
    gap: 4px;
}

body.has-product-shell main .aircraft-source-filter label > span {
    color: #91aabc;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.has-product-shell main .aircraft-source-filter :is(input, select, button, a) {
    min-height: 40px;
}

body.has-product-shell main .aircraft-source-filter-result {
    align-self: center;
    color: #9eb4c4;
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

body.has-product-shell main .aircraft-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 4px 20px 14px;
}

body.has-product-shell main .aircraft-list-toolbar.source-toolbar {
    justify-content: flex-end;
    border-top: 1px solid rgba(74, 112, 137, .42);
    padding-top: 14px;
}

body.has-product-shell main .aircraft-bulk-actions,
body.has-product-shell main .aircraft-list-toolbar.source-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.has-product-shell main .aircraft-list-toolbar .secondary-button {
    min-height: 39px;
    padding: 8px 13px;
    font-size: .72rem;
}

body.has-product-shell main .secondary-button.success {
    border-color: rgba(38, 201, 157, .66);
    color: #6de5c3;
}

body.has-product-shell main .secondary-button.danger {
    border-color: rgba(224, 103, 106, .58);
    color: #ff9fa2;
}

body.has-product-shell main .secondary-button.danger.ghost {
    background: rgba(115, 38, 47, .18);
}

body.has-product-shell main .aircraft-add-panel {
    position: relative;
}

body.has-product-shell main .aircraft-add-panel > summary {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border: 1px solid rgba(42, 189, 148, .62);
    border-radius: 9px;
    color: #70dfbf;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 850;
    list-style: none;
}

body.has-product-shell main .aircraft-add-panel > summary::-webkit-details-marker {
    display: none;
}

body.has-product-shell main .aircraft-add-panel[open] {
    width: 100%;
}

body.has-product-shell main .aircraft-add-panel[open] > summary {
    margin-bottom: 10px;
}

body.has-product-shell main .aircraft-edit-list {
    max-height: 480px;
    overflow: auto;
    overscroll-behavior: contain;
    border-top: 1px solid rgba(74, 112, 137, .34);
    scrollbar-color: #52738a #132b3d;
}

body.has-product-shell main .aircraft-edit-list.source {
    max-height: 520px;
}

body.has-product-shell main .aircraft-edit-row {
    display: grid;
    grid-template-columns: 28px minmax(108px, .72fr) minmax(86px, .58fr) minmax(190px, 1.55fr) minmax(78px, .6fr) minmax(100px, .75fr) minmax(96px, .75fr) minmax(76px, .6fr);
    align-items: center;
    gap: 9px;
    min-width: 920px;
    min-height: 57px;
    padding: 9px 16px;
    border-bottom: 1px solid rgba(74, 112, 137, .3);
    color: #b9cad6;
    font-size: .74rem;
}

body.has-product-shell main .aircraft-edit-row.head {
    position: sticky;
    z-index: 3;
    top: 0;
    min-height: 35px;
    background: #182f42;
    color: #7fa0b7;
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.has-product-shell main .aircraft-edit-record > summary {
    cursor: pointer;
    list-style: none;
}

body.has-product-shell main .aircraft-edit-record > summary::-webkit-details-marker {
    display: none;
}

body.has-product-shell main .aircraft-edit-record > summary:hover,
body.has-product-shell main .aircraft-edit-record[open] > summary {
    background: rgba(43, 83, 109, .38);
}

body.has-product-shell main .aircraft-edit-record.pending-delete > summary {
    background: rgba(104, 42, 49, .22);
    opacity: .78;
}

body.has-product-shell main .aircraft-edit-row > span:nth-child(4) {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .aircraft-registration-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #edf6fc;
    text-decoration: none;
}

body.has-product-shell main .aircraft-registration-link span {
    color: #62c6f3;
    font-size: .68rem;
}

body.has-product-shell main .aircraft-registration-link:hover,
body.has-product-shell main .aircraft-registration-link:focus-visible {
    color: #7dd7ff;
    text-decoration: underline;
}

body.has-product-shell main .aircraft-source-airlines {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

body.has-product-shell main .aircraft-source-airlines b {
    display: inline-flex;
    min-width: 38px;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    padding: 3px 7px;
    border: 1px solid rgba(52, 201, 166, .48);
    border-radius: 999px;
    background: rgba(21, 132, 108, .2);
    color: #73e1c6 !important;
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .04em;
}

body.has-product-shell main .aircraft-package-airline-filter {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid rgba(77, 125, 151, .48);
    border-radius: 13px;
    background: rgba(13, 37, 54, .62);
}

body.has-product-shell main .aircraft-package-airline-filter > span {
    margin-right: 4px;
    color: #9eb5c4;
    font-size: .69rem;
    font-weight: 850;
    text-transform: uppercase;
}

body.has-product-shell main .aircraft-package-airline-filter a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border: 1px solid #4d6d84;
    border-radius: 10px;
    background: #1b3448;
    color: #dceaf3;
    font-size: .71rem;
    font-weight: 850;
    text-decoration: none;
}

body.has-product-shell main .aircraft-package-airline-filter a b {
    min-width: 25px;
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(105, 152, 179, .18);
    color: #a8cee4 !important;
    text-align: center;
}

body.has-product-shell main .aircraft-package-airline-filter a:hover,
body.has-product-shell main .aircraft-package-airline-filter a.active {
    border-color: #38c6a1;
    background: rgba(19, 111, 91, .32);
    color: #fff;
}

body.has-product-shell main .workspace-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

body.has-product-shell main .workspace-expand-button {
    white-space: nowrap;
}

body.has-product-shell main .workspace-expand-button > span:first-child {
    font-size: 1rem;
}

body.workspace-focus-open {
    overflow: hidden !important;
}

body.has-product-shell main [data-workspace-focus].is-workspace-focus {
    position: fixed !important;
    z-index: 10000 !important;
    inset: 10px !important;
    width: auto !important;
    max-width: none !important;
    height: calc(100dvh - 20px) !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    border: 1px solid #5d839b !important;
    border-radius: 18px !important;
    background: #21384c !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .58) !important;
}

body.has-product-shell main [data-workspace-focus].is-workspace-focus > :is(.aircraft-work-mode-header, .config-card-header, .route-comparison-title) {
    position: sticky;
    z-index: 20;
    top: 0;
    border-bottom: 1px solid rgba(91, 132, 158, .55);
    background: #193248 !important;
    box-shadow: 0 12px 24px rgba(7, 19, 29, .25);
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-edit-list.source {
    min-height: 430px;
    max-height: calc(100dvh - 260px);
}

body.has-product-shell main .route-comparison-card.is-workspace-focus .route-reconcile-list {
    min-height: 430px;
    max-height: calc(100dvh - 250px) !important;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-source-panel {
    min-height: calc(100dvh - 300px);
}

@media (max-width: 760px) {
    body.has-product-shell main [data-workspace-focus].is-workspace-focus {
        inset: 4px !important;
        height: calc(100dvh - 8px) !important;
        border-radius: 12px !important;
    }

    body.has-product-shell main .aircraft-package-airline-filter > span {
        flex: 0 0 100%;
    }
}

body.has-product-shell main .aircraft-edit-row b,
body.has-product-shell main .aircraft-edit-row strong {
    color: #edf6fc;
}

body.has-product-shell main .aircraft-edit-row small {
    color: #8fa8b9;
    font-size: .64rem;
}

body.has-product-shell main .aircraft-edit-trigger {
    color: #8ec3e7;
    font-size: .68rem;
    font-weight: 850;
    text-align: right;
}

body.has-product-shell main .aircraft-edit-trigger i {
    display: inline-block;
    transition: transform .18s ease;
}

body.has-product-shell main .aircraft-edit-record[open] .aircraft-edit-trigger i {
    transform: rotate(180deg);
}

body.has-product-shell main .aircraft-status-pill {
    width: max-content;
    padding: 5px 8px;
    border: 1px solid #496981;
    border-radius: 999px;
    color: #b9cbd7;
    font-size: .62rem;
    font-weight: 850;
}

body.has-product-shell main .aircraft-status-pill.present,
body.has-product-shell main .aircraft-status-pill.approved {
    border-color: rgba(42, 189, 148, .5);
    background: rgba(27, 130, 103, .17);
    color: #72dfc0;
}

body.has-product-shell main .aircraft-status-pill.new {
    border-color: rgba(78, 153, 238, .62);
    background: rgba(33, 93, 161, .24);
    color: #9acbff;
}

body.has-product-shell main .aircraft-status-pill.expired {
    border-color: rgba(238, 123, 112, .62);
    background: rgba(126, 48, 43, .3);
    color: #ffb6ad;
}

body.has-product-shell main .aircraft-status-pill.missing,
body.has-product-shell main .aircraft-status-pill.blocked {
    border-color: rgba(217, 150, 52, .48);
    background: rgba(145, 91, 21, .16);
    color: #f4bf70;
}

body.has-product-shell main .aircraft-row-editor {
    display: grid;
    grid-template-columns: minmax(120px, .8fr) minmax(190px, 1.4fr) minmax(105px, .7fr) minmax(155px, 1fr);
    align-items: end;
    gap: 12px;
    min-width: 0;
    padding: 16px 16px 18px 53px;
    border-bottom: 1px solid #4a6d84;
    background: rgba(13, 33, 48, .68);
}

body.has-product-shell main .aircraft-row-editor > label:not(.aircraft-transfer-toggle) {
    display: grid;
    gap: 5px;
}

body.has-product-shell main .aircraft-row-editor label > span {
    color: #a9becd;
    font-size: .63rem;
    font-weight: 850;
}

body.has-product-shell main .aircraft-row-editor input,
body.has-product-shell main .aircraft-row-editor select {
    min-height: 42px;
}

body.has-product-shell main .aircraft-transfer-toggle {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border: 1px solid #46677e;
    border-radius: 9px;
    background: rgba(28, 53, 71, .65);
}

body.has-product-shell main .aircraft-row-editor > .aircraft-transfer-toggle {
    grid-column: 1 / 3;
}

body.has-product-shell main .aircraft-transfer-toggle input {
    width: 17px;
    min-height: 17px;
    height: 17px;
}

body.has-product-shell main .aircraft-transfer-toggle > span {
    display: grid;
    gap: 1px;
}

body.has-product-shell main .aircraft-transfer-toggle strong {
    color: #e7f1f7;
    font-size: .68rem;
}

body.has-product-shell main .aircraft-transfer-toggle small {
    color: #8fa7b8;
    font-size: .58rem;
}

body.has-product-shell main .aircraft-row-buttons {
    display: flex;
    grid-column: 3 / 5;
    justify-content: flex-end;
    gap: 7px;
}

body.has-product-shell main .aircraft-row-buttons button {
    min-height: 42px;
    white-space: nowrap;
}

@media (max-width: 1150px) {
    body.has-product-shell main .aircraft-fr24-form {
        grid-template-columns: 1fr 1fr;
    }

    body.has-product-shell main .aircraft-fr24-form > .primary-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    body.has-product-shell main .aircraft-clean-table {
        overflow-x: auto;
    }

    body.has-product-shell main .aircraft-clean-row {
        min-width: 880px;
    }

    body.has-product-shell main .aircraft-list-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .aircraft-bulk-actions {
        width: 100%;
    }

    body.has-product-shell main .aircraft-row-editor {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    body.has-product-shell main .aircraft-source-filter {
        grid-template-columns: minmax(240px, 1fr) minmax(180px, .5fr) auto;
    }

    body.has-product-shell main .aircraft-source-filter :is(a, .aircraft-source-filter-result) {
        grid-row: 2;
    }

    body.has-product-shell main .aircraft-row-buttons {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .aircraft-source-wizard {
        min-height: 0;
        padding: 20px;
    }

    body.has-product-shell main .aircraft-fr24-form {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    body.has-product-shell main .aircraft-fr24-form > .primary-button {
        grid-column: auto;
    }

    body.has-product-shell main .aircraft-result-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .aircraft-source-status-grid {
        grid-template-columns: 1fr 1fr;
        padding-right: 14px;
        padding-left: 14px;
    }

    body.has-product-shell main .dataset-composer-source-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .package-aircraft-source-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .package-workspace-banner,
    body.has-product-shell main .capture-package-stage,
    body.has-product-shell main .dataset-composer-form footer {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .dataset-composer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .aircraft-source-filter {
        grid-template-columns: 1fr;
        padding-right: 14px;
        padding-left: 14px;
    }

    body.has-product-shell main .aircraft-source-filter :is(a, .aircraft-source-filter-result) {
        grid-row: auto;
    }

    body.has-product-shell main .aircraft-work-mode-header {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .aircraft-work-mode-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    body.has-product-shell main .aircraft-work-mode-actions :is(a, button) {
        width: 100%;
    }

    body.has-product-shell main .aircraft-list-toolbar.source-toolbar,
    body.has-product-shell main .aircraft-bulk-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    body.has-product-shell main .aircraft-list-toolbar button,
    body.has-product-shell main .aircraft-bulk-actions button {
        width: 100%;
    }
}

/* Airports: source decision first, then one calm and editable inventory. */
body.has-product-shell main .airport-page-hero {
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
}

body.has-product-shell main .airport-source-workspace {
    display: flex;
    max-width: 1500px;
    min-height: 690px;
    flex-direction: column;
    margin: 0 auto;
    overflow: hidden;
}

body.has-product-shell main .airport-source-workspace.is-work-mode {
    min-height: 720px;
}

body.has-product-shell main .airport-source-wizard {
    display: flex;
    min-height: 520px;
    flex: 1;
    flex-direction: column;
    padding: 28px 32px 8px;
}

body.has-product-shell main .airport-source-choice-grid {
    margin-bottom: 2px;
}

body.has-product-shell main .airport-source-panel {
    min-height: 285px;
}

body.has-product-shell main .airport-source-panel > header {
    padding: 20px 24px 17px;
    border-bottom: 1px solid rgba(109, 148, 176, .28);
    background: rgba(13, 33, 50, .44);
}

body.has-product-shell main .airport-source-panel > header h3 {
    margin: 4px 0 5px;
    color: #f5f8fb;
    font-size: 1.28rem;
}

body.has-product-shell main .airport-source-panel > header p {
    margin: 0;
    color: #aabcc9;
    font-size: .77rem;
}

body.has-product-shell main .airport-source-panel .route-api-source {
    margin: 18px 22px 22px;
}

body.has-product-shell main .airport-source-form {
    display: grid;
    gap: 14px;
    padding: 22px 24px 24px;
}

body.has-product-shell main .airport-source-form.csv {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}

body.has-product-shell main .airport-source-form.csv > input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

body.has-product-shell main .airport-source-form.csv > label {
    display: flex;
    min-height: 76px;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px dashed #5e829d;
    border-radius: 13px;
    background: rgba(20, 43, 60, .58);
    color: #e8f2f7;
    cursor: pointer;
}

body.has-product-shell main .airport-source-form.csv > label.has-file {
    border-style: solid;
    border-color: #35c7a7;
    background: rgba(20, 102, 90, .28);
}

body.has-product-shell main .airport-source-form.csv > label > span:first-child {
    color: #83ddd1;
    font-size: 1.5rem;
}

body.has-product-shell main .airport-source-form.csv > label > span:last-child {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .airport-source-form.csv > label small {
    color: #9fb5c4;
}

body.has-product-shell main .airport-source-form.manual {
    grid-template-columns: minmax(180px, .42fr) minmax(280px, 1fr) minmax(260px, .7fr) auto;
    align-items: end;
}

body.has-product-shell main .airport-source-form.manual > label:not(.airport-manual-base) {
    display: grid;
    gap: 7px;
}

body.has-product-shell main .airport-source-form.manual > label > span {
    color: #dce8f0;
    font-size: .72rem;
    font-weight: 850;
}

body.has-product-shell main .airport-source-form.manual input[type="text"],
body.has-product-shell main .airport-source-form.manual input:not([type]) {
    min-height: 48px;
}

body.has-product-shell main .airport-manual-base {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 11px;
    padding: 8px 12px;
    border: 1px solid #4c6b82;
    border-radius: 10px;
    background: rgba(20, 41, 57, .64);
}

body.has-product-shell main .airport-manual-base input {
    width: 17px;
    min-height: 17px;
    height: 17px;
}

body.has-product-shell main .airport-manual-base > span {
    display: grid;
    gap: 1px;
}

body.has-product-shell main .airport-manual-base small {
    color: #91a8b8;
    font-size: .62rem;
    font-weight: 500;
}

body.has-product-shell main .airport-source-actions {
    margin-top: auto;
    padding: 18px 28px 24px;
}

/* Aircraft: Cost Index belongs to the aircraft types, not the final exporter. */
body.has-product-shell main .cost-index-open-button {
    border-color: rgba(138, 115, 232, .7);
    background: rgba(81, 60, 154, .32);
    color: #ded6ff;
}

body.has-product-shell main .aircraft-cost-index-dialog {
    width: min(920px, calc(100vw - 36px));
    max-height: min(780px, calc(100vh - 42px));
    padding: 0;
    border: 1px solid #4f7189;
    border-radius: 18px;
    background: #142d40;
    color: #eef5f8;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .56);
}

body.has-product-shell main .aircraft-cost-index-dialog::backdrop {
    background: rgba(4, 15, 24, .76);
    backdrop-filter: blur(5px);
}

body.has-product-shell main .aircraft-cost-index-dialog > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: 25px 28px 22px;
    border-bottom: 1px solid #42647b;
    background: linear-gradient(120deg, #194663, #235f72);
}

body.has-product-shell main .aircraft-cost-index-dialog h2 {
    margin: 5px 0 4px;
    color: #fff;
    font-size: 1.55rem;
}

body.has-product-shell main .aircraft-cost-index-dialog p {
    margin: 0;
    color: #bed0db;
    font-size: .78rem;
}

body.has-product-shell main .aircraft-cost-index-dialog > form {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

body.has-product-shell main .aircraft-cost-index-table {
    max-height: min(500px, calc(100vh - 250px));
    overflow: auto;
    padding: 18px 22px;
}

body.has-product-shell main .aircraft-cost-index-row {
    display: grid;
    grid-template-columns: 110px minmax(220px, 1fr) minmax(150px, .65fr) 160px;
    align-items: center;
    gap: 16px;
    min-height: 62px;
    padding: 10px 14px;
    border: 1px solid #3d6077;
    border-bottom: 0;
    background: rgba(14, 37, 53, .66);
}

body.has-product-shell main .aircraft-cost-index-row:first-child {
    border-radius: 11px 11px 0 0;
}

body.has-product-shell main .aircraft-cost-index-row:last-child {
    border-bottom: 1px solid #3d6077;
    border-radius: 0 0 11px 11px;
}

body.has-product-shell main .aircraft-cost-index-row.head {
    position: sticky;
    z-index: 2;
    top: 0;
    min-height: 42px;
    background: #17394f;
    color: #8faabd;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .aircraft-cost-index-row > strong {
    color: #89dcd0;
}

body.has-product-shell main .aircraft-cost-index-row > input[type="number"] {
    width: 100%;
    min-height: 42px;
    border: 1px solid #52738b;
    border-radius: 9px;
    background: #0f2738;
    color: #fff;
    font-weight: 800;
}

body.has-product-shell main .aircraft-cost-index-fleets {
    color: #9fc0d2;
    font-weight: 800;
}

body.has-product-shell main .aircraft-cost-index-dialog footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 24px 22px;
    border-top: 1px solid #3c5d73;
    background: #183348;
}

body.has-product-shell main .aircraft-cost-index-dialog footer > span {
    max-width: 530px;
    color: #9db2c0;
    font-size: .68rem;
}

body.has-product-shell main .aircraft-cost-index-dialog footer > div {
    display: flex;
    gap: 9px;
}

@media (max-width: 760px) {
    body.has-product-shell main .aircraft-cost-index-row {
        grid-template-columns: 74px minmax(150px, 1fr) 110px;
    }

    body.has-product-shell main .aircraft-cost-index-row > :nth-child(4) {
        display: none;
    }

    body.has-product-shell main .aircraft-cost-index-dialog footer {
        align-items: stretch;
        flex-direction: column;
    }
}

body.has-product-shell main .airport-work-mode-header {
    flex: 0 0 auto;
}

body.has-product-shell main .airport-api-result {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin: 14px 22px 0;
    padding: 10px 13px;
    border: 1px solid rgba(78, 198, 157, .38);
    border-radius: 11px;
    background: rgba(19, 105, 82, .2);
}

body.has-product-shell main .airport-api-result.error {
    border-color: rgba(221, 137, 107, .4);
    background: rgba(126, 61, 47, .23);
}

body.has-product-shell main .airport-api-result > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    background: rgba(48, 198, 156, .18);
    color: #7ce2c4;
    font-weight: 900;
}

body.has-product-shell main .airport-api-result > div {
    display: grid;
    gap: 1px;
}

body.has-product-shell main .airport-api-result small,
body.has-product-shell main .airport-api-result em {
    color: #9fb5c4;
    font-size: .66rem;
    font-style: normal;
}

body.has-product-shell main .airport-inventory-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    padding: 14px 22px 0;
}

body.has-product-shell main .airport-inventory-summary > span {
    display: flex;
    min-height: 60px;
    align-items: center;
    gap: 11px;
    padding: 10px 14px;
    border: 1px solid #45647b;
    border-radius: 11px;
    background: rgba(24, 48, 66, .62);
}

body.has-product-shell main .airport-inventory-summary strong {
    color: #f5f8fa !important;
    font-size: 1.28rem;
}

body.has-product-shell main .airport-inventory-summary small {
    color: #a7bac7;
    font-size: .67rem;
    font-weight: 750;
}

body.has-product-shell main .airport-inventory-summary .present {
    border-color: rgba(52, 192, 151, .4);
}

body.has-product-shell main .airport-inventory-summary .missing {
    border-color: rgba(225, 162, 69, .42);
}

body.has-product-shell main .airport-first-inventory {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 14px 22px 0;
    padding: 13px 16px;
    border: 1px solid #48677e;
    border-radius: 12px;
    background: rgba(25, 51, 70, .58);
}

body.has-product-shell main .airport-first-inventory > div {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .airport-first-inventory > div:last-child {
    display: flex;
    align-items: center;
    gap: 9px;
}

body.has-product-shell main .airport-first-inventory small {
    color: #9fb3c1;
    font-size: .68rem;
}

body.has-product-shell main .airport-inventory-card {
    display: flex;
    min-height: 430px;
    flex: 1;
    flex-direction: column;
    margin: 14px 22px 0;
    overflow: hidden;
    border: 1px solid #496a82;
    border-radius: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(35, 112, 146, .13), transparent 24rem),
        #18334a;
}

body.has-product-shell main .airport-inventory-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(100, 139, 166, .3);
}

body.has-product-shell main .airport-inventory-card > header h3 {
    margin: 3px 0 2px;
    color: #f5f8fb;
    font-size: 1.15rem;
}

body.has-product-shell main .airport-inventory-card > header p {
    margin: 0;
    color: #9fb4c2;
    font-size: .68rem;
}

body.has-product-shell main .airport-inventory-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

body.has-product-shell main .airport-inventory-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    background: rgba(13, 34, 50, .46);
}

body.has-product-shell main .airport-inventory-toolbar label {
    display: grid;
    width: min(520px, 70%);
    gap: 5px;
}

body.has-product-shell main .airport-inventory-toolbar label > span {
    color: #b9cad5;
    font-size: .65rem;
    font-weight: 800;
}

body.has-product-shell main .airport-inventory-toolbar input {
    min-height: 38px;
}

body.has-product-shell main .airport-inventory-toolbar > span {
    padding: 6px 10px;
    border: 1px solid #4a6981;
    border-radius: 999px;
    color: #b8cbd8;
    font-size: .67rem;
    font-weight: 800;
}

body.has-product-shell main .airport-inventory-list {
    max-height: 480px;
    flex: 1;
    overflow: auto;
    background: rgba(11, 28, 42, .28);
}

body.has-product-shell main .airport-inventory-row {
    display: grid;
    min-width: 1000px;
    grid-template-columns: minmax(120px, .75fr) minmax(260px, 2fr) minmax(70px, .42fr) minmax(155px, .9fr) minmax(110px, .68fr) minmax(210px, 1.1fr);
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 8px 14px;
    border: 0;
    border-bottom: 1px solid rgba(82, 119, 145, .4);
    background: rgba(21, 46, 65, .56);
}

body.has-product-shell main .airport-inventory-row:nth-child(odd):not(.head) {
    background: rgba(18, 40, 57, .72);
}

body.has-product-shell main .airport-inventory-row.head {
    min-height: 34px;
    position: sticky;
    z-index: 2;
    top: 0;
    background: #142d42;
    color: #8fa8ba;
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.has-product-shell main .airport-inventory-row input[type="text"],
body.has-product-shell main .airport-inventory-row input:not([type]) {
    width: 100%;
    min-height: 40px;
}

body.has-product-shell main .airport-inventory-code {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .airport-inventory-code strong {
    font-size: .9rem;
}

body.has-product-shell main .airport-inventory-code small {
    color: #91a9b9;
    font-size: .62rem;
}

body.has-product-shell main .airport-route-count {
    font-size: .85rem;
}

body.has-product-shell main .airport-vamsys-state {
    width: max-content;
    padding: 6px 9px;
    border: 1px solid rgba(52, 203, 156, .42);
    border-radius: 999px;
    background: rgba(18, 126, 93, .18);
    color: #8ce2c3;
    font-size: .65rem;
    font-weight: 850;
}

body.has-product-shell main .airport-vamsys-state.missing {
    border-color: rgba(225, 162, 69, .48);
    background: rgba(144, 92, 25, .2);
    color: #f1c97e;
}

body.has-product-shell main .airport-inventory-base {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #c9d7e0;
    font-size: .68rem;
    font-weight: 750;
}

body.has-product-shell main .airport-inventory-base input {
    width: 17px;
    min-height: 17px;
    height: 17px;
}

body.has-product-shell main .airport-inventory-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

body.has-product-shell main .airport-inventory-actions button {
    min-height: 38px;
    padding: 0 11px;
    white-space: nowrap;
}

body.has-product-shell main .airport-step-actions {
    flex: 0 0 auto;
    margin: 0;
    padding: 18px 22px 22px;
}

@media (max-width: 1100px) {
    body.has-product-shell main .airport-source-form.manual {
        grid-template-columns: 1fr 1fr;
    }

    body.has-product-shell main .airport-source-form.manual > .primary-button {
        width: 100%;
    }

    body.has-product-shell main .airport-inventory-list {
        overflow-x: auto;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .airport-source-workspace,
    body.has-product-shell main .airport-source-workspace.is-work-mode {
        min-height: 0;
    }

    body.has-product-shell main .airport-source-wizard {
        min-height: 0;
        padding: 18px;
    }

    body.has-product-shell main .airport-source-form.csv,
    body.has-product-shell main .airport-source-form.manual {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .airport-source-form :is(.primary-button, .secondary-button) {
        width: 100%;
    }

    body.has-product-shell main .airport-inventory-summary {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .airport-first-inventory,
    body.has-product-shell main .airport-inventory-card > header,
    body.has-product-shell main .airport-inventory-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .airport-inventory-header-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .airport-first-inventory > div:last-child {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .airport-inventory-toolbar label {
        width: 100%;
    }
}

/* Route workspace: one calm, wide table instead of stacked legacy panels. */
body.has-product-shell main .route-product-page {
    display: grid;
    gap: 18px;
}

body.has-product-shell main .route-page-hero {
    width: 100%;
    max-width: none;
    min-height: 154px;
    padding: 28px 48px;
    position: relative;
    border: 1px solid #356987;
    border-radius: 22px;
    background: linear-gradient(105deg, rgba(26, 68, 99, .98), rgba(30, 112, 133, .9)), var(--panel);
    overflow: hidden;
}

.route-clear-view {
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid rgba(151, 195, 223, .34);
    border-radius: 11px;
    color: #d7e7f2;
    background: rgba(8, 31, 48, .28);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.route-clear-view:hover {
    border-color: rgba(111, 211, 214, .7);
    background: rgba(10, 45, 64, .68);
}

body.has-product-shell main .route-page-hero::after {
    opacity: .15;
}

body.has-product-shell main .route-page-hero h1 {
    max-width: none;
    font-size: clamp(36px, 4.2vw, 58px);
    line-height: .98;
}

body.has-product-shell main .route-product-page.is-work-mode .route-review-launch,
body.has-product-shell main .route-product-page.is-work-mode .route-optional-settings,
body.has-product-shell main .route-product-page.is-work-mode .route-package-card,
body.has-product-shell main .route-product-page.is-work-mode .route-compare-action,
body.has-product-shell main .route-product-page.is-work-mode .route-bulk-delete-card,
body.has-product-shell main .route-product-page.is-work-mode .route-workflow-card {
    display: none;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reference-details {
    display: block;
    margin: 0 18px 16px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reference-details .comparison-source-heading,
body.has-product-shell main .route-product-page.is-work-mode .route-reference-details .comparison-source-layout {
    display: none;
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 9px;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(82, 119, 145, .35);
    background: rgba(13, 34, 50, .22);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card {
    min-height: 66px;
    padding: 10px 12px;
    border: 1px solid #3c6079;
    border-radius: 12px;
    background: #1c3448;
    box-shadow: none;
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card span,
body.has-product-shell main .route-product-page.is-work-mode .route-status-card small {
    white-space: nowrap;
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card > span {
    white-space: normal;
    line-height: 1.2;
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card strong {
    font-size: 22px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.all {
    border-color: #59758b;
    color: #dce9f2;
    background: linear-gradient(135deg, #244259, #1c364a);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.all > span::before {
    content: "≡";
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.active {
    border-width: 2px;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .38),
        0 6px 14px rgba(3, 15, 24, .24);
    transform: translateY(-1px);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.current {
    border-color: #268d73;
    background: linear-gradient(135deg, #124b41, #173e3b);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.changed {
    border-color: #b27a24;
    background: linear-gradient(135deg, #543b18, #3e321f);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.review {
    border-color: #b88a38;
    background: linear-gradient(135deg, #4b4025, #373526);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.expired {
    border-color: #b64b60;
    background: linear-gradient(135deg, #542635, #402632);
}

body.has-product-shell main .route-product-page.is-work-mode .route-status-card.new {
    border-color: #3a7fc7;
    background: linear-gradient(135deg, #183f69, #1b3755);
}

body.has-product-shell main .route-product-page.is-work-mode .route-comparison-card {
    display: flex;
    min-height: 430px;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    border: 1px solid #496a82 !important;
    border-top: 1px solid #496a82 !important;
    border-radius: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(35, 112, 146, .13), transparent 24rem),
        #18334a !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-comparison-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(100, 139, 166, .3);
    background: transparent !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-comparison-title h2 {
    margin: 3px 0 2px;
    color: #f5f8fb;
    font-size: 1.15rem;
}

body.has-product-shell main .route-product-page.is-work-mode .route-comparison-title p {
    margin: 0;
    color: #9fb4c2;
    font-size: .68rem;
}

body.has-product-shell main .route-quick-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

body.has-product-shell main .route-quick-actions form {
    margin: 0;
}

body.has-product-shell main .route-quick-button {
    min-height: 39px;
    padding: 9px 13px;
    border: 1px solid;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 850;
}

body.has-product-shell main .route-quick-button.new {
    border-color: #448fd7;
    color: #d8ecff;
    background: #245b93;
}

body.has-product-shell main .route-quick-button.changed {
    border-color: #c28930;
    color: #ffe3ae;
    background: #61451d;
}

body.has-product-shell main .route-product-page.is-work-mode .route-table-workbench {
    display: grid;
    gap: 0;
    padding: 0;
    border-color: rgba(82, 119, 145, .35) !important;
    border-bottom: 1px solid #36566e;
    background: rgba(13, 34, 50, .32) !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-table-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, .35fr) 150px auto auto;
    align-items: end;
    gap: 12px;
    padding: 11px 14px;
    border: 0 !important;
    border-radius: 0;
    background: rgba(13, 34, 50, .46) !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-table-filter label {
    display: grid;
    gap: 6px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-table-filter label > span {
    color: #9ebcd0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .route-product-page.is-work-mode .route-table-filter :is(input, select) {
    min-height: 38px;
    border-color: #4c6f87;
    border-radius: 9px;
    background: #142c3e;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-action-form {
    margin-top: 0;
    padding: 10px 14px 16px;
    border: 0 !important;
    border-top: 1px solid rgba(82, 119, 145, .35) !important;
    border-radius: 0;
    background: rgba(13, 34, 50, .28) !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-filtered {
    display: none;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-selection {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 10px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-selection > span {
    min-width: 92px;
    color: #b9d0df;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-selection button {
    min-height: 36px;
    border-radius: 9px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-selection button.danger {
    border-color: #a94b5d;
    color: #ffd5dc;
    background: #552637;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-selection .route-fr24-verify-button {
    border-color: #2f91d2;
    color: #d9f0ff;
    background: #164b70;
}

body.has-product-shell main .route-fr24-verification {
    display: block;
    width: max-content;
    margin-top: 5px;
    padding: 3px 6px;
    border: 1px solid #4d6a7d;
    border-radius: 999px;
    color: #b9d0df;
    font-size: .62rem;
    font-weight: 850;
}

body.has-product-shell main .route-fr24-verification.found {
    border-color: #27b990;
    color: #7de6c7;
}

body.has-product-shell main .route-fr24-verification.not_found {
    border-color: #d08e36;
    color: #ffd084;
}

body.has-product-shell main .route-fr24-verification.unclear {
    border-color: #8097a8;
    color: #b9c8d2;
}

body.has-product-shell main .route-product-page.is-work-mode .route-bulk-selection .context-help {
    flex: 0 0 100%;
    margin: 2px 0 0;
    padding-top: 2px;
    line-height: 1.5;
    color: #89a9be;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-list {
    max-height: min(58vh, 720px);
    margin: 14px 0 0;
    flex: 1;
    overflow: auto;
    border: 0;
    border-top: 1px solid rgba(82, 119, 145, .55);
    border-radius: 0;
    background: #13293b;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row {
    display: grid;
    grid-template-columns: 34px 190px 74px 76px 76px 80px 145px 120px 68px minmax(92px, 1fr) !important;
    min-width: 1220px !important;
    gap: 12px !important;
    align-items: center;
    padding: 12px 16px !important;
    border-bottom: 1px solid #2c4c63;
    background: #172f42;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row:not(.route-reconcile-header):hover {
    background: #1b394e;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-current {
    background: #193b3f !important;
    box-shadow: inset 4px 0 #269f7f;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-changed {
    background: #3c352c !important;
    box-shadow: inset 4px 0 #c58a2c;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-review {
    background: #39392f !important;
    box-shadow: inset 4px 0 #b99445;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-new {
    background: #1b3952 !important;
    box-shadow: inset 4px 0 #3f8bd6;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-unavailable {
    background: #3b2e3c !important;
    box-shadow: inset 4px 0 #d95069;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row.route-reconcile-current:hover {
    background: #1e4949 !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row.route-reconcile-changed:hover {
    background: #4a402f !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row.route-reconcile-review:hover {
    background: #474635 !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row.route-reconcile-new:hover {
    background: #214762 !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-row.route-reconcile-unavailable:hover {
    background: #493647 !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-header {
    position: sticky;
    z-index: 5;
    top: 0;
    min-height: 48px;
    padding-block: 11px;
    color: #8eb4cf;
    background: #102638;
    box-shadow: 0 1px 0 #42647d;
}

body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-header > span {
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .route-product-page.is-work-mode .route-id-cell,
body.has-product-shell main .route-product-page.is-work-mode .route-airport-cell {
    font-weight: 750;
    color: #eef7ff;
}

body.has-product-shell main .route-product-page.is-work-mode .route-fleet-id-chips,
body.has-product-shell main .route-product-page.is-work-mode .aircraft-variant-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-fleet-id-chips > span {
    display: inline-flex;
    padding: 5px 8px;
    border: 1px solid #338cd0;
    border-radius: 999px;
    color: #bfe3ff;
    background: #173d5b;
    font-size: 11px;
    font-weight: 850;
}

body.has-product-shell main .route-product-page.is-work-mode .route-fleet-id-chips > small {
    color: #f2b868;
}

body.has-product-shell main .route-status-cell {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 5px;
}

body.has-product-shell main .route-inline-change,
body.has-product-shell main .route-status-detail {
    display: block;
    max-width: 188px;
    color: #b7cad7;
    font-size: 10px;
    line-height: 1.35;
}

body.has-product-shell main .route-inline-change {
    color: #ffd28b;
}

body.has-product-shell main .route-fr24-flight-link {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 3px;
}

body.has-product-shell main .route-fr24-flight-link:hover,
body.has-product-shell main .route-fr24-flight-link:focus-visible {
    color: #8fd8ff;
    text-decoration: underline;
}

body.has-product-shell main .route-fr24-flight-link > span {
    color: #67b9eb;
    font-size: .72em;
}

body.has-product-shell main .route-state-pill.current {
    border-color: #269f7f;
    color: #85ecd1;
    background: #10493e;
}

body.has-product-shell main .route-state-pill.review {
    border-color: #b99445;
    color: #ffe0a2;
    background: #51411f;
}

body.has-product-shell main .route-state-pill.unavailable {
    border-color: #e15b72;
    color: #ffe2e7;
    background: #68283a;
    box-shadow: 0 0 0 2px rgba(225, 91, 114, .12);
}

body.has-product-shell main .route-vamsys-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 900;
}

body.has-product-shell main .route-vamsys-icon.present {
    border-color: #1ea987;
    color: #71e7c9;
    background: #113f3b;
}

body.has-product-shell main .route-vamsys-icon.missing {
    border-color: #b84f63;
    color: #ffc1cc;
    background: #4b2531;
}

body.has-product-shell main .route-product-page.is-work-mode .route-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap !important;
    gap: 7px;
    white-space: nowrap;
}

body.has-product-shell main .route-product-page.is-work-mode .route-choice-switch {
    min-width: 104px;
    padding: 7px 9px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-detail-button {
    min-width: 80px;
    padding: 8px 11px;
    border-color: #4c7490;
    border-radius: 9px;
    color: #d9edfb;
    background: #223f54;
}

body.has-product-shell main .route-detail-dialog {
    width: min(1240px, calc(100vw - 24px));
    max-width: 1240px;
    max-height: min(calc(100dvh - 16px), 1040px);
    padding: 0;
    overflow: auto;
    border: 1px solid #4d718b;
    border-radius: 22px;
    color: #edf7ff;
    background: #142b3d;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .55);
}

body.has-product-shell main .route-detail-dialog::backdrop {
    background: rgba(5, 15, 24, .74);
    backdrop-filter: blur(5px);
}

body.has-product-shell main .route-detail-dialog .route-detail-header {
    position: sticky;
    z-index: 4;
    top: 0;
    padding: 22px 26px;
    border-bottom: 1px solid #3d627b;
    background: linear-gradient(105deg, #194765, #21697b);
}

body.has-product-shell main .route-detail-dialog .route-detail-grid,
body.has-product-shell main .route-detail-dialog .route-detail-note,
body.has-product-shell main .route-detail-dialog .route-detail-duplicate {
    margin-inline: 24px;
}

body.has-product-shell main .route-detail-change-summary {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 20px 24px 0;
    padding: 14px 16px;
    border: 1px solid #b57a24;
    border-radius: 14px;
    color: #f7d9a0;
    background: #42321d;
}

body.has-product-shell main .route-detail-change-summary > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 9px;
    color: #ffd48a;
    background: #60451e;
    font-size: 18px;
    font-weight: 900;
}

body.has-product-shell main .route-detail-change-summary strong {
    display: block;
    margin-bottom: 5px;
    color: #fff1d1;
}

body.has-product-shell main .route-detail-change-summary ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    margin: 0;
    padding-left: 18px;
    color: #e9c889;
    font-size: 12px;
}

body.has-product-shell main .route-detail-dialog .route-detail-grid {
    margin-top: 20px;
    overflow: hidden;
    border: 1px solid #45677e;
    border-radius: 14px;
}

body.has-product-shell main .route-detail-dialog .route-detail-grid > * {
    border-color: #395a70;
    color: #d5e5ef;
    background: #183247;
}

body.has-product-shell main .route-detail-dialog .route-detail-grid > strong {
    color: #91b9d4;
    background: #10283a;
}

body.has-product-shell main .route-detail-dialog .route-detail-grid .changed {
    color: #ffd48e;
    background: #49371f;
}

body.has-product-shell main .route-detail-dialog .route-detail-note {
    border-color: #45677e !important;
    color: #c5d8e4 !important;
    background: #1a3448 !important;
}

body.has-product-shell main .route-detail-dialog .route-detail-note.changed {
    border-color: #8d6426 !important;
    color: #f1d7a4 !important;
    background: #3c301f !important;
}

body.has-product-shell main .route-fleet-editor {
    margin: 20px 24px;
    padding: 18px;
    border: 1px solid #3d6681;
    border-radius: 17px;
    background: #19364b;
}

body.has-product-shell main .route-fleet-editor-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

body.has-product-shell main .route-fleet-editor-heading h4 {
    margin: 3px 0 0;
    font-size: 20px;
}

body.has-product-shell main .route-fleet-editor-heading > span {
    color: #a9c0d0;
    font-size: 12px;
}

body.has-product-shell main .route-fleet-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    max-height: min(42dvh, 430px);
    overflow: auto;
}

body.has-product-shell main .aircraft-edit-list.source .aircraft-edit-row {
    grid-template-columns: 28px minmax(108px, .7fr) minmax(82px, .55fr) minmax(155px, 1.2fr) minmax(150px, 1.1fr) minmax(155px, 1.15fr) minmax(78px, .55fr) minmax(96px, .7fr) minmax(94px, .7fr) minmax(76px, .55fr);
    min-width: 1280px;
}

body.has-product-shell main .aircraft-source-status-grid a.vamsys-only,
body.has-product-shell main .aircraft-source-status-grid a.vamsys-only.has-items,
body.has-product-shell main .aircraft-source-status-grid a.vamsys-only.active {
    border-color: #ee7b70;
    background: rgba(126, 48, 43, .34);
    box-shadow: inset 3px 0 #ee7b70;
}

body.has-product-shell main .aircraft-vamsys-only-warning {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 20px 14px;
    padding: 13px 15px;
    border: 1px solid rgba(238, 123, 112, .72);
    border-left: 4px solid #ee7b70;
    border-radius: 10px;
    background: rgba(126, 48, 43, .28);
    color: #f8d7d2;
}

body.has-product-shell main .aircraft-vamsys-only-warning > div {
    display: grid;
    gap: 4px;
}

body.has-product-shell main .aircraft-vamsys-only-warning strong,
body.has-product-shell main .aircraft-vamsys-only-warning b {
    color: #fff;
}

body.has-product-shell main .aircraft-vamsys-only-warning .secondary-button {
    flex: 0 0 auto;
}

body.has-product-shell main .route-inventory-warning {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 20px 16px;
    padding: 13px 15px;
    border: 1px solid rgba(245, 174, 82, .66);
    border-left: 4px solid #f5ae52;
    border-radius: 10px;
    background: rgba(113, 70, 24, .25);
    color: #f8e1bf;
}

body.has-product-shell main .route-inventory-warning.expired {
    border-color: rgba(238, 123, 112, .72);
    border-left-color: #ee7b70;
    background: rgba(126, 48, 43, .28);
    color: #f8d7d2;
}

body.has-product-shell main .route-inventory-warning > div {
    display: grid;
    gap: 4px;
}

body.has-product-shell main .route-inventory-warning strong {
    color: #fff;
}

body.has-product-shell main .route-inventory-warning .secondary-button {
    flex: 0 0 auto;
}

@media (max-width: 760px) {
    body.has-product-shell main .aircraft-vamsys-only-warning,
    body.has-product-shell main .route-inventory-warning {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .aircraft-vamsys-only-warning .secondary-button,
    body.has-product-shell main .route-inventory-warning .secondary-button {
        width: 100%;
        text-align: center;
    }
}

body.has-product-shell main .route-fleet-option-grid label {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid #456b84;
    border-radius: 12px;
    background: #142c3e;
    cursor: pointer;
}

body.has-product-shell main .route-fleet-option-grid label:has(input:checked) {
    border-color: #28baa0;
    background: #12483f;
    box-shadow: inset 3px 0 #35d1b5;
}

body.has-product-shell main .route-fleet-option-grid label span {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .route-fleet-option-grid label small {
    color: #94b4c8;
}

body.has-product-shell main .route-fleet-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 14px;
}

body.has-product-shell main .route-detail-dialog .route-dialog-actions {
    position: sticky;
    bottom: 0;
    padding: 14px 24px;
    border-top: 1px solid #3b5d74;
    background: rgba(18, 41, 58, .97);
}

@media (max-width: 900px) {
    body.has-product-shell main .route-page-hero {
        min-height: 132px;
        padding: 24px;
    }

    body.has-product-shell main .route-product-page.is-work-mode .route-table-filter,
    body.has-product-shell main .route-fleet-option-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-product-page.is-work-mode .route-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.has-product-shell main .route-product-page.is-work-mode .route-comparison-title {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .route-product-page.is-work-mode .route-reconcile-list {
        margin-inline: 0;
    }

    body.has-product-shell main .route-fleet-editor-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .route-fleet-option-grid {
        max-height: min(38dvh, 340px);
    }
}

@media (max-width: 560px) {
    body.has-product-shell main .route-product-page.is-work-mode .route-status-grid {
        grid-template-columns: 1fr;
    }
}

/* Settings workspace 2026: one compact control rail and four focused tools. */
body.has-product-shell main .settings-page-hero {
    min-height: 132px;
    margin-bottom: 16px;
}

body.has-product-shell main .settings-section-nav {
    display: grid !important;
    grid-template-columns: minmax(210px, .7fr) minmax(0, 3.3fr);
    align-items: stretch;
    gap: 0;
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(84, 150, 190, .43) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #17364c, #132d41) !important;
    box-shadow: 0 16px 36px rgba(4, 15, 24, .2) !important;
}

body.has-product-shell main .settings-nav-intro {
    display: grid;
    align-content: center;
    gap: 5px;
    min-height: 82px;
    padding: 17px 22px;
    border-right: 1px solid rgba(92, 150, 186, .3);
    background: rgba(12, 37, 54, .4);
}

body.has-product-shell main .settings-nav-intro strong {
    color: #f4f8fb;
    font-size: 15px;
}

body.has-product-shell main .settings-nav-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.has-product-shell main .settings-section-nav .settings-nav-links a {
    position: relative;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 1px 10px;
    min-height: 82px;
    padding: 13px 15px !important;
    border: 0 !important;
    border-right: 1px solid rgba(92, 150, 186, .24) !important;
    border-radius: 0 !important;
    color: #d8e7ef !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none;
    transform: none !important;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a:last-child {
    border-right: 0 !important;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a::after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    height: 3px;
    border-radius: 4px 4px 0 0;
    background: transparent;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a > span {
    width: 36px;
    height: 36px;
    grid-row: 1 / span 2;
    border-radius: 10px;
    border-color: rgba(105, 179, 220, .36);
    background: rgba(10, 42, 61, .72);
}

body.has-product-shell main .settings-section-nav .settings-nav-links a > strong {
    color: #f2f7fa;
    font-size: 13px;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a > small {
    overflow: hidden;
    color: #8fa8b8;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a:hover {
    background: rgba(40, 91, 122, .28) !important;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a.active {
    background: linear-gradient(180deg, rgba(33, 103, 126, .48), rgba(20, 70, 83, .28)) !important;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a.active::after {
    background: #3fd0b5;
}

body.has-product-shell main .settings-section-nav .settings-nav-links a.active > span {
    border-color: rgba(93, 231, 205, .62);
    background: rgba(16, 132, 111, .66);
    color: #edfffb;
}

body.has-product-shell main .settings-workspace > :is(.section-card, .settings-storage-overview) {
    overflow: hidden;
    border: 1px solid rgba(83, 144, 183, .44) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(34, 66, 88, .98), rgba(27, 50, 68, .99)) !important;
    color: #dce8ef !important;
    box-shadow: 0 18px 38px rgba(4, 14, 23, .2) !important;
}

body.has-product-shell main .settings-workspace .section-title,
body.has-product-shell main .settings-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px;
    border-bottom: 1px solid rgba(89, 145, 181, .32) !important;
    background: linear-gradient(120deg, rgba(18, 62, 88, .86), rgba(17, 47, 67, .94)) !important;
}

body.has-product-shell main .settings-workspace :is(.section-title, .settings-section-heading) h2 {
    margin: 4px 0 4px;
    color: #f6f9fb !important;
    font-size: clamp(23px, 2.1vw, 32px) !important;
}

body.has-product-shell main .settings-workspace :is(.section-title, .settings-section-heading) p {
    margin: 0;
    color: #adc0cc !important;
    font-size: 13px !important;
}

body.has-product-shell main .settings-section-stats {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

body.has-product-shell main .settings-section-stats > span {
    display: grid;
    min-width: 88px;
    padding: 9px 12px;
    border: 1px solid rgba(91, 167, 205, .38);
    border-radius: 11px;
    color: #8fa9ba;
    background: rgba(9, 35, 52, .55);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
}

body.has-product-shell main .settings-section-stats strong {
    color: #f3f8fb;
    font-size: 17px;
    letter-spacing: 0;
}

body.has-product-shell main .settings-health-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(53, 205, 170, .42);
    border-radius: 999px;
    color: #c9f9eb;
    background: rgba(11, 88, 74, .28);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.has-product-shell main .settings-health-pill i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #35d4a9;
    box-shadow: 0 0 0 5px rgba(53, 212, 169, .12);
}

/* Settings: API connections */
body.has-product-shell main .settings-api-section {
    border-top: 1px solid rgba(83, 144, 183, .44) !important;
}

body.has-product-shell main .settings-api-section > :not(.section-title) {
    margin-right: 24px;
    margin-left: 24px;
}

body.has-product-shell main .settings-api-section > .settings-security-warning {
    margin-top: 18px;
}

body.has-product-shell main .api-security-note {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    padding: 13px 15px;
    border: 1px solid rgba(51, 203, 169, .4) !important;
    border-radius: 13px;
    color: #d6f8ef !important;
    background: rgba(10, 82, 69, .3) !important;
}

body.has-product-shell main .api-security-note :is(strong, p) {
    color: inherit !important;
}

body.has-product-shell main .api-security-note p {
    margin: 2px 0 0;
    opacity: .72;
}

body.has-product-shell main .api-security-note a {
    color: #7ec9ff !important;
}

body.has-product-shell main .api-connections-grid {
    gap: 12px;
    margin-top: 16px;
}

body.has-product-shell main .api-connection-card,
body.has-product-shell main .api-add-connection {
    border: 1px solid rgba(89, 148, 187, .42) !important;
    border-radius: 15px !important;
    color: #dce8ef !important;
    background: rgba(14, 43, 62, .64) !important;
    box-shadow: none !important;
}

body.has-product-shell main .api-connection-card.status-connected {
    border-left: 4px solid #32c59f !important;
    background: rgba(13, 66, 61, .34) !important;
}

body.has-product-shell main .api-connection-card.status-error {
    border-left: 4px solid #e56070 !important;
    background: rgba(94, 35, 46, .3) !important;
}

body.has-product-shell main .api-connection-card :is(h3, p, dt, dd, strong, small),
body.has-product-shell main .api-add-connection :is(strong, small),
body.has-product-shell main .api-edit-form label,
body.has-product-shell main .api-delete-details label,
body.has-product-shell main .api-connection-form label {
    color: inherit !important;
}

body.has-product-shell main .api-connection-meta div {
    border-color: rgba(90, 147, 183, .3) !important;
    background: rgba(8, 32, 49, .45) !important;
}

body.has-product-shell main .api-connection-meta dt {
    color: #89a4b6 !important;
}

body.has-product-shell main .api-connection-meta dd {
    color: #eef5f8 !important;
}

body.has-product-shell main .api-empty-state {
    min-height: 118px;
    border: 1px dashed rgba(92, 156, 196, .38);
    border-radius: 14px;
    background: rgba(10, 35, 51, .35) !important;
}

body.has-product-shell main .api-add-connection {
    margin-top: 16px;
    margin-bottom: 24px;
}

body.has-product-shell main .api-add-connection > summary {
    min-height: 70px;
    padding: 14px 16px;
}

body.has-product-shell main .api-add-connection > summary > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(61, 209, 180, .5);
    border-radius: 12px;
    color: #bcf7ea;
    background: rgba(12, 112, 94, .38);
    font-size: 22px;
}

body.has-product-shell main .api-connection-form,
body.has-product-shell main .api-edit-form {
    border-color: rgba(89, 148, 187, .3) !important;
    color: #dce8ef !important;
    background: rgba(7, 29, 45, .44) !important;
}

body.has-product-shell main .api-connection-form input,
body.has-product-shell main .api-connection-form select,
body.has-product-shell main .api-edit-form input {
    border-color: rgba(101, 161, 198, .48) !important;
    color: #f3f8fb !important;
    background: #0e2a3e !important;
}

/* Settings: connection editing stays inside its card and remains readable. */
body.has-product-shell main .api-connection-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.has-product-shell main .api-connection-actions > :is(form, details),
body.has-product-shell main .api-connection-actions > form > button,
body.has-product-shell main .api-connection-actions > details > summary {
    width: 100% !important;
    min-width: 0 !important;
}

body.has-product-shell main :is(.api-edit-details, .api-delete-details) {
    position: static !important;
    min-width: 0;
}

body.has-product-shell main :is(.api-edit-details, .api-delete-details)[open] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

body.has-product-shell main :is(.api-edit-form, .api-delete-details form) {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin-top: 10px !important;
    box-shadow: none !important;
}

body.has-product-shell main .api-edit-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    min-width: 0 !important;
}

body.has-product-shell main .api-edit-form > *,
body.has-product-shell main .api-edit-form label,
body.has-product-shell main .api-edit-form input {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.has-product-shell main .api-edit-form > :is(.api-checkbox, .settings-security-warning, button) {
    grid-column: 1 / -1 !important;
}

html[data-theme="dark"] body.has-product-shell main .api-connection-card.status-connected .api-status-pill.connected {
    border-color: #62e0b6 !important;
    color: #f4fffb !important;
    background: #08725a !important;
    box-shadow: 0 0 0 1px rgba(98, 224, 182, .18);
}

html[data-theme="dark"] body.has-product-shell main .api-connection-card.status-error .api-status-pill.error {
    border-color: #ff8796 !important;
    color: #fff5f7 !important;
    background: #8d3042 !important;
}

body.has-product-shell main .job-finish-button {
    border-color: #30d39e !important;
    color: #effff9 !important;
    background: #087b5f !important;
}

@media (max-width: 760px) {
    body.has-product-shell main .api-connection-actions {
        grid-template-columns: 1fr !important;
    }

    body.has-product-shell main .api-connection-actions > :is(form, details),
    body.has-product-shell main .api-connection-actions :is(button, summary) {
        width: 100% !important;
    }

    body.has-product-shell main .api-edit-form {
        grid-template-columns: 1fr !important;
    }
}

/* Settings: storage */
body.has-product-shell main .settings-storage-overview {
    padding-bottom: 24px;
}

body.has-product-shell main .storage-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, .75fr);
    gap: 14px;
    padding: 22px 24px 14px;
}

body.has-product-shell main .storage-hero-grid > article,
body.has-product-shell main .storage-breakdown-grid > article {
    border: 1px solid rgba(89, 148, 187, .4) !important;
    border-radius: 15px;
    color: #dce8ef !important;
    background: rgba(12, 42, 61, .64) !important;
    box-shadow: none !important;
}

body.has-product-shell main .storage-server-card {
    padding: 20px;
}

body.has-product-shell main .storage-card-heading,
body.has-product-shell main .storage-card-heading > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.has-product-shell main .storage-card-heading > span {
    padding: 7px 10px;
    border: 1px solid rgba(69, 197, 171, .4);
    border-radius: 999px;
    color: #aaf0de;
    background: rgba(12, 103, 86, .26);
    font-size: 11px;
    font-weight: 800;
}

body.has-product-shell main .storage-card-heading small,
body.has-product-shell main .storage-vaas-card small,
body.has-product-shell main .storage-breakdown-grid small {
    display: block;
    margin-bottom: 4px;
    color: #8ca6b8;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.has-product-shell main .storage-card-heading strong,
body.has-product-shell main .storage-vaas-card strong,
body.has-product-shell main .storage-breakdown-grid strong {
    display: block;
    color: #f5f9fb !important;
    font-size: 28px;
}

body.has-product-shell main .settings-card-icon {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(90, 188, 211, .55);
    border-radius: 13px;
    color: #b9eaff;
    background: rgba(18, 92, 115, .42);
    font-size: 10px;
    font-weight: 900;
}

body.has-product-shell main .settings-card-icon.teal {
    border-color: rgba(62, 208, 180, .5);
    color: #c7faef;
    background: rgba(13, 113, 95, .42);
}

body.has-product-shell main .settings-card-icon.blue {
    border-color: rgba(83, 154, 235, .55);
    color: #d9eaff;
    background: rgba(36, 93, 162, .46);
}

body.has-product-shell main .settings-card-icon.purple {
    border-color: rgba(164, 126, 233, .55);
    color: #e9dcff;
    background: rgba(88, 61, 147, .48);
}

body.has-product-shell main .storage-segment-bar {
    display: flex;
    height: 14px;
    margin: 22px 0 15px;
    overflow: hidden;
    border: 1px solid rgba(96, 151, 185, .3);
    border-radius: 999px;
    background: #0a2538;
}

body.has-product-shell main .storage-segment-bar .vaas,
body.has-product-shell main .storage-legend i.vaas {
    background: #35c8aa;
}

body.has-product-shell main .storage-segment-bar .other,
body.has-product-shell main .storage-legend i.other {
    background: #4f8fd8;
}

body.has-product-shell main .storage-segment-bar .free,
body.has-product-shell main .storage-legend i.free {
    background: #516779;
}

body.has-product-shell main .storage-legend {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

body.has-product-shell main .storage-legend span {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 1px 8px;
    color: #91a9b8;
    font-size: 11px;
}

body.has-product-shell main .storage-legend i {
    width: 8px;
    height: 8px;
    grid-row: 1 / span 2;
    margin-top: 4px;
    border-radius: 50%;
}

body.has-product-shell main .storage-legend strong {
    color: #e7f0f5;
    font-size: 12px;
}

body.has-product-shell main .storage-vaas-card,
body.has-product-shell main .storage-breakdown-grid > article {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
}

body.has-product-shell main .storage-vaas-card {
    background: linear-gradient(145deg, rgba(17, 106, 98, .66), rgba(21, 67, 82, .9)) !important;
}

body.has-product-shell main .storage-vaas-card p,
body.has-product-shell main .storage-breakdown-grid p {
    margin: 5px 0 0;
    color: #9eb2c0;
    font-size: 11px;
}

body.has-product-shell main .storage-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 0 24px 14px;
}

body.has-product-shell main .storage-explanation {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    margin: 0 24px;
    padding: 13px 15px;
    border-left: 3px solid #4b9fd1;
    border-radius: 0 10px 10px 0;
    color: #9fb3c0;
    background: rgba(10, 35, 52, .48);
    font-size: 12px;
}

body.has-product-shell main .storage-explanation strong {
    color: #e7f0f5;
}

body.has-product-shell main .storage-explanation p {
    margin: 0;
}

/* Settings: datasets */
body.has-product-shell main .settings-datasets-section .airline-grid {
    display: grid;
    gap: 8px;
    padding: 12px 18px 18px;
    background: transparent !important;
}

body.has-product-shell main .dataset-column-head {
    display: grid;
    grid-template-columns: minmax(230px, 1.1fr) minmax(190px, .9fr) minmax(150px, .7fr) 100px 120px;
    gap: 16px;
    padding: 13px 24px 8px;
    color: #829bad;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.has-product-shell main .settings-datasets-section .airline-card {
    display: grid;
    grid-template-columns: 48px minmax(165px, 1fr) minmax(190px, .9fr) minmax(150px, .7fr) 100px 120px;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid rgba(83, 144, 183, .38) !important;
    border-radius: 13px;
    color: #dce8ef !important;
    background: rgba(12, 40, 58, .56) !important;
    box-shadow: none !important;
}

body.has-product-shell main .settings-datasets-section .airline-code {
    width: 44px;
    height: 44px;
    border-color: rgba(83, 159, 225, .55);
    color: #dcecff;
    background: rgba(30, 102, 171, .48);
}

body.has-product-shell main .settings-datasets-section .airline-main h3 {
    margin: 0;
    color: #f2f7fa !important;
    font-size: 15px;
}

body.has-product-shell main .settings-datasets-section .airline-main p {
    margin: 3px 0 0;
    color: #91a9b8 !important;
    font-size: 11px;
}

body.has-product-shell main .settings-datasets-section .dataset-meta {
    display: contents;
}

body.has-product-shell main .settings-datasets-section .dataset-meta div {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.has-product-shell main .settings-datasets-section .dataset-meta dt {
    color: #7f99aa !important;
    font-size: 9px !important;
    text-transform: uppercase;
}

body.has-product-shell main .settings-datasets-section .dataset-meta dd {
    margin-top: 3px;
    color: #e5eef3 !important;
    font-size: 12px !important;
}

body.has-product-shell main .settings-datasets-section .mini-status {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

body.has-product-shell main .settings-datasets-section .mini-status .status-pill {
    padding: 4px 6px;
    font-size: 8px !important;
}

body.has-product-shell main .settings-datasets-section .airline-footer {
    display: grid;
    justify-items: end;
    gap: 2px;
    padding: 0 !important;
    border: 0 !important;
}

body.has-product-shell main .settings-datasets-section .airline-footer span {
    color: #7e97a8;
    font-size: 9px;
}

body.has-product-shell main .settings-datasets-section .dashboard-delete {
    grid-column: 1 / -1;
    margin: 0;
}

/* Settings: users */
body.has-product-shell main .user-role-guide {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 16px 22px 0;
}

body.has-product-shell main .user-role-guide > span {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    border: 1px solid rgba(83, 144, 183, .32);
    border-radius: 11px;
    color: #8fa7b6;
    background: rgba(9, 34, 51, .42);
}

body.has-product-shell main .user-role-guide strong {
    color: #eaf2f6;
    font-size: 11px;
}

body.has-product-shell main .user-role-guide small {
    font-size: 9px;
    line-height: 1.35;
}

body.has-product-shell main .settings-users-section .user-create-panel {
    margin: 12px 22px 16px;
    border: 1px solid rgba(67, 190, 167, .42) !important;
    border-radius: 13px;
    color: #dce8ef !important;
    background: rgba(12, 77, 72, .26) !important;
}

body.has-product-shell main .settings-users-section .user-create-panel > summary :is(strong, small) {
    color: inherit !important;
}

body.has-product-shell main .settings-users-section .user-action-icon {
    border-color: rgba(62, 207, 180, .55) !important;
    color: #cefbf1 !important;
    background: rgba(13, 122, 103, .46) !important;
}

body.has-product-shell main .settings-users-section .user-management-form {
    border-color: rgba(83, 144, 183, .32) !important;
    color: #dce8ef !important;
    background: rgba(8, 30, 45, .5) !important;
}

body.has-product-shell main .settings-users-section .user-management-form label {
    color: #dce8ef !important;
}

body.has-product-shell main .settings-users-section .user-management-form :is(input, select) {
    border-color: rgba(101, 161, 198, .48) !important;
    color: #f3f8fb !important;
    background: #0e2a3e !important;
}

body.has-product-shell main .managed-user-column-head {
    display: grid;
    grid-template-columns: minmax(280px, 1.2fr) minmax(240px, 1fr) minmax(190px, .8fr) 130px;
    gap: 16px;
    margin: 0 22px;
    padding: 10px 14px;
    color: #7f99aa;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.has-product-shell main .settings-users-section .managed-user-list {
    display: grid;
    gap: 8px;
    padding: 0 22px 22px;
}

body.has-product-shell main .settings-users-section .managed-user-card {
    display: grid;
    grid-template-columns: minmax(280px, 1.2fr) minmax(240px, 1fr) minmax(190px, .8fr) 130px;
    align-items: center;
    gap: 16px;
    padding: 14px;
    border: 1px solid rgba(83, 144, 183, .38) !important;
    border-radius: 13px;
    color: #dce8ef !important;
    background: rgba(12, 40, 58, .56) !important;
    box-shadow: none !important;
}

body.has-product-shell main .managed-user-summary {
    min-width: 0;
}

body.has-product-shell main .managed-user-summary h3 {
    color: #f2f7fa !important;
}

body.has-product-shell main .managed-user-summary p {
    overflow: hidden;
    color: #8fa7b6 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .managed-user-badges {
    justify-content: flex-start;
}

body.has-product-shell main .managed-user-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
}

body.has-product-shell main .managed-user-meta div {
    padding: 4px 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.has-product-shell main .managed-user-meta dt {
    color: #7f99aa !important;
    font-size: 8px !important;
}

body.has-product-shell main .managed-user-meta dd {
    color: #e5eef3 !important;
    font-size: 11px !important;
}

body.has-product-shell main .managed-user-edit,
body.has-product-shell main .managed-user-reset {
    margin: 0;
    border: 1px solid rgba(83, 144, 183, .4) !important;
    border-radius: 9px;
    color: #d9e8f1 !important;
    background: rgba(8, 31, 47, .4) !important;
}

body.has-product-shell main .managed-user-edit {
    grid-column: 4;
    grid-row: 1;
}

body.has-product-shell main .managed-user-reset {
    grid-column: 4;
}

body.has-product-shell main .managed-user-edit > summary,
body.has-product-shell main .managed-user-reset > summary {
    color: inherit !important;
    font-size: 10px !important;
    text-align: center;
}

body.has-product-shell main .managed-user-edit[open],
body.has-product-shell main .managed-user-reset[open] {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    body.has-product-shell main .settings-section-nav {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .settings-nav-intro {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(92, 150, 186, .3);
    }

    body.has-product-shell main .dataset-column-head,
    body.has-product-shell main .managed-user-column-head {
        display: none;
    }

    body.has-product-shell main .settings-datasets-section .airline-card,
    body.has-product-shell main .settings-users-section .managed-user-card {
        grid-template-columns: 48px minmax(0, 1fr) minmax(180px, .8fr);
    }

    body.has-product-shell main .settings-datasets-section .dataset-meta {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .settings-users-section .managed-user-summary {
        grid-column: 1 / 3;
    }

    body.has-product-shell main .managed-user-edit,
    body.has-product-shell main .managed-user-reset {
        grid-column: 3;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .settings-nav-links,
    body.has-product-shell main .storage-breakdown-grid,
    body.has-product-shell main .user-role-guide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .storage-hero-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .settings-workspace .section-title,
    body.has-product-shell main .settings-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .settings-section-stats {
        width: 100%;
        overflow-x: auto;
    }

    body.has-product-shell main .settings-datasets-section .airline-card,
    body.has-product-shell main .settings-users-section .managed-user-card {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .managed-user-edit,
    body.has-product-shell main .managed-user-reset,
    body.has-product-shell main .settings-users-section .managed-user-summary {
        grid-column: 1;
    }
}

/* Export finishes the workflow with the same guided language as capture. */
body.has-product-shell main .export-page-hero {
    min-height: 154px;
}

body.has-product-shell main .export-guided-workspace {
    width: 100%;
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
    padding: 0;
}

body.has-product-shell main .export-guided-workspace > .config-card-header {
    padding: 28px 32px;
    background: linear-gradient(115deg, #173c57 0%, #18354c 100%);
    border-bottom: 1px solid rgba(111, 178, 220, 0.24);
}

body.has-product-shell main .export-method-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 30px 32px 34px;
}

body.has-product-shell main .export-method-choice[hidden] {
    display: none !important;
}

body.has-product-shell main .export-method-tile {
    min-height: 220px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    padding: 28px;
    border: 1px solid rgba(139, 192, 228, 0.36);
    border-radius: 20px;
    color: #f8fbff;
    text-decoration: none;
    box-shadow: 0 18px 36px rgba(2, 10, 20, 0.18);
    transition: transform 160ms ease, filter 160ms ease, border-color 160ms ease;
}

body.has-product-shell main .export-method-tile.csv {
    background: linear-gradient(135deg, #0f918f 0%, #147e8c 100%);
}

body.has-product-shell main .export-method-tile.api {
    background: linear-gradient(135deg, #3478dc 0%, #2859ba 100%);
}

body.has-product-shell main .export-method-tile:hover {
    transform: translateY(-3px);
    filter: brightness(1.08);
    border-color: rgba(237, 248, 255, 0.72);
}

body.has-product-shell main .export-method-icon {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 18px;
    background: rgba(5, 31, 45, 0.48);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

body.has-product-shell main .export-method-tile > span:nth-child(2) {
    display: grid;
    gap: 8px;
}

body.has-product-shell main .export-method-tile small {
    color: rgba(235, 247, 255, 0.76);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.has-product-shell main .export-method-tile strong {
    font-size: clamp(22px, 2vw, 31px);
    line-height: 1.08;
}

body.has-product-shell main .export-method-tile em {
    max-width: 500px;
    color: rgba(241, 248, 255, 0.9);
    font-size: 14px;
    font-style: normal;
    line-height: 1.55;
}

body.has-product-shell main .export-method-tile b {
    font-size: 24px;
}

body.has-product-shell main .export-method-workspace {
    padding: 26px 28px 30px;
}

body.has-product-shell main .export-safety-notice,
body.has-product-shell main .export-api-status {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(97, 165, 207, 0.34);
    border-radius: 14px;
    background: rgba(13, 42, 61, 0.68);
}

body.has-product-shell main .export-safety-notice {
    flex-wrap: wrap;
}

body.has-product-shell main .export-safety-notice strong {
    color: #f4f9ff;
}

body.has-product-shell main .export-safety-notice span {
    flex: 1 1 460px;
    color: #b8c8d5;
}

body.has-product-shell main .export-safety-notice a,
body.has-product-shell main .export-resource-warning a {
    color: #8fd3ff;
    font-weight: 800;
    text-decoration: none;
}

body.has-product-shell main .export-safety-notice a:hover,
body.has-product-shell main .export-resource-warning a:hover {
    color: #ffffff;
    text-decoration: underline;
}

body.has-product-shell main .export-safety-notice.warning {
    border-color: rgba(245, 158, 11, 0.46);
    background: rgba(88, 55, 10, 0.35);
}

body.has-product-shell main .export-safety-notice.error {
    border-color: rgba(244, 63, 94, 0.46);
    background: rgba(92, 25, 42, 0.34);
}

body.has-product-shell main .export-scope-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

body.has-product-shell main .export-scope-legend > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid rgba(91, 157, 200, 0.34);
    border-radius: 13px;
    background: rgba(9, 34, 49, 0.62);
}

body.has-product-shell main .export-scope-legend > .working-file {
    border-color: rgba(45, 212, 191, 0.48);
}

body.has-product-shell main .export-scope-legend > .approved-export {
    border-color: rgba(59, 130, 246, 0.48);
}

body.has-product-shell main .export-scope-legend > div > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(45, 212, 191, 0.15);
    color: #65ead9;
    font-size: 11px;
    font-weight: 900;
}

body.has-product-shell main .export-scope-legend > .approved-export > span {
    background: rgba(59, 130, 246, 0.17);
    color: #8ac1ff;
    font-size: 18px;
}

body.has-product-shell main .export-scope-legend div > div {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .export-scope-legend strong {
    color: #f4f9ff;
    font-size: 13px;
}

body.has-product-shell main .export-scope-legend small {
    color: #9fb4c4;
    font-size: 11px;
    line-height: 1.4;
}

body.has-product-shell main .export-api-unavailable {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(244, 63, 94, 0.38);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(74, 24, 42, 0.38), rgba(11, 38, 56, 0.92));
}

body.has-product-shell main .export-api-unavailable-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(244, 63, 94, 0.52);
    border-radius: 16px;
    background: rgba(244, 63, 94, 0.14);
    color: #ff91a3;
    font-size: 13px;
    font-weight: 900;
}

body.has-product-shell main .export-api-unavailable-copy h3 {
    margin: 4px 0 7px;
    color: #f8fbff;
    font-size: clamp(19px, 2vw, 24px);
}

body.has-product-shell main .export-api-unavailable-copy p {
    max-width: 760px;
    margin: 0;
    color: #afc2d0;
    line-height: 1.55;
}

body.has-product-shell main .export-api-unavailable-actions {
    display: grid;
    gap: 9px;
    min-width: 210px;
}

body.has-product-shell main .export-api-unavailable-actions a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body.has-product-shell main .export-resource-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body.has-product-shell main .export-resource-grid.api-grid > .export-resource-card.routes {
    grid-column: 1 / -1;
}

body.has-product-shell main .export-resource-grid.api-grid > .export-resource-card.aircraft {
    grid-column: 1 / -1;
}

body.has-product-shell main .export-resource-card {
    --export-accent: #38bdf8;
    display: grid;
    align-content: start;
    gap: 18px;
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(91, 157, 200, 0.38);
    border-top: 3px solid var(--export-accent);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(28, 67, 92, 0.78), rgba(20, 45, 64, 0.94));
    box-shadow: 0 16px 30px rgba(3, 13, 23, 0.16);
}

body.has-product-shell main .export-resource-card.routes {
    --export-accent: #f59e0b;
}

body.has-product-shell main .export-resource-card.airports {
    --export-accent: #8b5cf6;
}

body.has-product-shell main .export-resource-card.fleet {
    --export-accent: #3b82f6;
}

body.has-product-shell main .export-resource-card.aircraft {
    --export-accent: #10b981;
}

body.has-product-shell main .export-resource-card > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}

body.has-product-shell main .export-resource-card > header > span {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border: 1px solid var(--export-accent);
    border-radius: 14px;
    background: rgba(9, 34, 49, 0.68);
    color: #f7fbff;
    font-size: 13px;
    font-weight: 900;
}

body.has-product-shell main .export-resource-card h3 {
    margin: 3px 0 5px;
    color: #f8fbff;
    font-size: 21px;
}

body.has-product-shell main .export-resource-card header small {
    color: #81bdff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.has-product-shell main .export-resource-card header p {
    margin: 0;
    color: #b6c8d6;
    font-size: 13px;
    line-height: 1.45;
}

body.has-product-shell main .export-scope-counts,
body.has-product-shell main .export-scope-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

body.has-product-shell main :is(.export-scope-counts, .export-scope-actions).has-enrichment {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.has-product-shell main .captured-route-title-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

body.has-product-shell main .captured-route-title-actions :is(a, button) {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

body.has-product-shell main :is(.export-scope-counts, .export-scope-actions).has-fr24 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.has-product-shell main .export-refresh-all-form {
    display: grid;
    gap: 4px;
    margin-left: auto;
    text-align: right;
}

body.has-product-shell main .export-refresh-all-form small {
    color: #b8c8d5;
    font-size: 10px;
}

body.has-product-shell main .export-scope-counts.has-review {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.has-product-shell main .export-scope-counts > span {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 10px 11px;
    border: 1px solid rgba(111, 167, 204, 0.28);
    border-radius: 11px;
    background: rgba(7, 28, 43, 0.56);
}

body.has-product-shell main .export-scope-counts small {
    overflow: hidden;
    color: #91a9ba;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-overflow: ellipsis;
    text-transform: uppercase;
}

body.has-product-shell main .export-scope-counts strong {
    color: #f4f9ff;
    font-size: 20px;
}

body.has-product-shell main .export-scope-counts .new strong {
    color: #75b8ff;
}

body.has-product-shell main .export-scope-counts .fr24 strong {
    color: #43d6c5;
}

body.has-product-shell main .export-scope-counts .changed strong {
    color: #fbbf24;
}

body.has-product-shell main .export-scope-counts .enrichment strong {
    color: #62d7d1;
}

body.has-product-shell main .export-scope-counts .review {
    border-color: rgba(238, 123, 112, .56);
    background: rgba(126, 48, 43, .24);
}

body.has-product-shell main .export-scope-counts .review strong {
    color: #ff9f96;
}

body.has-product-shell main .export-scope-counts .deleted strong {
    color: #fb7185;
}

body.has-product-shell main .export-scope-actions :is(a, span, button) {
    min-height: 42px;
    display: grid;
    place-items: center;
    padding: 8px 10px;
    border: 1px solid rgba(106, 164, 204, 0.46);
    border-radius: 10px;
    background: rgba(14, 45, 65, 0.78);
    color: #dcecff;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

body.has-product-shell main .export-scope-actions :is(a, button):hover {
    border-color: rgba(122, 193, 240, 0.82);
    background: rgba(28, 87, 126, 0.82);
}

body.has-product-shell main .export-scope-actions .new {
    border-color: rgba(59, 130, 246, 0.56);
}

body.has-product-shell main .export-scope-actions .fr24 {
    border-color: rgba(45, 212, 191, 0.62);
    background: rgba(8, 89, 82, 0.72);
    color: #d8fffa;
}

body.has-product-shell main .export-scope-actions .changed {
    border-color: rgba(245, 158, 11, 0.56);
}

body.has-product-shell main .export-scope-actions .enrichment {
    border-color: rgba(45, 212, 191, 0.58);
}

body.has-product-shell main .export-scope-actions .deleted {
    border-color: rgba(244, 63, 94, 0.54);
}

body.has-product-shell main .export-scope-actions :is(.disabled, button:disabled) {
    border-color: rgba(91, 126, 149, 0.2);
    background: rgba(12, 31, 44, 0.46);
    color: #61788a;
    cursor: not-allowed;
}

body.has-product-shell main .export-action-help {
    margin: 11px 0 0;
    color: #8fa9ba;
    font-size: .72rem;
}

body.has-product-shell main .export-scope-form .export-scope-actions button:disabled {
    border-color: rgba(91, 126, 149, 0.2) !important;
    background: rgba(12, 31, 44, 0.68) !important;
    color: #61788a !important;
    opacity: 1;
}

body.has-product-shell main .export-api-status > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.2);
    color: #5ee6bd;
    font-weight: 900;
}

body.has-product-shell main .export-api-status > span.warning {
    background: rgba(245, 158, 11, 0.2);
    color: #fbbf24;
}

body.has-product-shell main .export-api-status > span.offline {
    background: rgba(244, 63, 94, 0.2);
    color: #fb7185;
}

body.has-product-shell main .export-api-status > div {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .export-api-status strong {
    color: #f3f8fc;
}

body.has-product-shell main .export-api-status small {
    color: #9eb3c3;
}

body.has-product-shell main .export-api-resource-actions {
    display: grid;
    gap: 12px;
    padding-top: 4px;
    border-top: 1px solid rgba(93, 151, 190, 0.24);
}

body.has-product-shell main .export-api-resource-actions > form:first-child {
    display: flex;
    justify-content: flex-end;
}

body.has-product-shell main .export-scope-form {
    display: grid;
    gap: 10px;
}

body.has-product-shell main .export-scope-form > label {
    display: grid;
    grid-template-columns: auto minmax(120px, 180px);
    align-items: center;
    justify-content: end;
    gap: 10px;
    color: #aebfcb;
    font-size: 11px;
    font-weight: 800;
}

body.has-product-shell main .export-scope-form input {
    min-height: 38px;
}

body.has-product-shell main .export-resource-warning {
    margin: 0;
    padding: 10px 12px;
    border-left: 3px solid #f59e0b;
    border-radius: 7px;
    background: rgba(94, 59, 10, 0.34);
    color: #efcf8c;
    font-size: 12px;
    line-height: 1.45;
}

body.has-product-shell main .export-resource-warning.aircraft-review-warning {
    border-left-color: #ee7b70;
    background: rgba(126, 48, 43, .28);
    color: #f8d7d2;
}

body.has-product-shell main .export-resource-warning.route-review-warning {
    border-left-color: #f5ae52;
    background: rgba(113, 70, 24, .24);
    color: #f8e1bf;
}

body.has-product-shell main .export-resource-guidance,
body.has-product-shell main .aircraft-source-workflow-help {
    margin: 0;
    padding: 10px 12px;
    border-left: 3px solid #2dd4bf;
    border-radius: 7px;
    background: rgba(10, 77, 70, 0.28);
    color: #b9ede6;
    font-size: 12px;
    line-height: 1.5;
}

body.has-product-shell main .aircraft-source-workflow-help {
    margin: 0 18px 14px;
}

body.has-product-shell main .aircraft-source-workflow-help a {
    margin-left: 6px;
    color: #8fd3ff;
    font-weight: 800;
    text-decoration: none;
}

body.has-product-shell main .export-feedback-panel {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(90, 151, 191, 0.34);
    border-radius: 14px;
    background: rgba(13, 39, 56, 0.76);
}

body.has-product-shell main .export-feedback-panel summary {
    color: #eaf4fb;
    font-weight: 800;
    cursor: pointer;
}

body.has-product-shell main .export-feedback-panel > form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 14px;
}

body.has-product-shell main .export-feedback-panel > form label {
    grid-column: 1 / -1;
}

body.has-product-shell main .export-import-issue-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

body.has-product-shell main .export-import-issue-list > div {
    display: grid;
    grid-template-columns: auto auto auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(96, 155, 194, 0.28);
    border-radius: 9px;
    background: rgba(8, 30, 44, 0.52);
}

body.has-product-shell main .export-import-issue-list > div.open {
    border-color: rgba(244, 63, 94, 0.42);
}

body.has-product-shell main .export-import-issue-list p {
    margin: 0;
    color: #b8c8d5;
}

body.has-product-shell main .export-api-history-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

body.has-product-shell main .export-api-history-list a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(92, 151, 191, 0.25);
    border-radius: 9px;
    color: #dcebf6;
    text-decoration: none;
}

@media (max-width: 980px) {
    body.has-product-shell main .export-method-choice,
    body.has-product-shell main .export-resource-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .export-api-unavailable {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.has-product-shell main .export-api-unavailable-actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body.has-product-shell main .export-guided-workspace > .config-card-header,
    body.has-product-shell main .export-method-choice,
    body.has-product-shell main .export-method-workspace {
        padding-left: 18px;
        padding-right: 18px;
    }

    body.has-product-shell main .export-method-tile {
        min-height: 180px;
        grid-template-columns: auto minmax(0, 1fr);
        padding: 20px;
    }

    body.has-product-shell main .export-method-tile b {
        display: none;
    }

    body.has-product-shell main .export-scope-counts,
    body.has-product-shell main .export-scope-actions,
    body.has-product-shell main :is(.export-scope-counts, .export-scope-actions).has-enrichment,
    body.has-product-shell main :is(.export-scope-counts, .export-scope-actions).has-fr24,
    body.has-product-shell main .export-scope-counts.has-review {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .export-scope-legend,
    body.has-product-shell main .export-api-unavailable,
    body.has-product-shell main .export-api-unavailable-actions {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .export-api-unavailable-icon,
    body.has-product-shell main .export-api-unavailable-actions {
        grid-column: auto;
    }

    body.has-product-shell main .export-scope-form > label {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    body.has-product-shell main .export-scope-form input {
        width: 100%;
    }
}

/* Sixth overview surface and the refreshed settings workspace. */
body.has-product-shell main .dashboard-module-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

body.has-product-shell main .dashboard-module-grid .module-tile.airline-overview {
    background: linear-gradient(145deg, #2b6f85, #214e67) !important;
}

body.has-product-shell main :is(.airline-overview-page, .settings-workspace) {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

body.has-product-shell main :is(.airline-overview-hero, .settings-page-hero) {
    max-width: none;
}

body.has-product-shell main .airline-overview-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

body.has-product-shell main .airline-overview-summary article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(89, 151, 190, 0.42);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(30, 70, 95, 0.9), rgba(28, 52, 70, 0.96));
}

body.has-product-shell main .airline-overview-summary strong {
    color: #8cf0dd;
    font-size: 28px;
}

body.has-product-shell main .airline-overview-summary span {
    color: #b8cad7;
    font-size: 13px;
}

body.has-product-shell main .airline-overview-workspace {
    overflow: hidden;
    padding: 0;
}

body.has-product-shell main .airline-overview-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 30px;
    border-bottom: 1px solid rgba(104, 164, 202, 0.28);
    background: linear-gradient(115deg, #173c57 0%, #18354c 100%);
}

body.has-product-shell main .airline-overview-heading h2 {
    margin: 4px 0 7px;
    color: #f8fbff;
    font-size: 28px;
}

body.has-product-shell main .airline-overview-heading p {
    margin: 0;
    color: #b9cad6;
}

body.has-product-shell main .airline-overview-list {
    display: grid;
    gap: 12px;
    padding: 22px;
}

body.has-product-shell main .airline-overview-row {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(400px, 1.65fr) auto auto;
    align-items: center;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(90, 153, 194, 0.36);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(28, 66, 91, 0.84), rgba(19, 43, 61, 0.96));
}

body.has-product-shell main .airline-overview-identity {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
}

body.has-product-shell main .airline-overview-identity > span {
    display: grid;
    width: 54px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(111, 190, 231, 0.56);
    border-radius: 13px;
    background: rgba(36, 114, 164, 0.28);
    color: #dff4ff;
    font-weight: 900;
    letter-spacing: 0.05em;
}

body.has-product-shell main .airline-overview-identity h3 {
    margin: 0 0 4px;
    color: #f5f9fc;
    font-size: 18px;
}

body.has-product-shell main .airline-overview-identity p {
    margin: 0;
    color: #91a9b9;
    font-size: 12px;
}

body.has-product-shell main .airline-overview-timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

body.has-product-shell main .airline-overview-timeline > div {
    min-width: 0;
    padding: 10px 12px;
    border-left: 1px solid rgba(102, 160, 198, 0.28);
}

body.has-product-shell main .airline-overview-timeline dt {
    margin-bottom: 5px;
    color: #86a6bb;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.has-product-shell main .airline-overview-timeline dd {
    margin: 0;
    color: #edf6fb;
    font-size: 13px;
    font-weight: 750;
}

body.has-product-shell main .airline-overview-timeline dd :is(span, small) {
    display: block;
    color: #93a9b8;
    font-size: 11px;
    font-weight: 600;
}

body.has-product-shell main .airline-overview-meta {
    display: grid;
    gap: 7px;
    min-width: 104px;
}

body.has-product-shell main .airline-overview-meta span {
    padding: 6px 9px;
    border: 1px solid rgba(74, 192, 155, 0.34);
    border-radius: 999px;
    background: rgba(13, 95, 77, 0.2);
    color: #aee8d6;
    font-size: 10px;
    text-align: center;
}

body.has-product-shell main .airline-overview-actions {
    position: relative;
    display: grid;
    justify-items: stretch;
    gap: 8px;
}

body.has-product-shell main .airline-overview-actions > details > summary {
    min-height: 38px;
    display: grid;
    place-items: center;
    padding: 8px 12px;
    border: 1px solid #58758c;
    border-radius: 10px;
    color: #dcebf5;
    background: #2c455a;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

body.has-product-shell main .airline-overview-actions > details > summary::-webkit-details-marker {
    display: none;
}

body.has-product-shell main .airline-overview-actions > details[open] > summary {
    border-color: #44c5ad;
    background: rgba(21, 118, 100, 0.45);
}

body.has-product-shell main .airline-overview-actions form {
    position: absolute;
    z-index: 20;
    right: 0;
    width: min(420px, 80vw);
    display: grid;
    gap: 10px;
    margin-top: 8px;
    padding: 16px;
    border: 1px solid rgba(91, 171, 211, 0.58);
    border-radius: 13px;
    background: #132c40;
    box-shadow: 0 20px 42px rgba(2, 11, 19, 0.42);
}

body.has-product-shell main .airline-overview-actions form label {
    display: grid;
    gap: 6px;
    color: #dceaf2;
    font-size: 12px;
    font-weight: 800;
}

body.has-product-shell main .airline-overview-actions form small {
    color: #90a8b8;
}

body.has-product-shell main .airline-overview-empty {
    display: grid;
    justify-items: center;
    gap: 9px;
    padding: 56px 20px;
    border: 1px dashed rgba(105, 164, 202, 0.42);
    border-radius: 15px;
    color: #b7c7d2;
    text-align: center;
}

body.has-product-shell main .airline-overview-empty strong {
    color: #f4f8fb;
    font-size: 20px;
}

body.has-product-shell main .settings-page-hero {
    min-height: 150px;
    margin-bottom: 18px;
}

body.has-product-shell main .settings-section-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.has-product-shell main .settings-section-nav a {
    position: relative;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 12px;
    min-height: 78px;
    padding: 13px 16px !important;
    border: 1px solid rgba(89, 148, 187, 0.38) !important;
    border-radius: 15px !important;
    color: #d8e6ef !important;
    background: linear-gradient(145deg, rgba(31, 65, 88, 0.82), rgba(24, 47, 65, 0.96)) !important;
    text-decoration: none;
}

body.has-product-shell main .settings-section-nav a > span {
    width: 42px;
    height: 42px;
    display: grid;
    grid-row: 1 / span 2;
    place-items: center;
    border: 1px solid rgba(105, 179, 220, 0.42);
    border-radius: 12px;
    background: rgba(12, 43, 62, 0.68);
    color: #a9dcf7;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
}

body.has-product-shell main .settings-section-nav a > strong {
    align-self: end;
    color: #f1f7fb;
    font-size: 14px;
}

body.has-product-shell main .settings-section-nav a > small {
    align-self: start;
    color: #91a8b8;
    font-size: 10px;
}

body.has-product-shell main .settings-section-nav a:hover {
    border-color: rgba(118, 193, 234, 0.7) !important;
    transform: translateY(-2px);
}

body.has-product-shell main .settings-section-nav a.active {
    border-color: rgba(57, 205, 177, 0.68) !important;
    background: linear-gradient(145deg, rgba(22, 112, 101, 0.72), rgba(25, 72, 87, 0.96)) !important;
    box-shadow: inset 0 3px 0 #3ed0b4, 0 14px 28px rgba(5, 20, 29, 0.18);
}

body.has-product-shell main .settings-section-nav a.active > span {
    border-color: rgba(104, 237, 211, 0.62);
    background: rgba(12, 112, 94, 0.64);
    color: #e4fff9;
}

body.has-product-shell main .settings-workspace > :is(.section-card, .storage-overview) {
    margin-top: 0;
}

body.has-product-shell main .settings-workspace > .section-card {
    border-radius: 18px;
    border-color: rgba(83, 144, 183, 0.42);
    background: linear-gradient(145deg, rgba(34, 66, 88, 0.96), rgba(27, 50, 68, 0.98));
    box-shadow: 0 18px 38px rgba(4, 14, 23, 0.18);
}

@media (min-width: 1101px) {
    body.has-product-shell .product-sidebar-navigation {
        gap: 4px;
        padding-top: 90px;
        padding-bottom: 174px;
    }

    body.has-product-shell .product-sidebar-navigation a {
        min-height: 41px;
        padding-top: 7px;
        padding-bottom: 7px;
    }
}

@media (max-width: 1450px) {
    body.has-product-shell main .dashboard-module-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.has-product-shell main .airline-overview-row {
        grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.5fr) auto;
    }

    body.has-product-shell main .airline-overview-actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body.has-product-shell main .airline-overview-summary,
    body.has-product-shell main .settings-section-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .airline-overview-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    body.has-product-shell main .airline-overview-row {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .airline-overview-timeline {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .airline-overview-actions {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    body.has-product-shell main .airline-overview-summary,
    body.has-product-shell main .settings-section-nav,
    body.has-product-shell main .airline-overview-actions {
        grid-template-columns: 1fr;
    }
}

/* Keep the refreshed settings control rail above legacy compatibility rules. */
body.has-product-shell main .settings-section-nav {
    grid-template-columns: minmax(210px, .7fr) minmax(0, 3.3fr) !important;
    gap: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid rgba(84, 150, 190, .43) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #17364c, #132d41) !important;
}

body.has-product-shell main .settings-workspace > :is(.section-card, .settings-storage-overview) {
    border: 1px solid rgba(83, 144, 183, .44) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(34, 66, 88, .98), rgba(27, 50, 68, .99)) !important;
}

@media (max-width: 1180px) {
    body.has-product-shell main .settings-section-nav {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .settings-nav-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

body.has-product-shell main .settings-datasets-section .airline-grid {
    grid-template-columns: 1fr !important;
}

body.has-product-shell main .settings-datasets-section .airline-card {
    grid-template-columns: minmax(230px, 1.1fr) minmax(190px, .9fr) minmax(150px, .7fr) 100px 145px !important;
}

body.has-product-shell main .settings-datasets-section .dataset-airline-identity {
    display: grid;
    grid-column: 1;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

body.has-product-shell main .settings-datasets-section .dataset-status {
    grid-column: 2;
    align-content: center;
}

body.has-product-shell main .settings-datasets-section .dataset-fact {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .settings-datasets-section .dataset-fact:nth-child(3) {
    grid-column: 3;
}

body.has-product-shell main .settings-datasets-section .dataset-fact:nth-child(4) {
    grid-column: 4;
}

body.has-product-shell main .settings-datasets-section .dataset-fact small,
body.has-product-shell main .settings-datasets-section .dataset-actions small {
    color: #7f99aa;
    font-size: 9px;
    text-transform: uppercase;
}

body.has-product-shell main .settings-datasets-section .dataset-fact strong {
    color: #e6eff4;
    font-size: 12px;
}

body.has-product-shell main .settings-datasets-section .dataset-actions {
    display: grid;
    grid-column: 5;
    justify-items: end;
    gap: 4px;
}

body.has-product-shell main .settings-datasets-section .dataset-actions .dashboard-delete {
    grid-column: auto;
    width: 100%;
}

body.has-product-shell main .settings-datasets-section .dataset-actions .dashboard-delete summary {
    text-align: right;
}

body.has-product-shell main .settings-users-section .managed-user-card {
    grid-template-columns: minmax(250px, 1.2fr) minmax(190px, .85fr) minmax(180px, .8fr) 150px !important;
}

/* Settings: complete airline dataset/cache inventory */
body.has-product-shell main .dataset-inventory-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    margin: 16px 20px 0;
    padding: 14px 16px;
    border: 1px solid rgba(52, 211, 153, .38);
    border-radius: 12px;
    color: #b7cad6;
    background: rgba(10, 66, 69, .42);
}

body.has-product-shell main .dataset-inventory-note strong {
    color: #75f0d1;
}

body.has-product-shell main .dataset-inventory-note p {
    margin: 0;
}

body.has-product-shell main .dataset-inventory-list {
    display: grid;
    gap: 14px;
    padding: 18px 20px 22px;
}

body.has-product-shell main .dataset-inventory-card {
    overflow: hidden;
    border: 1px solid rgba(70, 151, 197, .48);
    border-radius: 14px;
    background: rgba(9, 37, 55, .58);
}

body.has-product-shell main .dataset-inventory-card.is-blocked {
    border-color: rgba(244, 63, 94, .6);
}

body.has-product-shell main .dataset-inventory-card.is-history-only {
    opacity: .82;
}

body.has-product-shell main .dataset-inventory-card > header {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 15px 16px;
    border-bottom: 1px solid rgba(76, 137, 174, .32);
}

body.has-product-shell main .dataset-inventory-card > header h3,
body.has-product-shell main .dataset-inventory-card > header p {
    margin: 0;
}

body.has-product-shell main .dataset-inventory-card > header h3 {
    color: #f4f8fb;
    font-size: 16px;
}

body.has-product-shell main .dataset-inventory-card > header p {
    margin-top: 3px;
    color: #91a9b8;
    font-size: 11px;
}

body.has-product-shell main .dataset-inventory-card .airline-code {
    width: 44px;
    height: 44px;
    color: #e1efff;
    background: rgba(40, 111, 184, .55);
}

body.has-product-shell main .inventory-pill {
    display: inline-flex;
    padding: 6px 9px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

body.has-product-shell main .inventory-pill.stored {
    border-color: rgba(45, 212, 191, .52);
    color: #79eed7;
    background: rgba(13, 108, 96, .32);
}

body.has-product-shell main .inventory-pill.blocked {
    border-color: rgba(251, 113, 133, .58);
    color: #ff9aae;
    background: rgba(128, 27, 48, .34);
}

body.has-product-shell main .inventory-pill.history {
    border-color: rgba(148, 163, 184, .42);
    color: #aebdca;
    background: rgba(71, 85, 105, .28);
}

body.has-product-shell main .dataset-footprint-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 14px 16px;
}

body.has-product-shell main .dataset-footprint {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    border: 1px solid rgba(65, 142, 184, .38);
    border-radius: 10px;
    background: rgba(8, 35, 52, .72);
}

body.has-product-shell main .dataset-footprint small,
body.has-product-shell main .dataset-footprint span {
    color: #819baa;
    font-size: 9px;
}

body.has-product-shell main .dataset-footprint strong {
    color: #e7f1f6;
    font-size: 12px;
}

body.has-product-shell main .dataset-footprint.empty {
    opacity: .5;
}

body.has-product-shell main .dataset-footprint.audit {
    border-style: dashed;
}

body.has-product-shell main .dataset-inventory-details {
    margin: 0 16px 14px;
    border: 1px solid rgba(91, 144, 177, .32);
    border-radius: 10px;
    background: rgba(8, 30, 45, .48);
}

body.has-product-shell main .dataset-inventory-details > summary {
    padding: 11px 13px;
    color: #9edcff;
    cursor: pointer;
    font-weight: 800;
}

body.has-product-shell main .dataset-delete-preview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 0 14px 14px;
    color: #aabdc9;
}

body.has-product-shell main .dataset-delete-preview h4 {
    margin: 0 0 7px;
    color: #e5eff4;
}

body.has-product-shell main .dataset-delete-preview ul {
    margin: 0;
    padding-left: 20px;
}

body.has-product-shell main .inventory-retained {
    padding: 9px 10px;
    border-left: 3px solid #8b5cf6;
    background: rgba(76, 29, 149, .2);
}

body.has-product-shell main .dataset-delete-blocker {
    margin: 0 16px 14px;
    padding: 11px 13px;
    border: 1px solid rgba(244, 63, 94, .48);
    border-radius: 10px;
    color: #ffc1cc;
    background: rgba(127, 29, 49, .3);
}

body.has-product-shell main .dataset-inventory-card > footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 13px 16px;
    border-top: 1px solid rgba(76, 137, 174, .28);
}

body.has-product-shell main .dataset-delete-action {
    min-width: 260px;
}

body.has-product-shell main .dataset-delete-action > summary {
    color: #ff9bac;
    text-align: right;
    cursor: pointer;
    font-weight: 800;
}

@media (max-width: 980px) {
    body.has-product-shell main .dataset-footprint-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .dataset-delete-preview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    body.has-product-shell main .dataset-inventory-note,
    body.has-product-shell main .dataset-inventory-card > header,
    body.has-product-shell main .dataset-footprint-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .dataset-inventory-state {
        justify-self: start;
    }
}

body.has-product-shell main .settings-users-section .managed-user-list {
    grid-template-columns: 1fr !important;
}

body.has-product-shell main .settings-users-section .managed-user-summary {
    display: grid;
    grid-column: 1;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.has-product-shell main .settings-users-section .managed-user-badges {
    display: flex;
    grid-column: 2;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    gap: 5px;
}

body.has-product-shell main .settings-users-section .managed-user-actions {
    display: grid;
    grid-column: 4;
    gap: 6px;
}

body.has-product-shell main .settings-users-section .managed-user-meta {
    grid-column: 3;
}

body.has-product-shell main .settings-users-section .managed-user-meta div {
    padding: 3px 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.has-product-shell main .settings-users-section .managed-user-edit,
body.has-product-shell main .settings-users-section .managed-user-reset {
    grid-column: auto;
    grid-row: auto;
}

body.has-product-shell main .settings-users-section .managed-user-edit[open],
body.has-product-shell main .settings-users-section .managed-user-reset[open] {
    grid-column: auto;
}

body.has-product-shell main .settings-users-section .managed-user-actions:has(details[open]) {
    grid-column: 1 / -1;
}

body.has-product-shell main .settings-users-section .managed-user-actions details[open] {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    body.has-product-shell main .settings-users-section .managed-user-card {
        grid-template-columns: minmax(250px, 1fr) minmax(190px, .8fr) 150px !important;
    }

    body.has-product-shell main .settings-users-section .managed-user-meta {
        grid-column: 1 / 3;
    }

    body.has-product-shell main .settings-users-section .managed-user-actions {
        grid-column: 3;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .settings-datasets-section .airline-card {
        grid-template-columns: 1fr !important;
    }

    body.has-product-shell main .settings-datasets-section .dataset-actions {
        grid-column: 1;
        justify-items: start;
    }

    body.has-product-shell main .settings-datasets-section :is(
        .dataset-airline-identity,
        .dataset-status,
        .dataset-fact:nth-child(3),
        .dataset-fact:nth-child(4)
    ) {
        grid-column: 1;
    }

    body.has-product-shell main .settings-users-section .managed-user-card {
        grid-template-columns: 1fr !important;
    }

    body.has-product-shell main .settings-users-section .managed-user-meta {
        grid-column: 1;
    }

    body.has-product-shell main .settings-users-section :is(
        .managed-user-summary,
        .managed-user-badges,
        .managed-user-actions
    ) {
        grid-column: 1;
    }
}

/* Route intake: keep every pre-comparison state in the guided VAAS 2.0 language. */
body.has-product-shell main .route-intake-card {
    min-height: 520px;
    padding: 0;
    overflow: hidden;
    border-color: #46677f;
    background:
        radial-gradient(circle at 92% 110%, rgba(37, 117, 145, .16), transparent 28rem),
        #24394d;
}

body.has-product-shell main .route-intake-body {
    display: grid;
    gap: 22px;
    padding: 26px 34px 30px;
}

body.has-product-shell main .route-active-dataset,
body.has-product-shell main .route-work-mode-header {
    display: flex;
    align-items: center;
    gap: 13px;
}

body.has-product-shell main .route-active-dataset {
    width: max-content;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid #496b83;
    border-radius: 14px;
    background: rgba(17, 42, 59, .72);
}

body.has-product-shell main .route-active-dataset > span:last-child,
body.has-product-shell main .route-work-mode-dataset > span:last-child {
    display: grid;
    gap: 1px;
}

body.has-product-shell main .route-active-dataset small,
body.has-product-shell main .route-work-mode-dataset small,
body.has-product-shell main .route-mode-choice small,
body.has-product-shell main .route-dataset-choice small {
    color: #81b9e9;
    font-size: .68rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.has-product-shell main .route-active-dataset strong,
body.has-product-shell main .route-work-mode-dataset strong {
    color: #f7fafc;
    font-size: .94rem;
}

body.has-product-shell main .route-active-dataset em,
body.has-product-shell main .route-work-mode-dataset em {
    color: #9eb3c3;
    font-size: .7rem;
    font-style: normal;
}

body.has-product-shell main .route-mode-choice-grid,
body.has-product-shell main .route-dataset-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.has-product-shell main .route-mode-choice-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.has-product-shell main .route-mode-choice,
body.has-product-shell main .route-dataset-choice {
    min-width: 0;
    border: 1px solid rgba(150, 196, 226, .34);
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(6, 18, 28, .13);
}

body.has-product-shell main .route-mode-choice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    min-height: 176px;
    padding: 24px 26px;
    transition: transform .16s ease, border-color .16s ease, filter .16s ease;
}

body.has-product-shell main .route-mode-choice:hover,
body.has-product-shell main .route-dataset-choice.new:hover {
    border-color: rgba(255, 255, 255, .66);
    filter: brightness(1.06);
    transform: translateY(-2px);
}

body.has-product-shell main .route-mode-choice.captured {
    background: linear-gradient(135deg, #128f91, #177c82);
}

body.has-product-shell main .route-mode-choice.compare {
    background: linear-gradient(135deg, #3578d7, #285ab3);
}

body.has-product-shell main .route-mode-choice.merge {
    background: linear-gradient(135deg, #7257c8, #4e3c9e);
}

body.has-product-shell main .route-mode-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 16px;
    background: rgba(10, 35, 50, .48);
    color: #fff;
    font-size: .86rem;
    font-weight: 950;
}

body.has-product-shell main .route-mode-choice > span:nth-child(2),
body.has-product-shell main .route-dataset-choice.new > span:nth-child(2) {
    display: grid;
    gap: 7px;
}

body.has-product-shell main .route-mode-choice strong,
body.has-product-shell main .route-dataset-choice.new strong {
    color: #fff !important;
    font-size: 1.35rem;
    line-height: 1.12;
}

body.has-product-shell main .route-mode-choice em,
body.has-product-shell main .route-dataset-choice.new em {
    color: rgba(255, 255, 255, .86);
    font-size: .78rem;
    font-style: normal;
    line-height: 1.5;
}

body.has-product-shell main .route-mode-choice > span:last-child,
body.has-product-shell main .route-dataset-choice.new > span:last-child {
    color: rgba(255, 255, 255, .88);
    font-size: 1.3rem;
}

body.has-product-shell main .route-support-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.has-product-shell main .route-support-tool {
    align-self: start;
    margin: 0;
    overflow: hidden;
    border: 1px solid #496b83;
    border-radius: 15px;
    background: #173047;
}

body.has-product-shell main .route-support-tool > summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 13px 16px;
    cursor: pointer;
    list-style: none;
}

body.has-product-shell main .route-support-tool > summary::-webkit-details-marker {
    display: none;
}

body.has-product-shell main .route-support-tool > summary > span:nth-child(2) {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .route-support-tool > summary strong {
    color: #f5f8fb !important;
    font-size: .86rem;
}

body.has-product-shell main .route-support-tool > summary small {
    color: #93aabd;
    font-size: .7rem;
    line-height: 1.4;
}

body.has-product-shell main .route-support-icon,
body.has-product-shell main .route-support-tool .route-package-summary-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #4f7691;
    border-radius: 11px;
    background: #193a50;
    color: #78d8d1;
    font-size: .72rem;
    font-weight: 900;
}

body.has-product-shell main .route-support-tool[open] > summary {
    border-bottom: 1px solid #3d5f77;
    background: #1b3950;
}

body.has-product-shell main .route-support-tools.is-merge-mode {
    grid-template-columns: minmax(0, 1fr);
}

body.has-product-shell main .route-support-tools.is-merge-mode .route-optional-settings {
    display: none;
}

body.has-product-shell main .route-support-tool .route-optional-settings-body,
body.has-product-shell main .route-support-tool .route-package-body {
    padding: 16px;
}

body.has-product-shell main .route-intake-actions {
    margin-top: 0;
    padding: 4px 0 0;
}

body.has-product-shell main .route-work-mode-header {
    justify-content: space-between;
    min-height: 80px;
    padding: 13px 18px;
    border: 1px solid #46677f;
    border-radius: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(32, 119, 146, .16), transparent 18rem),
        #1b364c;
}

body.has-product-shell main .route-reference-toolbar {
    display: grid;
    grid-template-columns: minmax(230px, .72fr) minmax(560px, 1.28fr);
    align-items: stretch;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid #46677f;
    border-radius: 15px;
    background:
        linear-gradient(90deg, rgba(29, 103, 128, .12), transparent 46%),
        #1b364c;
}

body.has-product-shell main .route-reference-toolbar-copy {
    display: grid;
    align-content: center;
    gap: 3px;
}

body.has-product-shell main .route-reference-toolbar-copy strong {
    color: #f7fafc;
    font-size: 1.02rem;
}

body.has-product-shell main .route-reference-toolbar-copy small {
    overflow: hidden;
    color: #9fb5c5;
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .route-reference-toolbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.has-product-shell main .route-reference-toolbar-actions form {
    display: grid;
    min-width: 0;
    margin: 0;
}

body.has-product-shell main .route-reference-action {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 1px 11px;
    min-height: 64px;
    padding: 9px 13px;
    border: 1px solid #4f7590;
    border-radius: 12px;
    background: #173047;
    color: #eef6fb;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

body.has-product-shell main .route-reference-action:hover {
    border-color: #76cbd0;
    background: #1d3d55;
}

body.has-product-shell main .route-reference-action > span {
    display: grid;
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 11px;
    background: rgba(8, 31, 47, .58);
    color: #8de3dd;
    font-size: .7rem;
    font-weight: 950;
}

body.has-product-shell main .route-reference-action strong {
    align-self: end;
    color: #f7fafc;
    font-size: .82rem;
}

body.has-product-shell main .route-reference-action small {
    align-self: start;
    color: #a8bdcb;
    font-size: .66rem;
}

body.has-product-shell main .route-reference-action.api {
    border-color: #417eb5;
    background: linear-gradient(135deg, #174263, #1a3650);
}

body.has-product-shell main .route-reference-action.csv {
    border-color: #368f88;
    background: linear-gradient(135deg, #16494b, #173b4d);
}

body.has-product-shell main .route-reference-action.unavailable {
    opacity: .78;
}

body.has-product-shell main .route-reference-quick-upload > input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

body.has-product-shell main .route-work-mode-dataset {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.has-product-shell main .route-dataset-intake {
    min-height: 560px;
}

body.has-product-shell main .route-observation-evidence {
    display: grid;
    gap: 13px;
    margin: 15px;
    padding: 15px;
    border: 1px solid #b4832e;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(126, 82, 18, .28), rgba(26, 58, 77, .72));
}

body.has-product-shell main .route-observation-evidence-heading {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

body.has-product-shell main .route-observation-evidence-heading > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #c68b25;
    border-radius: 11px;
    background: #563914;
    color: #ffd987;
    font-weight: 950;
}

body.has-product-shell main .route-observation-evidence-heading strong {
    color: #fff1cc;
    font-size: .9rem;
}

body.has-product-shell main .route-observation-evidence-heading p {
    margin: 3px 0 0;
    color: #d8c9a9;
    font-size: .72rem;
    line-height: 1.45;
}

body.has-product-shell main .route-observation-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.has-product-shell main .route-observation-evidence-grid > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(154, 185, 204, .3);
    border-radius: 10px;
    background: rgba(12, 38, 55, .65);
}

body.has-product-shell main .route-observation-evidence-grid small {
    color: #9bb4c5;
    font-size: .66rem;
}

body.has-product-shell main .route-observation-evidence-grid strong {
    color: #f3f8fb;
    font-size: .76rem;
    line-height: 1.45;
}

body.has-product-shell main .route-observation-window {
    margin: 0;
    color: #b9cbd6;
    font-size: .66rem;
}

body.has-product-shell main .route-dataset-choice-grid {
    padding: 30px 34px 36px;
}

body.has-product-shell main .route-dataset-choice {
    min-height: 270px;
}

body.has-product-shell main .route-dataset-choice.saved {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: start;
    gap: 16px 18px;
    padding: 25px;
    background: linear-gradient(145deg, #1a415d, #19384f);
}

body.has-product-shell main .route-dataset-choice.saved > div {
    display: grid;
    align-content: start;
    gap: 6px;
}

body.has-product-shell main .route-dataset-choice h3 {
    margin: 0;
    color: #f7fafc;
    font-size: 1.32rem;
}

body.has-product-shell main .route-dataset-choice p {
    margin: 0;
    color: #aac0cf;
    font-size: .78rem;
    line-height: 1.5;
}

body.has-product-shell main .route-dataset-choice.saved form {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px 12px;
    margin-top: 12px;
}

body.has-product-shell main .route-dataset-choice.saved form label {
    grid-column: 1 / -1;
    color: #dbe8f1;
    font-size: .72rem;
    font-weight: 800;
}

body.has-product-shell main .route-dataset-choice.saved select {
    width: 100%;
    min-height: 48px;
    border-color: #58788e;
    border-radius: 11px;
    background: #112a3d;
}

body.has-product-shell main .route-dataset-choice.new {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 25px;
    background: linear-gradient(135deg, #138e7e, #116e70);
}

body.has-product-shell main .route-dataset-empty {
    grid-column: 1 / -1;
    padding: 14px;
    border: 1px dashed #58788e;
    border-radius: 11px;
    color: #a9bfce;
}

@media (max-width: 980px) {
    body.has-product-shell main .route-mode-choice-grid,
    body.has-product-shell main .route-dataset-choice-grid,
    body.has-product-shell main .route-support-tools {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-reference-toolbar {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-intake-card,
    body.has-product-shell main .route-dataset-intake {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    body.has-product-shell main .route-intake-body,
    body.has-product-shell main .route-dataset-choice-grid {
        padding: 20px 16px 24px;
    }

    body.has-product-shell main .route-mode-choice,
    body.has-product-shell main .route-dataset-choice.new {
        grid-template-columns: auto minmax(0, 1fr);
        min-height: 0;
        padding: 19px;
    }

    body.has-product-shell main .route-mode-choice > span:last-child,
    body.has-product-shell main .route-dataset-choice.new > span:last-child {
        display: none;
    }

    body.has-product-shell main .route-dataset-choice.saved form {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-work-mode-header {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .route-reference-toolbar-actions,
    body.has-product-shell main .route-observation-evidence-grid {
        grid-template-columns: 1fr;
    }

}

/* API transfer: the same calm, dark workspace language as capture and export. */
body.has-product-shell main .api-transfer-page {
    display: grid;
    gap: 22px;
    width: min(1500px, 100%);
    margin: 0 auto;
}

body.has-product-shell main .api-transfer-hero {
    display: flex;
    min-height: 132px;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 0;
}

body.has-product-shell main .api-transfer-hero-actions {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

body.has-product-shell main .api-transfer-hero .api-status-pill {
    min-width: 92px;
    padding: 9px 14px;
    border: 1px solid #5d8199;
    border-radius: 999px;
    background: rgba(8, 31, 47, .6);
    color: #dceaf1;
    text-align: center;
}

body.has-product-shell main .api-transfer-hero .api-status-pill.success {
    border-color: #1bb98a;
    background: rgba(10, 87, 68, .72);
    color: #aaf4dc;
}

body.has-product-shell main .api-transfer-hero .api-status-pill.failed {
    border-color: #da6176;
    background: rgba(108, 31, 48, .72);
    color: #ffc1cc;
}

body.has-product-shell main .api-transfer-shell {
    display: grid;
    gap: 20px;
}

body.has-product-shell main .api-transfer-overview,
body.has-product-shell main .api-transfer-results,
body.has-product-shell main .api-transfer-handoff {
    overflow: hidden;
    border: 1px solid #496b83;
    border-radius: 20px;
    background: #20384c;
    box-shadow: 0 22px 50px rgba(5, 15, 25, .22);
}

body.has-product-shell main .api-transfer-overview {
    padding: 28px;
}

body.has-product-shell main .api-transfer-heading,
body.has-product-shell main .api-transfer-results-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

body.has-product-shell main .api-transfer-heading h2,
body.has-product-shell main .api-transfer-results-heading h2 {
    margin: 5px 0 4px;
    color: #f6f9fb;
    font-size: 1.55rem;
}

body.has-product-shell main .api-transfer-heading p,
body.has-product-shell main .api-transfer-results-heading p {
    margin: 0;
    color: #b9cad6;
}

body.has-product-shell main .api-transfer-heading > strong {
    min-width: 92px;
    padding: 12px 15px;
    border: 1px solid #4d7894;
    border-radius: 12px;
    background: #132d41;
    color: #fff;
    font-size: 1.15rem;
    text-align: center;
}

body.has-product-shell main .api-transfer-page .api-batch-progress {
    height: 12px;
    margin: 24px 0 20px;
    overflow: hidden;
    border-radius: 999px;
    background: #112a3d;
}

body.has-product-shell main .api-transfer-page .api-batch-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #11a89a, #42d2c0);
    box-shadow: 0 0 20px rgba(66, 210, 192, .35);
    transition: width .25s ease;
}

body.has-product-shell main .api-transfer-page .api-batch-live-metrics,
body.has-product-shell main .api-transfer-page .api-write-preview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

body.has-product-shell main .api-transfer-page .api-write-preview-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 12px;
}

body.has-product-shell main .api-transfer-page .api-batch-live-metrics > span,
body.has-product-shell main .api-transfer-page .api-write-preview-grid > span {
    display: grid;
    min-height: 82px;
    align-content: center;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid #47677e;
    border-radius: 13px;
    background: #182f43;
}

body.has-product-shell main .api-transfer-page .api-batch-live-metrics small,
body.has-product-shell main .api-transfer-page .api-write-preview-grid small {
    color: #93adbf;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.has-product-shell main .api-transfer-page .api-batch-live-metrics strong,
body.has-product-shell main .api-transfer-page .api-write-preview-grid strong {
    color: #eef6fa;
    font-size: 1.12rem;
}

body.has-product-shell main .api-transfer-page .api-write-preview-grid .create {
    border-color: #188e83;
    background: rgba(12, 105, 96, .24);
}

body.has-product-shell main .api-transfer-page .api-write-preview-grid .update {
    border-color: #3e78c7;
    background: rgba(35, 102, 188, .22);
}

body.has-product-shell main .api-transfer-page .api-write-preview-grid .delete,
body.has-product-shell main .api-transfer-page .api-write-preview-grid .failed {
    border-color: #9a4e60;
    background: rgba(116, 40, 58, .24);
}

body.has-product-shell main .api-transfer-page .api-write-preview-grid .success {
    border-color: #218f70;
    background: rgba(16, 106, 80, .24);
}

body.has-product-shell main .api-transfer-page .api-throughput-note,
body.has-product-shell main .api-transfer-page .api-preflight-note {
    display: grid;
    gap: 4px;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid #527088;
    border-radius: 12px;
    background: #172f42;
    color: #c4d5df;
}

body.has-product-shell main .api-transfer-page .api-preflight-note {
    border-color: #268c74;
    background: rgba(13, 91, 71, .24);
    color: #b7eadc;
}

body.has-product-shell main .api-transfer-results-heading {
    padding: 24px 26px;
    border-bottom: 1px solid #42647c;
    background: #19344a;
}

body.has-product-shell main .api-transfer-results-heading > span {
    padding: 7px 11px;
    border: 1px solid #4a7089;
    border-radius: 999px;
    color: #b9cad6;
    font-size: .75rem;
    font-weight: 800;
}

body.has-product-shell main .api-transfer-page .api-batch-list {
    max-height: 430px;
    overflow: auto;
    border: 0;
    background: #13293b;
}

body.has-product-shell main .api-transfer-page .api-batch-row {
    display: grid;
    grid-template-columns: 52px 130px minmax(260px, 1fr) 130px;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 10px 20px;
    border: 0;
    border-bottom: 1px solid #314f65;
    background: #142c3e;
    color: #d8e4eb;
}

body.has-product-shell main .api-transfer-page .api-batch-row:nth-child(odd) {
    background: #173146;
}

body.has-product-shell main .api-transfer-page .api-batch-row:hover {
    background: #1d3a50;
}

body.has-product-shell main .api-transfer-page .api-batch-row-head,
body.has-product-shell main .api-transfer-page .api-batch-row-head:hover {
    position: sticky;
    z-index: 1;
    top: 0;
    min-height: 42px;
    background: #102639;
    color: #8eabbf;
    font-size: .68rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.has-product-shell main .api-transfer-page .api-batch-row > small {
    grid-column: 3 / -1;
    color: #91aabc;
}

body.has-product-shell main .api-transfer-page .api-batch-row > small.error {
    color: #ffb1c0;
}

body.has-product-shell main .api-transfer-page .api-item-status {
    justify-self: start;
    padding: 5px 9px;
    border: 1px solid #57768b;
    border-radius: 999px;
    color: #c5d5df;
    font-size: .72rem;
    font-weight: 800;
}

body.has-product-shell main .api-transfer-page .status-success .api-item-status {
    border-color: #219b78;
    background: rgba(15, 116, 84, .22);
    color: #7ce0c2;
}

body.has-product-shell main .api-transfer-page .status-failed .api-item-status {
    border-color: #ba5269;
    background: rgba(125, 37, 58, .3);
    color: #ff9fb2;
}

body.has-product-shell main .api-transfer-empty {
    padding: 42px 24px;
    color: #9fb4c3;
    text-align: center;
}

body.has-product-shell main .api-transfer-handoff {
    padding: 20px 24px;
}

@media (max-width: 900px) {
    body.has-product-shell main .api-transfer-page .api-batch-live-metrics,
    body.has-product-shell main .api-transfer-page .api-write-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.has-product-shell main .api-transfer-page .api-batch-row {
        grid-template-columns: 42px 110px minmax(220px, 1fr) 110px;
    }
}

@media (max-width: 640px) {
    body.has-product-shell main .api-transfer-hero,
    body.has-product-shell main .api-transfer-heading,
    body.has-product-shell main .api-transfer-results-heading {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .api-transfer-hero-actions {
        justify-content: flex-start;
    }

    body.has-product-shell main .api-transfer-overview {
        padding: 20px 16px;
    }

    body.has-product-shell main .api-transfer-page .api-batch-live-metrics,
    body.has-product-shell main .api-transfer-page .api-write-preview-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .api-transfer-page .api-batch-row {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    body.has-product-shell main .api-transfer-page .api-batch-row > :nth-child(3),
    body.has-product-shell main .api-transfer-page .api-batch-row > :nth-child(4) {
        grid-column: 2;
    }

    body.has-product-shell main .api-transfer-page .api-batch-row-head {
        display: none;
    }
}

body.has-product-shell .sidebar-dataset-panel .sidebar-dataset-refresh {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
    border: 1px solid #2e96d5;
    border-radius: 9px;
    background: linear-gradient(135deg, #1676cc, #225fd0);
    color: #fff;
    font-size: .72rem;
    font-weight: 850;
    text-decoration: none;
}

body.has-product-shell .sidebar-dataset-panel .sidebar-dataset-refresh:hover {
    border-color: #66c7ff;
    filter: brightness(1.08);
}

body.has-product-shell main .route-work-mode-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

body.has-product-shell main .route-work-mode-actions .route-merge-action {
    border-color: #7568d9;
    background: rgba(78, 60, 158, .28);
    color: #eeeaff;
}

body.has-product-shell main .route-work-mode-actions .route-merge-action:hover {
    border-color: #a99fff;
    background: rgba(101, 80, 197, .42);
}

/* Route protection belongs to the current work surface, not the retired source card. */
body.has-product-shell main .route-product-page.is-work-mode .route-protection-details {
    overflow: hidden;
    border: 1px solid #46677f;
    border-radius: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 185, 168, .1), transparent 24rem),
        #1b364c;
    box-shadow: none;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 76px;
    padding: 14px 18px;
    border: 0;
    background: rgba(13, 37, 55, .38);
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-summary-main {
    display: flex;
    align-items: center;
    gap: 13px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-summary-main > span:last-child {
    display: grid;
    gap: 3px;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-summary-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border: 1px solid rgba(70, 220, 181, .42);
    border-radius: 12px;
    background: rgba(18, 111, 91, .26);
    color: #8ff0cf;
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .05em;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details > summary strong {
    color: #f7fafc;
    font-size: .94rem;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details > summary small {
    color: #a8bbc8;
    font-size: .72rem;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-summary-state {
    color: #8ff0cf;
    font-size: .72rem;
    font-weight: 850;
    white-space: nowrap;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details .route-protection-panel {
    padding: 0;
    border: 0;
    border-top: 1px solid rgba(82, 119, 145, .5);
    border-radius: 0;
    background: transparent !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details .historic-route-protection {
    margin: 0;
    padding: 16px 18px;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details .protected-route-inventory {
    margin: 0 18px 16px;
}

@media (max-width: 1100px) {
    body.has-product-shell main .route-product-page.is-work-mode .route-protection-details > summary {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-product-page.is-work-mode .route-protection-summary-state {
        padding-left: 55px;
        white-space: normal;
    }
}

/* Route packages are an additive choice, not a legacy configuration form. */
body.has-product-shell main .route-support-tool.route-package-card,
body.has-product-shell main .route-support-tool.route-package-card[open] {
    background: #13273a !important;
    color: #e8eef5 !important;
}

body.has-product-shell main .route-package-card .route-package-body,
body.has-product-shell main .route-package-card .route-package-form,
body.has-product-shell main .route-package-card .route-package-form fieldset {
    background: #13273a !important;
    color: #e8eef5 !important;
}

body.has-product-shell main .route-package-card .route-package-body {
    display: grid;
    gap: 16px;
    border-top: 0;
}

body.has-product-shell main .route-package-target {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #42647c;
    border-radius: 12px;
    background: #183249;
}

body.has-product-shell main .route-package-target > span:last-child {
    display: grid;
    min-width: 0;
    gap: 2px;
}

body.has-product-shell main .route-package-target small,
body.has-product-shell main .route-package-help,
body.has-product-shell main .route-package-target em {
    color: #9fb4c5 !important;
    font-size: .73rem;
    font-style: normal;
}

body.has-product-shell main .route-package-target strong,
body.has-product-shell main .route-package-form legend {
    color: #f5f8fb !important;
}

body.has-product-shell main .route-package-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

body.has-product-shell main .route-package-form legend {
    margin-bottom: 4px;
    font-size: .88rem;
}

body.has-product-shell main .route-package-help {
    margin: 0 0 10px;
}

body.has-product-shell main .route-package-source-grid {
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
    gap: 9px;
    max-height: none;
    overflow: visible;
    padding: 0;
}

body.has-product-shell main .route-package-card .route-package-source {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    min-height: 72px;
    gap: 10px;
    padding: 10px 12px;
    border-color: #3f5d74 !important;
    background: #172f44 !important;
    color: #e8eef5 !important;
    cursor: pointer;
}

body.has-product-shell main .route-package-card .route-package-source:has(input:checked) {
    border-color: #3dd6bd !important;
    background: #123c40 !important;
    box-shadow: inset 3px 0 #3dd6bd;
}

body.has-product-shell main .route-package-source-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

body.has-product-shell main .route-package-source-copy strong {
    overflow: hidden;
    color: #f7f9fb !important;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.has-product-shell main .route-package-source-copy small {
    color: #9eb3c4 !important;
    font-size: .68rem;
}

body.has-product-shell main .route-package-actions {
    gap: 16px;
    border-color: #36556d;
}

body.has-product-shell main .route-package-actions > span {
    max-width: 760px;
    color: #a9bdcc !important;
    font-size: .72rem;
    line-height: 1.5;
}

body.has-product-shell main .route-package-actions .primary-button {
    flex: 0 0 auto;
}

@media (max-width: 700px) {
    body.has-product-shell main .route-package-source-grid {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-package-card .route-package-source {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    body.has-product-shell main .route-package-detected-mark {
        grid-column: 2 / -1;
    }
}

body.has-product-shell main .historic-route-protection {
    align-items: start;
}

body.has-product-shell main .historic-tag-inventory {
    grid-column: 1 / -1;
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(112, 184, 255, .24);
    border-radius: 12px;
    background: rgba(6, 22, 38, .48);
}

body.has-product-shell main .historic-tag-inventory-heading,
body.has-product-shell main .protected-route-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
}

body.has-product-shell main .historic-tag-inventory-heading > span,
body.has-product-shell main .historic-tag-choice-grid label span {
    display: grid;
    gap: 2px;
}

body.has-product-shell main .historic-tag-inventory-heading input {
    min-width: min(280px, 100%);
}

body.has-product-shell main .historic-tag-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    max-height: 280px;
    overflow: auto;
}

body.has-product-shell main .historic-tag-choice-grid label {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid rgba(142, 171, 197, .22);
    border-radius: 9px;
    background: rgba(255, 255, 255, .025);
}

body.has-product-shell main .historic-tag-choice-grid label.protected {
    border-color: rgba(55, 213, 147, .55);
    background: rgba(23, 151, 100, .12);
}

body.has-product-shell main .protected-route-inventory {
    margin-top: 12px;
    border: 1px solid rgba(55, 213, 147, .28);
    border-radius: 12px;
    background: rgba(4, 25, 26, .28);
}

body.has-product-shell main .protected-route-inventory > summary {
    display: flex;
    justify-content: space-between;
    padding: 13px 15px;
    cursor: pointer;
}

body.has-product-shell main .protected-route-filter,
body.has-product-shell main .protected-route-list {
    margin: 0 14px 14px;
}

body.has-product-shell main .protected-route-filter label {
    display: grid;
    flex: 1 1 210px;
    gap: 4px;
}

body.has-product-shell main .protected-route-list {
    display: grid;
    gap: 7px;
}

body.has-product-shell main .protected-route-list > div {
    display: grid;
    grid-template-columns: auto minmax(70px, .5fr) minmax(130px, 1fr) minmax(160px, 1.3fr) minmax(180px, 1.5fr);
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

body.has-product-shell main .protected-route-badge,
body.has-product-shell main .route-conflict-locked {
    color: #7ff0ba;
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
}

body.has-product-shell main .protected-route-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

body.has-product-shell main .protected-route-tags em {
    padding: 3px 7px;
    border: 1px solid rgba(55, 213, 147, .34);
    border-radius: 999px;
    color: #bfffe1;
    font-size: .7rem;
    font-style: normal;
}

body.has-product-shell main .route-status-card.conflict,
body.has-product-shell main .route-state-pill.conflict {
    border-color: rgba(255, 173, 59, .62);
    background: rgba(170, 82, 13, .18);
    color: #ffd397;
}

body.has-product-shell main .route-reconcile-conflict {
    box-shadow: inset 4px 0 #ffad3b;
}

body.has-product-shell main .route-package-conflict-detail {
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid rgba(255, 173, 59, .38);
    border-radius: 10px;
    background: rgba(143, 65, 7, .13);
}

body.has-product-shell main .route-package-conflict-detail > div {
    display: grid;
    gap: 3px;
}

@media (max-width: 780px) {
    body.has-product-shell main .protected-route-list > div {
        grid-template-columns: 1fr 1fr;
    }

    body.has-product-shell main .protected-route-tags,
    body.has-product-shell main .protected-route-list > div > small {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .route-work-mode-actions {
        width: 100%;
    }

    body.has-product-shell main .route-work-mode-actions > a {
        flex: 1 1 190px;
        justify-content: center;
    }
}

/* True spreadsheet workspace: the table owns the browser viewport. */
body.workspace-focus-open {
    overflow: hidden !important;
}

body.workspace-focus-open .product-sidebar,
body.workspace-focus-open .product-header {
    visibility: hidden !important;
    pointer-events: none !important;
}

body.has-product-shell main [data-workspace-focus].is-workspace-focus {
    position: fixed !important;
    z-index: 10000 !important;
    inset: 0 !important;
    display: flex !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #152c3e !important;
    box-shadow: none !important;
}

body.has-product-shell main [data-workspace-focus].is-workspace-focus > :is(.aircraft-work-mode-header, .config-card-header, .route-comparison-title) {
    position: relative !important;
    z-index: 30;
    top: auto !important;
    display: flex;
    min-height: 54px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 8px 14px !important;
    border-bottom: 1px solid rgba(91, 132, 158, .55);
    background: #193248 !important;
    box-shadow: 0 8px 18px rgba(7, 19, 29, .2);
}

body.has-product-shell main [data-workspace-focus].is-workspace-focus > :is(.aircraft-work-mode-header, .config-card-header, .route-comparison-title) > div:first-child {
    display: none !important;
}

body.has-product-shell main [data-workspace-focus].is-workspace-focus .workspace-heading-actions,
body.has-product-shell main [data-workspace-focus].is-workspace-focus .aircraft-work-mode-actions,
body.has-product-shell main [data-workspace-focus].is-workspace-focus .route-quick-actions {
    width: auto !important;
    margin-left: auto;
}

/* Aircraft spreadsheet workspace. */
body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-source-wizard {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0 !important;
    overflow: hidden;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-source-panel {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus :is(.aircraft-result-heading, .package-workspace-banner, .package-aircraft-source-grid, .aircraft-source-workflow-help, .fleet-step-actions) {
    display: none !important;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-package-airline-filter {
    min-height: 48px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 6px 14px !important;
    border-width: 0 0 1px !important;
    border-radius: 0 !important;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-package-airline-filter a {
    min-height: 32px;
    padding: 5px 10px;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-source-status-grid {
    min-height: 66px;
    flex: 0 0 auto;
    gap: 8px;
    margin: 0 !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid rgba(77, 125, 151, .34);
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-source-status-grid a {
    min-height: 48px;
    padding: 7px 10px;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-source-filter {
    min-height: 58px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 7px 14px !important;
    border-bottom: 1px solid rgba(77, 125, 151, .34);
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-list-toolbar.source-toolbar {
    min-height: 48px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 7px 14px !important;
    border-bottom: 1px solid rgba(77, 125, 151, .34);
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-edit-list.source {
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 0 !important;
    margin: 0 !important;
    overflow: auto !important;
    border-width: 0 !important;
    border-radius: 0 !important;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-source-panel > .pagination-bar {
    min-height: 48px;
    flex: 0 0 auto;
    margin: 0 !important;
    border-width: 1px 0 0 !important;
    border-radius: 0 !important;
}

/* Fleet-ID spreadsheet workspace. */
body.has-product-shell main .fleet-step-two-card.is-workspace-focus > .package-workspace-banner,
body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-source-choice-grid,
body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-step-actions {
    display: none !important;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-source-wizard {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0 !important;
    overflow: hidden;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-source-panel {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-table-heading {
    min-height: 64px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid rgba(77, 125, 151, .34);
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-table-heading p {
    display: none;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-source-note,
body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-csv-dropzone {
    flex: 0 0 auto;
    margin: 8px 14px !important;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-sheet-form {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0 !important;
    overflow: hidden;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-sheet-table {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    border-radius: 0 !important;
}

body.has-product-shell main .fleet-step-two-card.is-workspace-focus .fleet-sheet-actions {
    min-height: 56px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 8px 14px !important;
    border-top: 1px solid rgba(77, 125, 151, .34);
}

/* Route spreadsheet workspace. */
body.has-product-shell main .route-comparison-card.is-workspace-focus .route-status-grid {
    min-height: 68px;
    flex: 0 0 auto;
    gap: 7px;
    margin: 0 !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid rgba(77, 125, 151, .34);
}

body.has-product-shell main .route-comparison-card.is-workspace-focus .route-status-card {
    min-height: 50px;
    padding: 7px 10px;
}

body.has-product-shell main .route-comparison-card.is-workspace-focus .route-status-card small {
    display: none;
}

body.has-product-shell main .route-comparison-card.is-workspace-focus .route-table-workbench {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid rgba(77, 125, 151, .34);
}

body.has-product-shell main .route-comparison-card.is-workspace-focus .route-reconcile-list {
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 0 !important;
    margin: 0 !important;
    overflow: auto !important;
    border-width: 0 !important;
    border-radius: 0 !important;
}

body.has-product-shell main .route-comparison-card.is-workspace-focus > .pagination-bar {
    min-height: 48px;
    flex: 0 0 auto;
    margin: 0 !important;
    border-width: 1px 0 0 !important;
    border-radius: 0 !important;
}

@media (max-width: 760px) {
    body.has-product-shell main [data-workspace-focus].is-workspace-focus {
        inset: 0 !important;
        height: 100dvh !important;
        border-radius: 0 !important;
    }

    body.has-product-shell main [data-workspace-focus].is-workspace-focus > :is(.aircraft-work-mode-header, .config-card-header, .route-comparison-title) {
        min-height: 48px;
        padding: 6px 8px !important;
    }

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-package-airline-filter > span {
        display: none;
    }
}

/* Compact action row in spreadsheet mode. */
body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-work-mode-actions,
body.has-product-shell main .route-comparison-card.is-workspace-focus .route-quick-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

body.has-product-shell main .aircraft-source-workspace.is-workspace-focus .aircraft-work-mode-actions :is(form, a, button),
body.has-product-shell main .route-comparison-card.is-workspace-focus .route-quick-actions :is(form, button) {
    width: auto !important;
    margin: 0 !important;
}

/* Keep only the recurring aircraft actions visible; secondary tools live in a menu. */
body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions {
    display: flex;
    width: auto;
    flex: 0 1 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-header {
    align-items: center;
    flex-direction: row;
}

body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions > :is(form, details, a, button) {
    flex: 0 0 auto;
}

body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions > :is(form, a, button),
body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions form > button {
    width: auto;
    box-sizing: border-box;
    justify-content: center;
}

body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions .aircraft-fr24-name-button {
    border-color: rgba(73, 205, 183, .62);
    background: linear-gradient(135deg, #168b78, #0c6c63);
    color: #f2fffc;
}

body.has-product-shell main .aircraft-more-actions {
    position: relative;
}

body.has-product-shell main .aircraft-more-actions > summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    cursor: pointer;
}

body.has-product-shell main .aircraft-more-actions > summary::-webkit-details-marker {
    display: none;
}

body.has-product-shell main .aircraft-more-actions[open] > summary {
    border-color: #69a8d2;
    background: #224a65;
}

body.has-product-shell main .aircraft-more-actions-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    width: min(310px, 85vw);
    gap: 8px;
    padding: 10px;
    border: 1px solid #4b718b;
    border-radius: 12px;
    background: #102b3e;
    box-shadow: 0 18px 38px rgba(3, 18, 29, .48);
}

body.has-product-shell main .aircraft-more-actions-menu :is(form, a, button),
body.has-product-shell main .aircraft-more-actions-menu form > button {
    width: 100% !important;
    margin: 0;
    box-sizing: border-box;
    justify-content: flex-start;
}

@media (max-width: 1500px) {
    body.has-product-shell main .route-product-page.is-work-mode .route-comparison-card:not(.is-workspace-focus) .route-status-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-header {
        align-items: stretch;
        flex-direction: column;
    }

    body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions > :is(form, details, a, button),
    body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions > :is(form, a, button),
    body.has-product-shell main .aircraft-source-workspace:not(.is-workspace-focus) .aircraft-work-mode-actions form > button,
    body.has-product-shell main .aircraft-more-actions > summary {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }

    body.has-product-shell main .aircraft-more-actions-menu {
        position: static;
        width: auto;
        margin-top: 8px;
    }
}

/* Route protection follows the current operational-card language. */
body.has-product-shell main .route-product-page.is-work-mode .route-protection-details .historic-route-protection {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 16px 18px 18px;
}

body.has-product-shell main .route-protection-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border: 1px solid rgba(61, 214, 178, .36);
    border-radius: 12px;
    background: linear-gradient(100deg, rgba(14, 92, 80, .24), rgba(17, 52, 70, .56));
}

body.has-product-shell main .route-protection-control .historic-protection-toggle {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

body.has-product-shell main .route-protection-control .historic-protection-toggle input {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    accent-color: #2fd0aa;
}

body.has-product-shell main .route-protection-control .historic-protection-toggle span {
    display: grid;
    min-width: 0;
    gap: 3px;
}

body.has-product-shell main .route-protection-control .historic-protection-toggle strong {
    color: #f2faf7;
    font-size: .82rem;
}

body.has-product-shell main .route-protection-control .historic-protection-toggle small {
    color: #a8c2c7;
    font-size: .7rem;
}

body.has-product-shell main .route-protection-control-state {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid #4a687d;
    border-radius: 999px;
    background: #172f43;
    color: #a8bdcb;
    font-size: .69rem;
    font-weight: 850;
    white-space: nowrap;
}

body.has-product-shell main .route-protection-control-state.active {
    border-color: rgba(47, 208, 170, .58);
    background: rgba(17, 118, 94, .28);
    color: #83e9ce;
}

body.has-product-shell main .route-product-page.is-work-mode .route-protection-details .historic-tag-inventory {
    grid-column: auto;
    gap: 12px;
    padding: 14px 15px;
    border-color: rgba(94, 143, 171, .38);
    background: #10283a;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-inventory-heading strong {
    color: #f2f7fa;
    font-size: .82rem;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-inventory-heading small {
    color: #93adbd;
    font-size: .68rem;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-inventory-heading input {
    min-width: min(330px, 100%);
    min-height: 40px;
    border-color: #45657b;
    background: #0e2233;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: 8px;
    max-height: 220px;
    padding: 0;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label {
    min-height: 58px;
    padding: 10px 12px;
    border-color: rgba(111, 151, 176, .28);
    background: #172f43;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label:hover {
    border-color: #5f8aa6;
    background: #1a374d;
    transform: translateY(-1px);
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label.protected,
body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label:has(input:checked) {
    border-color: rgba(47, 208, 170, .7);
    background: rgba(17, 104, 87, .34);
    box-shadow: inset 3px 0 #2fd0aa;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label input {
    width: 18px;
    height: 18px;
    accent-color: #2fd0aa;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label strong {
    color: #eef7f9;
    font-size: .76rem;
}

body.has-product-shell main .route-product-page.is-work-mode .historic-tag-choice-grid label small {
    color: #9fb5c4;
    font-size: .67rem;
}

body.has-product-shell main .route-protection-actions {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
    gap: 14px;
    padding: 13px 15px;
    border: 1px solid rgba(94, 143, 171, .3);
    border-radius: 12px;
    background: rgba(11, 34, 50, .72);
}

body.has-product-shell main .route-protection-actions .historic-protection-tags {
    display: grid;
    gap: 5px;
}

body.has-product-shell main .route-protection-actions .historic-protection-tags > span {
    color: #8ec0d8;
}

body.has-product-shell main .route-protection-actions .historic-protection-tags input {
    min-height: 42px;
    border-color: #45657b;
    background: #0e2233;
}

body.has-product-shell main .route-protection-actions .historic-protection-tags small {
    color: #8fa8b8;
    font-size: .66rem;
}

body.has-product-shell main .route-protection-actions > button {
    min-width: 205px;
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #299d85;
    border-radius: 9px;
    background: #176f60;
    color: #effffb;
    font-weight: 850;
    cursor: pointer;
}

body.has-product-shell main .route-protection-actions > button:hover {
    border-color: #43d5b3;
    background: #1b806d;
}

@media (max-width: 760px) {
    body.has-product-shell main .route-protection-control,
    body.has-product-shell main .route-protection-actions {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-protection-control {
        flex-direction: column;
    }

    body.has-product-shell main .route-protection-control-state,
    body.has-product-shell main .route-protection-actions > button {
        width: 100%;
        text-align: center;
    }
}

/* Compact route-reference onboarding replaces the retired split import panel. */
body.has-product-shell main .route-reference-onboarding {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin: 0 0 16px;
    padding: 18px 20px;
    border: 1px solid #4b6f89;
    border-top: 3px solid #7d62d8;
    border-radius: 15px;
    background:
        radial-gradient(circle at 0 50%, rgba(116, 83, 213, .18), transparent 18rem),
        linear-gradient(110deg, rgba(24, 63, 87, .96), rgba(17, 43, 62, .98));
    box-shadow: 0 16px 34px rgba(4, 20, 33, .18);
}

body.has-product-shell main .route-reference-onboarding-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 1px solid #a78bf3;
    border-radius: 14px;
    background: linear-gradient(145deg, #6647bb, #422d83);
    color: #fff;
    box-shadow: 0 7px 18px rgba(56, 35, 125, .34);
    font-size: 1.25rem;
    font-weight: 950;
}

body.has-product-shell main .route-reference-onboarding-copy {
    display: grid;
    gap: 4px;
}

body.has-product-shell main .route-reference-onboarding-copy h2 {
    margin: 0;
    color: #f7fbff;
    font-size: 1.15rem;
}

body.has-product-shell main .route-reference-onboarding-copy p {
    margin: 0;
    color: #adc0ce;
    font-size: .76rem;
}

body.has-product-shell main .route-reference-contract {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 9px;
    margin-top: 7px;
    padding: 6px 10px 6px 7px;
    border: 1px solid rgba(48, 198, 172, .38);
    border-radius: 9px;
    background: rgba(8, 87, 76, .2);
    color: #bceee4;
    font-size: .68rem;
}

body.has-product-shell main .route-reference-contract b {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 7px;
    background: #0c7665;
    color: #fff;
    font-size: .72rem;
}

html[data-theme="dark"] body.has-product-shell main .route-reference-onboarding .route-reference-back {
    min-width: 168px;
    border-color: #607890 !important;
    background: linear-gradient(135deg, #2a4055, #203246) !important;
    color: #dceafb !important;
    text-align: center;
}

@media (max-width: 800px) {
    body.has-product-shell main .route-reference-onboarding {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.has-product-shell main .route-reference-onboarding .route-reference-back {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 560px) {
    body.has-product-shell main .route-reference-onboarding {
        grid-template-columns: 1fr;
    }

    body.has-product-shell main .route-reference-onboarding-icon {
        width: 44px;
        height: 44px;
    }

    body.has-product-shell main .route-reference-contract {
        width: 100%;
    }
}
