/* /Components/Dashboard/CurrentPeriodSummaryCard.razor.rz.scp.css */
/* CurrentPeriodSummaryCard component scoped styles — CLC-DES-011-06 */

.cpsc-breakdown[b-limrcnd30c] {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--coral-gray-200, #E9ECEF);
}

.cpsc-row[b-limrcnd30c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0 5px 10px;
}

.cpsc-row--mt[b-limrcnd30c] {
    margin-top: 4px;
}

.cpsc-row--aqua[b-limrcnd30c] {
    border-left: 3px solid var(--reef-aqua);
}

.cpsc-row--success[b-limrcnd30c] {
    border-left: 3px solid var(--success);
}

.cpsc-row--info[b-limrcnd30c] {
    border-left: 3px solid var(--coral-info);
}

.cpsc-label[b-limrcnd30c] {
    /* --gray-600 (#4B5563) on white = 7.56:1 — WCAG AA for small text */
    color: var(--gray-600, #4B5563);
    font-size: 0.8125rem;
}

.cpsc-value[b-limrcnd30c] {
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    font-size: 0.8125rem;
    /* --gray-700 (#374151) on white = 9.73:1 — WCAG AAA */
    color: var(--gray-700, #374151);
}

.cpsc-value--success[b-limrcnd30c] {
    /* --weather-sunny-text (#064E3B) on white = 9.71:1 — WCAG AAA for small text */
    color: var(--weather-sunny-text, #064E3B);
}

.cpsc-value--info[b-limrcnd30c] {
    /* --info-dark (#0E7490) on white = 5.36:1 — WCAG AA */
    color: var(--info-dark, #0E7490);
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css.
   Blazor's CSS isolation does NOT process :global() — rules using that pseudo-class
   ship as invalid CSS and are silently dropped by the browser. */
/* /Components/Dashboard/DataHealthIndicatorCard.razor.rz.scp.css */
/* DataHealthIndicatorCard component scoped styles — CLC-DES-011-06 */

.dhic-clickable[b-ys30yd7p8b] {
    cursor: pointer;
}

.dhic-clickable:focus-visible[b-ys30yd7p8b] {
    outline: 2px solid var(--coral-accent-primary, #00B8D4);
    outline-offset: 2px;
    border-radius: 4px;
}

.dhic-issues-list[b-ys30yd7p8b] {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--coral-gray-200, #E9ECEF);
}

.dhic-issue-item[b-ys30yd7p8b] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0 5px 10px;
    border-left: 3px solid var(--warning);
    margin-top: 4px;
}

.dhic-more-issues[b-ys30yd7p8b] {
    padding: 4px 0 4px 10px;
    margin-top: 4px;
}

.dhic-view-details[b-ys30yd7p8b] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 8px;
    padding: 6px 0;
    width: 100%;
    /* --info-dark (#0E7490) on white = 5.36:1 — WCAG AA for 14 px text */
    color: var(--info-dark, #0E7490);
    font-size: 0.875rem;
    font-weight: 500;
}

.dhic-view-details__icon[b-ys30yd7p8b] {
    color: var(--info-dark, #0E7490);
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/Dashboard/QuickActionCard.razor.rz.scp.css */
/* QuickActionCard Component - Scoped Styles */

.coral-action-card[b-3bpciwhm6t] {
    padding: 16px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--gray-200);
    background: var(--white);
}

.coral-action-card:hover[b-3bpciwhm6t] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: var(--reef-aqua);
}

.coral-action-card__content[b-3bpciwhm6t] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.coral-action-card__icon[b-3bpciwhm6t] {
    flex-shrink: 0;
}

.coral-action-card__text[b-3bpciwhm6t] {
    flex: 1;
    min-width: 0;
}

.coral-action-card__title[b-3bpciwhm6t] {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: var(--coral-text-primary);
    margin-bottom: 2px;
}

.coral-action-card__subtitle[b-3bpciwhm6t] {
    font-size: 13px;
    line-height: 1.4;
    color: var(--gray-500);
    opacity: 0.85;
}

/* Disabled State */
.coral-action-card--disabled[b-3bpciwhm6t] {
    cursor: not-allowed !important;
    opacity: 0.5;
}

.coral-action-card--disabled:hover[b-3bpciwhm6t] {
    transform: none !important;
    box-shadow: none !important;
    border-color: var(--gray-200) !important;
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-rnjl129q1n] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-rnjl129q1n] {
    flex: 1;
}

.sidebar[b-rnjl129q1n] {
    background-image: linear-gradient(180deg, var(--deep-sea) 0%, var(--deep-sea-dark) 100%);
}

.top-row[b-rnjl129q1n] {
    background-color: var(--coral-bg-primary);
    border-bottom: 1px solid var(--gray-200);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-rnjl129q1n]  a, .top-row[b-rnjl129q1n]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-rnjl129q1n]  a:hover, .top-row[b-rnjl129q1n]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-rnjl129q1n]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-rnjl129q1n] {
        justify-content: space-between;
    }

    .top-row[b-rnjl129q1n]  a, .top-row[b-rnjl129q1n]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-rnjl129q1n] {
        flex-direction: row;
    }

    .sidebar[b-rnjl129q1n] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-rnjl129q1n] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-rnjl129q1n]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-rnjl129q1n], article[b-rnjl129q1n] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

.content-container[b-rnjl129q1n] {
    max-width: var(--content-max-width);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

#blazor-error-ui[b-rnjl129q1n] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-rnjl129q1n] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-9n989gv5h7] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-9n989gv5h7] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-9n989gv5h7] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-9n989gv5h7] {
    font-size: 1.1rem;
}

.bi[b-9n989gv5h7] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-9n989gv5h7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-9n989gv5h7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-9n989gv5h7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-9n989gv5h7] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-9n989gv5h7] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-9n989gv5h7] {
        padding-bottom: 1rem;
    }

    .nav-item[b-9n989gv5h7]  .nav-link {
        color: var(--gray-300);
        background: none;
        border: none;
        border-radius: var(--radius-md, 8px);
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-9n989gv5h7]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-9n989gv5h7]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-9n989gv5h7] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-9n989gv5h7] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-9n989gv5h7] {
        display: none;
    }

    .nav-scrollable[b-9n989gv5h7] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* ── Client context banner ──────────────────────────────────────────── */

.coral-client-context-banner[b-9n989gv5h7] {
    margin: 8px 8px 4px 8px;
    padding: 8px 10px;
    background: rgba(39, 181, 201, 0.12);   /* Reef Aqua (#27B5C9) at 12% — hardcoded because CSS rgba() cannot reference a var for individual channels */
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: 6px;
}

.coral-client-context-inner[b-9n989gv5h7] {
    flex-wrap: nowrap;
    overflow: hidden;
}

.coral-client-context-icon[b-9n989gv5h7] {
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

.coral-client-context-name[b-9n989gv5h7] {
    color: var(--mud-palette-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.coral-back-to-firm-btn[b-9n989gv5h7] {
    margin-top: 4px;
    padding: 0 4px;
    min-height: unset;
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary) !important;
    text-transform: none;
}

    .coral-back-to-firm-btn:hover[b-9n989gv5h7] {
        color: var(--mud-palette-primary) !important;
    }
/* /Components/Pages/BusinessAnalyticsDashboard.razor.rz.scp.css */
/* ================================================================
   BusinessAnalyticsDashboard component styles
   Phase 3 token migration — CLC-DES-007
   ================================================================ */

/* ===== Component Trend Heatmap Card (base layout) ===== */

.component-trend-card[b-37ugnindbi] {
    padding: 16px;
    border-radius: 8px;
    height: 100%;
    transition: transform 0.2s;
}

.component-trend-card:hover[b-37ugnindbi] {
    transform: translateY(-2px);
}

/* ===== Heatmap signal variants ===== */

.component-trend-card--positive[b-37ugnindbi] {
    background: linear-gradient(135deg, var(--success-bg) 0%, var(--success-light) 100%);
    border-left: 4px solid var(--coral-success);
}

.component-trend-card--negative[b-37ugnindbi] {
    background: linear-gradient(135deg, var(--error-bg) 0%, var(--error-light) 100%);
    border-left: 4px solid var(--coral-error);
}

.component-trend-card--nodata[b-37ugnindbi] {
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-200) 100%);
    border-left: 4px solid var(--gray-400);
}

.component-trend-card--neutral[b-37ugnindbi] {
    background: linear-gradient(135deg, var(--gray-25) 0%, var(--gray-200) 100%);
    border-left: 4px solid var(--gray-500);
}

/* ===== Overview trend cards (border-left accent) ===== */

.analytics-trend-card--improving[b-37ugnindbi] {
    border-left: 4px solid var(--coral-success);
}

.analytics-trend-card--declining[b-37ugnindbi] {
    border-left: 4px solid var(--coral-error);
}

.analytics-trend-card--nodata[b-37ugnindbi] {
    border-left: 4px solid var(--gray-400);
}

.analytics-trend-card--neutral[b-37ugnindbi] {
    border-left: 4px solid var(--gray-500);
}

/* ===== Average score card ===== */

.analytics-avg-score-card--active[b-37ugnindbi] {
    border-left: 4px solid var(--coral-info);
}

.analytics-avg-score-card--nodata[b-37ugnindbi] {
    border-left: 4px solid var(--gray-400);
}

/* ===== Benchmark card ===== */

.analytics-benchmark-card--positive[b-37ugnindbi] {
    border-left: 4px solid var(--coral-success);
}

.analytics-benchmark-card--negative[b-37ugnindbi] {
    border-left: 4px solid var(--coral-error);
}

.analytics-benchmark-card--nodata[b-37ugnindbi] {
    border-left: 4px solid var(--gray-400);
}

