/* =========================================================
   NPA Financials Table  v5  (mobile-first, no gutter column)
   ========================================================= */

.npa-financials-wrap {
    width: 100%;
    margin: 1.5em 0;
    font-family: inherit;
    font-size: 0.95em;
}

/* ── Year dropdown filter ───────────────────────────────── */
.npa-year-filter-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.npa-year-filter-bar label {
    font-weight: 600;
    white-space: nowrap;
    color: #333;
}

.npa-year-select {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-size: 1em;
    color: #333;
    cursor: pointer;
    min-width: 160px;
    min-height: 40px;
}

.npa-year-select:focus {
    outline: 2px solid #1a3d6e;
    outline-offset: 1px;
}

/* ── Table ──────────────────────────────────────────────── */
.npa-financials-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.5;
    /* Auto layout — browser sizes columns to content, no fixed widths needed */
    table-layout: auto;
}

/* ── Period spacer rows ─────────────────────────────────── */
/* .npa-financials-table tr.npa-period-spacer td {
    height: 10px;
    padding: 0;
    background: transparent;
    border: none;
} */

/* ── Month / Year header rows ───────────────────────────── */
.npa-financials-wrap .npa-financials-table tr.npa-period-header td {
    padding: 8px 12px;
    font-size: 0.9em;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #ffffff;
    background-color: #1a3d6e;
    border: none;
    text-align: left !important;
    word-break: break-word;
}

/* ── Document rows ──────────────────────────────────────── */
.npa-financials-table tr.npa-doc-row {
    border-bottom: 1px solid #e0e0e0;
}

.npa-financials-table tr.npa-doc-row:last-child {
    border-bottom: none;
}

.npa-financials-table tr.npa-doc-row td {
    padding: 9px 10px;
    vertical-align: middle;
}

/* Date + title cell — fills remaining width */
.npa-financials-wrap .npa-financials-table td.npa-col-info {
    color: #222;
    word-break: break-word;
    text-align: left !important;
    width: 75%;
}

.npa-financials-wrap .npa-financials-table td.npa-col-info strong {
    font-weight: 700;
}

/* Download link cell — fixed width so title always has plenty of room */
.npa-financials-wrap .npa-financials-table td.npa-col-links {
    white-space: nowrap;
    text-align: right !important;
    width: 300px;
    min-width: 300px;
}

/* Download buttons */
a.npa-download-btn {
    display: inline-block;
    margin-left: 6px;
    padding: 5px 14px;
    border: 1px solid #1a3d6e;
    border-radius: 3px;
    background: #131313;
    color: #fff !important;
    font-size: 0.82em;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.15s, border-color 0.15s;
    cursor: pointer;
    min-height: 32px;
    line-height: 22px;
}

a.npa-download-btn:hover,
a.npa-download-btn:focus {
    background: #333;
    border-color: #333;
    color: #fff !important;
}

/* No results message */
.npa-no-results {
    color: #666;
    font-style: italic;
    padding: 12px 0;
}

/* ── Mobile — full reflow, stacked buttons ──────────────── */
@media ( max-width: 640px ) {

    .npa-financials-table,
    .npa-financials-table tbody,
    .npa-financials-table tr,
    .npa-financials-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .npa-financials-table tr.npa-period-header {
        display: block;
    }

    .npa-financials-table tr.npa-period-header td {
        display: block;
        width: 100%;
        padding: 10px 12px;
    }

    /* .npa-financials-table tr.npa-period-spacer {
        display: block;
        height: 8px;
    }

    .npa-financials-table tr.npa-period-spacer td {
        display: block;
        height: 8px;
        padding: 0;
    } */

    .npa-financials-table tr.npa-doc-row {
        display: block;
        padding: 10px 0;
        border-bottom: 1px solid #e0e0e0;
    }

    .npa-financials-wrap .npa-financials-table td.npa-col-info {
        display: block;
        width: 100%;
        padding: 0 10px 8px 10px;
        text-align: left !important;
    }

    .npa-financials-wrap .npa-financials-table td.npa-col-links {
        display: block;
        width: 100%;
        padding: 0 10px;
        text-align: left !important;
        white-space: normal;
    }

    a.npa-download-btn {
        display: block;
        width: 100%;
        margin: 0 0 6px 0;
        padding: 10px 14px;
        text-align: center;
        font-size: 0.9em;
        min-height: 44px;
        line-height: 24px;
        box-sizing: border-box;
        border-radius: 4px;
    }

    a.npa-download-btn:last-child {
        margin-bottom: 0;
    }

    .npa-year-filter-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .npa-year-select {
        width: 100%;
        min-width: 0;
        font-size: 1em;
        padding: 10px 12px;
        min-height: 44px;
    }
}
