/* JerryAir News, Communications, and NOTAM feature styles. Extracted from Blade views without visual changes. */

/* ===== communications index ===== */
.ja-communications-title { margin: 0; }
    .ja-communications-title h1 { font-size: 1.55rem; font-weight: 700; letter-spacing: -.02em; }
    .ja-communications-title span { font-weight: 500; color: var(--app-subtle); }
    .ja-communications-page { align-items: start; margin-top: 22px; }
    .ja-communications-page .main-column,
    .ja-communications-page .right-column { gap: 22px; }

    .ja-communications-table { min-width: 1220px; }
    .ja-communications-table tbody td { padding: 16px 18px; }
    .ja-communications-table th:nth-child(1), .ja-communications-table td:nth-child(1) { width: 128px; }
    .ja-communications-table th:nth-child(2), .ja-communications-table td:nth-child(2) { width: 145px; }
    .ja-communications-table th:nth-child(3), .ja-communications-table td:nth-child(3) { width: 190px; }
    .ja-communications-table th:nth-child(4), .ja-communications-table td:nth-child(4) { width: 150px; }
    .ja-communications-table th:nth-child(5), .ja-communications-table td:nth-child(5) { min-width: 420px; white-space: normal; }
    .ja-communications-table th:nth-child(6), .ja-communications-table td:nth-child(6) { width: 62px; text-align: right; }
    .ja-communication-row { cursor: pointer; }
    .ja-communication-row:hover { background: rgba(0,56,117,.035); }
    [data-bs-theme="dark"] .ja-communication-row:hover { background: rgba(126,192,255,.055); }

    .ja-communication-thumb { display: block; width: 96px; height: 68px; border-radius: 12px; overflow: hidden; border: 1px solid var(--app-border); background: var(--app-primary-soft); }
    .ja-communication-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

    .ja-type-pill { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 5px 9px; line-height: 1; font-size: .76rem; font-weight: 700; white-space: nowrap; border: 1px solid transparent; }
    .ja-type-pill.is-public { background: #DDF8EC; color: #006C43; border-color: rgba(0,108,67,.12); }
    .ja-type-pill.is-internal { background: rgba(245,137,50,.14); color: #A93612; border-color: rgba(245,137,50,.24); }
    [data-bs-theme="dark"] .ja-type-pill.is-public { background: rgba(0,228,154,.16); color: #48F2B8; border-color: rgba(72,242,184,.20); }
    [data-bs-theme="dark"] .ja-type-pill.is-internal { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }

    .ja-topic-cell { display: flex; align-items: center; min-width: 0; }
    .ja-topic-cell .ja-communication-icons { align-items: center; }
    .ja-topic-cell .ja-communication-icon { display: inline-flex; align-items: center; gap: 6px; }
    .ja-topic-empty { color: var(--app-muted); font-weight: 700; }
    .ja-communication-subject { display: grid; gap: 5px; }
    .ja-communication-subject strong { font-size: .96rem; line-height: 1.25; font-weight: 600; }
    .ja-communication-subject span { color: var(--app-subtle); font-size: .84rem; line-height: 1.4; }

    .ja-communication-icons { display: inline-flex; flex-wrap: wrap; gap: 6px; }
    .ja-communication-icon { display: inline-flex; align-items: center; gap: 6px; width: fit-content; max-width: 100%; padding: 5px 9px; border-radius: 999px; font-size: .74rem; font-weight: 700; line-height: 1; white-space: nowrap; background: rgba(245,137,50,.14); color: #D84F1B; border: 1px solid rgba(245,137,50,.22); }
    .ja-communication-icon i { line-height: 1; }
    .ja-communication-icon-orange,
    .ja-communication-icon-success,
    .ja-communication-icon-warning,
    .ja-communication-icon-purple,
    .ja-communication-icon-info { background: rgba(245,137,50,.14); color: #D84F1B; border-color: rgba(245,137,50,.22); }
    [data-bs-theme="dark"] .ja-communication-icon { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }
    [data-bs-theme="dark"] .ja-communication-icon-orange,
    [data-bs-theme="dark"] .ja-communication-icon-success,
    [data-bs-theme="dark"] .ja-communication-icon-warning,
    [data-bs-theme="dark"] .ja-communication-icon-purple,
    [data-bs-theme="dark"] .ja-communication-icon-info { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }

    .ja-row-arrow { color: var(--app-primary-2); display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; }
    .ja-row-arrow:hover { background: var(--app-primary-soft); opacity: 1; }
    .ja-communication-empty-state { min-height: 230px; }

    .ja-filter-card { display: grid; gap: 14px; }
    .ja-filter-form { display: grid; gap: 12px; }
    .ja-filter-form label { margin-bottom: -4px; color: var(--app-text); font-size: .84rem; font-weight: 700; }
    .ja-filter-search { max-width: none; width: 100%; }
    .ja-filter-card .form-control,
    .ja-filter-card .form-select { min-height: 42px; border-radius: 12px; border-color: var(--app-border); background: var(--app-surface-solid); color: var(--app-text); font-weight: 500; }
    .ja-filter-card .card-title-row,
    .ja-summary-card .card-title-row { margin-bottom: 0; }
    .ja-filter-card .card-title-row a { font-size: .78rem; }

    .ja-summary-card { display: grid; gap: 16px; }
    .ja-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .ja-summary-tile { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 10px; align-items: center; min-height: 76px; padding: 13px; border-radius: 14px; border: 1px solid rgba(32,54,102,.06); background: color-mix(in srgb, var(--app-surface-solid), transparent 5%); }
    .ja-summary-tile strong { display: block; color: var(--app-text); font-size: 1.35rem; line-height: 1; font-weight: 700; }
    .ja-summary-tile small { grid-column: 2; display: block; margin-top: 4px; color: var(--app-subtle); font-size: .78rem; line-height: 1.2; font-weight: 600; }
    .ja-summary-icon { grid-row: span 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; font-size: 1.12rem; background: var(--app-primary-soft); color: var(--app-primary-2); }
    .ja-summary-icon.is-primary { background: rgba(0,56,117,.10); color: var(--app-primary-2); }
    .ja-summary-icon.is-info { background: rgba(47,141,255,.12); color: #1F6FD1; }
    .ja-summary-icon.is-warning { background: rgba(245,137,50,.14); color: #A93612; }
    [data-bs-theme="dark"] .ja-summary-tile { background: rgba(255,255,255,.035); }
    [data-bs-theme="dark"] .ja-summary-icon.is-primary,
    [data-bs-theme="dark"] .ja-summary-icon.is-info { background: rgba(126,192,255,.14); color: #9ED0FF; }
    [data-bs-theme="dark"] .ja-summary-icon.is-warning { background: rgba(255,176,107,.16); color: #FFCA93; }

    @media (max-width: 1679px) { .ja-communications-table { min-width: 1100px; } .ja-communications-table th:nth-child(5), .ja-communications-table td:nth-child(5) { min-width: 330px; } }
    @media (max-width: 1199.98px) { .ja-communications-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 767.98px) {
        .ja-communications-table { min-width: 0; }
        .ja-communications-table thead { display: none; }
        .ja-communications-table, .ja-communications-table tbody, .ja-communications-table tr, .ja-communications-table td { display: block; width: 100%; }
        .ja-communications-table tbody tr { padding: 14px 16px; border-bottom: 1px solid var(--app-border); }
        .ja-communications-table tbody td { display: grid; grid-template-columns: 126px minmax(0,1fr); gap: 12px; padding: 8px 0; border: 0; text-align: left; white-space: normal; }
        .ja-communications-table tbody td::before { content: attr(data-label); color: var(--app-subtle); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .035em; }
        .ja-communications-table td:last-child { grid-template-columns: 1fr; }
        .ja-communications-table td:last-child::before { display: none; }
        .ja-communications-aside { grid-template-columns: 1fr; }
    }


/* ===== communications show ===== */
.ja-communication-page-title { margin: 0 0 22px; }
    .ja-communication-page-title h1 { margin: 0 0 6px; color: var(--app-text); font-size: 1.55rem; line-height: 1.18; font-weight: 700; letter-spacing: -.02em; }
    .ja-communication-page-title p { margin: 0; color: var(--app-subtle); font-weight: 500; line-height: 1.45; }
    .ja-communication-detail-page { align-items: start; }
    .ja-communication-detail-page .main-column,
    .ja-communication-detail-page .right-column { gap: 22px; }

    .ja-communication-meta-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; border-bottom: 1px solid var(--app-border); background: var(--app-surface-solid); }
    .ja-communication-meta-left,
    .ja-communication-meta-right { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
    .ja-communication-meta-right { color: var(--app-subtle); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
    .ja-communication-meta-right i { color: var(--app-primary-2); }

    .ja-type-pill { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 5px 10px; line-height: 1; font-size: .78rem; font-weight: 700; white-space: nowrap; border: 1px solid transparent; }
    .ja-type-pill.is-public { background: #DDF8EC; color: #006C43; border-color: rgba(0,108,67,.12); }
    .ja-type-pill.is-internal { background: rgba(245,137,50,.14); color: #A93612; border-color: rgba(245,137,50,.24); }
    [data-bs-theme="dark"] .ja-type-pill.is-public { background: rgba(0,228,154,.16); color: #48F2B8; border-color: rgba(72,242,184,.20); }
    [data-bs-theme="dark"] .ja-type-pill.is-internal { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }

    .ja-communication-icons { display: inline-flex; flex-wrap: wrap; gap: 6px; }
    .ja-communication-icon { display: inline-flex; align-items: center; gap: 6px; width: fit-content; max-width: 100%; padding: 5px 9px; border-radius: 999px; font-size: .74rem; font-weight: 700; line-height: 1; white-space: nowrap; background: rgba(245,137,50,.14); color: #D84F1B; border: 1px solid rgba(245,137,50,.22); }
    .ja-communication-icon i { line-height: 1; }
    .ja-communication-icon-orange { background: rgba(245,137,50,.14); color: #A93612; border-color: rgba(245,137,50,.22); }
    .ja-communication-icon-success { background: rgba(7,185,109,.13); color: #006C43; border-color: rgba(7,185,109,.18); }
    .ja-communication-icon-warning { background: #FFF2D9; color: #8A4A00; border-color: rgba(245,137,50,.22); }
    .ja-communication-icon-purple { background: #EEE6FF; color: #5D35A8; border-color: rgba(93,53,168,.12); }
    .ja-communication-icon-info { background: rgba(47,141,255,.12); color: #1F6FD1; border-color: rgba(47,141,255,.18); }
    [data-bs-theme="dark"] .ja-communication-icon { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }
    [data-bs-theme="dark"] .ja-communication-icon-orange { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }
    [data-bs-theme="dark"] .ja-communication-icon-success { background: rgba(0,228,154,.16); color: #48F2B8; border-color: rgba(72,242,184,.20); }
    [data-bs-theme="dark"] .ja-communication-icon-warning { background: rgba(255,176,107,.16); color: #FFCA93; border-color: rgba(255,202,147,.22); }
    [data-bs-theme="dark"] .ja-communication-icon-purple { background: rgba(167,124,255,.18); color: #CBB4FF; border-color: rgba(203,180,255,.20); }
    [data-bs-theme="dark"] .ja-communication-icon-info { background: rgba(126,192,255,.14); color: #9ED0FF; border-color: rgba(126,192,255,.20); }

    .ja-communication-hero-image { margin: 0; padding: 24px 24px 0; }
    .ja-communication-hero-image img { width: 100%; max-height: 360px; object-fit: cover; border-radius: 18px; border: 1px solid var(--app-border); }
    .ja-communication-content-section { padding: 24px; }
    .ja-section-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
    .ja-section-heading h2 { margin: 0; color: var(--app-text); font-size: 1rem; font-weight: 700; letter-spacing: -.015em; }
    .ja-section-heading-icon { width: 34px; height: 34px; border-radius: 12px; display: grid; place-items: center; color: var(--app-primary-2); background: var(--app-primary-soft); }

    .ja-rich-content h1, .ja-rich-content h2, .ja-rich-content h3 { margin-top: 1.25em; color: var(--app-text); }
    .ja-rich-content p, .ja-rich-content li { line-height: 1.7; color: var(--app-text); }
    .ja-rich-content blockquote { border-left: 4px solid var(--app-orange); padding: 12px 16px; color: var(--app-subtle); background: rgba(245,137,50,.08); border-radius: 0 12px 12px 0; }
    .ja-rich-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 12px 0; }
    .ja-rich-content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
    .ja-rich-content th, .ja-rich-content td { border: 1px solid var(--app-border); padding: 10px; vertical-align: top; }
    .ja-rich-content th { background: rgba(0,56,117,.04); font-weight: 700; }

    .ja-info-card { display: grid; gap: 16px; }
    .ja-info-list { display: grid; gap: 14px; padding-top: 6px; }
    .ja-info-list > div { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
    .ja-info-list span { display: inline-flex; align-items: center; gap: 9px; color: var(--app-subtle); font-size: .86rem; font-weight: 600; }
    .ja-info-list span i { color: var(--app-primary-2); }
    .ja-info-list strong { color: var(--app-text); font-weight: 700; text-align: right; }
    .ja-info-topic strong { display: flex; justify-content: flex-end; }

    @media (max-width: 767.98px) {
        .ja-communication-meta-row { align-items: flex-start; flex-direction: column; }
        .ja-communication-content-section { padding: 20px; }
        .ja-communication-hero-image { padding: 20px 20px 0; }
    }


/* ===== notams index ===== */
.ja-notams-page {
        --ja-notam-danger-bg: #FFF5F5;
        --ja-notam-danger-header: #FFF1F1;
        --ja-notam-danger-border: #FECACA;
        --ja-notam-danger-accent: #DC2626;
        --ja-notam-danger-icon-bg: #FEE2E2;
        --ja-notam-danger-badge-text: #7F1D1D;
        --ja-notam-danger-badge-bg: #FEE2E2;
        --ja-notam-success-bg: #F6FEFA;
        --ja-notam-success-accent: #16A36A;
        --ja-notam-success-text: #065F46;
        --ja-notam-success-badge-bg: #DDF8EA;
        --ja-notam-inactive-bg: #F8FAFC;
        --ja-notam-inactive-accent: #94A3B8;
        --ja-notam-inactive-text: #475569;
        --ja-notam-inactive-badge-bg: #E2E8F0;
    }

    .ja-notams-page {
        align-items: start;
    }

    .ja-notams-heading {
        margin: 0 0 22px;
        min-height: 0;
    }

    .ja-notams-heading h1 {
        font-size: 1.55rem;
        line-height: 1.1;
        font-weight: 700;
        letter-spacing: -.02em;
    }

    .ja-notams-heading span {
        font-size: .94rem;
        line-height: 1.45;
        font-weight: 500;
    }

    .ja-notams-page .main-column,
    .ja-notams-page .right-column {
        gap: 22px;
    }

    .ja-notams-page .right-column {
        position: sticky;
        top: 22px;
        margin-top: 0;
    }

    .ja-notam-section-header {
        min-height: 92px;
        padding: 22px 26px;
        align-items: center;
        background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.18));
    }

    [data-bs-theme="dark"] .ja-notam-section-header {
        background: rgba(255,255,255,.025);
    }

    .ja-section-title {
        display: flex;
        align-items: center;
        gap: 16px;
        min-width: 0;
    }

    .ja-section-title h2 {
        margin: 0 0 5px;
        color: var(--app-text);
        font-size: 1.02rem;
        font-weight: 700;
        letter-spacing: -.01em;
    }

    .ja-section-title p {
        margin: 0;
        color: var(--app-subtle);
        font-size: .88rem;
        font-weight: 500;
        line-height: 1.4;
    }

    .ja-section-icon,
    .ja-table-state,
    .ja-summary-icon {
        display: grid;
        place-items: center;
        border-radius: 12px;
        flex: 0 0 auto;
    }

    .ja-section-icon {
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
    }

    .ja-section-icon.is-danger,
    .ja-table-state.is-danger,
    .ja-summary-icon.is-danger {
        color: #D84F1B;
        background: rgba(216, 79, 27, .14);
    }

    .ja-section-icon.is-success,
    .ja-table-state.is-success,
    .ja-summary-icon.is-success {
        color: var(--app-success);
        background: rgba(7, 185, 109, .13);
    }

    .ja-summary-icon.is-primary {
        color: var(--app-primary-2);
        background: var(--app-primary-soft);
    }

    .ja-summary-icon.is-warning {
        color: var(--app-orange);
        background: rgba(245, 137, 50, .14);
    }

    .ja-notams-table {
        width: 100%;
        min-width: 1280px;
        table-layout: auto;
    }

    .ja-notams-table thead th {
        padding: 15px 18px;
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .035em;
    }

    .ja-notams-table tbody td {
        padding: 18px 18px;
        font-size: .88rem;
        font-weight: 500;
    }

    .ja-notams-table th:nth-child(1),
    .ja-notams-table td:nth-child(1) { width: 52px; }
    .ja-notams-table th:nth-child(2),
    .ja-notams-table td:nth-child(2) { width: 260px; }
    .ja-notams-table th:nth-child(3),
    .ja-notams-table td:nth-child(3) { width: 170px; }
    .ja-notams-table th:nth-child(4),
    .ja-notams-table td:nth-child(4) { width: 165px; }
    .ja-notams-table th:nth-child(5),
    .ja-notams-table td:nth-child(5) { width: 165px; }
    .ja-notams-table th:nth-child(6),
    .ja-notams-table td:nth-child(6) { width: auto; min-width: 330px; white-space: normal; }
    .ja-notams-table th:nth-child(7),
    .ja-notams-table td:nth-child(7) { width: 132px; }
    .ja-notams-table th:nth-child(8),
    .ja-notams-table td:nth-child(8) { width: 56px; }

    .ja-notams-table td strong {
        font-size: .9rem;
        font-weight: 700;
        line-height: 1.28;
    }

    .ja-notams-table td span {
        margin-top: 3px;
        font-size: .78rem;
        line-height: 1.35;
    }

    .ja-notams-table td:nth-child(5) strong,
    .ja-notams-table td:nth-child(5) span,
    .ja-notams-table td:nth-child(6) strong,
    .ja-notams-table td:nth-child(6) span {
        white-space: normal;
    }

    .ja-table-state {
        width: 28px;
        height: 28px;
        font-size: .95rem;
        border-radius: 999px;
        margin: 0 auto;
        line-height: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .ja-table-state i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1em;
        height: 1em;
        line-height: 1;
    }

    .ja-table-state i::before {
        display: block;
        line-height: 1;
        vertical-align: 0;
    }

    .ja-notams-table .table-check-col,
    .ja-notams-table td:first-child {
        width: 44px;
        text-align: center;
        padding-left: 12px;
        padding-right: 8px;
    }

    .ja-row-pending {
        background: linear-gradient(90deg, rgba(220, 53, 69, .115), rgba(220, 53, 69, .045));
        box-shadow: inset 4px 0 0 rgba(220, 53, 69, .75);
    }

    .ja-row-pending .ja-table-state {
        color: #DC3545;
        background: rgba(220, 53, 69, .16);
    }

    .ja-row-pending .entity-link,
    .ja-row-pending td strong {
        color: var(--app-text);
    }

    .ja-row-action {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 999px;
        color: var(--app-primary-2);
    }

    .ja-row-action:hover {
        background: var(--app-primary-soft);
    }

    .ja-filter-card,
    .ja-summary-card {
        display: grid;
        gap: 16px;
        padding: 24px;
    }

    .ja-filter-card .card-title-row,
    .ja-summary-card .card-title-row {
        margin-bottom: 0;
    }

    .ja-filter-form {
        display: grid;
        gap: 13px;
    }

    .ja-filter-form label {
        margin: 0 0 -5px;
        color: var(--app-text);
        font-size: .84rem;
        font-weight: 700;
    }

    .ja-filter-form .form-control,
    .ja-filter-form .form-select {
        min-height: 44px;
        border-radius: 12px;
        border-color: var(--app-border);
        color: var(--app-text);
        background-color: color-mix(in srgb, var(--app-surface-solid), transparent 7%);
        font-size: .88rem;
        font-weight: 500;
    }

    .ja-filter-search {
        max-width: none;
        width: 100%;
    }

    .ja-date-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .ja-summary-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .ja-summary-tile {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 10px;
        align-items: center;
        min-height: 76px;
        padding: 13px;
        border-radius: 14px;
        background: color-mix(in srgb, var(--app-surface-solid), transparent 5%);
        border: 1px solid rgba(32, 54, 102, .06);
    }

    .ja-summary-tile strong {
        color: var(--app-text);
        font-size: 1.35rem;
        line-height: 1;
        font-weight: 700;
    }

    .ja-summary-tile small {
        grid-column: 2;
        color: var(--app-subtle);
        font-size: .78rem;
        line-height: 1.2;
        font-weight: 600;
    }

    .ja-summary-icon {
        grid-row: span 2;
        width: 42px;
        height: 42px;
        font-size: 1.12rem;
    }

    .ja-notam-id-line {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        flex-wrap: nowrap;
        min-width: 0;
        max-width: 100%;
        white-space: nowrap;
    }

    .ja-notam-id-line .ja-communication-icons {
        margin: 0;
        flex: 0 0 auto;
    }

    .ja-communication-icons {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex-wrap: nowrap;
        margin-top: 0;
        max-width: 100%;
        white-space: nowrap;
    }

    .ja-communication-icon {
        --ja-icon-accent: var(--app-primary-2);
        --ja-icon-bg: var(--app-primary-soft);
        display: inline-flex;
        align-items: center;
        gap: 6px;
        width: auto;
        max-width: max-content;
        padding: 4px 8px;
        border-radius: 999px;
        background: var(--ja-icon-bg);
        color: var(--ja-icon-accent);
        border: 1px solid color-mix(in srgb, var(--ja-icon-accent), transparent 82%);
        font-size: .74rem;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
    }

    .ja-communication-icon-orange { --ja-icon-accent: #D84F1B; --ja-icon-bg: rgba(216, 79, 27, .11); }
    .ja-communication-icon-warning { --ja-icon-accent: #8A4A00; --ja-icon-bg: rgba(245, 137, 50, .14); }
    .ja-communication-icon-success { --ja-icon-accent: #006C43; --ja-icon-bg: rgba(7, 185, 109, .13); }
    .ja-communication-icon-purple { --ja-icon-accent: #5D35A8; --ja-icon-bg: rgba(93, 53, 168, .12); }
    .ja-communication-icon-info { --ja-icon-accent: #2F8DFF; --ja-icon-bg: rgba(47, 141, 255, .12); }

    .ja-communication-icon-symbol {
        font-size: .84rem;
        line-height: 1;
    }


    .ja-notam-series-badge {
        --ja-series-accent: var(--app-primary-2);
        --ja-series-bg: var(--app-primary-soft);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        max-width: 100%;
        min-height: 22px;
        padding: 4px 9px;
        border-radius: 999px;
        background: var(--ja-series-bg);
        color: var(--ja-series-accent);
        border: 1px solid color-mix(in srgb, var(--ja-series-accent), transparent 82%);
        font-size: .72rem;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
        text-transform: none;
        letter-spacing: 0;
    }

    .ja-notam-series-badge-primary { --ja-series-accent: #003875; --ja-series-bg: rgba(0, 56, 117, .10); }
    .ja-notam-series-badge-info { --ja-series-accent: #2F8DFF; --ja-series-bg: rgba(47, 141, 255, .12); }
    .ja-notam-series-badge-success { --ja-series-accent: #006C43; --ja-series-bg: rgba(7, 185, 109, .13); }
    .ja-notam-series-badge-purple { --ja-series-accent: #5D35A8; --ja-series-bg: rgba(93, 53, 168, .12); }
    .ja-notam-series-badge-slate { --ja-series-accent: #4E5A73; --ja-series-bg: rgba(78, 90, 115, .12); }
    .ja-notam-series-badge-orange { --ja-series-accent: #D84F1B; --ja-series-bg: rgba(216, 79, 27, .11); }
    .ja-notam-series-badge-warning { --ja-series-accent: #8A4A00; --ja-series-bg: rgba(245, 137, 50, .14); }
    .ja-notam-series-badge-navy { --ja-series-accent: #141250; --ja-series-bg: rgba(20, 18, 80, .10); }
    .ja-notam-series-badge-teal { --ja-series-accent: #087F8C; --ja-series-bg: rgba(8, 127, 140, .12); }
    .ja-notam-series-badge-muted { --ja-series-accent: #69729B; --ja-series-bg: rgba(105, 114, 155, .12); }


    .ja-notam-section-card:first-of-type {
        border-color: rgba(220, 53, 69, .24);
    }

    .ja-notam-section-card:first-of-type .ja-notam-section-header {
        background: linear-gradient(90deg, rgba(220, 53, 69, .075), rgba(255,255,255,.12));
    }

    .ja-row-pending .status-chip.expired {
        background: #FFE1E5;
        color: #A71D2A;
        border-color: rgba(167, 29, 42, .28);
    }

    [data-bs-theme="dark"] .ja-notam-section-card:first-of-type {
        border-color: rgba(255, 107, 122, .34);
    }

    [data-bs-theme="dark"] .ja-notam-section-card:first-of-type .ja-notam-section-header {
        background: linear-gradient(90deg, rgba(220, 53, 69, .20), rgba(220, 53, 69, .055));
    }

    [data-bs-theme="dark"] .ja-row-pending {
        background: linear-gradient(90deg, rgba(220, 53, 69, .22), rgba(220, 53, 69, .075));
        box-shadow: inset 4px 0 0 rgba(255, 107, 122, .88);
    }

    [data-bs-theme="dark"] .ja-row-pending .entity-link,
    [data-bs-theme="dark"] .ja-row-pending td strong {
        color: #F7FBFF;
    }

    [data-bs-theme="dark"] .ja-row-pending td span {
        color: #C7D7EA;
    }

    [data-bs-theme="dark"] .ja-row-pending .ja-table-state {
        color: #FF7786;
        background: rgba(255, 119, 134, .18);
    }

    [data-bs-theme="dark"] .ja-row-pending .status-chip.expired {
        background: rgba(255, 119, 134, .18);
        color: #FFD2D7;
        border-color: rgba(255, 119, 134, .28);
    }

    [data-bs-theme="dark"] .ja-notam-series-badge-slate {
        --ja-series-accent: #B9C7DC;
        --ja-series-bg: rgba(185, 199, 220, .14);
    }



    /* NOTAM state colour system */
    .ja-notam-section-unconfirmed {
        background: var(--ja-notam-danger-bg);
        border-color: var(--ja-notam-danger-border);
    }

    .ja-notam-section-unconfirmed .ja-notam-section-header {
        background: linear-gradient(90deg, var(--ja-notam-danger-header), rgba(255, 255, 255, .72));
        border-bottom-color: var(--ja-notam-danger-border);
    }

    .ja-notam-section-confirmed {
        background: var(--ja-notam-success-bg);
        border-color: rgba(22, 163, 106, .18);
    }

    .ja-notam-section-confirmed .ja-notam-section-header {
        background: linear-gradient(90deg, var(--ja-notam-success-bg), rgba(255, 255, 255, .74));
    }

    .ja-section-icon.is-danger,
    .ja-table-state.is-danger,
    .ja-summary-icon.is-danger {
        color: var(--ja-notam-danger-accent);
        background: var(--ja-notam-danger-icon-bg);
        border: 1px solid var(--ja-notam-danger-border);
    }

    .ja-section-icon.is-success,
    .ja-table-state.is-success,
    .ja-summary-icon.is-success {
        color: var(--ja-notam-success-accent);
        background: var(--ja-notam-success-badge-bg);
        border: 1px solid rgba(22, 163, 106, .18);
    }

    .ja-table-state.is-inactive,
    .ja-summary-icon.is-inactive {
        color: var(--ja-notam-inactive-accent);
        background: var(--ja-notam-inactive-badge-bg);
        border: 1px solid rgba(148, 163, 184, .28);
    }

    .ja-row-pending {
        background: linear-gradient(90deg, rgba(220, 38, 38, .13), rgba(255, 245, 245, .92));
        box-shadow: inset 4px 0 0 var(--ja-notam-danger-accent);
    }

    .ja-row-inactive {
        background: var(--ja-notam-inactive-bg);
        color: var(--ja-notam-inactive-text);
    }

    .ja-row-inactive .entity-link,
    .ja-row-inactive td strong {
        color: var(--ja-notam-inactive-text);
    }

    .ja-status-unconfirmed {
        background: var(--ja-notam-danger-badge-bg);
        color: var(--ja-notam-danger-badge-text);
        border-color: var(--ja-notam-danger-border);
    }

    .ja-status-confirmed {
        background: var(--ja-notam-success-badge-bg);
        color: var(--ja-notam-success-text);
        border-color: rgba(22, 163, 106, .22);
    }

    .ja-status-inactive {
        background: var(--ja-notam-inactive-badge-bg);
        color: var(--ja-notam-inactive-text);
        border-color: rgba(148, 163, 184, .30);
    }

    .ja-notam-section-unconfirmed .ja-card-header .status-chip {
        background: var(--ja-notam-danger-badge-bg);
        color: var(--ja-notam-danger-badge-text);
        border-color: var(--ja-notam-danger-border);
    }

    .ja-notam-section-confirmed .ja-card-header .status-chip {
        background: var(--ja-notam-success-badge-bg);
        color: var(--ja-notam-success-text);
        border-color: rgba(22, 163, 106, .22);
    }

    .ja-table-state {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        vertical-align: middle;
    }

    .ja-table-state i,
    .ja-table-state i::before {
        display: block;
        line-height: 1;
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed {
        background: linear-gradient(90deg, rgba(220, 38, 38, .20), rgba(220, 38, 38, .08));
        border-color: rgba(248, 113, 113, .44);
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed .ja-notam-section-header {
        background: linear-gradient(90deg, rgba(220, 38, 38, .26), rgba(220, 38, 38, .10));
        border-bottom-color: rgba(248, 113, 113, .34);
    }

    [data-bs-theme="dark"] .ja-row-pending {
        background: linear-gradient(90deg, rgba(220, 38, 38, .26), rgba(220, 38, 38, .10));
        box-shadow: inset 4px 0 0 #F87171;
    }

    [data-bs-theme="dark"] .ja-notam-section-confirmed {
        background: rgba(6, 95, 70, .12);
        border-color: rgba(52, 211, 153, .22);
    }

    [data-bs-theme="dark"] .ja-notam-section-confirmed .ja-notam-section-header {
        background: linear-gradient(90deg, rgba(6, 95, 70, .18), rgba(6, 95, 70, .07));
    }

    [data-bs-theme="dark"] .ja-row-inactive {
        background: rgba(71, 85, 105, .13);
    }

    [data-bs-theme="dark"] .ja-status-unconfirmed,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed .ja-card-header .status-chip {
        background: rgba(248, 113, 113, .20);
        color: #FEE2E2;
        border-color: rgba(248, 113, 113, .42);
    }

    [data-bs-theme="dark"] .ja-status-confirmed,
    [data-bs-theme="dark"] .ja-notam-section-confirmed .ja-card-header .status-chip {
        background: rgba(52, 211, 153, .16);
        color: #A7F3D0;
        border-color: rgba(52, 211, 153, .28);
    }

    [data-bs-theme="dark"] .ja-status-inactive {
        background: rgba(148, 163, 184, .16);
        color: #CBD5E1;
        border-color: rgba(148, 163, 184, .30);
    }

    @media (max-width: 1599.98px) {
        .ja-notams-table {
            min-width: 1120px;
        }

        .ja-notams-table thead th,
        .ja-notams-table tbody td {
            padding-left: 14px;
            padding-right: 14px;
        }

        .ja-notams-table th:nth-child(2),
        .ja-notams-table td:nth-child(2) { width: 220px; }
        .ja-notams-table th:nth-child(3),
        .ja-notams-table td:nth-child(3),
        .ja-notams-table th:nth-child(4),
        .ja-notams-table td:nth-child(4),
        .ja-notams-table th:nth-child(5),
        .ja-notams-table td:nth-child(5) { width: 135px; }
        .ja-notams-table th:nth-child(6),
        .ja-notams-table td:nth-child(6) { min-width: 280px; }
        .ja-notams-table th:nth-child(7),
        .ja-notams-table td:nth-child(7) { width: 112px; }

        .ja-notams-table td:nth-child(6) strong {
            max-width: 100%;
            white-space: normal;
            overflow-wrap: anywhere;
        }
    }

    .ja-notam-empty-state {
        min-height: 188px;
        border-top: 1px solid var(--app-border);
    }

    .ja-notams-page .pagination,
    .ja-notams-page nav[role="navigation"] {
        margin: 0;
    }

    @media (max-width: 1199.98px) {
        .ja-notams-page .right-column {
            position: static;
            margin-top: 0;
        }
    }

    @media (max-width: 767.98px) {
        .ja-section-title {
            align-items: flex-start;
        }

        .ja-notam-section-header {
            display: grid;
            gap: 14px;
            padding: 20px;
        }

        .ja-date-grid,
        .ja-summary-grid {
            grid-template-columns: 1fr;
        }


        .ja-notams-table {
            min-width: 0;
        }

        .ja-notams-table tbody tr {
            display: grid;
            gap: 0;
            padding: 16px 18px;
        }

        .ja-notams-table tbody td {
            display: grid;
            grid-template-columns: 1fr;
            gap: 5px;
            padding: 10px 0;
            text-align: left;
            border-bottom: 0;
            white-space: normal;
        }

        .ja-notams-table tbody td::before {
            display: block;
            color: var(--app-subtle);
            font-size: .76rem;
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
            text-align: left;
        }

        .ja-notams-table tbody td:first-child {
            display: none;
        }

        .ja-notam-id-line {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            white-space: normal;
        }

        .ja-notam-series-badge {
            max-width: 100%;
        }
    }

    /* Final NOTAM visual corrections: flat state colours, centred icons, natural table spacing */
    .ja-notam-section-unconfirmed,
    .ja-notam-section-unconfirmed:first-of-type {
        background: var(--ja-notam-danger-bg) !important;
        border-color: var(--ja-notam-danger-border) !important;
        box-shadow: none !important;
    }

    .ja-notam-section-unconfirmed .ja-notam-section-header,
    .ja-notam-section-unconfirmed:first-of-type .ja-notam-section-header {
        background: var(--ja-notam-danger-header) !important;
        border-bottom-color: var(--ja-notam-danger-border) !important;
    }

    .ja-notam-section-confirmed,
    .ja-notam-section-confirmed:first-of-type {
        background: var(--ja-notam-success-bg) !important;
        border-color: rgba(22, 163, 106, .18) !important;
        box-shadow: none !important;
    }

    .ja-notam-section-confirmed .ja-notam-section-header,
    .ja-notam-section-confirmed:first-of-type .ja-notam-section-header {
        background: #ffffff !important;
        border-bottom-color: rgba(22, 163, 106, .12) !important;
    }

    .ja-row-pending,
    [data-bs-theme="dark"] .ja-row-pending {
        background: var(--ja-notam-danger-bg) !important;
        box-shadow: none !important;
    }

    .ja-row-pending td,
    .ja-row-pending td strong,
    .ja-row-pending .entity-link {
        color: var(--app-text) !important;
    }

    .ja-row-pending td span {
        color: var(--app-subtle) !important;
    }

    .ja-table-state.is-danger {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        color: var(--ja-notam-danger-accent) !important;
        background: var(--ja-notam-danger-icon-bg) !important;
        border: 0 !important;
        font-size: 0 !important;
        line-height: 1 !important;
    }

    .ja-table-state.is-danger i {
        display: none !important;
    }

    .ja-table-state.is-danger::before {
        content: "!";
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ja-notam-danger-accent);
        font-size: 11px;
        font-weight: 900;
        line-height: 1;
        transform: translateY(-.5px);
    }

    .ja-status-unconfirmed,
    .ja-notam-section-unconfirmed .ja-card-header .status-chip,
    .ja-row-pending .status-chip.expired {
        background: var(--ja-notam-danger-badge-bg) !important;
        color: var(--ja-notam-danger-accent) !important;
        border-color: var(--ja-notam-danger-border) !important;
    }

    .ja-notam-id-line {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }

    .ja-notam-series-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        max-width: none !important;
        color: var(--ja-series-accent) !important;
        background: var(--ja-series-bg) !important;
        border-color: color-mix(in srgb, var(--ja-series-accent), transparent 72%) !important;
    }

    .ja-notams-table {
        width: 100% !important;
        min-width: 1240px;
        table-layout: auto !important;
    }

    .ja-notams-table th:nth-child(1),
    .ja-notams-table td:nth-child(1) { width: 44px !important; min-width: 44px; }
    .ja-notams-table th:nth-child(2),
    .ja-notams-table td:nth-child(2) { width: 230px !important; min-width: 230px; }
    .ja-notams-table th:nth-child(3),
    .ja-notams-table td:nth-child(3),
    .ja-notams-table th:nth-child(4),
    .ja-notams-table td:nth-child(4) { width: 160px !important; min-width: 150px; }
    .ja-notams-table th:nth-child(5),
    .ja-notams-table td:nth-child(5) { width: 150px !important; min-width: 140px; }
    .ja-notams-table th:nth-child(6),
    .ja-notams-table td:nth-child(6) { width: auto !important; min-width: 380px; white-space: normal !important; }
    .ja-notams-table th:nth-child(7),
    .ja-notams-table td:nth-child(7) { width: 150px !important; min-width: 130px; }
    .ja-notams-table th:nth-child(8),
    .ja-notams-table td:nth-child(8) { width: 54px !important; min-width: 54px; }

    .ja-notams-table td:nth-child(6) strong,
    .ja-notams-table td:nth-child(6) span {
        max-width: 620px;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .ja-notam-section-confirmed .ja-confirmed-empty .flight-empty-icon,
    .ja-notam-section-confirmed .ja-notam-empty-state .flight-empty-icon {
        width: 74px;
        height: 74px;
        border-radius: 999px;
        background: var(--ja-notam-success-badge-bg) !important;
        color: #fff !important;
        border: 0;
        font-size: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .ja-notam-section-confirmed .ja-confirmed-empty .flight-empty-icon i,
    .ja-notam-section-confirmed .ja-notam-empty-state .flight-empty-icon i {
        display: none;
    }

    .ja-notam-section-confirmed .ja-confirmed-empty .flight-empty-icon::before,
    .ja-notam-section-confirmed .ja-notam-empty-state .flight-empty-icon::before {
        content: "✓";
        width: 38px;
        height: 38px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ja-notam-success-accent);
        color: #fff;
        font-size: 24px;
        font-weight: 900;
        line-height: 1;
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed:first-of-type {
        background: rgba(127, 29, 29, .24) !important;
        border-color: rgba(248, 113, 113, .44) !important;
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed .ja-notam-section-header,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed:first-of-type .ja-notam-section-header {
        background: rgba(127, 29, 29, .28) !important;
    }

    [data-bs-theme="dark"] .ja-row-pending {
        background: rgba(127, 29, 29, .20) !important;
    }

    [data-bs-theme="dark"] .ja-row-pending td,
    [data-bs-theme="dark"] .ja-row-pending td strong,
    [data-bs-theme="dark"] .ja-row-pending .entity-link {
        color: #F8FAFC !important;
    }

    [data-bs-theme="dark"] .ja-row-pending td span {
        color: #CBD5E1 !important;
    }

    [data-bs-theme="dark"] .ja-status-unconfirmed,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed .ja-card-header .status-chip,
    [data-bs-theme="dark"] .ja-row-pending .status-chip.expired {
        background: rgba(248, 113, 113, .18) !important;
        color: #FECACA !important;
        border-color: rgba(248, 113, 113, .42) !important;
    }

    [data-bs-theme="dark"] .ja-notam-section-confirmed,
    [data-bs-theme="dark"] .ja-notam-section-confirmed:first-of-type {
        background: rgba(6, 95, 70, .12) !important;
        border-color: rgba(52, 211, 153, .22) !important;
    }

    [data-bs-theme="dark"] .ja-notam-section-confirmed .ja-notam-section-header,
    [data-bs-theme="dark"] .ja-notam-section-confirmed:first-of-type .ja-notam-section-header {
        background: rgba(6, 95, 70, .16) !important;
    }

    @media (max-width: 1599.98px) {
        .ja-notams-table {
            min-width: 1120px;
        }
        .ja-notams-table th:nth-child(2),
        .ja-notams-table td:nth-child(2) { width: 210px !important; min-width: 210px; }
        .ja-notams-table th:nth-child(3),
        .ja-notams-table td:nth-child(3),
        .ja-notams-table th:nth-child(4),
        .ja-notams-table td:nth-child(4),
        .ja-notams-table th:nth-child(5),
        .ja-notams-table td:nth-child(5) { width: 130px !important; min-width: 128px; }
        .ja-notams-table th:nth-child(6),
        .ja-notams-table td:nth-child(6) { min-width: 320px; }
    }



    /* Final state palette and empty-card corrections */
    .ja-notam-section-unconfirmed {
        background: #ffffff !important;
        border-color: var(--app-border) !important;
    }

    .ja-notam-section-unconfirmed .ja-notam-section-header {
        background: #ffffff !important;
        border-bottom-color: var(--app-border) !important;
    }

    .ja-notam-section-unconfirmed.is-critical {
        background: var(--ja-notam-danger-bg) !important;
        border-color: var(--ja-notam-danger-border) !important;
    }

    .ja-notam-section-unconfirmed.is-critical .ja-notam-section-header {
        background: var(--ja-notam-danger-header) !important;
        border-bottom-color: var(--ja-notam-danger-border) !important;
    }

    .ja-notam-section-confirmed,
    .ja-notam-section-confirmed:first-of-type {
        background: #ffffff !important;
        border-color: var(--app-border) !important;
    }

    .ja-notam-section-confirmed .ja-notam-section-header,
    .ja-notam-section-confirmed:first-of-type .ja-notam-section-header {
        background: #ffffff !important;
        border-bottom-color: var(--app-border) !important;
    }

    .ja-row-pending,
    [data-bs-theme="dark"] .ja-row-pending {
        background: var(--ja-notam-danger-bg) !important;
        box-shadow: none !important;
    }

    .ja-notams-page .ja-table-state.is-danger {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 auto !important;
        border-radius: 999px !important;
        color: var(--ja-notam-danger-accent) !important;
        background: var(--ja-notam-danger-icon-bg) !important;
        border: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .ja-notams-page .ja-table-state.is-danger i { display: none !important; }
    .ja-notams-page .ja-table-state.is-danger::before {
        content: "!";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: var(--ja-notam-danger-accent);
        font-size: 12px;
        font-weight: 900;
        line-height: 1;
        font-family: var(--font-sans, Inter, system-ui, sans-serif);
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed:not(.is-critical),
    [data-bs-theme="dark"] .ja-notam-section-confirmed {
        background: var(--app-surface) !important;
        border-color: var(--app-border) !important;
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed:not(.is-critical) .ja-notam-section-header,
    [data-bs-theme="dark"] .ja-notam-section-confirmed .ja-notam-section-header {
        background: transparent !important;
        border-bottom-color: var(--app-border) !important;
    }


    /* Polishing pass: white section cards, row-only danger, centered state icons, clickable-row affordance */
    .ja-notam-section-unconfirmed,
    .ja-notam-section-unconfirmed.is-critical,
    .ja-notam-section-unconfirmed:first-of-type,
    .ja-notam-section-unconfirmed.is-critical:first-of-type {
        background: #ffffff !important;
        border-color: var(--app-border) !important;
    }

    .ja-notam-section-unconfirmed .ja-notam-section-header,
    .ja-notam-section-unconfirmed.is-critical .ja-notam-section-header,
    .ja-notam-section-unconfirmed:first-of-type .ja-notam-section-header,
    .ja-notam-section-unconfirmed.is-critical:first-of-type .ja-notam-section-header {
        background: #ffffff !important;
        border-bottom-color: var(--app-border) !important;
    }

    .ja-notam-section-unconfirmed.is-critical .ja-card-header .status-chip {
        background: var(--ja-notam-danger-badge-bg) !important;
        color: var(--ja-notam-danger-accent) !important;
        border-color: var(--ja-notam-danger-border) !important;
    }

    .ja-row-pending {
        position: relative;
        background: var(--ja-notam-danger-bg) !important;
        box-shadow: none !important;
        transition: background .18s ease, box-shadow .18s ease;
    }

    .ja-row-pending:hover {
        background: #FFE8E8 !important;
        box-shadow: inset 0 0 0 9999px rgba(220, 38, 38, .035) !important;
    }

    .ja-row-confirmed:hover,
    .ja-row-inactive:hover {
        background: rgba(0, 56, 117, .028) !important;
    }

    .ja-table-state.is-danger,
    .ja-table-state.is-success,
    .ja-table-state.is-inactive {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 auto !important;
        border-radius: 999px !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .ja-table-state.is-danger i,
    .ja-table-state.is-success i,
    .ja-table-state.is-inactive i { display: none !important; }

    .ja-table-state.is-danger::before,
    .ja-table-state.is-success::before,
    .ja-table-state.is-inactive::before {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-family: var(--font-sans, Inter, system-ui, sans-serif);
        font-weight: 900;
        line-height: 1;
    }

    .ja-table-state.is-danger::before {
        content: "!";
        color: var(--ja-notam-danger-accent);
        font-size: 12px;
    }

    .ja-table-state.is-success::before {
        content: "✓";
        color: var(--ja-notam-success-accent);
        font-size: 15px;
    }

    .ja-table-state.is-inactive::before {
        content: "⏱";
        color: var(--ja-notam-inactive-accent);
        font-size: 13px;
    }

    .ja-notams-table .entity-link {
        color: var(--app-text) !important;
        text-decoration: none;
    }

    .ja-notams-table .entity-link:hover {
        color: var(--app-primary-2) !important;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed.is-critical,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed:first-of-type,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed.is-critical:first-of-type,
    [data-bs-theme="dark"] .ja-notam-section-confirmed,
    [data-bs-theme="dark"] .ja-notam-section-confirmed:first-of-type {
        background: var(--app-surface) !important;
        border-color: var(--app-border) !important;
    }

    [data-bs-theme="dark"] .ja-notam-section-unconfirmed .ja-notam-section-header,
    [data-bs-theme="dark"] .ja-notam-section-unconfirmed.is-critical .ja-notam-section-header,
    [data-bs-theme="dark"] .ja-notam-section-confirmed .ja-notam-section-header {
        background: transparent !important;
        border-bottom-color: var(--app-border) !important;
    }

    [data-bs-theme="dark"] .ja-row-pending {
        background: rgba(127, 29, 29, .28) !important;
    }

    [data-bs-theme="dark"] .ja-row-pending:hover {
        background: rgba(127, 29, 29, .38) !important;
        box-shadow: inset 0 0 0 9999px rgba(248, 113, 113, .035) !important;
    }

    [data-bs-theme="dark"] .ja-row-confirmed:hover,
    [data-bs-theme="dark"] .ja-row-inactive:hover {
        background: rgba(126, 192, 255, .055) !important;
    }


/* ===== notams show ===== */
.ja-notam-detail-page {
        --ja-notam-danger-bg: #FFF5F5;
        --ja-notam-danger-header: #FFF1F1;
        --ja-notam-danger-border: #FECACA;
        --ja-notam-danger-accent: #DC2626;
        --ja-notam-danger-icon-bg: #FEE2E2;
        --ja-notam-danger-badge-text: #7F1D1D;
        --ja-notam-danger-badge-bg: #FEE2E2;
        --ja-notam-success-bg: #F6FEFA;
        --ja-notam-success-accent: #16A36A;
        --ja-notam-success-text: #065F46;
        --ja-notam-success-badge-bg: #DDF8EA;
        --ja-notam-inactive-bg: #F8FAFC;
        --ja-notam-inactive-accent: #94A3B8;
        --ja-notam-inactive-text: #475569;
        --ja-notam-inactive-badge-bg: #E2E8F0;
        align-items: start;
    }

    .ja-notam-page-title {
        margin: 0;
    }

    .ja-notam-page-title h1 {
        margin: 0 0 8px;
        color: var(--app-text);
        font-size: clamp(1.65rem, 2.05vw, 2.45rem);
        line-height: 1.08;
        font-weight: 700;
        letter-spacing: -.025em;
    }

    .ja-notam-page-title p {
        margin: 0;
        color: var(--app-subtle);
        font-size: 1.02rem;
        font-weight: 500;
    }

    .ja-notam-meta-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 18px;
        padding: 22px 26px;
        border-bottom: 1px solid var(--app-border);
        background: #fff;
    }

    .ja-notam-meta-left,
    .ja-notam-meta-right {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    .ja-notam-meta-right {
        justify-content: flex-end;
        color: var(--app-subtle);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .ja-meta-separator {
        width: 1px;
        height: 26px;
        background: var(--app-border);
    }

    .ja-notam-ref-badge,
    .ja-notam-location-badge,
    .ja-notam-series-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 30px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: .86rem;
        line-height: 1;
        font-weight: 700;
        white-space: nowrap;
    }

    .ja-notam-ref-badge {
        color: var(--ja-notam-danger-accent);
        background: var(--ja-notam-danger-badge-bg);
        border: 1px solid var(--ja-notam-danger-border);
    }

    .ja-notam-location-badge {
        color: var(--app-primary-2);
        background: var(--app-primary-soft);
        border: 1px solid rgba(0, 56, 117, .12);
        gap: 6px;
    }

    .ja-notam-series-badge { --ja-series-accent: var(--app-primary-2); --ja-series-bg: var(--app-primary-soft); background: var(--ja-series-bg); color: var(--ja-series-accent); border: 1px solid color-mix(in srgb, var(--ja-series-accent), transparent 72%); }
    .ja-notam-series-badge-primary { --ja-series-accent: #003875; --ja-series-bg: rgba(0, 56, 117, .10); }
    .ja-notam-series-badge-info { --ja-series-accent: #2F8DFF; --ja-series-bg: rgba(47, 141, 255, .12); }
    .ja-notam-series-badge-success { --ja-series-accent: #006C43; --ja-series-bg: rgba(7, 185, 109, .13); }
    .ja-notam-series-badge-purple { --ja-series-accent: #5D35A8; --ja-series-bg: rgba(93, 53, 168, .12); }
    .ja-notam-series-badge-slate { --ja-series-accent: #4E5A73; --ja-series-bg: rgba(78, 90, 115, .12); }
    .ja-notam-series-badge-orange { --ja-series-accent: #D84F1B; --ja-series-bg: rgba(216, 79, 27, .11); }
    .ja-notam-series-badge-warning { --ja-series-accent: #8A4A00; --ja-series-bg: rgba(245, 137, 50, .14); }
    .ja-notam-series-badge-navy { --ja-series-accent: #141250; --ja-series-bg: rgba(20, 18, 80, .10); }
    .ja-notam-series-badge-teal { --ja-series-accent: #087F8C; --ja-series-bg: rgba(8, 127, 140, .12); }
    .ja-notam-series-badge-muted { --ja-series-accent: #69729B; --ja-series-bg: rgba(105, 114, 155, .12); }

    .ja-notam-state-pill {
        min-height: 32px;
        padding: 7px 12px;
        font-size: .82rem;
    }

    .ja-notam-state-unconfirmed .ja-notam-state-pill {
        background: var(--ja-notam-danger-badge-bg);
        color: var(--ja-notam-danger-accent);
        border-color: var(--ja-notam-danger-border);
    }

    .ja-notam-state-confirmed .ja-notam-state-pill {
        background: var(--ja-notam-success-badge-bg);
        color: var(--ja-notam-success-text);
        border-color: rgba(22, 163, 106, .22);
    }

    .ja-notam-state-inactive .ja-notam-state-pill {
        background: var(--ja-notam-inactive-badge-bg);
        color: var(--ja-notam-inactive-text);
        border-color: rgba(148, 163, 184, .30);
    }

    .ja-notam-content-section {
        padding: 26px;
    }

    .ja-notam-section-heading {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 20px;
    }

    .ja-section-heading-icon {
        width: 38px;
        height: 38px;
        display: grid;
        place-items: center;
        border-radius: 12px;
        color: var(--app-primary-2);
        background: var(--app-primary-soft);
    }

    .ja-notam-section-heading h2 {
        margin: 0;
        color: var(--app-text);
        font-size: 1.12rem;
        font-weight: 700;
        letter-spacing: -.01em;
    }

    .ja-rich-content h1, .ja-rich-content h2, .ja-rich-content h3 { margin-top: 1.25em; color: var(--app-text); }
    .ja-rich-content p, .ja-rich-content li { line-height: 1.75; color: var(--app-text); font-size: 1rem; }
    .ja-rich-content blockquote { border-left: 4px solid var(--app-orange); padding-left: 16px; color: var(--app-subtle); }
    .ja-rich-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 12px 0; }
    .ja-rich-content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
    .ja-rich-content th, .ja-rich-content td { border: 1px solid var(--app-border); padding: 10px; vertical-align: top; }
    .ja-rich-content th { background: rgba(0,56,117,.04); font-weight: 700; }

    .ja-notam-confirm-box {
        margin: 0 26px 26px;
        border-radius: 18px;
        background: var(--ja-notam-danger-header);
        border: 1px solid var(--ja-notam-danger-border);
        padding: 20px;
    }

    .ja-confirm-copy {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 18px;
    }

    .ja-confirm-icon {
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        color: var(--ja-notam-danger-accent);
        background: var(--ja-notam-danger-icon-bg);
        font-size: 1.3rem;
        flex: 0 0 auto;
    }

    .ja-confirm-copy strong {
        display: block;
        color: var(--app-text);
        font-weight: 700;
        font-size: 1.02rem;
    }

    .ja-confirm-copy p {
        margin: 5px 0 0;
        color: var(--app-subtle);
        font-weight: 500;
    }

    .ja-confirm-action-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px;
        align-items: center;
    }

    .ja-confirm-check {
        min-height: 56px;
        display: flex;
        gap: 12px;
        align-items: center;
        margin: 0;
        padding: 14px 16px;
        border-radius: 14px;
        background: #fff;
        color: var(--app-text);
        font-weight: 700;
    }

    .ja-confirm-check input {
        width: 18px;
        height: 18px;
        margin: 0;
    }

    .ja-confirmed-box {
        margin: 0 26px 26px;
        border-radius: 18px;
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 18px;
        border: 1px solid var(--app-border);
        background: #fff;
    }

    .ja-confirmed-box.is-confirmed { background: var(--ja-notam-success-bg); border-color: rgba(22, 163, 106, .22); }
    .ja-confirmed-box.is-inactive { background: var(--ja-notam-inactive-bg); border-color: rgba(148, 163, 184, .28); }
    .ja-confirmed-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: var(--ja-notam-success-accent); font-size: 1.4rem; }
    .ja-confirmed-box.is-inactive .ja-confirmed-icon { background: var(--ja-notam-inactive-accent); }
    .ja-confirmed-box strong { display: block; color: var(--app-text); font-weight: 700; }
    .ja-confirmed-box p { margin: 4px 0 0; color: var(--app-subtle); }

    .ja-status-card { display: grid; gap: 14px; }
    .ja-status-card p { margin: 0; color: var(--app-subtle); font-weight: 500; }
    .ja-status-card hr { margin: 8px 0; border-color: var(--app-border); opacity: 1; }

    .ja-notam-status-panel {
        border-radius: 18px;
        padding: 28px 22px;
        display: grid;
        justify-items: center;
        gap: 8px;
        text-align: center;
        border: 1px solid var(--app-border);
    }

    .ja-notam-state-unconfirmed .ja-notam-status-panel { background: var(--ja-notam-danger-header); border-color: var(--ja-notam-danger-border); }
    .ja-notam-state-confirmed .ja-notam-status-panel { background: var(--ja-notam-success-bg); border-color: rgba(22, 163, 106, .22); }
    .ja-notam-state-inactive .ja-notam-status-panel { background: var(--ja-notam-inactive-bg); border-color: rgba(148, 163, 184, .28); }

    .ja-status-icon {
        width: 68px;
        height: 68px;
        border-radius: 999px;
        display: grid;
        place-items: center;
        font-size: 1.8rem;
        line-height: 1;
    }

    .ja-notam-state-unconfirmed .ja-status-icon { color: var(--ja-notam-danger-accent); background: var(--ja-notam-danger-icon-bg); }
    .ja-notam-state-confirmed .ja-status-icon { color: #fff; background: var(--ja-notam-success-accent); }
    .ja-notam-state-inactive .ja-status-icon { color: #fff; background: var(--ja-notam-inactive-accent); }
    .ja-notam-status-panel strong { color: var(--app-text); font-weight: 700; font-size: 1.05rem; }
    .ja-notam-status-panel small { color: var(--app-subtle); font-weight: 600; }

    .ja-notam-summary-list {
        display: grid;
        gap: 16px;
    }

    .ja-notam-summary-list > div {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
    }

    .ja-notam-summary-list span {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: var(--app-subtle);
        font-weight: 600;
    }

    .ja-notam-summary-list span i {
        color: var(--app-primary-2);
        font-size: 1.08rem;
    }

    .ja-notam-summary-list strong {
        color: var(--app-text);
        font-weight: 700;
        text-align: right;
    }

    [data-bs-theme="dark"] .ja-notam-meta-row,
    [data-bs-theme="dark"] .ja-confirm-check,
    [data-bs-theme="dark"] .ja-confirmed-box {
        background: rgba(255,255,255,.035);
    }

    [data-bs-theme="dark"] .ja-notam-state-unconfirmed .ja-notam-status-panel,
    [data-bs-theme="dark"] .ja-notam-confirm-box {
        background: rgba(127, 29, 29, .24);
        border-color: rgba(248, 113, 113, .44);
    }

    [data-bs-theme="dark"] .ja-notam-state-unconfirmed .ja-status-icon,
    [data-bs-theme="dark"] .ja-confirm-icon {
        background: rgba(248, 113, 113, .18);
        color: #FCA5A5;
    }

    [data-bs-theme="dark"] .ja-notam-state-confirmed .ja-notam-status-panel,
    [data-bs-theme="dark"] .ja-confirmed-box.is-confirmed {
        background: rgba(6, 95, 70, .16);
        border-color: rgba(52, 211, 153, .22);
    }

    [data-bs-theme="dark"] .ja-notam-state-inactive .ja-notam-status-panel,
    [data-bs-theme="dark"] .ja-confirmed-box.is-inactive {
        background: rgba(71, 85, 105, .16);
        border-color: rgba(148, 163, 184, .30);
    }

    @media (max-width: 1199.98px) {
        .ja-notam-meta-row,
        .ja-confirm-action-row {
            grid-template-columns: 1fr;
            display: grid;
        }
        .ja-notam-meta-right { justify-content: flex-start; }
    }

    @media (max-width: 767.98px) {
        .ja-notam-content-section,
        .ja-notam-meta-row { padding: 20px; }
        .ja-notam-confirm-box,
        .ja-confirmed-box { margin: 0 20px 20px; }
        .ja-notam-summary-list > div { grid-template-columns: 1fr; }
        .ja-notam-summary-list strong { text-align: left; }
    }

    /* Detail page alignment/typography pass: match NOTAM index/dashboard rhythm */
    .ja-notam-detail-page {
        align-items: start;
    }

    .ja-notam-detail-page .main-column,
    .ja-notam-detail-page .right-column {
        gap: 22px;
    }

    .ja-notam-page-title {
        margin: 0 !important;
    }

    .ja-notam-page-title h1 {
        margin: 0 0 6px !important;
        color: var(--app-text) !important;
        font-size: 1.55rem !important;
        line-height: 1.1 !important;
        font-weight: 700 !important;
        letter-spacing: -.02em !important;
    }

    .ja-notam-page-title p {
        margin: 0 !important;
        color: var(--app-subtle) !important;
        font-size: .94rem !important;
        line-height: 1.45 !important;
        font-weight: 500 !important;
    }

    .ja-notam-detail-page .right-column {
        margin-top: 76px;
    }

    .ja-notam-detail-card {
        background: var(--app-surface) !important;
        border-color: var(--app-border) !important;
    }

    .ja-notam-meta-row {
        background: #ffffff !important;
    }

    [data-bs-theme="dark"] .ja-notam-meta-row {
        background: transparent !important;
    }

    @media (max-width: 1199.98px) {
        .ja-notam-detail-page .right-column {
            margin-top: 0;
        }
    }


/* ===== dashboard notams component ===== */
.ja-dashboard-notams {
        background: var(--app-surface);
    }
    .ja-dashboard-notams.has-unread {
        background: #FFF5F5;
        border-color: #FECACA;
    }
    .ja-dashboard-notams.has-unread .card-title-row h2 i,
    .ja-dashboard-notams.has-unread .feed-icon.danger {
        color: #DC2626;
    }
    .ja-dashboard-notams.has-unread .feed-icon.danger {
        background: #FEE2E2;
    }
    .ja-dashboard-notam-danger strong,
    .ja-dashboard-notam-danger .entity-link {
        color: var(--app-text);
    }
    .ja-dashboard-notam-danger p {
        color: var(--app-subtle);
    }
    .ja-notam-check { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 24px; font-weight: 900; }
    .ja-notam-check { background: rgba(25,135,84,.12); color: #198754; }
    [data-bs-theme="dark"] .ja-dashboard-notams.has-unread {
        background: rgba(127, 29, 29, .22);
        border-color: rgba(248, 113, 113, .42);
    }
    [data-bs-theme="dark"] .ja-dashboard-notams.has-unread .card-title-row h2 i,
    [data-bs-theme="dark"] .ja-dashboard-notams.has-unread .feed-icon.danger {
        color: #FCA5A5;
    }
    [data-bs-theme="dark"] .ja-dashboard-notams.has-unread .feed-icon.danger {
        background: rgba(248, 113, 113, .18);
    }
    [data-bs-theme="dark"] .ja-dashboard-notam-danger strong,
    [data-bs-theme="dark"] .ja-dashboard-notam-danger .entity-link {
        color: #F8FAFC;
    }
    [data-bs-theme="dark"] .ja-dashboard-notam-danger p {
        color: #CBD5E1;
    }


/* ===== public news index ===== */
.ja-news-section {
            background: #f7f9fc;
            padding-top: 0;
            padding-bottom: clamp(54px, 7vw, 88px);
        }

        .ja-news-index-wrap {
            position: relative;
            z-index: 2;
            margin-top: -96px;
        }

        .ja-news-index-panel {
            max-width: 1320px;
            margin-left: auto;
            margin-right: auto;
            padding: clamp(30px, 3.6vw, 52px);
            border: 1px solid rgba(8, 30, 48, .08);
            border-radius: 18px;
            background: #fff;
            box-shadow: 0 28px 70px rgba(13, 27, 36, .10);
        }

        .ja-news-header-row {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 30px;
            padding-bottom: 24px;
            margin-bottom: 24px;
            border-bottom: 1px solid rgba(15, 32, 42, .12);
        }

        .ja-news-eyebrow {
            color: #ff6e00;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .04em;
            margin-bottom: 10px;
            font-size: .88rem;
        }

        .ja-news-heading {
            margin: 0 0 8px;
            color: #07192f;
            font-size: clamp(2.1rem, 4vw, 3.35rem);
            line-height: .98;
            letter-spacing: -.045em;
            font-weight: 900;
        }

        .ja-news-subtitle {
            color: #344052;
            margin: 0;
            font-size: 1.02rem;
        }

        .ja-news-search {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: min(100%, 420px);
        }

        .ja-news-search-control {
            position: relative;
            flex: 1 1 auto;
        }

        .ja-news-search-control i {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #768195;
            pointer-events: none;
        }

        .ja-news-search-control input {
            width: 100%;
            height: 48px;
            padding-left: 44px;
            border: 1px solid rgba(7, 25, 47, .12);
            border-radius: 9px;
            background: #fff;
            box-shadow: 0 8px 22px rgba(7, 25, 47, .045);
        }

        .ja-news-search button {
            height: 48px;
            min-width: 92px;
            border: 0;
            border-radius: 9px;
            background: #07192f;
            color: #fff;
            font-weight: 900;
            box-shadow: 0 10px 24px rgba(7, 25, 47, .18);
        }

        .ja-news-list {
            display: grid;
            gap: 20px;
        }

        .ja-news-list-card {
            display: grid;
            grid-template-columns: 300px minmax(0, 1fr);
            gap: 30px;
            align-items: center;
            padding: 22px;
            border: 1px solid rgba(7, 25, 47, .07);
            border-radius: 13px;
            background: #fff;
            box-shadow: 0 16px 42px rgba(7, 25, 47, .065);
            text-decoration: none;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }

        .ja-news-list-card:hover {
            transform: translateY(-2px);
            border-color: rgba(255, 110, 0, .25);
            box-shadow: 0 22px 52px rgba(7, 25, 47, .1);
            text-decoration: none;
        }

        .ja-news-thumb {
            width: 100%;
            aspect-ratio: 16 / 9;
            border-radius: 9px;
            overflow: hidden;
            background: #dfe6ef;
        }

        .ja-news-thumb img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .ja-news-card-meta {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin-bottom: 10px;
            color: #7a8494;
            font-weight: 700;
            font-size: .86rem;
        }

        .ja-news-list-title {
            margin: 0 0 10px;
            color: #07192f;
            font-size: clamp(1.38rem, 2vw, 1.8rem);
            line-height: 1.13;
            letter-spacing: -.025em;
            font-weight: 900;
        }

        .ja-news-list-excerpt {
            max-width: 720px;
            color: #4d5b66;
            font-size: .98rem;
            line-height: 1.68;
            margin: 0 0 10px;
        }

        .ja-news-read-more {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: #ff6e00;
            font-weight: 900;
            text-decoration: none;
        }

        .ja-news-read-more i {
            transition: transform .18s ease;
        }

        .ja-news-list-card:hover .ja-news-read-more i {
            transform: translateX(4px);
        }

        .ja-news-pagination {
            margin-top: 30px;
        }

        .ja-news-pagination .pagination {
            margin: 0;
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .ja-news-pagination .pagination > li > a,
        .ja-news-pagination .pagination > li > span {
            border-radius: 8px !important;
            border-color: rgba(7, 25, 47, .12);
            color: #07192f;
            font-weight: 800;
        }

        .ja-news-pagination .pagination > .active > span,
        .ja-news-pagination .pagination > .active > a {
            background: #ff6e00;
            border-color: #ff6e00;
            color: #fff;
        }

        .ja-communication-icons { display: inline-flex; gap: 8px; flex-wrap: wrap; }
        .ja-communication-icon { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(255, 110, 0, .09); color: #ff6e00; font-weight: 800; font-size: .78rem; }
        .ja-communication-icon-symbol { color: #ff6e00; font-size: 1rem; line-height: 1; }

        @media (max-width: 991.98px) {
            .ja-news-index-wrap { margin-top: -78px; }
            .ja-news-header-row { align-items: stretch; flex-direction: column; }
            .ja-news-search { width: 100%; }
            .ja-news-list-card { grid-template-columns: 1fr; gap: 18px; }
            .ja-news-thumb { aspect-ratio: 16 / 7; }
        }

        @media (max-width: 575.98px) {
            .ja-news-search { flex-direction: column; align-items: stretch; }
            .ja-news-search button { width: 100%; }
            .ja-news-list-card { padding: 14px; }
            .ja-news-thumb { aspect-ratio: 16 / 9; }
        }


/* ===== public news show ===== */
.ja-news-article-section {
            background: #f7f9fc;
            padding-top: 0;
        }

        .ja-news-article-wrap {
            position: relative;
            z-index: 2;
            margin-top: -118px;
        }

        .ja-news-article {
            max-width: 920px;
            margin: 0 auto;
            padding: clamp(30px, 4vw, 58px);
            border: 1px solid rgba(8, 30, 48, .08);
            border-radius: 18px;
            background: #fff;
            box-shadow: 0 28px 70px rgba(13, 27, 36, .12);
        }

        .ja-news-topline {
            padding-bottom: 22px;
            margin-bottom: 22px;
            border-bottom: 1px solid rgba(15, 32, 42, .12);
        }

        .ja-news-read-more {
            display: inline-flex;
            align-items: center;
            color: #ff6e00;
            font-weight: 800;
            text-decoration: none;
            transition: color .18s ease, transform .18s ease;
        }

        .ja-news-read-more:hover {
            color: #d95700;
            text-decoration: none;
            transform: translateX(-2px);
        }

        .ja-news-meta {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
            margin-bottom: 22px;
            color: #5f6b7a;
            font-weight: 700;
            font-size: .92rem;
        }

        .ja-news-meta-item {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            line-height: 1;
        }

        .ja-news-meta-dot {
            color: rgba(95, 107, 122, .55);
            font-weight: 900;
        }

        .ja-news-title {
            max-width: 820px;
            margin: 0 0 10px;
            font-size: clamp(2rem, 3.15vw, 3rem);
            line-height: 1.08;
        }

        .ja-news-title-underline {
            width: 36px;
            height: 3px;
            background: #ff6e00;
            border-radius: 999px;
            margin: 18px 0 22px;
        }

        .ja-news-excerpt {
            max-width: 790px;
            color: #4d5b66;
            font-size: 1.04rem;
            line-height: 1.75;
            margin-bottom: 26px;
        }


        .ja-news-main-image {
            width: 100%;
            overflow: hidden;
            border-radius: 10px;
            margin: 24px 0 26px;
            background: #dfe6ef;
            box-shadow: 0 10px 28px rgba(13, 27, 36, .11);
        }

        .ja-news-main-image img {
            display: block;
            width: 100%;
            height: auto;
        }

        .ja-rich-content h1,
        .ja-rich-content h2,
        .ja-rich-content h3 {
            color: #10202a;
            margin-top: 1.35em;
            margin-bottom: .65em;
            font-weight: 800;
            letter-spacing: -.025em;
        }

        .ja-rich-content p,
        .ja-rich-content li {
            color: #4d5b66;
            font-size: 1.02rem;
            line-height: 1.82;
        }

        .ja-rich-content p { margin-bottom: 1.15rem; }

        .ja-rich-content a { color: #ff6e00; font-weight: 700; }

        .ja-rich-content blockquote {
            position: relative;
            margin: 24px 0;
            padding: 16px 56px 16px 18px;
            border-left: 4px solid #ff6e00;
            border-radius: 0 10px 10px 0;
            background: rgba(255, 110, 0, .045);
            color: #4d5b66;
        }

        .ja-rich-content blockquote::after {
            content: '”';
            position: absolute;
            right: 18px;
            bottom: -14px;
            color: rgba(255, 110, 0, .58);
            font-size: 4rem;
            line-height: 1;
            font-family: Georgia, serif;
            font-weight: 800;
        }

        .ja-rich-content img {
            display: block;
            max-width: 100%;
            height: auto;
            border-radius: 9px;
            margin: 26px 0;
            box-shadow: 0 10px 28px rgba(13, 27, 36, .11);
        }

        .ja-rich-content table {
            width: 100%;
            border-collapse: collapse;
            margin: 24px 0;
            overflow: hidden;
            border-radius: 10px;
        }

        .ja-rich-content th,
        .ja-rich-content td {
            border: 1px solid rgba(22,32,54,.14);
            padding: 10px 12px;
            vertical-align: top;
        }

        .ja-rich-content th {
            background: rgba(22,32,54,.05);
            color: #10202a;
            font-weight: 800;
        }

        .ja-communication-icons {
            display: inline-flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .ja-communication-icon {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 10px;
            border-radius: 999px;
            background: rgba(255, 110, 0, .09);
            color: #ff6e00;
            font-weight: 800;
            font-size: .78rem;
        }

        .ja-communication-icon-symbol {
            color: #ff6e00;
            font-size: 1rem;
            line-height: 1;
        }

        @media (max-width: 767.98px) {
            .ja-news-article-wrap { margin-top: -78px; }
            .ja-news-article { padding: 26px 22px; border-radius: 15px; }
            .ja-news-title { font-size: 2rem; }
        }


/* ===== dashboard notam flash ===== */
.ja-dashboard-notam-flash {
            border-radius: 18px;
            font-weight: 700;
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 14px 16px;
            border: 1px solid #FECACA;
            background: #FFF5F5;
            color: #7F1D1D;
            box-shadow: none;
        }
        .ja-dashboard-notam-flash-icon {
            width: 40px;
            height: 40px;
            border-radius: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #FEE2E2;
            color: #DC2626;
            flex: 0 0 auto;
            font-size: 18px;
        }
        .ja-dashboard-notam-flash-body { flex: 1 1 auto; min-width: 0; }
        .ja-dashboard-notam-flash-body strong { color: #7F1D1D; }
        .ja-dashboard-notam-flash-body a { color: #7F1D1D; text-decoration: underline; text-underline-offset: 2px; }
        .ja-dashboard-notam-flash-body span { display: block; font-weight: 600; margin-top: 4px; color: #7F1D1D; }
        .ja-dashboard-notam-flash-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
        .ja-dashboard-notam-flash-close { width: 32px; height: 32px; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #FEE2E2; color: #DC2626; cursor: pointer; }
        .ja-dashboard-notam-flash-close:hover { background: #FECACA; }
        [data-bs-theme="dark"] .ja-dashboard-notam-flash {
            border-color: rgba(248, 113, 113, .42);
            background: rgba(127, 29, 29, .26);
            color: #FEE2E2;
        }
        [data-bs-theme="dark"] .ja-dashboard-notam-flash-icon { background: rgba(248, 113, 113, .18); color: #FCA5A5; }
        [data-bs-theme="dark"] .ja-dashboard-notam-flash-close { background: rgba(248, 113, 113, .16); color: #FCA5A5; }
        [data-bs-theme="dark"] .ja-dashboard-notam-flash-close:hover { background: rgba(248, 113, 113, .28); }
        [data-bs-theme="dark"] .ja-dashboard-notam-flash-body strong,
        [data-bs-theme="dark"] .ja-dashboard-notam-flash-body span,
        [data-bs-theme="dark"] .ja-dashboard-notam-flash-body a { color: #FEE2E2; }
        @media (max-width: 768px) { .ja-dashboard-notam-flash { align-items: flex-start; } .ja-dashboard-notam-flash-actions { flex-direction: column; align-items: flex-end; } }



/* ===== dashboard latest news ===== */
.ja-dashboard-news-card .card-title-row {
    margin-bottom: 14px;
}

.ja-dashboard-news-list {
    display: grid;
    gap: 14px;
}

.ja-dashboard-news-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    color: var(--app-text);
}

.ja-dashboard-news-item:hover {
    opacity: 1;
}

.ja-dashboard-news-item img {
    width: 96px;
    height: 58px;
    object-fit: cover;
    border-radius: 12px;
    background: var(--app-primary-soft);
}

.ja-dashboard-news-item span {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.ja-dashboard-news-item strong {
    color: var(--app-text);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.22;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ja-dashboard-news-item em {
    display: -webkit-box;
    overflow: hidden;
    color: var(--app-subtle);
    font-size: .82rem;
    font-style: normal;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ja-dashboard-news-item time {
    color: var(--app-subtle);
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}

.ja-dashboard-news-empty {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.ja-dashboard-news-empty strong {
    display: block;
    color: var(--app-text);
    font-size: .92rem;
}

.ja-dashboard-news-empty p {
    margin: 3px 0 0;
    color: var(--app-subtle);
    font-size: .82rem;
    line-height: 1.35;
}

@media (max-width: 575.98px) {
    .ja-dashboard-news-item {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .ja-dashboard-news-item img {
        width: 82px;
        height: 54px;
    }

    .ja-dashboard-news-item time {
        grid-column: 2;
    }
}

/* ===== public article hero image ===== */
.ja-news-article-hero {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(90deg, rgba(0, 18, 35, .88), rgba(0, 18, 35, .68)),
        var(--ja-news-hero-image);
    background-position: center;
    background-size: cover;
}

.ja-news-article-hero > .container {
    position: relative;
    z-index: 1;
}

/* ===== dashboard quick actions refinement ===== */
.quick-actions .quick-grid .quick-action {
    background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(248, 250, 252, .96));
    border: 1px solid rgba(32, 54, 102, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .68);
}

.quick-actions .quick-grid .quick-action:hover,
.quick-actions .quick-grid .quick-action:focus {
    background: linear-gradient(180deg, #ffffff, #F4F7FB);
    border-color: rgba(0, 56, 117, .24);
}

[data-bs-theme="dark"] .quick-actions .quick-grid .quick-action {
    background: rgba(255, 255, 255, .045);
    border-color: rgba(132, 178, 255, .18);
    box-shadow: none;
}

[data-bs-theme="dark"] .quick-actions .quick-grid .quick-action:hover,
[data-bs-theme="dark"] .quick-actions .quick-grid .quick-action:focus {
    background: rgba(77, 163, 255, .09);
    border-color: rgba(126, 192, 255, .36);
}

.ja-dashboard-news-card .card-title-row a {
    color: var(--app-primary-2);
    font-weight: 750;
}

.ja-dashboard-news-card .card-title-row a:hover,
.ja-dashboard-news-card .card-title-row a:focus {
    color: var(--app-primary);
    opacity: 1;
}

[data-bs-theme="dark"] .ja-dashboard-news-card .card-title-row a {
    color: #7EC0FF;
}

/* ===== dashboard final refinements ===== */
.route-row > .ja-route-plane-icon {
    transform: rotate(90deg);
}

@media (max-width: 767.98px) {
    .route-row > .ja-route-plane-icon {
        transform: rotate(90deg);
    }
}

.ja-dashboard-notam-read-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
}

/* Logged-in communications / NOTAM rich content readability */
.ja-rich-content.ja-prose,
.ja-rich-content {
    color: var(--app-text);
}

.ja-rich-content.ja-prose p,
.ja-rich-content.ja-prose li,
.ja-rich-content.ja-prose td,
.ja-rich-content.ja-prose th,
.ja-rich-content p,
.ja-rich-content li,
.ja-rich-content td,
.ja-rich-content th {
    color: var(--app-text);
}

.ja-rich-content.ja-prose h1,
.ja-rich-content.ja-prose h2,
.ja-rich-content.ja-prose h3,
.ja-rich-content.ja-prose h4,
.ja-rich-content.ja-prose h5,
.ja-rich-content.ja-prose h6,
.ja-rich-content h1,
.ja-rich-content h2,
.ja-rich-content h3,
.ja-rich-content h4,
.ja-rich-content h5,
.ja-rich-content h6 {
    color: var(--app-text);
}

.ja-rich-content.ja-prose a,
.ja-rich-content a {
    color: var(--app-primary-2);
}

.ja-rich-content.ja-prose blockquote,
.ja-rich-content blockquote {
    color: var(--app-subtle);
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose,
[data-bs-theme="dark"] .ja-rich-content,
[data-bs-theme="dark"] .ja-rich-content.ja-prose p,
[data-bs-theme="dark"] .ja-rich-content.ja-prose li,
[data-bs-theme="dark"] .ja-rich-content.ja-prose td,
[data-bs-theme="dark"] .ja-rich-content.ja-prose th,
[data-bs-theme="dark"] .ja-rich-content p,
[data-bs-theme="dark"] .ja-rich-content li,
[data-bs-theme="dark"] .ja-rich-content td,
[data-bs-theme="dark"] .ja-rich-content th {
    color: #F4F8FF;
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose h1,
[data-bs-theme="dark"] .ja-rich-content.ja-prose h2,
[data-bs-theme="dark"] .ja-rich-content.ja-prose h3,
[data-bs-theme="dark"] .ja-rich-content.ja-prose h4,
[data-bs-theme="dark"] .ja-rich-content.ja-prose h5,
[data-bs-theme="dark"] .ja-rich-content.ja-prose h6,
[data-bs-theme="dark"] .ja-rich-content h1,
[data-bs-theme="dark"] .ja-rich-content h2,
[data-bs-theme="dark"] .ja-rich-content h3,
[data-bs-theme="dark"] .ja-rich-content h4,
[data-bs-theme="dark"] .ja-rich-content h5,
[data-bs-theme="dark"] .ja-rich-content h6 {
    color: #FFFFFF;
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose a,
[data-bs-theme="dark"] .ja-rich-content a {
    color: #7EC0FF;
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose blockquote,
[data-bs-theme="dark"] .ja-rich-content blockquote {
    background: rgba(255, 176, 107, .10);
    color: #E6EEF8;
    border-left-color: #FFB06B;
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose table,
[data-bs-theme="dark"] .ja-rich-content table {
    color: #F4F8FF;
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose th,
[data-bs-theme="dark"] .ja-rich-content.ja-prose td,
[data-bs-theme="dark"] .ja-rich-content th,
[data-bs-theme="dark"] .ja-rich-content td {
    border-color: rgba(132, 178, 255, .22);
}

[data-bs-theme="dark"] .ja-rich-content.ja-prose th,
[data-bs-theme="dark"] .ja-rich-content th {
    background: rgba(126, 192, 255, .08);
}

/* ── Subject-column entity-link: no dotted underline ─────────────────── */
.ja-communication-subject .entity-link,
.ja-notams-table td:nth-child(6) .entity-link {
    border-bottom: none;
}

/* ── NOTAM unconfirmed section-header icon: neutral bg ───────────────── */
.ja-notam-section-unconfirmed .ja-notam-section-header .ja-section-icon.is-danger {
    background: rgb(138 145 179 / 17%);
    border: none;
}

/* ── Confirmed NOTAM subject title: lighter weight ───────────────────── */
.ja-notam-section-confirmed .ja-notams-table td:nth-child(6) strong {
    font-weight: 600;
}

/* ── NOTAM pagination: lighter, no heavy square boxes ────────────────── */
.ja-notams-page .pagination .page-link {
    border-radius: 999px;
    border-color: transparent;
    background: transparent;
    color: var(--app-muted);
    font-weight: 600;
    font-size: .82rem;
    padding: 4px 10px;
    min-width: 32px;
    text-align: center;
}

.ja-notams-page .pagination .page-link:hover {
    background: var(--app-surface-2, rgba(0, 56, 117, .06));
    color: var(--app-text);
}

.ja-notams-page .pagination .page-item.active .page-link {
    background: var(--app-primary-soft);
    color: var(--app-primary-2);
    border-color: transparent;
    font-weight: 700;
}

.ja-notams-page .pagination .page-item.disabled .page-link {
    opacity: .38;
}