/* ===== Days analyzed card ===== */

.analytics-days-card[b-37ugnindbi] {
    border-left: 4px solid var(--purple);
}

/* ===== Best practices card ===== */

.analytics-best-practice-card[b-37ugnindbi] {
    border-left: 4px solid var(--coral-success);
}

/* ===== Pattern impact cards ===== */

.analytics-pattern-card--positive[b-37ugnindbi] {
    background: var(--success-bg);
    border-left: 4px solid var(--coral-success);
}

.analytics-pattern-card--negative[b-37ugnindbi] {
    background: var(--error-bg);
    border-left: 4px solid var(--coral-error);
}

.analytics-pattern-card--neutral[b-37ugnindbi] {
    background: var(--gray-25);
    border-left: 4px solid var(--gray-500);
}

/* ===== Risk forecast cards ===== */

.analytics-forecast-card[b-37ugnindbi] {
    background: var(--gray-25);
}

.analytics-forecast-card--insufficient[b-37ugnindbi] {
    background: var(--gray-100);
}

/* ===== Metric value text colors ===== */

.analytics-value--purple[b-37ugnindbi] {
    color: var(--purple);
}

/* ===== "No data" secondary text (replaces inline style) ===== */

.analytics-no-data-text[b-37ugnindbi] {
    color: var(--coral-text-secondary);
}

/* ===== Reduced motion ===== */

@media (prefers-reduced-motion: reduce) {
    .component-trend-card[b-37ugnindbi] {
        transition: none;
    }

    .component-trend-card:hover[b-37ugnindbi] {
        transform: none;
    }
}
/* /Components/Pages/ClientDetails.razor.rz.scp.css */
/* ClientDetails component scoped styles — CLC-DES-011-06 */

/* ===== Header ===== */

.cd-client-avatar[b-xtlrny51mk] {
    background: linear-gradient(135deg, var(--reef-aqua), var(--coral-info));
    font-size: 1.5rem;
}

.cd-client-name[b-xtlrny51mk] {
    font-family: var(--font-heading, 'Poppins', sans-serif);
    color: var(--navy-blue);
    font-weight: 600;
}

/* ===== Utility text colours ===== */

.cd-text-secondary[b-xtlrny51mk] {
    color: var(--coral-text-secondary);
}

.cd-text-muted[b-xtlrny51mk] {
    color: var(--coral-text-muted);
}

.cd-text-navy[b-xtlrny51mk] {
    color: var(--navy-blue);
}

/* ===== Font weight ===== */

.cd-fw-600[b-xtlrny51mk] {
    font-weight: 600;
}

/* ===== Key metric cards (border-left accent) ===== */

.cd-metric-card--aqua[b-xtlrny51mk] {
    border-left: 4px solid var(--reef-aqua);
}

.cd-metric-card--pink[b-xtlrny51mk] {
    border-left: 4px solid var(--coral-pink);
}

.cd-metric-card--success[b-xtlrny51mk] {
    border-left: 4px solid var(--coral-success);
}

.cd-metric-card--warning[b-xtlrny51mk] {
    border-left: 4px solid var(--coral-warning);
}

/* ===== Metric value colours ===== */

.cd-metric-value[b-xtlrny51mk] {
    color: var(--navy-blue);
    font-weight: 600;
}

.cd-metric-value--success[b-xtlrny51mk] {
    color: var(--coral-success);
}

.cd-metric-value--warning[b-xtlrny51mk] {
    color: var(--coral-warning);
}

/* ===== Net VAT position card (dynamic state variants) ===== */

.cd-vat-card--due[b-xtlrny51mk] {
    background-color: var(--error-bg);
    border-left: 4px solid var(--error);
}

.cd-vat-card--refund[b-xtlrny51mk] {
    background-color: var(--success-bg);
    border-left: 4px solid var(--coral-success);
}

/* ===== Net VAT amount text (dynamic state variants) ===== */

.cd-vat-amount[b-xtlrny51mk] {
    font-weight: 700;
}

.cd-vat-amount--due[b-xtlrny51mk] {
    color: var(--error);
}

.cd-vat-amount--refund[b-xtlrny51mk] {
    color: var(--coral-success);
}

/* ===== Data quality value text (dynamic state variants) ===== */

.cd-quality-value[b-xtlrny51mk] {
    font-weight: 700;
}

.cd-quality-value--good[b-xtlrny51mk] {
    color: var(--coral-success);
}

.cd-quality-value--fair[b-xtlrny51mk] {
    color: var(--coral-warning);
}

.cd-quality-value--poor[b-xtlrny51mk] {
    color: var(--error);
}

/* ===== TIN / monospace ===== */

.cd-tin-mono[b-xtlrny51mk] {
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
}

.cd-tin-display[b-xtlrny51mk] {
    background-color: var(--coral-bg-primary);
    border-radius: 8px;
}

/* ===== Portal link ===== */

