/*
 * NCCAOM design tokens — single source of truth for the app's color palette.
 *
 * Every page/component should reference these CSS custom properties instead of
 * hardcoding hex values or redefining its own local palette (e.g. --login-blue,
 * --account-blue, --dashboard-blue, --portal-primary, etc. were all separate
 * copies of the same indigo color before this file existed).
 *
 * Usage: color: var(--nccaom-primary);
 */

:root {
    /* Primary brand accent (indigo) — used for primary buttons, links, active
       nav states, focus rings, and any "this is interactive/selected" cue. */
    --nccaom-primary: #4a4f8c;
    --nccaom-primary-hover: #353a6b;
    --nccaom-primary-soft: #e9eaf6;
    --nccaom-primary-border: #b9bce0;

    /* Ink / neutral text and surfaces */
    --nccaom-ink: #0a3143;
    --nccaom-ink-deep: #061f2a;
    --nccaom-text: #2d2d2d;
    --nccaom-muted: #667085;
    --nccaom-border: #d7e4e3;
    --nccaom-surface: #ffffff;
    --nccaom-page-bg: #eef6fc;

    /* Category/status accents — used for differentiating unrelated items in a
       list (e.g. dashboard action cards, product-menu icon wells, profile
       menu icon wells). Do NOT use these for a single flow's progress/step
       indicator — a step tracker should stay on --nccaom-primary throughout. */
    --nccaom-mint: #0f8f73;
    --nccaom-mint-soft: #d7f0e8;
    --nccaom-purple: #6e55b5;
    --nccaom-purple-soft: #eae3ff;
    --nccaom-purple-action-soft: rgba(110, 85, 181, 0.071);
    --nccaom-purple-action-border: rgba(110, 85, 181, 0.302);
    --nccaom-teal: #0e7c86;
    --nccaom-teal-soft: #d9f0f0;
    --nccaom-coral: #d9503a;
    --nccaom-coral-soft: #ffe5e1;

    /* Semantic status colors (MudBlazor-aligned) */
    --nccaom-info: #1976d2;
    --nccaom-info-soft: #e8f4fc;
    --nccaom-info-border: #b8d9f0;
    --nccaom-success: #2e7d32;
    --nccaom-success-soft: #e8f5e9;
    --nccaom-success-border: #c8e6c9;
    --nccaom-warning: #60747a;
    --nccaom-warning-soft: #60747a12;
    --nccaom-warning-border: #60747a4d;
    --nccaom-error: #d32f2f;
    --nccaom-error-soft: #fdecea;
    --nccaom-error-border: #f5c6cb;

    /* Shared system-message typography and icon treatment */
    --nccaom-banner-title: #3f4b54;
    --nccaom-banner-icon: #8a97a1;
    --nccaom-banner-icon-shadow: #60747a80;

    /* Contrast-safe foreground tokens — use these instead of ad-hoc light
       grays (#8a96a3, #a5afb9, #777777, #6c8391, etc.) for text/labels on
       white or near-white surfaces. Each meets WCAG AA (>= 4.5:1) on
       --nccaom-surface / --nccaom-page-bg. */
    --nccaom-placeholder: var(--nccaom-muted);
    --nccaom-label-muted: var(--nccaom-muted);
    --nccaom-error-text: #b3261e;
    --nccaom-info-text: #0d5aa7;
    --nccaom-focus-ring: var(--nccaom-primary);
    /* --nccaom-muted only clears 4.5:1 on white/near-white. Use this for
       muted/inactive text sitting on a tinted surface (e.g. an unselected
       tab pill background) where --nccaom-muted would fall short. */
    --nccaom-muted-strong: #4b5563;

    /* Shared authenticated-shell tokens — both AuthenticatedLayout and
       AuthenticatedLayoutNoPortalLinks (and PDA/State/School layouts) should
       consume these instead of re-declaring their own near-duplicate canvas/
       border/accent values, so the palette doesn't visibly shift between
       "has portal links" and "no portal links" pages. */
    --nccaom-portal-accent: #9a9ecf;

    /* Applicant Dashboard action-card category accents — one color per
       action family (verification=teal, benefits=gold, candidate/
       volunteer=green, exam=navy, certification=magenta, provider/
       products=indigo). Apply the same accents via the shared
       .nccaom-icon-well--action-card system on other dashboards (PDA/State/
       School) instead of introducing a separate ad-hoc palette there. */
    --nccaom-action-teal: #0f6e7e;
    --nccaom-action-teal-soft: #e0eff1;
    --nccaom-action-gold: #96601f;
    --nccaom-action-gold-soft: #f7edda;
    --nccaom-action-green: #17624a;
    --nccaom-action-green-soft: #e2efe8;
    --nccaom-action-navy: #1d3f6e;
    --nccaom-action-navy-soft: #e7ecf5;
    --nccaom-action-magenta: #a6336b;
    --nccaom-action-magenta-soft: rgba(166, 51, 107, 0.12);

    /* Shared request-status badge palette — one mapping used everywhere a
       request/application list shows Pending/Approved/Rejected/Unknown
       (Score Verification, Duplicate Certificate, Name Change, Practice
       Test, CHCS/COQ) so the same status never renders in different colors
       on different pages. */
    --nccaom-status-pending-bg: #fff7d6;
    --nccaom-status-pending-border: #f2d36b;
    --nccaom-status-pending-text: #7a5500;
    --nccaom-status-approved-bg: #e6f6ed;
    --nccaom-status-approved-border: #9ad3b0;
    --nccaom-status-approved-text: #17613a;
    --nccaom-status-rejected-bg: #fdecec;
    --nccaom-status-rejected-border: #f3b0b0;
    --nccaom-status-rejected-text: #9f1f1f;
    --nccaom-status-unknown-bg: #eaf3fc;
    --nccaom-status-unknown-border: #c6dff3;
    --nccaom-status-unknown-text: var(--nccaom-primary);

    /* Semantic status tokens — operationally distinct from
       approved/pending/unknown above (PDA "Active/Processed" vs.
       request "Approved"; State/PEDC "Requested/AwaitingReview/Closed" vs.
       request "Pending"/"Unknown"). These are independent literal values,
       NOT var() references to the base tokens, so changing what
       "Approved"/"Pending" means elsewhere cannot silently reskin these.

       Active/Processed render as two distinguishable colors (teal/purple)
       since PdaCertificateApiTab shows both as sibling badges in the same
       subscription-history table — contrast-checked at 5.7:1 / 8.1:1
       respectively on their own backgrounds. (A separate "Paid" token
       existed here briefly but had no consumer after Processed was
       correctly repointed at the Processed token shared with Email
       Certificates' bulk-status badge — removed rather than left dead.) */
    --nccaom-status-active-bg: #e3f6f5;
    --nccaom-status-active-border: #8fd0c7;
    --nccaom-status-active-text: #0a6b62;
    --nccaom-status-processed-bg: #f1ecfb;
    --nccaom-status-processed-border: #c7b3e8;
    --nccaom-status-processed-text: #5b2d91;
    /* Requested/AwaitingReview/Closed: frozen at the same value the
       approved/pending/unknown aliases currently resolved to (no visual
       change — these aren't shown as siblings of their base status
       anywhere today, so a new hue would need design sign-off first). */
    --nccaom-status-requested-bg: #fff7d6;
    --nccaom-status-requested-border: #f2d36b;
    --nccaom-status-requested-text: #7a5500;
    --nccaom-status-awaiting-review-bg: #fff7d6;
    --nccaom-status-awaiting-review-border: #f2d36b;
    --nccaom-status-awaiting-review-text: #7a5500;
    --nccaom-status-closed-bg: #eaf3fc;
    --nccaom-status-closed-border: #c6dff3;
    --nccaom-status-closed-text: #4a4f8c;

    /* Legacy "bright-blue page chrome" — the pale-blue banner + dark-navy
       title pairing repeated across PDA/State/School/request-list page
       headers. Centralized here instead of the same two hex values being
       copy-pasted into dozens of page-level .razor.css files. */
    --nccaom-header-bg: #e1eef9;
    --nccaom-header-title: #1a3e61;
    --nccaom-header-accent-blue: #0b5fa5;
    /* #1066a5 is a near-identical but distinct blue from #0b5fa5 (link
       color, badge icons). Kept as its own token rather than merged, since
       that would be a small-but-real visual change requiring separate
       sign-off. */
    --nccaom-header-accent-blue-alt: #1066a5;
    /* #0b4f94 is a third distinct blue (uppercase section-label / plain
       text action-link color) — more visually different from #0b5fa5 than
       #1066a5 is, so also kept separate rather than merged. */
    --nccaom-link-blue: #0b4f94;

    /* #0f2d4b — section/notice title navy, distinct enough from
       --nccaom-header-title to keep as its own token. */
    --nccaom-notice-title: #0f2d4b;
    /* #2b2f5c — dark-indigo hover state for pill/icon buttons, distinct
       enough from --nccaom-primary-hover to keep as its own token. */
    --nccaom-hover-indigo: #2b2f5c;

    /* Neutral (non-blue-tinted) section-header surface — distinct from
       --nccaom-table-header-bg, used for plain card/table section headers
       paired with --nccaom-table-header-border. */
    --nccaom-section-header-bg: #f9f9f9;

    /* Plain body/description text grays, distinct enough from
       --nccaom-text/--nccaom-muted to keep separate. */
    --nccaom-body-text: #4a4a4a;
    --nccaom-desc-text: #666666;
    /* Request-list "empty state" message text (9 files). */
    --nccaom-empty-state-text: #445b70;
    /* Solid success/active status-dot indicator background — distinct role
       from the soft --nccaom-status-approved-* badge tokens. */
    --nccaom-status-dot-active: #16a34a;
    /* Neutral "default" payment-status chip background, paired with
       --nccaom-muted-strong text. */
    --nccaom-neutral-chip-bg: #f3f4f6;
    /* FapSetting module secondary/description text. */
    --nccaom-fap-muted: #5b6b7a;
    /* Manual CE recertification hero title / nav button. */
    --nccaom-hero-title: #1c4a77;
    --nccaom-nav-btn-blue: #004a7c;
    /* Request-list action-link hover state. */
    --nccaom-link-hover: #07345f;
    /* FapSetting radio/chip accent blue. */
    --nccaom-radio-blue: #0b4a7f;
    /* Solid "request/alert" action-button blue (distinct role from
       --nccaom-primary). */
    --nccaom-action-blue-btn: #1d4ed8;
    /* Diplomate/CEU avatar badge blue (decorative, not a status color). */
    --nccaom-avatar-blue-bg: #dbeafe;
    /* Content-copy body text repeated across 12 certification/PDA pages. */
    --nccaom-content-copy: #1e252d;
    /* Form input text (CreatePPReport, PDA/State course-application
       fields). */
    --nccaom-form-text: #35516a;
    /* Dropdown-selected-item text (distinct from --nccaom-form-text). */
    --nccaom-dropdown-text: #244764;
    /* Solid dark-navy icon-button background (ManualCe recertification
       row actions). */
    --nccaom-icon-btn-navy: #173a5c;
    /* Dark copy/placeholder text (ManualCe recertification). */
    --nccaom-copy-text-dark: #223244;
    /* Saturated light-blue table-header background, distinct from
       --nccaom-table-header-bg. */
    --nccaom-table-header-blue: #d9e6f7;
    /* Alternate link blue (resume upload / evidence links). */
    --nccaom-link-alt-blue: #0067b2;
    /* ManualCe recertification table-error text / hover-delete color. */
    --nccaom-error-text-secondary: #c62828;
    /* ManualCe recertification "next" nav-icon background. */
    --nccaom-nav-icon-blue: #2b7fba;
    /* FapSetting required-field marker red. */
    --nccaom-required-red: #c0392b;
    /* Neutral card border, distinct from --nccaom-border's blue-green tint. */
    --nccaom-card-border-neutral: #ededed;
    --nccaom-footer-meta-muted: #5f7385; /* darkened from #7b8f9f (~3.35:1) to ~4.9:1 on white */
    --nccaom-card-title-navy: #1f2f40;
    --nccaom-api-desc-text: #4a5d72;
    --nccaom-api-muted-text: #5c7087;
    --nccaom-sidebar-title-navy: #0b365a;
    --nccaom-progress-track-bg: #dceaf3;
    --nccaom-action-empty-text: #5a7088; /* darkened from #7890a7 (~3.31:1) to ~5.1:1 on white */
    --nccaom-hero-meta-text: #15395c;
    --nccaom-empty-title-blue: #104c83;
    --nccaom-doc-link-blue: #0f6fb6;
    /* Neutral "expired/inactive" status pill, distinct hue from the
       blue-tinted --nccaom-status-unknown-* tokens. */
    --nccaom-status-neutral-text: #616161;
    --nccaom-status-neutral-bg: #fafafa;
    --nccaom-status-neutral-border: #e0e0e0;
    /* Course-renewal table header mini-theme. */
    --nccaom-renewal-table-bg: #e3effb;
    --nccaom-renewal-table-border: #b9d1ef;
    --nccaom-renewal-table-text: #172b4d;

    /* Table header tint (thead background) — near-duplicate of
       --nccaom-info-soft, kept as its own token since dozens of tables
       already use this exact value and a value change there is out of
       scope for a color-token cleanup. */
    --nccaom-table-header-bg: #eff6ff;
    --nccaom-table-header-border: #dce5ee;

    /* Neutral tinted surface for disabled/readonly fields and icon-badge
       backgrounds (#f3f6fa was duplicated across PDA/State/School/request
       pages under several different local names). */
    --nccaom-surface-tint: #f3f6fa;

    /* Near-black heading/label text — the single most-repeated raw hex in
       the codebase (table headers, field labels, section titles). Distinct
       hue from --nccaom-ink (blue-navy) and --nccaom-text (warm gray), so
       kept as its own token rather than merged into either. */
    --nccaom-heading: #11161d;

    /* Neutral icon-well background used behind the "Previous"/back button
       icon paired with --nccaom-primary, repeated verbatim across 10+
       PDA/State/School application pages. */
    --nccaom-icon-well-neutral: #f0f2f5;

    /* Read-only "flat field" / table-cell body text — repeated across 20+
       request-list and detail pages (Score Verification, Duplicate
       Certificate, Practice Test, etc.). */
    --nccaom-field-text: #2f3b47;

    /* Shadows */
    --nccaom-shadow-sm: 0 2px 8px rgba(10, 51, 69, 0.05);
    --nccaom-shadow-md: 0 6px 16px rgba(74, 79, 140, 0.24);
    --nccaom-shadow-lg: 0 12px 28px rgba(10, 42, 70, 0.18);
    --nccaom-shadow-actionable: 0 4px 14px rgba(10, 51, 69, 0.08);
}

/* Shared utility classes */
.form-select-arrow-overlay {
    position: absolute;
    right: 14px;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--nccaom-placeholder);
}