.cd-portal-link[b-xtlrny51mk] {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ===== S3-005: Successor indicator (re-attestation required) banner ===== */

/* Uses --coral-warning token for the alert background.  MudBlazor Severity.Warning
   already provides the amber background; this class adds the left border accent so
   the band is visually distinct from a generic informational alert. */
.voh-successor-banner[b-xtlrny51mk] {
    border-left: 4px solid var(--coral-warning, #F59E0B);
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */

@media (prefers-reduced-motion: reduce) {
    .voh-successor-banner[b-xtlrny51mk] {
        animation: none;
        transition: none;
    }
}
/* /Components/Pages/Clients.razor.rz.scp.css */
/* ================================================================
   Clients page — compliance progress bar + row accent styles
   CLC-EPIC-002-07
   ================================================================ */

/* Compliance cell layout */
.client-compliance-cell[b-vhnzcwky57] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Progress bar track */
.client-compliance-bar[b-vhnzcwky57] {
    width: 120px;
    height: 6px;
    border-radius: 3px;
    background-color: var(--gray-200);
    overflow: hidden;
    flex-shrink: 0;
}

/* Progress bar fill — shared properties */
.client-compliance-bar__fill[b-vhnzcwky57] {
    height: 6px;
    border-radius: 3px;
    transition: width 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
    .client-compliance-bar__fill[b-vhnzcwky57] {
        transition: none;
    }
}

/* Fill color variants per weather state */
.client-compliance-bar__fill--sunny[b-vhnzcwky57] {
    background-color: var(--weather-sunny);
}

.client-compliance-bar__fill--cloudy[b-vhnzcwky57] {
    background-color: var(--weather-cloudy);
}

.client-compliance-bar__fill--rainy[b-vhnzcwky57] {
    background-color: var(--weather-rainy);
}

.client-compliance-bar__fill--stormy[b-vhnzcwky57] {
    background-color: var(--weather-stormy);
}

/* Compliance score text — Inter 600 13px */
.client-compliance-score[b-vhnzcwky57] {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 13px;
    color: var(--coral-text-primary);
    min-width: 26px;
    text-align: right;
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* ================================================================
   Dashboard page — dark mode scoped styles
   CLC-DES-011 Phase 3 Substrate Hardening
   ================================================================ */

/* No page-specific classes moved from global overrides.
   Dashboard renders entirely through shared components (CoralMetricCard, etc.)
   whose dark-mode rules live in 04-coral-components.css or component-scoped CSS.
   This file exists as a forward-compatible scaffold per CLC-DES-011 protocol. */
/* /Components/Pages/Filing.razor.rz.scp.css */
/* ================================================================
   Filing page — dark mode scoped styles
   CLC-DES-011 Phase 3 Substrate Hardening
   ================================================================ */

/* ===== Page header title ===== */

/* Replaces inline style="font-family:'Poppins',sans-serif; color:var(--deep-sea); font-weight:600;"
   for the VAT Filing Center heading — dark mode override ensures readable contrast. */
.filing-page-title[b-a3fiqwmzop] {
    font-family: 'Poppins', sans-serif;
    color: var(--deep-sea);
    font-weight: 600;
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/Pages/Firm/CsA1QualifyingScreen.razor.rz.scp.css */
/* CsA1QualifyingScreen component scoped styles — S3-007 */

/* ===== Section panels ===== */

.csa1-section[b-15vdwo01yd] {
    border-radius: 10px;
}

/* ===== §32 sub-rule info cards ===== */

.csa1-subrule-card[b-15vdwo01yd] {
    border: 1px solid var(--mud-palette-divider, #e0e0e0);
    border-radius: 8px;
    background: var(--mud-palette-surface, #fff);
    transition: border-color 0.2s ease;
}

.csa1-subrule-card--active[b-15vdwo01yd] {
    border-color: var(--mud-palette-error, #f44336);
    background: var(--mud-palette-error-lighten, #fff5f5);
}

/* Dark mode */
body.mud-theme-dark .csa1-subrule-card[b-15vdwo01yd] {
    border-color: rgba(255, 255, 255, 0.12);
    background: var(--mud-palette-surface, #1e1e2e);
}

body.mud-theme-dark .csa1-subrule-card--active[b-15vdwo01yd] {
    border-color: var(--mud-palette-error, #f44336);
    background: rgba(244, 67, 54, 0.08);
}

@media (prefers-reduced-motion: reduce) {
    .csa1-subrule-card[b-15vdwo01yd] {
        transition: none;
    }
}
/* /Components/Pages/Firm/FirmPortal.razor.rz.scp.css */
/* ================================================================
   FirmPortal page — dark mode scoped styles
   CLC-DES-011 Phase 3 Substrate Hardening
   ================================================================ */

/* ===== Client overview cards ===== */

.firm-overview-card[b-ze4r7ldpnz] {
    height: 100%;
    transition: transform 0.15s ease;
}

.firm-overview-card:hover[b-ze4r7ldpnz] {
    transform: translateY(-2px);
}

/* ===== S3-005: Pending Re-attestations warning card ===== */

/* Uses --coral-warning token to signal that action is required. */
.voh-card--warning[b-ze4r7ldpnz] {
    border: 2px solid var(--coral-warning, #F59E0B);
    background-color: rgba(245, 158, 11, 0.06);
}

.voh-card--warning:hover[b-ze4r7ldpnz] {
    background-color: rgba(245, 158, 11, 0.12);
    transform: translateY(-2px);
    transition: background-color 0.15s ease, transform 0.15s ease;
}

/* ===== Firm clients data grid header ===== */

/* Overrides the hardcoded #1E3A5F constant (_firmPortalHeaderStyle) in dark mode.
   Light mode rule mirrors the C# constant to document the intent in one place. */
.mud-data-grid-firm-clients .mud-data-grid-col-header-cell[b-ze4r7ldpnz] {
    background-color: var(--deep-sea); /* same value as _firmPortalHeaderStyle — light mode only */
    color: white;
    font-weight: 600;
}

/* ===== Reduced motion ===== */

@media (prefers-reduced-motion: reduce) {
    .firm-overview-card[b-ze4r7ldpnz] {
        transition: none;
    }

    .firm-overview-card:hover[b-ze4r7ldpnz] {
        transform: none;
    }

    .voh-card--warning:hover[b-ze4r7ldpnz] {
        transform: none;
        transition: none;
    }
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/Pages/GetStarted.razor.rz.scp.css */
/* =============================================================================
   GetStarted.razor.css — Threshold Page "The Tide Turns"
   Design:   Dark-native, deep ocean indigo (#003D5B)
   Fonts:    Poppins (headline) · Inter (body)
   Motion:   Reveal sequence — respects prefers-reduced-motion
   Breakpoints: Desktop 1440 × 900 · Mobile 390 × 844
   WCAG:     All text/bg pairings >= AA (4.5 : 1)
   ============================================================================= */

/* ---------------------------------------------------------------------------
   PAGE WRAPPER
   --------------------------------------------------------------------------- */

.threshold-page[b-eenh369b3u] {
    min-height: 100dvh;
    background-color: var(--threshold-bg);
    background-image:
        radial-gradient(ellipse 80% 60% at 50% 0%, var(--threshold-bg-mid) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 20% 80%, var(--deep-sea-dark) 0%, transparent 70%);
    color: var(--threshold-text-bright);
    font-family: var(--font-body, 'Inter', sans-serif);
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    position: relative;
}

/* ---------------------------------------------------------------------------
   SKIP LINK (accessibility)
   --------------------------------------------------------------------------- */

.skip-link[b-eenh369b3u] {
    position: absolute;
    top: -40px;
    left: 16px;
    background: var(--reef-aqua);
    color: var(--threshold-dark-overlay);
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 4px;
    z-index: 9999;
    transition: top 150ms ease;
    text-decoration: none;
}

.skip-link:focus[b-eenh369b3u] {
    top: 16px;
    outline: 3px solid var(--bahamas-gold);
    outline-offset: 2px;
}

/* ---------------------------------------------------------------------------
   NAV
   --------------------------------------------------------------------------- */

.threshold-nav[b-eenh369b3u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 48px;
    position: relative;
    z-index: 10;
}

.threshold-brand[b-eenh369b3u] {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--threshold-text-bright);
}

.threshold-brand:focus-visible[b-eenh369b3u] {
    outline: 3px solid var(--reef-aqua);
    outline-offset: 4px;
    border-radius: 6px;
}

.brand-name[b-eenh369b3u] {
    font-family: var(--font-heading, 'Poppins', sans-serif);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.brand-accent[b-eenh369b3u] {
    color: var(--reef-aqua);
}

.threshold-nav-links[b-eenh369b3u] {
    display: flex;
    align-items: center;
    gap: 24px;
}

.nav-link[b-eenh369b3u] {
    color: var(--threshold-text-muted);
    text-decoration: none;
    font-size: 0.9375rem;
    font-weight: 500;
    transition: color 150ms ease-out;
}

.nav-link:hover[b-eenh369b3u] {
    color: var(--threshold-text-bright);
}

.nav-link:focus-visible[b-eenh369b3u] {
    outline: 3px solid var(--reef-aqua);
    outline-offset: 4px;
    border-radius: 4px;
}

/* ---------------------------------------------------------------------------
   HERO
   --------------------------------------------------------------------------- */

.threshold-hero[b-eenh369b3u] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 0;
    position: relative;
    overflow: hidden;
}

.threshold-content[b-eenh369b3u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 24px 48px;
    max-width: 740px;
    position: relative;
    z-index: 5;
}

/* ---------------------------------------------------------------------------
   BADGE
   --------------------------------------------------------------------------- */

.threshold-badge[b-eenh369b3u] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(var(--reef-aqua-rgb), 0.15);
    border: 1px solid rgba(var(--reef-aqua-rgb), 0.35);
    color: var(--reef-aqua-light);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 100px;
    margin-bottom: 28px;
}

.badge-dot[b-eenh369b3u] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--coral-success);
    box-shadow: 0 0 0 3px rgba(var(--coral-success-rgb), 0.25);
    animation: badge-pulse-b-eenh369b3u 2.4s ease-in-out infinite;
}

@keyframes badge-pulse-b-eenh369b3u {
    0%, 100% { box-shadow: 0 0 0 3px rgba(var(--coral-success-rgb), 0.25); }
    50%       { box-shadow: 0 0 0 6px rgba(var(--coral-success-rgb), 0.10); }
}

/* ---------------------------------------------------------------------------
   HEADLINE
   --------------------------------------------------------------------------- */

.threshold-headline[b-eenh369b3u] {
    font-family: var(--font-heading, 'Poppins', sans-serif);
    font-size: clamp(2.25rem, 5vw + 0.5rem, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: var(--coral-text-inverse);
    margin: 0 0 20px;
}

.headline-accent[b-eenh369b3u] {
    background: linear-gradient(135deg, var(--reef-aqua) 0%, var(--reef-aqua-light) 50%, var(--coral-success) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.headline-break[b-eenh369b3u] {
    display: block;
}

/* ---------------------------------------------------------------------------
   SUB-HEADLINE
   --------------------------------------------------------------------------- */

.threshold-subheadline[b-eenh369b3u] {
    font-size: clamp(1rem, 1.5vw + 0.5rem, 1.1875rem);
    font-weight: 400;
    line-height: 1.65;
    color: var(--threshold-text-muted);
    max-width: 540px;
    margin: 0 0 36px;
}

/* ---------------------------------------------------------------------------
   CTA BUTTONS
   --------------------------------------------------------------------------- */

.threshold-cta-group[b-eenh369b3u] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 36px;
}

.cta-primary[b-eenh369b3u] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--coral-pink);
    color: var(--coral-text-inverse);
    font-family: var(--font-heading, 'Poppins', sans-serif);
    font-size: 1.0625rem;
    font-weight: 600;
    text-decoration: none;
    padding: 15px 32px;
    border-radius: 50px;
    box-shadow: 0 4px 24px rgba(var(--coral-pink-rgb), 0.35);
    transition:
        background 200ms ease-out,
        box-shadow 200ms ease-out,
        transform 150ms ease-out;
    min-width: 200px;
    justify-content: center;
}

.cta-primary:hover[b-eenh369b3u] {
    background: var(--coral-primary-dark);
    box-shadow: 0 8px 32px rgba(var(--coral-pink-rgb), 0.50);
    transform: translateY(-2px);
}

.cta-primary:active[b-eenh369b3u] {
    transform: translateY(0);
    box-shadow: 0 3px 12px rgba(var(--coral-pink-rgb), 0.30);
}

.cta-primary:focus-visible[b-eenh369b3u] {
    outline: 3px solid var(--bahamas-gold);
    outline-offset: 3px;
    border-radius: 50px;
}

.cta-arrow[b-eenh369b3u] {
    flex-shrink: 0;
    transition: transform 200ms ease-out;
}

.cta-primary:hover .cta-arrow[b-eenh369b3u] {
    transform: translateX(3px);
}

.cta-secondary[b-eenh369b3u] {
    display: inline-flex;
    align-items: center;
    color: var(--threshold-text-muted);
    font-size: 0.9375rem;
    font-weight: 500;
    text-decoration: none;
    padding: 15px 24px;
    border-radius: 50px;
    border: 1px solid rgba(184, 212, 223, 0.30);
    transition:
        color 150ms ease-out,
        border-color 150ms ease-out,
        background 150ms ease-out;
}

.cta-secondary:hover[b-eenh369b3u] {
    color: var(--threshold-text-bright);
    border-color: rgba(184, 212, 223, 0.55);
    background: rgba(255, 255, 255, 0.05);
}

.cta-secondary:focus-visible[b-eenh369b3u] {
    outline: 3px solid var(--reef-aqua);
    outline-offset: 3px;
    border-radius: 50px;
}

/* ---------------------------------------------------------------------------
   TRUST ROW
   --------------------------------------------------------------------------- */

.threshold-trust[b-eenh369b3u] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.trust-item[b-eenh369b3u] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.8125rem;
    color: var(--threshold-text-soft);
    font-weight: 500;
}

.trust-item svg[b-eenh369b3u] {
    flex-shrink: 0;
}

/* ---------------------------------------------------------------------------
   REEF ILLUSTRATION
   --------------------------------------------------------------------------- */

.threshold-reef-wrap[b-eenh369b3u] {
    width: 100%;
    position: relative;
    z-index: 2;
    line-height: 0;
    pointer-events: none;
    margin-top: -40px;
}

.threshold-reef[b-eenh369b3u] {
    width: 100%;
    height: auto;
    display: block;
    max-height: 380px;
    object-fit: cover;
    object-position: center bottom;
}

/* ---------------------------------------------------------------------------
   FOOTER
   --------------------------------------------------------------------------- */

.threshold-footer[b-eenh369b3u] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    background: rgba(0, 26, 44, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: relative;
    z-index: 10;
}

.footer-link[b-eenh369b3u] {
    color: var(--threshold-text-dim);
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 150ms ease-out;
}

.footer-link:hover[b-eenh369b3u] {
    color: var(--threshold-text-muted);
}

.footer-link:focus-visible[b-eenh369b3u] {
    outline: 3px solid var(--reef-aqua);
    outline-offset: 2px;
    border-radius: 3px;
}

.footer-sep[b-eenh369b3u] {
    color: var(--threshold-separator);
}

.footer-copy[b-eenh369b3u] {
    color: var(--threshold-copy);
    font-size: 0.8125rem;
}

/* =============================================================================
   REVEAL ANIMATIONS
   Motion spec: staggered entrance — reef rises, content fades up
   All animations respect prefers-reduced-motion.

   Sequence (ms from page ready):
     0        Reef rises (translateY +60px → 0, opacity 0→1, 900ms ease-out)
     100–500  Logo/nav (opacity 0→1, translateY -10px→0, 300ms ease-out)
     300–650  Badge (opacity 0→1, translateY 12px→0, 350ms ease-out)
     500–850  Headline (opacity 0→1, translateY 18px→0, 350ms ease-out)
     650–950  Sub-headline (opacity 0→1, translateY 14px→0, 300ms ease-out)
     780–1080 CTA group (opacity 0→1, translateY 14px→0, scale .97→1, 300ms)
     900–1150 Trust row (opacity 0→1, translateY 10px→0, 250ms ease-out)

   Reduced motion: all items visible immediately (opacity 1, no transform).
   ============================================================================= */

/* ------ Initial hidden states (before animation runs) ------ */

.reveal-reef[b-eenh369b3u],
.reveal-badge[b-eenh369b3u],
.reveal-headline[b-eenh369b3u],
.reveal-subheadline[b-eenh369b3u],
.reveal-cta[b-eenh369b3u],
.reveal-trust[b-eenh369b3u] {
    opacity: 0;
}

/* ------ Reef rises from below ------ */

@keyframes reef-rise-b-eenh369b3u {
    from {
        opacity: 0;
        transform: translateY(60px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ------ Content fade-up ------ */

@keyframes fade-up-sm-b-eenh369b3u {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-up-xs-b-eenh369b3u {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cta-entrance-b-eenh369b3u {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ------ Apply animations with staggered delays ------ */

.reveal-reef[b-eenh369b3u] {
    animation: reef-rise-b-eenh369b3u 900ms 0ms cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

.reveal-badge[b-eenh369b3u] {
    animation: fade-up-xs-b-eenh369b3u 350ms 300ms cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

.reveal-headline[b-eenh369b3u] {
    animation: fade-up-sm-b-eenh369b3u 350ms 500ms cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

.reveal-subheadline[b-eenh369b3u] {
    animation: fade-up-xs-b-eenh369b3u 300ms 650ms cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

.reveal-cta[b-eenh369b3u] {
    animation: cta-entrance-b-eenh369b3u 300ms 780ms cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

.reveal-trust[b-eenh369b3u] {
    animation: fade-up-xs-b-eenh369b3u 250ms 900ms cubic-bezier(0.0, 0.0, 0.2, 1) forwards;
}

/* ------ Reduced motion: skip all transforms, use instant opacity ------ */

@media (prefers-reduced-motion: reduce) {
    .badge-dot[b-eenh369b3u] {
        animation: none;
    }

    .reveal-reef[b-eenh369b3u],
    .reveal-badge[b-eenh369b3u],
    .reveal-headline[b-eenh369b3u],
    .reveal-subheadline[b-eenh369b3u],
    .reveal-cta[b-eenh369b3u],
    .reveal-trust[b-eenh369b3u] {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .cta-primary[b-eenh369b3u],
    .cta-secondary[b-eenh369b3u],
    .nav-link[b-eenh369b3u],
    .footer-link[b-eenh369b3u] {
        transition: none;
    }

    .cta-primary:hover[b-eenh369b3u],
    .cta-primary:active[b-eenh369b3u] {
        transform: none;
    }

    .cta-primary:hover .cta-arrow[b-eenh369b3u] {
        transform: none;
    }
}

/* =============================================================================
   RESPONSIVE — Mobile 390px × 844px
   ============================================================================= */

@media (max-width: 640px) {
    .threshold-nav[b-eenh369b3u] {
        padding: 16px 20px;
    }

    .threshold-content[b-eenh369b3u] {
        padding: 0 20px 36px;
    }

    .threshold-cta-group[b-eenh369b3u] {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .cta-primary[b-eenh369b3u],
    .cta-secondary[b-eenh369b3u] {
        justify-content: center;
        width: 100%;
    }

    .threshold-trust[b-eenh369b3u] {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
        padding-left: 4px;
    }

    .threshold-reef-wrap[b-eenh369b3u] {
        margin-top: -20px;
    }

    .headline-break[b-eenh369b3u] {
        display: inline;
    }

    .threshold-footer[b-eenh369b3u] {
        flex-wrap: wrap;
        gap: 8px;
    }
}

/* =============================================================================
   RESPONSIVE — Tablet 641–1023px
   ============================================================================= */

@media (min-width: 641px) and (max-width: 1023px) {
    .threshold-nav[b-eenh369b3u] {
        padding: 20px 32px;
    }

    .threshold-content[b-eenh369b3u] {
        max-width: 640px;
    }
}

/* =============================================================================
   RESPONSIVE — Large desktop 1440px+
   ============================================================================= */

@media (min-width: 1440px) {
    .threshold-nav[b-eenh369b3u] {
        padding: 24px 72px;
    }

    .threshold-content[b-eenh369b3u] {
        max-width: 800px;
    }
}
/* /Components/Pages/Import.razor.rz.scp.css */
/* Component-scoped CSS for Import.razor */

/* Hide the native file input off-screen but keep it focusable and accessible */
.file-input-hidden[b-iczy9ceaec] {
    position: absolute;
    left: -9999px;
    opacity: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Optional: Layout helper for the file picker row */
.file-picker[b-iczy9ceaec] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}

/* Ensure the file picker button styling matches Mud primary button */
.file-picker-label[b-iczy9ceaec] {
    /* This will inherit MudBlazor's button styles from the applied classes */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
}

/* When focused (via keyboard navigation), show focus outline on the label */
.file-input-hidden:focus + .file-picker-label[b-iczy9ceaec] {
    outline: 2px solid var(--coral-info);
    outline-offset: 2px;
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
/* ================================================================
   NotFound.razor.css — 404 "Beyond the Reef" error surface
   CLC-DES-021 · Token-only discipline (REQ-UX-001)
   Dark-mode parity via .mud-theme-dark token overrides (REQ-UX-002)
   ================================================================ */

/* ── Page wrapper ─────────────────────────────────────────────── */
.nf-page[b-5bgek8dt28] {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl, 32px) var(--space-md, 16px);
    background: var(--coral-bg-primary, #F8F9FA);
}

/* ── Content container ────────────────────────────────────────── */
.nf-container[b-5bgek8dt28] {
    max-width: 560px;
    width: 100%;
    text-align: center;
}

/* ── SVG illustration ─────────────────────────────────────────── */
.nf-illustration[b-5bgek8dt28] {
    display: flex;
    justify-content: center;
    margin-bottom: var(--space-lg, 24px);
}

.nf-svg[b-5bgek8dt28] {
    width: 180px;
    height: 140px;
}

/* SVG element classes — use fill/stroke from design tokens */
.nf-sea-floor[b-5bgek8dt28] {
    fill: var(--coral-bg-tertiary, #E9ECEF);
}

.nf-coral[b-5bgek8dt28] {
    fill: var(--coral-pink, #FF6633);
    opacity: 0.85;
}

.nf-coral-light[b-5bgek8dt28] {
    fill: var(--coral-primary-light, #FF8B70);
    opacity: 0.65;
}

.nf-anchor-stroke[b-5bgek8dt28] {
    stroke: var(--reef-aqua, #00B8D4);
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.nf-bubble[b-5bgek8dt28] {
    fill: var(--reef-aqua, #00B8D4);
    opacity: 0.35;
}

.nf-404-label[b-5bgek8dt28] {
    fill: var(--reef-aqua, #00B8D4);
}

/* ── Typography ───────────────────────────────────────────────── */
.nf-headline[b-5bgek8dt28] {
    font-family: var(--font-family-heading, 'Poppins', 'Inter', sans-serif);
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: var(--font-bold, 700);
    color: var(--coral-text-primary, #1A1A2E);
    margin: 0 0 var(--space-sm, 8px);
    line-height: var(--leading-tight, 1.25);
}

.nf-subheading[b-5bgek8dt28] {
    font-size: 1rem;
    font-weight: var(--font-semibold, 600);
    color: var(--reef-aqua, #00B8D4);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider, 0.05em);
    margin: 0 0 var(--space-md, 16px);
}

.nf-body[b-5bgek8dt28] {
    font-size: var(--font-size-base, 1rem);
    color: var(--coral-text-secondary, #6C757D);
    line-height: var(--leading-relaxed, 1.625);
    margin: 0 0 var(--space-xl, 32px);
}

.nf-hint[b-5bgek8dt28] {
    margin-top: var(--space-xl, 32px);
    font-size: var(--font-size-sm, 0.875rem);
    color: var(--coral-text-muted, #6C757D);
}

.nf-support-link[b-5bgek8dt28] {
    color: var(--reef-aqua, #00B8D4);
    text-decoration: none;
    font-weight: var(--font-medium, 500);
}

.nf-support-link:hover[b-5bgek8dt28],
.nf-support-link:focus-visible[b-5bgek8dt28] {
    text-decoration: underline;
    outline: 2px solid var(--reef-aqua, #00B8D4);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Action buttons wrapper ───────────────────────────────────── */
.nf-actions[b-5bgek8dt28] {
    display: flex;
    gap: var(--space-sm, 8px);
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 0;
}

/* MudButton style overrides — tokens only, no hardcoded colours */
.nf-btn-primary .mud-button-root[b-5bgek8dt28] {
    background: var(--gradient-reef, linear-gradient(135deg, var(--reef-aqua, #00B8D4) 0%, var(--reef-aqua-light, #66C2D9) 100%));
    color: var(--coral-text-inverse, #FFFFFF);
    text-transform: none;
    font-weight: var(--font-semibold, 600);
    box-shadow: var(--shadow-reef, 0 4px 12px rgba(0, 184, 212, 0.15));
}

.nf-btn-secondary .mud-button-root[b-5bgek8dt28] {
    border-color: var(--reef-aqua, #00B8D4);
    color: var(--reef-aqua, #00B8D4);
    text-transform: none;
}

/* ================================================================
   DARK MODE — driven entirely by .mud-theme-dark token overrides
   The following rules are only needed for properties that cannot
   be expressed via a CSS token (e.g. SVG opacity tweaks).
   ================================================================ */
.mud-theme-dark .nf-page[b-5bgek8dt28] {
    background: var(--coral-bg-primary, #111827);
}

.mud-theme-dark .nf-sea-floor[b-5bgek8dt28] {
    fill: var(--coral-bg-tertiary, #374151);
}

.mud-theme-dark .nf-bubble[b-5bgek8dt28] {
    opacity: 0.25;
}

/* ================================================================
   ACCESSIBILITY — high-contrast and focus styles
   ================================================================ */
@media (prefers-contrast: high) {
    .nf-coral[b-5bgek8dt28] {
        opacity: 1;
    }

    .nf-bubble[b-5bgek8dt28] {
        opacity: 0.6;
    }

    .nf-support-link[b-5bgek8dt28] {
        text-decoration: underline;
    }
}

/* Visually-hidden utility (WCAG technique) */
.nf-sr-only[b-5bgek8dt28] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
/* /Components/Pages/Transactions.razor.rz.scp.css */
/* ================================================================
   Transactions page — dark mode scoped styles
   CLC-DES-011 Phase 3 Substrate Hardening
   ================================================================ */

/* ===== Active filter bar label ===== */

/* ===== Data grid container ===== */

.transactions-data-grid[b-hi62s3bpw0] {
    border-radius: 8px;
    overflow: hidden;
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/Pages/VATEntry.razor.rz.scp.css */
/* VATEntry component scoped styles — S3-005 additions */

/* ===== S3-005: Blocked-poster warning band ===== */

/* Uses --coral-warning token colour, rendered as a full-width Filled MudAlert.
   REQ-VOH-002 v1.1: --coral-warning band, no retry affordance. */
.voh-blocked-poster-band[b-h6l8curtn3] {
    border-left: 4px solid var(--coral-warning, #F59E0B);
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */

@media (prefers-reduced-motion: reduce) {
    .voh-blocked-poster-band[b-h6l8curtn3] {
        animation: none;
        transition: none;
    }
}
/* /Components/Pages/VATReturns.razor.rz.scp.css */
/* ================================================================
   VATReturns page — dark mode scoped styles
   CLC-DES-011 Phase 3 Substrate Hardening
   ================================================================ */

/* ===== Return data rows ===== */

.return-data-row[b-gwvi6lr7od] {
    transition: background-color 0.15s ease;
}

/* ===== VAT amount columns ===== */

/* Section 56A eligibility — replaces hardcoded #16a34a / #dc2626 in light mode */
.section56a-eligible-icon[b-gwvi6lr7od],
.section56a-eligible-text[b-gwvi6lr7od] {
    color: var(--coral-success);
}

.section56a-ineligible-icon[b-gwvi6lr7od] {
    color: var(--coral-error);
}

/* ===== Reduced motion ===== */

@media (prefers-reduced-motion: reduce) {
    .return-data-row[b-gwvi6lr7od] {
        transition: none;
    }
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
/* /Components/RowActions/RowActions.razor.rz.scp.css */
/* CLC-DES-024 — Row Action Density scoped styles */

/* Outer container — 4px gap between primary buttons, 8px before overflow trigger */
.row-actions[b-p29ebw0h9c] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
}

/* Individual primary action button — 36×36 hit target */
.row-actions .row-action-btn[b-p29ebw0h9c] {
    color: var(--coral-text-secondary);
    transition: color 0.15s, background-color 0.15s;
}

.row-actions .row-action-btn:hover:not([disabled])[b-p29ebw0h9c] {
    color: var(--coral-text-primary);
    background-color: var(--coral-bg-tertiary);
}

.row-actions .row-action-btn:disabled[b-p29ebw0h9c],
.row-actions .row-action-btn[aria-disabled="true"][b-p29ebw0h9c] {
    color: var(--coral-text-muted);
    cursor: not-allowed;
}

/* Gap between last primary button and overflow trigger */
.row-actions .row-action-overflow[b-p29ebw0h9c] {
    margin-left: 4px;
}

/* Empty state placeholder */
.row-actions-empty[b-p29ebw0h9c] {
    color: var(--coral-text-muted);
    font-size: 0.875rem;
    padding: 0 8px;
    user-select: none;
}
/* /Components/Shared/ComplianceWeather.razor.rz.scp.css */
/* ===================================================================
   ComplianceWeather Component - Scoped Styles
   Weather-based compliance status visualization
   =================================================================== */

.compliance-weather[b-85iycv4l0b] {
    display: flex;
    align-items: center;
    gap: var(--space-lg, 24px);
    padding: var(--space-lg, 24px);
    border-radius: var(--radius-xl, 16px);
    transition: all var(--transition-slow, 350ms) ease;
    position: relative;
    overflow: hidden;
}

/* Large size variant */
.compliance-weather--large[b-85iycv4l0b] {
    padding: var(--space-xl, 32px) var(--space-2xl, 48px);
    gap: var(--space-xl, 32px);
}

/* ===== Weather Status Backgrounds ===== */

.compliance-weather--sunny[b-85iycv4l0b] {
    background: var(--weather-sunny-gradient, linear-gradient(135deg, #D1FAE5 0%, #10B981 100%));
    color: var(--weather-sunny-text);
}

.compliance-weather--cloudy[b-85iycv4l0b] {
    background: var(--weather-cloudy-gradient, linear-gradient(135deg, #FEF3C7 0%, #F59E0B 100%));
    color: var(--weather-cloudy-text);
}

.compliance-weather--rainy[b-85iycv4l0b] {
    background: var(--weather-rainy-gradient, linear-gradient(135deg, #FFEDD5 0%, #F97316 100%));
    color: var(--weather-rainy-text);
}

.compliance-weather--stormy[b-85iycv4l0b] {
    background: var(--weather-stormy-gradient, linear-gradient(135deg, #FEE2E2 0%, #DC2626 100%));
    color: var(--tide-empty);
}

.compliance-weather--neutral[b-85iycv4l0b] {
    background: var(--weather-neutral-gradient, linear-gradient(135deg, #F3F4F6 0%, #9CA3AF 100%));
    color: var(--compliance-weather-text);
}

.compliance-weather--neutral .compliance-weather__headline[b-85iycv4l0b] {
    color: var(--compliance-weather-text);
    font-weight: 700;
}

.compliance-weather--neutral .compliance-weather__subtext[b-85iycv4l0b] {
    color: var(--compliance-weather-subtext);
}

/* ===== Icon Container ===== */

.compliance-weather__icon-container[b-85iycv4l0b] {
    flex-shrink: 0;
}

.compliance-weather__icon[b-85iycv4l0b] {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.compliance-weather--large .compliance-weather__icon[b-85iycv4l0b] {
    width: 80px;
    height: 80px;
}

.compliance-weather__svg[b-85iycv4l0b] {
    width: 100%;
    height: 100%;
    color: currentColor;
}

/* ===== Content ===== */

.compliance-weather__content[b-85iycv4l0b] {
    flex: 1;
    min-width: 0;
}

.compliance-weather__headline[b-85iycv4l0b] {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 var(--space-xs, 4px) 0;
    line-height: 1.2;
}

.compliance-weather--large .compliance-weather__headline[b-85iycv4l0b] {
    font-size: 2rem;
}

.compliance-weather__subtext[b-85iycv4l0b] {
    font-size: 0.95rem;
    margin: 0 0 var(--space-sm, 8px) 0;
    opacity: 0.9;
    line-height: 1.4;
}

.compliance-weather--large .compliance-weather__subtext[b-85iycv4l0b] {
    font-size: 1.1rem;
}

.compliance-weather__grade[b-85iycv4l0b] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs, 4px);
    padding: var(--space-xs, 4px) var(--space-sm, 8px);
    background: rgba(255, 255, 255, 0.3);
    border-radius: var(--radius-md, 8px);
    font-size: 0.875rem;
    font-weight: 500;
}

.compliance-weather__grade-label[b-85iycv4l0b] {
    opacity: 0.8;
}

.compliance-weather__grade-value[b-85iycv4l0b] {
    font-weight: 700;
    font-size: 1rem;
}

.compliance-weather__score[b-85iycv4l0b] {
    opacity: 0.8;
}

.compliance-weather__extra[b-85iycv4l0b] {
    margin-top: var(--space-md, 16px);
}

/* ===== Action Button ===== */

.compliance-weather__action[b-85iycv4l0b] {
    flex-shrink: 0;
}

.compliance-weather__action-button[b-85iycv4l0b] {
    white-space: nowrap;
}

/* Ensure button text is visible on gradient backgrounds */
.compliance-weather--sunny .compliance-weather__action-button[b-85iycv4l0b] {
    --mud-palette-primary: #047857; /* TOKEN-EXCEPTION: #047857 — emerald-700 MudBlazor palette override; must use vendor var name, not design token */
}

.compliance-weather--stormy .compliance-weather__action-button[b-85iycv4l0b] {
    --mud-palette-error: #991B1B; /* TOKEN-EXCEPTION: #991B1B — red-800 MudBlazor palette override; must use vendor var name, not design token */
}

/* ===== Responsive Design ===== */

@media (max-width: 768px) {
    .compliance-weather[b-85iycv4l0b] {
        flex-direction: column;
        text-align: center;
        gap: var(--space-md, 16px);
    }

    .compliance-weather__icon[b-85iycv4l0b] {
        width: 56px;
        height: 56px;
    }

    .compliance-weather__headline[b-85iycv4l0b] {
        font-size: 1.25rem;
    }

    .compliance-weather__subtext[b-85iycv4l0b] {
        font-size: 0.875rem;
    }

    .compliance-weather__grade[b-85iycv4l0b] {
        justify-content: center;
    }

    .compliance-weather--large[b-85iycv4l0b] {
        padding: var(--space-lg, 24px);
    }

    .compliance-weather--large .compliance-weather__icon[b-85iycv4l0b] {
        width: 64px;
        height: 64px;
    }

    .compliance-weather--large .compliance-weather__headline[b-85iycv4l0b] {
        font-size: 1.5rem;
    }
}

/* ===== Accessibility ===== */

@media (prefers-reduced-motion: reduce) {
    .compliance-weather[b-85iycv4l0b] {
        transition: none;
    }
}

@media (prefers-contrast: high) {
    .compliance-weather[b-85iycv4l0b] {
        border: 2px solid currentColor;
    }

    .compliance-weather__grade[b-85iycv4l0b] {
        background: rgba(0, 0, 0, 0.2);
    }
}

/* ===== Print Styles ===== */

@media print {
    .compliance-weather[b-85iycv4l0b] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        break-inside: avoid;
    }

    .compliance-weather__action[b-85iycv4l0b] {
        display: none;
    }
}

/* ===== Dark Mode Support ===== */
/* Dark mode styles are defined in 04-coral-components.css with !important
   to override scoped CSS specificity. Scoped CSS with :global() was not
   being processed correctly by Blazor's CSS isolation. */

/* Text color classes for theme compatibility */
.text-primary[b-85iycv4l0b] {
    color: var(--mud-palette-text-primary) !important;
}

.text-secondary[b-85iycv4l0b] {
    color: var(--mud-palette-text-secondary) !important;
}
/* /Components/Shared/DeadlineCountdownWidget.razor.rz.scp.css */
/* DeadlineCountdownWidget.razor.css */
/* Styling for the Filing Deadline Countdown Widget */

.deadline-countdown-widget[b-k2jf0ln9ke] {
    background: var(--mud-palette-surface);
    border-radius: 8px;
}

.widget-header[b-k2jf0ln9ke] {
    display: flex;
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.deadline-list[b-k2jf0ln9ke] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.deadline-item[b-k2jf0ln9ke] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    border-left: 4px solid;
    border-radius: 4px;
    background: var(--mud-palette-background);
    transition: all 0.3s ease;
}

.deadline-item:hover[b-k2jf0ln9ke] {
    background: var(--mud-palette-table-hover);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.deadline-content[b-k2jf0ln9ke] {
    flex: 1;
    min-width: 0;
}

.deadline-header[b-k2jf0ln9ke] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.deadline-info[b-k2jf0ln9ke] {
    margin-top: 4px;
}

.deadline-countdown[b-k2jf0ln9ke] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    padding-left: 16px;
}

.deadline-badge[b-k2jf0ln9ke] {
    white-space: nowrap;
    font-weight: 600;
}

/* Urgency-based styling */
.deadline-item.overdue[b-k2jf0ln9ke] {
    border-left-color: var(--mud-palette-error);
    border-left-width: 6px;
    background-color: rgba(211, 47, 47, 0.06);
}

.deadline-item.today[b-k2jf0ln9ke] {
    border-left-color: var(--mud-palette-warning);
}

.deadline-item.high[b-k2jf0ln9ke] {
    border-left-color: var(--mud-palette-warning-darken);
}

.deadline-item.medium[b-k2jf0ln9ke] {
    border-left-color: var(--mud-palette-warning);
}

.deadline-item.low[b-k2jf0ln9ke] {
    border-left-color: var(--mud-palette-success);
}

/* Responsive design */
@media (max-width: 768px) {
    .deadline-item[b-k2jf0ln9ke] {
        flex-direction: column;
        align-items: flex-start;
    }

    .deadline-countdown[b-k2jf0ln9ke] {
        margin-top: 12px;
        padding-left: 0;
        align-items: flex-start;
    }
}
/* /Components/Shared/FilingUrgencyRow.razor.rz.scp.css */
/* ===================================================================
   FilingUrgencyRow — CLC-EPIC-002-09
   Urgency-scaled row styles for filing deadline list on /filing.
   Four states: clear / approaching / urgent / overdue
   =================================================================== */

/* ── Base row layout ──────────────────────────────────────────────── */
.filing-urgency-row[b-3yfc9jmme2] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 20px;
    border-radius: 8px;
    border-left: 4px solid transparent;
    margin-bottom: 8px;
    transition: background 0.2s ease, border-left-width 0.2s ease;
    position: relative;
}

/* ── CLEAR — ☀ 14+ days — 48 px — 4 px green border ─────────────── */
.filing-urgency-row--clear[b-3yfc9jmme2] {
    min-height: 48px;
    background: #ffffff;
    border-left: 4px solid var(--weather-sunny);
}

/* ── APPROACHING — ⛅ 7–14 days — 56 px — 6 px amber border ─────── */
.filing-urgency-row--approaching[b-3yfc9jmme2] {
    min-height: 56px;
    background: var(--warning-bg);
    border-left: 6px solid var(--weather-cloudy);
}

/* ── URGENT — 🌧 0–7 days — 64 px — 6 px orange border ──────────── */
.filing-urgency-row--urgent[b-3yfc9jmme2] {
    min-height: 64px;
    background: var(--weather-rainy-light);
    border-left: 6px solid var(--weather-rainy);
}

/* ── OVERDUE — 🌩 past due — 72 px — 6 px red border + outline ───── */
.filing-urgency-row--overdue[b-3yfc9jmme2] {
    min-height: 72px;
    background: var(--error-bg);
    border-left: 6px solid var(--weather-stormy);
    outline: 1px solid var(--weather-stormy-light);
}

/* ── Icon circle ──────────────────────────────────────────────────── */
.filing-urgency-row__icon[b-3yfc9jmme2] {
    flex-shrink: 0;
}

.filing-urgency-row__icon-circle[b-3yfc9jmme2] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.07);
}

.filing-urgency-row__icon-circle--clear[b-3yfc9jmme2] {
    width: 28px;
    height: 28px;
    background: var(--weather-sunny-light);
    color: var(--weather-sunny-text);
}

.filing-urgency-row__icon-circle--approaching[b-3yfc9jmme2] {
    width: 32px;
    height: 32px;
    background: var(--weather-cloudy-light);
    color: var(--weather-cloudy-text);
}

.filing-urgency-row__icon-circle--urgent[b-3yfc9jmme2] {
    width: 36px;
    height: 36px;
    background: var(--weather-rainy-light);
    color: var(--weather-rainy-text);
}

.filing-urgency-row__icon-circle--overdue[b-3yfc9jmme2] {
    width: 40px;
    height: 40px;
    background: var(--weather-stormy-light);
    color: var(--weather-stormy-text);
}

/* ── Content (period name + deadline meta) ────────────────────────── */
.filing-urgency-row__content[b-3yfc9jmme2] {
    flex: 1;
    min-width: 0;
}

.filing-urgency-row__period[b-3yfc9jmme2] {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--deep-sea);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.filing-urgency-row--overdue .filing-urgency-row__period[b-3yfc9jmme2] {
    color: var(--error-dark);
}

.filing-urgency-row__meta[b-3yfc9jmme2] {
    font-size: 0.8125rem;
    margin-top: 2px;
}

/* "OVERDUE BY N DAYS" label */
.filing-urgency-row__overdue-label[b-3yfc9jmme2] {
    color: var(--error);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.75rem;
}

/* Deadline date / days-remaining text */
.filing-urgency-row__deadline-text[b-3yfc9jmme2] {
    color: var(--compliance-weather-subtext);
}

.filing-urgency-row--urgent .filing-urgency-row__deadline-text[b-3yfc9jmme2] {
    color: var(--weather-rainy-text);
    font-weight: 600;
}

/* ── CTA column ───────────────────────────────────────────────────── */
.filing-urgency-row__cta[b-3yfc9jmme2] {
    flex-shrink: 0;
}

/* ── Dark mode ────────────────────────────────────────────────────── */
.dark-mode .filing-urgency-row--clear[b-3yfc9jmme2] {
    background: rgba(16, 185, 129, 0.06);
    border-left-color: var(--weather-sunny);
}

.dark-mode .filing-urgency-row--approaching[b-3yfc9jmme2] {
    background: rgba(245, 158, 11, 0.10);
    border-left-color: var(--weather-cloudy);
}

.dark-mode .filing-urgency-row--urgent[b-3yfc9jmme2] {
    background: rgba(249, 115, 22, 0.12);
    border-left-color: var(--weather-rainy);
}

.dark-mode .filing-urgency-row--overdue[b-3yfc9jmme2] {
    background: rgba(220, 38, 38, 0.15);
    border-left-color: var(--weather-stormy);
    outline-color: rgba(220, 38, 38, 0.3);
}

.dark-mode .filing-urgency-row--clear .filing-urgency-row__icon-circle--clear[b-3yfc9jmme2] {
    background: rgba(16, 185, 129, 0.2);
}

.dark-mode .filing-urgency-row--approaching .filing-urgency-row__icon-circle--approaching[b-3yfc9jmme2] {
    background: rgba(245, 158, 11, 0.2);
}

.dark-mode .filing-urgency-row--urgent .filing-urgency-row__icon-circle--urgent[b-3yfc9jmme2] {
    background: rgba(249, 115, 22, 0.2);
}

.dark-mode .filing-urgency-row--overdue .filing-urgency-row__icon-circle--overdue[b-3yfc9jmme2] {
    background: rgba(220, 38, 38, 0.25);
}

.dark-mode .filing-urgency-row__period[b-3yfc9jmme2] {
    color: var(--dm-text);
}

.dark-mode .filing-urgency-row--overdue .filing-urgency-row__period[b-3yfc9jmme2] {
    color: #FCA5A5; /* Red 300 — readable on dark bg */
}

.dark-mode .filing-urgency-row__deadline-text[b-3yfc9jmme2] {
    color: var(--dm-text-muted);
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .filing-urgency-row[b-3yfc9jmme2] {
        flex-wrap: wrap;
    }

    .filing-urgency-row__cta[b-3yfc9jmme2] {
        width: 100%;
        margin-top: 4px;
    }

    .filing-urgency-row__cta .mud-button-root[b-3yfc9jmme2] {
        width: 100%;
    }
}
/* /Components/Shared/QuickStatusCard.razor.rz.scp.css */
/* ===================================================================
   QuickStatusCard Component - Scoped Styles
   Enhanced metric card with animated numbers and trends
   =================================================================== */

.quick-status-card[b-4te1et2prj] {
    position: relative;
    padding: var(--space-md, 16px);
    background: white;
    border-radius: var(--radius-lg, 12px);
    box-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
    transition: all var(--transition-base, 250ms) ease;
    overflow: hidden;
    animation: quick-status-enter-b-4te1et2prj 0.4s ease-out forwards;
    opacity: 0;
    transform: translateY(10px);
}

@keyframes quick-status-enter-b-4te1et2prj {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.quick-status-card:hover[b-4te1et2prj] {
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
    transform: translateY(-2px);
}

/* ===== Status Variants ===== */

.quick-status-card--neutral[b-4te1et2prj] {
    border-left: 4px solid var(--gray-400, #9CA3AF);
}

.quick-status-card--success[b-4te1et2prj] {
    border-left: 4px solid var(--weather-sunny, #10B981);
    background: linear-gradient(135deg, var(--success-bg) 0%, var(--white) 50%);
}

.quick-status-card--warning[b-4te1et2prj] {
    border-left: 4px solid var(--weather-cloudy, #F59E0B);
    background: linear-gradient(135deg, var(--warning-bg) 0%, var(--white) 50%);
}

.quick-status-card--danger[b-4te1et2prj] {
    border-left: 4px solid var(--weather-stormy, #DC2626);
    background: linear-gradient(135deg, var(--error-bg) 0%, var(--white) 50%);
}

.quick-status-card--info[b-4te1et2prj] {
    border-left: 4px solid var(--reef-aqua, #00B8D4);
    background: linear-gradient(135deg, var(--info-bg) 0%, var(--white) 50%);
}

/* ===== Header ===== */

.quick-status-card__header[b-4te1et2prj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-xs, 4px);
}

.quick-status-card__label[b-4te1et2prj] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gray-500, #6B7280);
}

/* ===== Trend Indicator ===== */

.quick-status-card__trend[b-4te1et2prj] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: var(--radius-sm, 4px);
}

.quick-status-card__trend--up[b-4te1et2prj] {
    color: var(--weather-sunny, #10B981);
    background: rgba(16, 185, 129, 0.1);
}

.quick-status-card__trend--down[b-4te1et2prj] {
    color: var(--weather-stormy, #DC2626);
    background: rgba(220, 38, 38, 0.1);
}

.quick-status-card__trend--neutral[b-4te1et2prj] {
    color: var(--gray-500, #6B7280);
    background: rgba(107, 114, 128, 0.1);
}

.quick-status-card__trend-value[b-4te1et2prj] {
    font-variant-numeric: tabular-nums;
}

/* ===== Value Display ===== */

.quick-status-card__value[b-4te1et2prj] {
    display: flex;
    align-items: baseline;
    gap: 2px;
    font-family: 'Poppins', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--navy-text, #003057);
    line-height: 1.2;
    margin-bottom: var(--space-xs, 4px);
}

.quick-status-card__prefix[b-4te1et2prj] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--gray-500, #6B7280);
}

.quick-status-card__suffix[b-4te1et2prj] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-500, #6B7280);
}

/* ===== Subtitle ===== */

.quick-status-card__subtitle[b-4te1et2prj] {
    font-size: 0.8125rem;
    color: var(--gray-500, #6B7280);
    line-height: 1.4;
}

/* ===== Extra Content ===== */

.quick-status-card__extra[b-4te1et2prj] {
    margin-top: var(--space-sm, 8px);
}

/* ===== Icon ===== */

.quick-status-card__icon[b-4te1et2prj] {
    position: absolute;
    top: var(--space-md, 16px);
    right: var(--space-md, 16px);
    opacity: 0.15;
    color: var(--gray-600, #4B5563);
    pointer-events: none;
}

.quick-status-card--success .quick-status-card__icon[b-4te1et2prj] {
    color: var(--weather-sunny, #10B981);
}

.quick-status-card--warning .quick-status-card__icon[b-4te1et2prj] {
    color: var(--weather-cloudy, #F59E0B);
}

.quick-status-card--danger .quick-status-card__icon[b-4te1et2prj] {
    color: var(--weather-stormy, #DC2626);
}

.quick-status-card--info .quick-status-card__icon[b-4te1et2prj] {
    color: var(--reef-aqua, #00B8D4);
}

/* ===== Responsive Design ===== */

@media (max-width: 480px) {
    .quick-status-card[b-4te1et2prj] {
        padding: var(--space-sm, 8px) var(--space-md, 16px);
    }

    .quick-status-card__value[b-4te1et2prj] {
        font-size: 1.5rem;
    }

    .quick-status-card__icon[b-4te1et2prj] {
        display: none;
    }
}

/* ===== Accessibility ===== */

@media (prefers-reduced-motion: reduce) {
    .quick-status-card[b-4te1et2prj] {
        animation: none;
        opacity: 1;
        transform: none;
        transition: none;
    }

    .quick-status-card:hover[b-4te1et2prj] {
        transform: none;
    }
}

@media (prefers-contrast: high) {
    .quick-status-card[b-4te1et2prj] {
        border: 2px solid currentColor;
        border-left-width: 4px;
    }
}

/* ===== Print Styles ===== */

@media print {
    .quick-status-card[b-4te1et2prj] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        box-shadow: none;
        border: 1px solid var(--gray-300, #D1D5DB);
        border-left-width: 4px;
        animation: none;
        opacity: 1;
        transform: none;
    }
}

/* ===== Dark Mode Support ===== */
/* Dark mode styles are defined in 04-coral-components.css with !important
   to override scoped CSS specificity. Scoped CSS with :global() was not
   being processed correctly by Blazor's CSS isolation. */
/* /Components/Shared/RegulatoryAcknowledgementModal.razor.rz.scp.css */
/* RegulatoryAcknowledgementModal scoped styles — S3-004 / CLC-DES-017 */

/* ── Dialog content wrapper ── */
.ram-content[b-nq2gnqfjwk] {
    min-width: 0;
}

/* ── Modal title ── */
.ram-title[b-nq2gnqfjwk] {
    font-weight: 600;
}

/* ── Severe consequence level band (CLC-DES-017) ── */
.ram-consequence-band[b-nq2gnqfjwk] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background-color: rgba(239, 68, 68, 0.08);
    border-left: 4px solid var(--coral-error, #EF4444);
    border-radius: 4px;
    padding: 10px 12px;
    margin-bottom: 16px;
}

.ram-consequence-band__icon[b-nq2gnqfjwk] {
    color: var(--coral-error, #EF4444);
    flex-shrink: 0;
    margin-top: 1px;
}

.ram-consequence-band__text[b-nq2gnqfjwk] {
    color: var(--coral-text-primary, #1A1A2E);
    line-height: 1.5;
}

/* ── Client header block ── */
.ram-client-header[b-nq2gnqfjwk] {
    background-color: var(--coral-bg-primary, #F8F9FA);
    border-radius: 8px;
}

.ram-client-name[b-nq2gnqfjwk] {
    font-weight: 600;
}

/* ── Step heading ── */
.ram-step-heading[b-nq2gnqfjwk] {
    font-weight: 600;
    color: var(--navy-blue, #1E3A5F);
}

/* ── Field label ── */
.ram-label[b-nq2gnqfjwk] {
    color: var(--coral-text-secondary, #6C757D);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── BICA state panels ── */
.ram-bica-state[b-nq2gnqfjwk] {
    border-radius: 8px;
    border: 1px solid transparent;
}

.ram-bica-state--verifying[b-nq2gnqfjwk] {
    background-color: rgba(0, 184, 212, 0.06);
    border-color: var(--coral-accent-primary, #00B8D4);
}

.ram-bica-state--verified[b-nq2gnqfjwk] {
    background-color: rgba(16, 185, 129, 0.08);
    border-color: var(--coral-success, #10B981);
}

.ram-bica-state--stale[b-nq2gnqfjwk] {
    background-color: rgba(245, 158, 11, 0.08);
    border-color: var(--coral-warning, #F59E0B);
}

.ram-bica-state--not-found[b-nq2gnqfjwk] {
    background-color: rgba(239, 68, 68, 0.08);
    border-color: var(--coral-error, #EF4444);
}

.ram-bica-state--unreachable[b-nq2gnqfjwk] {
    background-color: rgba(239, 68, 68, 0.08);
    border-color: var(--coral-error, #EF4444);
}

/* ── Unauthored variant fallback band (--coral-accent, AC5) ── */
.ram-unauthored-band[b-nq2gnqfjwk] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background-color: rgba(240, 90, 40, 0.10);
    border-left: 4px solid var(--coral-accent, #F05A28);
    border-radius: 4px;
    padding: 14px 14px;
    margin-bottom: 8px;
    color: var(--coral-accent, #F05A28);
}

.ram-unauthored-band__title[b-nq2gnqfjwk] {
    font-weight: 600;
    color: var(--coral-accent, #F05A28);
}

/* ── Re-attestation diff panel (AC4) ── */
.ram-diff[b-nq2gnqfjwk] {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

/* Side-by-side on ≥1024 px */
@media (min-width: 1024px) {
    .ram-diff[b-nq2gnqfjwk] {
        grid-template-columns: 1fr 1fr;
    }
}

.ram-diff__panel[b-nq2gnqfjwk] {
    border-radius: 6px;
    padding: 12px;
    font-size: 0.8125rem;
    line-height: 1.6;
}

.ram-diff__panel--prior[b-nq2gnqfjwk] {
    background-color: rgba(239, 68, 68, 0.06);
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.ram-diff__panel--current[b-nq2gnqfjwk] {
    background-color: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.ram-diff__label[b-nq2gnqfjwk] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--coral-text-secondary, #6C757D);
    margin-bottom: 6px;
}

.ram-diff__text[b-nq2gnqfjwk] {
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Attestation body text area ── */
.ram-body-text[b-nq2gnqfjwk] {
    background-color: var(--coral-bg-primary, #F8F9FA);
    border: 1px solid var(--coral-gray-200, #E5E7EB);
    border-radius: 8px;
    max-height: 220px;
    overflow-y: auto;
}

.ram-body-text__content[b-nq2gnqfjwk] {
    font-style: italic;
    line-height: 1.7;
    color: var(--coral-text-primary, #1A1A2E);
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    .ram-bica-state[b-nq2gnqfjwk],
    .ram-consequence-band[b-nq2gnqfjwk],
    .ram-unauthored-band[b-nq2gnqfjwk] {
        animation: none;
        transition: none;
    }
}
/* /Components/Shared/TideTimer.razor.rz.scp.css */
/* ===================================================================
   TideTimer Component - Scoped Styles
   Deadline visualization as receding tide
   =================================================================== */

.tide-timer[b-w66tb718ps] {
    display: flex;
    align-items: center;
    gap: var(--space-md, 16px);
    padding: var(--space-md, 16px);
    background: white;
    border-radius: var(--radius-lg, 12px);
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
    transition: all var(--transition-base, 250ms) ease;
}

.tide-timer--large[b-w66tb718ps] {
    padding: var(--space-lg, 24px);
    gap: var(--space-lg, 24px);
}

/* ===== Tide Level Color Variables ===== */

.tide-timer--calm[b-w66tb718ps] {
    --tide-color: var(--tide-calm, #0891B2);
    border-left: 4px solid var(--tide-color);
}

.tide-timer--normal[b-w66tb718ps] {
    --tide-color: var(--tide-normal, #0EA5E9);
    border-left: 4px solid var(--tide-color);
}

.tide-timer--low[b-w66tb718ps] {
    --tide-color: var(--tide-low, #F59E0B);
    border-left: 4px solid var(--tide-color);
}

.tide-timer--critical[b-w66tb718ps] {
    --tide-color: var(--tide-critical, #DC2626);
    border-left: 4px solid var(--tide-color);
    background: linear-gradient(135deg, var(--error-bg) 0%, var(--white) 100%);
}

.tide-timer--empty[b-w66tb718ps] {
    --tide-color: var(--tide-empty, #7F1D1D);
    border-left: 4px solid var(--tide-color);
    background: linear-gradient(135deg, var(--error-light) 0%, var(--error-light-2) 100%);
}

/* ===== Container ===== */

.tide-timer__container[b-w66tb718ps] {
    position: relative;
    flex-shrink: 0;
    width: 60px;
    height: 72px;
}

.tide-timer--large .tide-timer__container[b-w66tb718ps] {
    width: 80px;
    height: 96px;
}

.tide-timer__svg[b-w66tb718ps] {
    width: 100%;
    height: 100%;
    color: var(--tide-color);
}

/* ===== Wave Animation ===== */

.tide-timer__wave[b-w66tb718ps] {
    transform-origin: center;
}

/* ===== Alert Overlay ===== */

.tide-timer__alert[b-w66tb718ps] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--tide-color);
    animation: tide-pulse-b-w66tb718ps 1.5s ease-in-out infinite;
}

@keyframes tide-pulse-b-w66tb718ps {
    0%, 100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        opacity: 0.7;
        transform: translate(-50%, -50%) scale(1.1);
    }
}

/* ===== Content ===== */

.tide-timer__content[b-w66tb718ps] {
    flex: 1;
    min-width: 0;
}

.tide-timer__days[b-w66tb718ps] {
    display: flex;
    align-items: baseline;
    gap: var(--space-xs, 4px);
    margin-bottom: var(--space-xs, 4px);
}

.tide-timer__days-value[b-w66tb718ps] {
    font-family: 'Poppins', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--tide-color);
}

.tide-timer--large .tide-timer__days-value[b-w66tb718ps] {
    font-size: 2.5rem;
}

.tide-timer__days-label[b-w66tb718ps] {
    font-size: 0.875rem;
    color: var(--tide-days-label-color);
    font-weight: 500;
}

.tide-timer--large .tide-timer__days-label[b-w66tb718ps] {
    font-size: 1rem;
}

.tide-timer__deadline[b-w66tb718ps] {
    display: flex;
    align-items: center;
    gap: var(--space-xs, 4px);
    font-size: 0.8125rem;
    color: var(--tide-deadline-color);
    margin-bottom: var(--space-xs, 4px);
}

.tide-timer__deadline-label[b-w66tb718ps] {
    font-weight: 600;
    color: var(--tide-deadline-label-color);
}

.tide-timer__deadline-date[b-w66tb718ps] {
    font-weight: 700;
    color: var(--tide-deadline-date-color);
}

.tide-timer__label[b-w66tb718ps] {
    font-size: 0.75rem;
    color: var(--tide-label-color);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-top: var(--space-xs, 4px);
}

.tide-timer--large .tide-timer__label[b-w66tb718ps] {
    font-size: 0.8125rem;
}

.tide-timer__extra[b-w66tb718ps] {
    margin-top: var(--space-sm, 8px);
}

/* ===== Status-specific text colors ===== */

.tide-timer--critical .tide-timer__days-value[b-w66tb718ps],
.tide-timer--empty .tide-timer__days-value[b-w66tb718ps] {
    color: var(--tide-color);
}

.tide-timer--empty .tide-timer__days-label[b-w66tb718ps],
.tide-timer--empty .tide-timer__deadline[b-w66tb718ps] {
    color: var(--tide-empty);
}

/* ===== Responsive Design ===== */

@media (max-width: 480px) {
    .tide-timer[b-w66tb718ps] {
        flex-direction: column;
        text-align: center;
        padding: var(--space-md, 16px);
    }

    .tide-timer__container[b-w66tb718ps] {
        width: 50px;
        height: 60px;
    }

    .tide-timer__days[b-w66tb718ps] {
        justify-content: center;
    }

    .tide-timer__days-value[b-w66tb718ps] {
        font-size: 1.75rem;
    }

    .tide-timer__deadline[b-w66tb718ps] {
        justify-content: center;
    }
}

/* ===== Accessibility ===== */

@media (prefers-reduced-motion: reduce) {
    .tide-timer[b-w66tb718ps],
    .tide-timer__wave[b-w66tb718ps],
    .tide-timer__alert[b-w66tb718ps] {
        animation: none;
        transition: none;
    }
}

@media (prefers-contrast: high) {
    .tide-timer[b-w66tb718ps] {
        border: 2px solid var(--tide-color);
    }

    .tide-timer__svg rect:first-of-type[b-w66tb718ps] {
        stroke-width: 3;
        opacity: 0.6;
    }
}

/* ===== Print Styles ===== */

@media print {
    .tide-timer[b-w66tb718ps] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        box-shadow: none;
        border: 1px solid var(--tide-color);
    }

    .tide-timer__wave[b-w66tb718ps] {
        animation: none;
    }

    .tide-timer__alert[b-w66tb718ps] {
        animation: none;
    }
}

/* Dark mode overrides for these classes live in wwwroot/css/99-dark-mode-overrides.css. */
