/* ==========================================================================
   RecruitGuard-CHD — DOH–CHD CALABARZON brand overlay
   Loaded after recruitguard.css. Shifts the institutional palette toward the
   official DOH–CHD CALABARZON identity:
     - deep institutional green (matches official site hero + letterhead)
     - DOH gold accent (official GOVPH unified web palette)
     - GOVPH success-green / health-blue for status semantics only
     - institutional red for decline / reject
   Does not change layout, spacing, or workflow behavior.
   ========================================================================== */

:root,
.internal-portal-body,
.applicant-portal-body {
    /* === Official DOH–CHD CALABARZON institutional palette === */
    --rg-brand-green: #1e5c2d;          /* primary institutional green */
    --rg-brand-green-strong: #144219;    /* hover / pressed */
    --rg-brand-green-soft: #e6f0dc;      /* light green wash (active nav, tint) */
    --rg-brand-green-ink: #0e2f14;       /* darkest green for headings */

    --rg-brand-gold: #fdb813;            /* GOVPH unified yellow / seal accent */
    --rg-brand-gold-strong: #c98f0a;     /* hover / pressed gold */
    --rg-brand-gold-soft: #fff4d6;       /* light gold wash */

    --rg-brand-success: #7ebb42;         /* GOVPH success green (status only) */
    --rg-brand-success-soft: #eef6dd;
    --rg-brand-success-ink: #3b7a1f;

    --rg-brand-health-blue: #32a0da;     /* GOVPH health blue (secondary status) */
    --rg-brand-health-blue-soft: #e3f3fb;
    --rg-brand-health-blue-ink: #1e6b93;

    --rg-brand-danger: #c92f27;          /* institutional red (decline / reject) */

    /* === Re-bind existing tokens to the institutional palette === */
    --rg-primary: var(--rg-brand-green);
    --rg-primary-strong: var(--rg-brand-green-strong);
    --rg-primary-soft: var(--rg-brand-green-soft);
    --rg-accent: var(--rg-brand-gold);
    --rg-accent-strong: var(--rg-brand-gold-strong);
}

/* --- Body background: warm-neutral with subtle gold highlight --- */
body.internal-portal-body,
body.applicant-portal-body {
    background:
        radial-gradient(circle at top right, rgba(253, 184, 19, 0.06), transparent 34%),
        linear-gradient(180deg, #f4f6fa 0%, #f7f8fa 60%, #f4f6fa 100%) !important;
}

/* --- Primary button: institutional green --- */
.internal-portal-body .btn-rg-primary,
.applicant-portal-body .btn-rg-primary,
.rg-login-page .btn-rg-primary {
    background: var(--rg-brand-green);
    border-color: var(--rg-brand-green);
    color: #fff;
}
.internal-portal-body .btn-rg-primary:hover,
.internal-portal-body .btn-rg-primary:focus,
.applicant-portal-body .btn-rg-primary:hover,
.applicant-portal-body .btn-rg-primary:focus,
.rg-login-page .btn-rg-primary:hover,
.rg-login-page .btn-rg-primary:focus {
    background: var(--rg-brand-green-strong);
    border-color: var(--rg-brand-green-strong);
    color: #fff;
}

/* --- Sidebar active state: green tint + green left border --- */
.rg-sidebar__link.is-active {
    background: var(--rg-brand-green-soft) !important;
    color: var(--rg-brand-green) !important;
    border-left: 3px solid var(--rg-brand-green);
    padding-left: calc(0.75rem - 3px);
}

.rg-sidebar__brand {
    border-bottom: 1px solid rgba(30, 92, 45, 0.1);
}
.rg-sidebar__brand small {
    color: var(--rg-brand-green);
    letter-spacing: 0.08em;
    font-weight: 700;
}

/* --- Sidebar brand: circular CHD CALABARZON seal + wordmark --- */
.rg-sidebar__brand--doh {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.rg-sidebar__brand-seal {
    display: block;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    background-image: url("/static/img/brand/chd-calabarzon-seal.png?v=20260420-green");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.rg-sidebar__brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
}
.rg-sidebar__brand-copy small {
    display: block;
    font-size: 0.58rem;
    margin-bottom: 0.1rem;
}

/* --- Pipeline: complete nodes use institutional green --- */
.rg-pipeline__stage.is-complete .rg-pipeline__circle {
    background: var(--rg-brand-green) !important;
    color: #fff !important;
}
.rg-pipeline__stage.is-complete .rg-pipeline__label {
    color: var(--rg-brand-green);
    font-weight: 600;
}
.rg-pipeline__connector.is-complete {
    background: var(--rg-brand-green) !important;
}

/* --- Pipeline: current stage carries a gold ring for emphasis --- */
.rg-pipeline__stage.is-current .rg-pipeline__circle {
    background: #fff !important;
    color: var(--rg-brand-green-strong) !important;
    border: 2px solid var(--rg-brand-gold) !important;
    box-shadow: 0 0 0 3px rgba(253, 184, 19, 0.18);
}
.rg-pipeline__stage.is-current .rg-pipeline__label {
    color: var(--rg-brand-green-strong);
    font-weight: 700;
}

/* --- Case Workspace header: green ink on title --- */
.rg-cws-header__title {
    color: var(--rg-brand-green-ink);
}

/* --- Role pills: differentiated for scanability (primary role → green) --- */
.rg-pill--hrm-chief {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
    border-color: #cfe0c0;
}
.rg-pill--secretariat {
    background: var(--rg-brand-health-blue-soft);
    color: var(--rg-brand-health-blue-ink);
    border-color: #c5e4f3;
}
.rg-pill--plantilla {
    background: var(--rg-brand-gold-soft);
    color: #8a6407;
    border-color: #ffdf88;
}

/* --- Status pill refinements --- */
.rg-pill--success {
    background: var(--rg-brand-success-soft);
    color: var(--rg-brand-success-ink);
    border-color: #cfe4af;
}
.rg-pill--warning {
    background: var(--rg-brand-gold-soft);
    color: #8a6407;
    border-color: #ffdf88;
}

/* --- Finalize & Lock: green + gold inset underline --- */
.btn-rg-finalize {
    background: var(--rg-brand-green);
    color: #fff;
    border: 1px solid var(--rg-brand-green-strong);
    box-shadow: inset 0 -2px 0 var(--rg-brand-gold);
    font-weight: 700;
    letter-spacing: 0.02em;
}
.btn-rg-finalize:hover:not(:disabled),
.btn-rg-finalize:focus:not(:disabled) {
    background: var(--rg-brand-green-strong);
    color: #fff;
    box-shadow: inset 0 -2px 0 var(--rg-brand-gold-strong);
}
.btn-rg-finalize.is-blocked,
.btn-rg-finalize:disabled {
    background: #dee2e7;
    color: #8a94a0;
    border-color: #d0d5db;
    box-shadow: none;
    cursor: not-allowed;
}

/* --- Locked ribbon: green background, gold underline --- */
.rg-cws-lock-ribbon {
    background: var(--rg-brand-green) !important;
    color: #fff !important;
    border-bottom: 2px solid var(--rg-brand-gold) !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* ==========================================================================
   LOGIN PAGE — full-width banner strip + centered card (green palette)
   Layout:
     [ full-width green banner strip ]
     [ building photo bg + green overlay ]
       [ centered white card
         [ circular CHD seal ]
         [ form fields ]
       ]
   ========================================================================== */

.rg-login-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    background-image:
        linear-gradient(rgba(14, 47, 20, 0.82), rgba(20, 66, 25, 0.88)),
        url("/static/img/brand/login-background.jpg?v=20260420-green");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.rg-login-body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.25rem;
    position: relative;
    z-index: 1;
}

.rg-login-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 12px;
    padding: 2.5rem 2rem 2rem;
    box-shadow:
        0 20px 48px rgba(0, 0, 0, 0.28),
        0 4px 12px rgba(0, 0, 0, 0.12);
    border-top: 4px solid var(--rg-brand-gold);
    position: relative;
    text-align: center;
}

.rg-login-card__seal {
    display: block;
    width: 96px;
    height: 96px;
    margin: 0 auto 1.25rem;
    border-radius: 50%;
    background-image: url("/static/img/brand/chd-calabarzon-seal.png?v=20260420-green");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: #fff;
}

.rg-login-card__eyebrow {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rg-brand-green);
    margin-bottom: 0.25rem;
}
.rg-login-card__title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
    margin-bottom: 0.35rem;
    letter-spacing: -0.01em;
}
.rg-login-card__sub {
    font-size: 0.85rem;
    color: #5f6c78;
    margin-bottom: 1.6rem;
    line-height: 1.5;
}
.rg-login-card form {
    text-align: left;
}
.rg-login-card .rg-form-actions {
    text-align: center;
}
.rg-login-card__notice {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #edf0f3;
    font-size: 0.72rem;
    color: #8c99a4;
    text-align: center;
    line-height: 1.55;
}

/* --- Form card: green outline focus --- */
.rg-login-card input:focus,
.internal-portal-body .form-control:focus,
.applicant-portal-body .form-control:focus {
    border-color: var(--rg-brand-green) !important;
    box-shadow: 0 0 0 3px rgba(30, 92, 45, 0.15) !important;
}

/* --- Dashboard "Awaiting Your Action" card gets a gold top rule --- */
.internal-portal-body [class*="rg-dashboard"] [class*="queue"],
.internal-portal-body .rg-awaiting-card {
    border-top: 3px solid var(--rg-brand-gold);
}

/* --- Context bar / topbar: green breadcrumb --- */
.rg-context-bar__breadcrumb a,
.rg-breadcrumb-home {
    color: var(--rg-brand-green);
}

/* --- Decision / submission packet: institutional ribbon --- */
.rg-packet-header,
.rg-completion-letterhead {
    border-top: 4px solid var(--rg-brand-green);
    border-bottom: 2px solid var(--rg-brand-gold);
    padding: 1rem 1.25rem;
    background: #fff;
}

/* --- Small screens: tighten login padding --- */
@media (max-width: 560px) {
    .rg-login-body {
        padding: 1.5rem 1rem;
    }
    .rg-login-card {
        padding: 2rem 1.25rem 1.5rem;
    }
    .rg-login-card__seal {
        width: 80px;
        height: 80px;
    }
}

/* ==========================================================================
   APPLICANT PORTAL — public-facing institutional header, hero, footer
   Layout:
     [ rg-public-topbar  seal + kicker + system title | nav ]
     [ rg-pub-hero--photo  building photo + green overlay + centered copy ]
     [ rg-pub-trust-strip  official-portal chips ]
     [ content ]
     [ rg-public-footer + 4-color GOVPH stripe ]
   ========================================================================== */

/* --- Public topbar: white surface, green underline, seal + wordmark --- */
.applicant-portal-body .rg-topbar.rg-public-topbar {
    background: #fff;
    border-bottom: 3px solid var(--rg-brand-green);
    box-shadow: 0 1px 0 rgba(14, 47, 20, 0.04), 0 2px 6px rgba(14, 47, 20, 0.04);
}
.rg-public-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}
.rg-public-brand {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    text-decoration: none;
    color: inherit;
}
.applicant-portal-body .rg-public-brand {
    gap: 1.1rem;
}
.rg-public-brand::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background-image: url("/static/img/brand/chd-calabarzon-seal.png?v=20260420-green");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.rg-public-brand .rg-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}
.rg-public-brand .rg-brand-kicker {
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rg-brand-green);
}
.rg-public-brand .rg-brand-agency {
    font-size: 0.78rem;
    font-weight: 600;
    color: #2a3642;
    letter-spacing: 0.01em;
}
.rg-public-brand .rg-brand-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
    letter-spacing: -0.005em;
}

.rg-public-nav {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.rg-public-nav .rg-nav-link {
    display: inline-block;
    padding: 0.5rem 0.85rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #384451;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background 120ms ease, color 120ms ease;
}
.rg-public-nav .rg-nav-link:hover {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
}
.rg-public-nav .rg-nav-link--primary {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
    border-color: #cfe0c0;
}

@media (max-width: 720px) {
    .rg-public-topbar__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.6rem;
    }
    .rg-public-brand::before { width: 40px; height: 40px; }
    .rg-public-brand .rg-brand-title { font-size: 0.95rem; }
}

/* --- Photographic hero (landing page) --- */
.rg-pub-hero--photo {
    position: relative;
    padding: 3.25rem 1rem 2.5rem;
    text-align: center;
    color: #fff;
    background-image:
        linear-gradient(rgba(14, 47, 20, 0.78), rgba(20, 66, 25, 0.88)),
        url("/static/img/brand/login-background.jpg?v=20260420-green");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-bottom: 4px solid var(--rg-brand-gold);
}
.rg-pub-hero--photo .rg-pub-wrap {
    position: relative;
    z-index: 1;
}
.rg-pub-hero--photo .rg-pub-hero__eyebrow {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rg-brand-gold);
    margin-bottom: 0.65rem;
}
.rg-pub-hero--photo .rg-pub-hero__title {
    color: #fff !important;
    font-size: clamp(1.55rem, 3.2vw, 2.2rem);
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 0.85rem;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}
.rg-pub-hero--photo .rg-pub-hero__copy {
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 640px;
    margin: 0 auto 1.5rem;
    font-size: 0.98rem;
    line-height: 1.6;
}

/* --- Hero CTA pair: primary solid green + secondary outlined --- */
.rg-pub-hero-ctas {
    display: inline-flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 0.25rem;
}
.rg-pub-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.4rem;
    border-radius: 6px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-decoration: none;
    border: 2px solid transparent;
    transition: background 140ms ease, color 140ms ease, transform 80ms ease;
}
.rg-pub-btn:active { transform: translateY(1px); }
.rg-pub-btn--primary {
    background: var(--rg-brand-green);
    color: #fff;
    border-color: var(--rg-brand-green-strong);
    box-shadow: inset 0 -2px 0 var(--rg-brand-gold);
}
.rg-pub-btn--primary:hover,
.rg-pub-btn--primary:focus {
    background: var(--rg-brand-green-strong);
    color: #fff;
}
.rg-pub-btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.75);
}
.rg-pub-btn--ghost:hover,
.rg-pub-btn--ghost:focus {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    border-color: #fff;
}

/* --- Trust strip: official-portal chips below hero --- */
.rg-pub-trust-strip {
    background: #f4f6fa;
    border-bottom: 1px solid #e3e8ee;
    padding: 0.85rem 1rem;
}
.rg-pub-trust-strip__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem 2rem;
    font-size: 0.78rem;
    color: #4a5663;
}
.rg-pub-trust-strip__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}
.rg-pub-trust-strip__item svg {
    width: 14px;
    height: 14px;
    color: var(--rg-brand-green);
    flex-shrink: 0;
}

/* --- Action-card icon: SVG sized, green ink --- */
.rg-pub-action-card__icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
    border-radius: 50%;
    margin-bottom: 0.85rem;
    font-size: 0 !important;
    line-height: 0 !important;
}
.rg-pub-action-card__icon svg {
    width: 22px;
    height: 22px;
}
.rg-pub-action-card {
    border-top: 3px solid transparent;
    transition: border-color 140ms ease, transform 120ms ease, box-shadow 140ms ease;
}
.rg-pub-action-card:hover {
    border-top-color: var(--rg-brand-gold);
}
.rg-pub-action-card__cta {
    color: var(--rg-brand-green) !important;
}

/* --- Intake-form letterhead: slim official header above form --- */
.rg-pub-letterhead {
    background: #fff;
    border-top: 4px solid var(--rg-brand-green);
    border-bottom: 2px solid var(--rg-brand-gold);
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.95rem;
    box-shadow: 0 1px 3px rgba(14, 47, 20, 0.06);
}
.rg-pub-letterhead::before {
    content: "";
    display: block;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    background-image: url("/static/img/brand/chd-calabarzon-seal.png?v=20260420-green");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.rg-pub-letterhead__copy {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
}
.rg-pub-letterhead__kicker {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rg-brand-green);
}
.rg-pub-letterhead__agency {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
}
.rg-pub-letterhead__subtitle {
    font-size: 0.78rem;
    color: #4a5663;
    margin-top: 0.15rem;
}

/* ==========================================================================
   SCREENING WORKSPACE — 3-step wizard
   "See only what you need to do." One step on screen at a time:
   Documents → Completeness → Qualification.
   ========================================================================== */

/* --- Step rail --- */
.rg-scr-steprail {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}
.rg-scr-steprail__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: transparent;
    border: none;
    padding: 0.3rem 0.4rem;
    border-radius: 6px;
    cursor: pointer;
    color: #8a94a0;
    font-size: 0.82rem;
    font-weight: 600;
}
.rg-scr-steprail__item:hover { background: #f1f4f7; }
.rg-scr-steprail__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #e3e8ee;
    color: #6b7682;
    font-size: 0.78rem;
    font-weight: 800;
    flex-shrink: 0;
}
.rg-scr-steprail__item.is-current {
    color: var(--rg-brand-green-ink);
}
.rg-scr-steprail__item.is-current .rg-scr-steprail__num {
    background: var(--rg-brand-green);
    color: #fff;
}
.rg-scr-steprail__item.is-done {
    color: var(--rg-brand-green);
}
.rg-scr-steprail__item.is-done .rg-scr-steprail__num {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
}
.rg-scr-steprail__line {
    flex: 1;
    min-width: 1rem;
    height: 2px;
    background: #e3e8ee;
    border-radius: 2px;
}
@media (max-width: 560px) {
    .rg-scr-steprail__label { display: none; }
}

/* --- Sticky action bar --- */
.rg-scr-actionbar {
    position: sticky;
    bottom: 0;
    z-index: 20;
    background: #fff;
    border-top: 1px solid #e3e8ee;
    box-shadow: 0 -4px 14px rgba(14, 47, 20, 0.06);
    padding: 0.7rem 1rem;
    margin: 1.25rem -1rem -1rem;
}
.rg-scr-actionbar__btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.rg-scr-actionbar__spacer { flex: 1; }
.rg-scr-actionbar__msg {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-left: 3px solid var(--rg-brand-danger);
    color: #8f231d;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.6rem;
}

/* --- Missing-input highlight on a document row --- */
[data-document-row].is-missing {
    background: #fdeceb;
    box-shadow: inset 3px 0 0 var(--rg-brand-danger);
}
[data-document-row].is-missing .rg-scr-status-select {
    border-color: var(--rg-brand-danger);
}

/* --- Disabled choice button (contradiction guard) --- */
.rg-scr-choice-btn.is-disabled,
.rg-scr-choice-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* --- Remarks hint line --- */
.rg-scr-doc-remarks__hint {
    margin-top: 0.25rem;
    font-size: 0.72rem;
    color: #8a6407;
}

/* Workflow next-action choices (one button per action) */
.rg-wf-action-choices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.75rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e3e8ee;
}
.rg-wf-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.55rem 1.1rem;
    font-size: 0.86rem;
    font-weight: 700;
    border-radius: 6px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease, transform 80ms ease;
}
.rg-wf-action-btn:active { transform: translateY(1px); }
.rg-wf-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Primary/forward actions — institutional green */
.rg-wf-action-btn--endorse,
.rg-wf-action-btn--recommend,
.rg-wf-action-btn--approve,
.rg-wf-action-btn--release {
    background: var(--rg-brand-green);
    color: #fff;
    border-color: var(--rg-brand-green-strong);
    box-shadow: inset 0 -2px 0 var(--rg-brand-gold);
    flex: 1 1 auto;
}
.rg-wf-action-btn--endorse:hover,
.rg-wf-action-btn--recommend:hover,
.rg-wf-action-btn--approve:hover,
.rg-wf-action-btn--release:hover {
    background: var(--rg-brand-green-strong);
    color: #fff;
}

/* Return-to-applicant — amber outlined */
.rg-wf-action-btn--return-to-applicant,
.rg-wf-action-btn--return-to-hrm-chief,
.rg-wf-action-btn--return-car-for-reassessment {
    background: #fff;
    color: #8a6407;
    border-color: #ffdf88;
}

/* Count badge on the Return button */
.rg-wf-action-btn__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    background: var(--rg-brand-gold);
    color: #5a4106;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
}

/* Modal: flagged-document list */
.rg-wf-return-doclist {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.rg-wf-return-doclist li {
    border: 1px solid #ffdf88;
    border-left: 3px solid var(--rg-brand-gold);
    background: var(--rg-brand-gold-soft);
    border-radius: 5px;
    padding: 0.5rem 0.65rem;
}
.rg-wf-return-doclist__name {
    display: block;
    font-weight: 700;
    font-size: 0.8rem;
    color: #5a4106;
}
.rg-wf-return-doclist__remark {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.76rem;
    color: #6f5108;
    line-height: 1.45;
}
.rg-wf-action-btn--return-to-applicant:hover,
.rg-wf-action-btn--return-to-hrm-chief:hover,
.rg-wf-action-btn--return-car-for-reassessment:hover {
    background: var(--rg-brand-gold-soft);
    border-color: var(--rg-brand-gold);
    color: #8a6407;
}

/* Reject — red outlined (destructive) */
.rg-wf-action-btn--reject {
    background: #fff;
    color: var(--rg-brand-danger);
    border-color: #f3c4c1;
}
.rg-wf-action-btn--reject:hover {
    background: #fdeceb;
    border-color: var(--rg-brand-danger);
    color: var(--rg-brand-danger);
}

/* Eye-icon button for document row */
.rg-scr-doc-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
    border: 1px solid #cfe0c0;
    border-radius: 6px;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, transform 80ms ease;
}
.rg-scr-doc-view:hover,
.rg-scr-doc-view:focus {
    background: var(--rg-brand-green);
    color: #fff;
    border-color: var(--rg-brand-green-strong);
}
.rg-scr-doc-view:active { transform: translateY(1px); }

.rg-scr-doc-remarks {
    margin-top: 0.45rem;
}
/* Quiet "Add note" toggle — collapsed state */
.rg-scr-doc-remarks__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.4rem;
    margin-left: -0.4rem;
    background: transparent;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    color: #5f6c78;
    font-size: 0.72rem;
    font-weight: 600;
}
.rg-scr-doc-remarks__toggle:hover,
.rg-scr-doc-remarks__toggle:focus {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
}
.rg-scr-doc-remarks__toggle svg { flex-shrink: 0; }
/* When a note already exists, the toggle reads "Edit note" + carries a dot */
.rg-scr-doc-remarks.has-note .rg-scr-doc-remarks__toggle {
    color: var(--rg-brand-green);
    font-weight: 700;
}
.rg-scr-doc-remarks__panel {
    margin-top: 0.35rem;
}
.rg-scr-doc-remarks__label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
    color: #5f6c78;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.rg-scr-doc-remarks__req {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #8a6407;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-radius: 3px;
    padding: 0.05rem 0.3rem;
}
.rg-scr-remarks-field {
    min-width: 13rem;
    font-size: 0.78rem;
    resize: vertical;
}
/* Resubmission rows: emphasize the required remarks textarea */
.rg-scr-doc-remarks.is-required .rg-scr-remarks-field {
    border-color: #ffdf88;
    background: #fffdf6;
}
.rg-scr-doc-remarks.is-required .rg-scr-remarks-field:focus {
    border-color: var(--rg-brand-gold) !important;
    box-shadow: 0 0 0 3px rgba(253, 184, 19, 0.18) !important;
}
.rg-scr-status-pill[data-fixed-status="request_resubmission"] {
    border-color: #ffdf88;
    color: #8a6407;
    background: var(--rg-brand-gold-soft);
}

/* Resubmission flow-comprehension notice (decision strip area) */
.rg-scr-resub-notice {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-left: 3px solid var(--rg-brand-gold);
    border-radius: 6px;
    padding: 0.7rem 0.9rem;
    margin-bottom: 0.85rem;
    color: #6f5108;
    font-size: 0.8rem;
    line-height: 1.5;
}
.rg-scr-resub-notice svg {
    flex-shrink: 0;
    color: var(--rg-brand-gold-strong);
    margin-top: 0.05rem;
}
.rg-scr-resub-notice__copy strong { color: #5a4106; }

/* Row-level treatment for documents flagged Request Resubmission.
   Trimmed to a single signal: a thin gold left-border. The amber status
   pill already names the state, so no background tint or inline tag.
   data-status is written live by the screening JS (updateDocumentRows). */
[data-document-row][data-status="request_resubmission"] {
    box-shadow: inset 3px 0 0 var(--rg-brand-gold);
}

/* Resubmission tag — only used in the finalized (locked) screening view. */
.rg-scr-doc-resub-tag {
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.35rem;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a6407;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-radius: 3px;
    padding: 0.1rem 0.35rem;
    width: fit-content;
}

/* Disposition screen — quick facts row under the result strip */
.rg-scr-result-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.85rem;
    margin: 0.6rem 0 0.85rem;
    font-size: 0.8rem;
    color: #4a5663;
}
.rg-scr-result-facts__item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.rg-scr-result-facts__item--flag {
    color: #8a6407;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-radius: 4px;
    padding: 0.05rem 0.4rem;
    font-weight: 600;
}
.rg-scr-result-facts__item--absent {
    color: #8f231d;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-radius: 4px;
    padding: 0.05rem 0.4rem;
    font-weight: 600;
}

/* Disposition screen — collapsed full-detail disclosure */
.rg-scr-locked-details {
    margin-bottom: 1rem;
}
.rg-scr-locked-details__summary {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--rg-brand-green);
    padding: 0.4rem 0.2rem;
    user-select: none;
}
.rg-scr-locked-details__summary::-webkit-details-marker { display: none; }
.rg-scr-locked-details__chevron { transition: transform 160ms ease; }
.rg-scr-locked-details[open] .rg-scr-locked-details__chevron { transform: rotate(180deg); }
.rg-scr-locked-details > .rg-cws-locked-frame { margin-top: 0.5rem; }

/* Disposition screen — plain section label inside the detail */
.rg-scr-locked-section-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: #5f6c78;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}

/* Disposition screen — bridge notice to the action card */
.rg-scr-locked-bridge {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    background: #f8fafc;
}

/* Finalized (locked) screening — remarks callout for returned documents */
.rg-scr-locked-remark {
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-left: 3px solid var(--rg-brand-gold);
    border-radius: 4px;
    padding: 0.4rem 0.55rem;
    font-size: 0.78rem;
    color: #6f5108;
    line-height: 1.45;
}

/* Off-canvas document drawer */
.rg-scr-doc-drawer {
    width: min(60vw, 880px) !important;
    background: #f4f6fa;
}
.rg-scr-doc-drawer__header {
    background: var(--rg-brand-green);
    color: #fff;
    border-bottom: 3px solid var(--rg-brand-gold);
    padding: 0.85rem 1.1rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.rg-scr-doc-drawer__copy { flex: 1; min-width: 0; }
.rg-scr-doc-drawer__kicker {
    display: block;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rg-brand-gold);
    margin-bottom: 0.15rem;
}
.rg-scr-doc-drawer__title {
    color: #fff;
    font-size: 1rem;
    margin: 0;
    font-weight: 700;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rg-scr-doc-drawer__filename {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.78rem;
    margin: 0.2rem 0 0;
    font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, Menlo, monospace;
}
.rg-scr-doc-drawer__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}
.rg-scr-doc-drawer__actions .btn-close {
    filter: brightness(0) invert(1);
}
.rg-scr-doc-drawer__actions .btn-outline-secondary {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.5);
    color: #fff;
}
.rg-scr-doc-drawer__actions .btn-outline-secondary:hover {
    background: rgba(255,255,255,0.2);
    color: #fff;
    border-color: #fff;
}
.rg-scr-doc-drawer__body {
    padding: 0;
    background: #2a3642;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.rg-scr-doc-drawer__frame {
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
}
.rg-scr-doc-drawer__image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: auto;
    background: #fff;
}
.rg-scr-doc-drawer__empty {
    margin: auto;
    text-align: center;
    color: #9aa4af;
    padding: 2rem;
}
.rg-scr-doc-drawer__empty p { margin-top: 0.75rem; font-size: 0.85rem; }

/* Score-grid disclosure */
.rg-scr-disclosure {
    border: 1px solid #e3e8ee;
    border-radius: 6px;
    background: #fafbfc;
}
.rg-scr-disclosure__summary {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.rg-scr-disclosure__summary::-webkit-details-marker { display: none; }
.rg-scr-disclosure__title {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
}
.rg-scr-disclosure__hint {
    flex: 1;
    font-size: 0.76rem;
    color: #5f6c78;
}
.rg-scr-disclosure__chevron {
    color: #5f6c78;
    transition: transform 180ms ease;
    flex-shrink: 0;
}
.rg-scr-disclosure[open] .rg-scr-disclosure__chevron {
    transform: rotate(180deg);
}
.rg-scr-disclosure[open] > .rg-field {
    padding: 0 0.85rem 0.85rem;
}

/* ==========================================================================
   FINAL SELECTION — lean polish helpers
   ========================================================================== */
.rg-fs-candidate-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.rg-fs-candidate-list > li { margin-bottom: 0.55rem; }
.rg-fs-candidate-list > li:last-child { margin-bottom: 0; }
.rg-fs-candidate {
    cursor: pointer;
    transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.rg-fs-candidate:hover {
    border-color: var(--rg-brand-green);
    background: #f8fafc;
}
.rg-fs-candidate.is-picked {
    border-color: var(--rg-brand-green);
    background: var(--rg-brand-green-soft);
    box-shadow: 0 0 0 2px rgba(30, 92, 45, 0.12);
}
.rg-fs-candidate__radio:focus-visible {
    outline: 2px solid var(--rg-brand-green);
    outline-offset: 2px;
    border-radius: 50%;
}
.rg-fs-candidate__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.rg-fs-candidate__ref {
    color: #6b7280;
    font-size: 0.78rem;
    margin-top: 0.1rem;
}
.rg-fs-candidate__warn {
    color: #b45309;
    font-size: 0.78rem;
    font-weight: 600;
    margin-top: 0.2rem;
}

.rg-fs-deep-justification[hidden] { display: none; }

/* Deep-selection lock: when the picked candidate's rank > 5, the checkbox
   can't be unchecked. The hint explains why; the checkbox gets a subtle
   locked treatment (still posts its value to the server). */
.rg-fs-deep-lock {
    margin-top: 0.35rem;
    padding: 0.4rem 0.6rem;
    background: var(--rg-brand-green-soft);
    border: 1px solid #cfe0c0;
    border-left: 3px solid var(--rg-brand-green);
    border-radius: 4px;
    font-size: 0.78rem;
    color: var(--rg-brand-green-strong);
    line-height: 1.5;
}
.rg-fs-deep-checkbox--locked {
    cursor: not-allowed;
}
.rg-fs-actions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #edf0f3;
}
.rg-fs-actions__msg {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-left: 3px solid var(--rg-brand-danger);
    color: #8f231d;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.83rem;
    font-weight: 600;
    margin-bottom: 0.55rem;
}
.rg-fs-actions__btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.rg-fs-actions__spacer { flex: 1; }

.rg-fs-return-card { border-color: #fbbf24; }

/* ==========================================================================
   COMPLETION WIZARD — helpers for the checklist + blockers + disabled rail
   ========================================================================== */
.rg-scr-steprail__item.is-disabled {
    color: #cfd6dd !important;
    cursor: not-allowed;
    pointer-events: none;
}
.rg-scr-steprail__item.is-disabled .rg-scr-steprail__num {
    background: #f3f4f6;
    color: #cfd6dd;
}

.rg-cmp-checklist {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}
.rg-cmp-checklist__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.rg-cmp-checklist__title {
    flex: 1;
    font-size: 0.86rem;
    font-weight: 700;
    color: #1e293b;
}
.rg-cmp-checklist__count {
    font-size: 0.78rem;
    color: #64748b;
}
.rg-cmp-checklist__empty {
    color: #9aa4af;
    font-size: 0.83rem;
    margin: 0.6rem 0 0;
}
.rg-cmp-checklist__help {
    font-size: 0.82rem;
    color: #5f6c78;
    margin: 0.6rem 0 0.85rem;
    padding: 0.5rem 0.75rem;
    background: #f8fafc;
    border-left: 3px solid var(--rg-brand-green);
    border-radius: 4px;
    line-height: 1.5;
}
.rg-cmp-req-label {
    font-size: 0.8rem !important;
}

/* Visually distinguish blank "add new" rows from saved requirements. */
.rg-cmp-req-form-row.is-new {
    border-style: dashed;
    background: #fafbfc;
}
.rg-cmp-req-form-row.is-new .rg-cmp-req-form-row__seq {
    color: var(--rg-brand-green);
    font-weight: 700;
}

.rg-cmp-blockers {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: 1rem;
    padding: 0.7rem 0.85rem;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #fde68a;
    border-left: 3px solid var(--rg-brand-gold);
    border-radius: 6px;
    font-size: 0.85rem;
    color: #854d0e;
    line-height: 1.55;
}
.rg-cmp-blockers__icon {
    flex-shrink: 0;
    margin-top: 1px;
    color: #c2410c;
}

/* ==========================================================================
   DECISION — 2-step wizard helpers (packet + decision card)
   The packet's core rg-pkt-* classes live in recruitguard.css; these
   are small additions used in the decision_body rewrite.
   ========================================================================== */
.rg-pkt-row__meta {
    color: #6b7280;
    font-size: 0.78rem;
    margin-left: 0.4rem;
}
.rg-pkt-row__meta--small { font-size: 0.73rem; }
.rg-pkt-row--multiline { align-items: flex-start; }
.rg-pkt-row--multiline .rg-pkt-row__label { padding-top: 0.1rem; }
.rg-pkt-row__value--prose { white-space: pre-line; }

.rg-pkt-section__empty {
    color: #9aa4af;
    font-size: 0.83rem;
    margin: 0;
}
.rg-pkt-section__notes {
    margin: 0.6rem 0 0;
    padding: 0.55rem 0.75rem;
    background: #f8fafc;
    border-left: 3px solid #cfd6dd;
    border-radius: 4px;
    font-size: 0.83rem;
    color: #374151;
    line-height: 1.55;
    white-space: pre-line;
}

.rg-decision-card { margin-bottom: 1rem; }
.rg-dec-confirm-list {
    margin: 0 0 0.85rem;
    padding-left: 1.2rem;
}
.rg-dec-confirm-list li { margin-bottom: 0.25rem; }
.rg-dec-permanence-warning {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.6rem 0.8rem;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #fde68a;
    border-left: 3px solid var(--rg-brand-gold);
    border-radius: 0.35rem;
    font-size: 0.8rem;
    color: #854d0e;
    line-height: 1.5;
}
.rg-dec-permanence-warning svg {
    flex-shrink: 0;
    margin-top: 1px;
    color: #c2410c;
}

/* ==========================================================================
   EXAMINATION WIZARD — conditional sections for outcome
   ========================================================================== */
.rg-exam-cond-group {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e3e8ee;
}
.rg-exam-cond-group__head {
    font-size: 0.72rem;
    font-weight: 700;
    color: #5f6c78;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.75rem;
}
.rg-exam-cond-group__note {
    font-size: 0.82rem;
    color: #5f6c78;
    line-height: 1.5;
    margin: 0 0 0.85rem;
}
.rg-exam-validation-alert {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.7rem;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-left: 3px solid var(--rg-brand-gold);
    color: #8a6407;
    border-radius: 6px;
    font-size: 0.82rem;
    margin: 0.5rem 0;
}

/* ==========================================================================
   DELIBERATION / CAR — role-split layout
   Shared panel summary + role-specific cards (deliberation recorder,
   CAR generator). Inline action footer on each card; no sticky bar
   because both cards can render together.
   ========================================================================== */

/* --- Shared panel rating summary --- */
.rg-del-panel-summary { margin-bottom: 1rem; }
.rg-del-panel-summary__count { flex-shrink: 0; align-self: flex-start; }
.rg-del-panel-summary--empty { background: #f8fafc; }
.rg-del-panel-summary__notice {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.83rem;
    color: #5f6c78;
}

.rg-del-rating-list {
    list-style: none;
    padding: 0;
    margin: 0.85rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.rg-del-rating-row {
    display: flex;
    gap: 0.85rem;
    padding: 0.7rem 0.9rem;
    background: #f8fafc;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
}
.rg-del-score-badge {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid #d7dde3;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.rg-del-score-badge--passing { border-color: var(--rg-brand-green); background: var(--rg-brand-green-soft); }
.rg-del-score-badge--marginal { border-color: var(--rg-brand-gold); background: var(--rg-brand-gold-soft); }
.rg-del-score-badge__num {
    font-size: 1.15rem;
    font-weight: 800;
    color: #5f6c78;
}
.rg-del-score-badge--passing .rg-del-score-badge__num { color: var(--rg-brand-green); }
.rg-del-score-badge--marginal .rg-del-score-badge__num { color: #8a6407; }
.rg-del-score-badge__sub {
    font-size: 0.62rem;
    color: #8a94a0;
    margin-top: 0.1rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.rg-del-rating-row__body { flex: 1; min-width: 0; }
.rg-del-rating-row__evaluator {
    font-size: 0.88rem;
    font-weight: 700;
    color: #111827;
}
.rg-del-rating-row__role {
    font-size: 0.76rem;
    color: #5f6c78;
    margin-top: 0.15rem;
}
.rg-del-rating-row__encoded { color: #8a94a0; }
.rg-del-rating-row__notes,
.rg-del-rating-row__justification {
    margin: 0.4rem 0 0;
    font-size: 0.83rem;
    color: #374151;
    line-height: 1.5;
}
.rg-del-rating-row__justification { color: #374151; }

.rg-del-avg-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.85rem;
    padding: 0.55rem 0.85rem;
    background: var(--rg-brand-green-soft);
    border: 1px solid #cfe0c0;
    border-radius: 6px;
    color: var(--rg-brand-green-strong);
    font-size: 0.86rem;
    font-weight: 600;
}
.rg-del-avg-strip__value {
    font-size: 1rem;
    font-weight: 800;
    color: var(--rg-brand-green);
}

/* --- Deliberation recorder card --- */
.rg-del-recorder { margin-bottom: 1rem; }
.rg-del-recorder__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
    margin-bottom: 0.75rem;
}
.rg-del-recorder__grid:has(.rg-field:only-child) { grid-template-columns: 1fr; }
@media (max-width: 640px) {
    .rg-del-recorder__grid { grid-template-columns: 1fr; }
}
.rg-del-recorder__footer {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #edf0f3;
}
.rg-del-recorder__btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.rg-del-recorder__spacer { flex: 1; }
.rg-del-recorder__msg {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-left: 3px solid var(--rg-brand-danger);
    color: #8f231d;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.83rem;
    font-weight: 600;
    margin-bottom: 0.55rem;
}

/* --- Locked deliberation summary --- */
.rg-del-locked { margin-bottom: 1rem; }
.rg-del-locked__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.6rem 1.2rem;
    margin: 0.6rem 0;
}
.rg-del-locked__facts > div { display: flex; flex-direction: column; gap: 0.2rem; }
.rg-del-locked__label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5f6c78;
}
.rg-del-locked__facts strong {
    font-size: 0.92rem;
    color: #111827;
    font-weight: 600;
}
.rg-del-locked__rank {
    font-size: 1.1rem !important;
    color: var(--rg-brand-green) !important;
    font-weight: 800 !important;
}
.rg-del-locked__field {
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid #edf0f3;
}
.rg-del-locked__field p {
    margin: 0.3rem 0 0;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.55;
}

/* --- CAR card --- */
.rg-del-car { margin-bottom: 1rem; }
.rg-del-car__version {
    flex-shrink: 0;
    align-self: flex-start;
    text-align: right;
}
.rg-del-car__author {
    font-size: 0.72rem;
    color: #9aa4af;
    margin-top: 0.2rem;
}
.rg-del-car__ranklist-head {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5f6c78;
    margin: 0.85rem 0 0.55rem;
}
.rg-del-car__ranklist-count {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: #9aa4af;
}
.rg-del-car__empty {
    padding: 1rem;
    background: #f8fafc;
    border: 1px dashed #d7dde3;
    border-radius: 6px;
    text-align: center;
    color: #5f6c78;
    font-size: 0.85rem;
    margin: 0.85rem 0;
}
.rg-del-car__summary-notes {
    margin: 0.6rem 0 0;
    padding: 0.55rem 0.75rem;
    background: #f8fafc;
    border-left: 3px solid #cfd6dd;
    border-radius: 4px;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.55;
}

.rg-del-car-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.rg-del-car-item {
    display: flex;
    gap: 0.85rem;
    padding: 0.7rem 0.9rem;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
}
.rg-del-rank-badge {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--rg-brand-green);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.92rem;
    font-weight: 800;
    box-shadow: 0 1px 2px rgba(14, 47, 20, 0.08);
}
.rg-del-car-item__body { flex: 1; min-width: 0; }
.rg-del-car-item__name {
    font-size: 0.92rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.35rem;
}
.rg-del-car-item__scores {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-top: 0.35rem;
}
.rg-del-car-item__score-cell {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.rg-del-car-item__score-label {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8a94a0;
}
.rg-del-car-item__score-val {
    font-size: 0.85rem;
    color: #111827;
    font-weight: 600;
}
.rg-del-car-item__decision {
    margin: 0.45rem 0 0;
    font-size: 0.82rem;
    color: #374151;
    line-height: 1.5;
}

.rg-del-car__footer {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #edf0f3;
}
.rg-del-car__readiness {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-bottom: 0.6rem;
}
.rg-del-car__readiness-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    color: #5f6c78;
}
.rg-del-car__readiness-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid #cfd6dd;
    font-size: 0.65rem;
    font-weight: 800;
    color: transparent;
    flex-shrink: 0;
}
.rg-del-car__readiness-item.is-met { color: var(--rg-brand-success-ink); }
.rg-del-car__readiness-item.is-met .rg-del-car__readiness-icon {
    border-color: var(--rg-brand-green);
    background: var(--rg-brand-green);
    color: #fff;
}
.rg-del-car__msg {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-left: 3px solid var(--rg-brand-danger);
    color: #8f231d;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.83rem;
    font-weight: 600;
    margin-bottom: 0.55rem;
}
.rg-del-car__btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.rg-del-car__spacer { flex: 1; }

/* ==========================================================================
   APPLICANT INTAKE WIZARD — 3-step client-side flow.
   Mirrors the screening wizard standard adapted to the public/applicant
   aesthetic (white cards, green accents, generous spacing).
   ========================================================================== */

.rg-public-topbar__applying {
    font-size: 0.85rem;
    color: #5f6c78;
    text-align: right;
}
.rg-public-topbar__applying strong { color: var(--rg-brand-green-ink); }

/* --- Journey indicator (Apply / Verify email / Submitted) --- */
.rg-intake-journey {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.8rem;
    align-items: center;
    margin: 1.25rem 0 0.75rem;
    font-size: 0.78rem;
    color: #6b7280;
}
.rg-intake-journey__phase {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #f3f4f6;
    color: #475569;
    font-weight: 600;
    letter-spacing: 0.01em;
}
.rg-intake-journey__phase.is-current {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
}
.rg-intake-journey__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: #e3e8ee;
    color: #5f6c78;
    font-size: 0.7rem;
    font-weight: 800;
}
.rg-intake-journey__phase.is-current .rg-intake-journey__num {
    background: var(--rg-brand-green);
    color: #fff;
}
.rg-intake-journey__phase.is-done {
    background: var(--rg-brand-success-soft);
    color: var(--rg-brand-success-ink);
}
.rg-intake-journey__phase.is-done .rg-intake-journey__num {
    background: var(--rg-brand-success);
    color: #fff;
}

/* --- OTP page polish ----- */
.rg-pub-otp-card { background:#fff; border:1px solid #e3e8ee; border-radius:10px; padding:1.5rem; box-shadow:0 1px 2px rgba(14,47,20,0.04); margin-bottom:1.25rem; }
.rg-pub-otp-card__title { font-size:1.3rem; font-weight:700; color:var(--rg-brand-green-ink); margin:0 0 0.4rem; text-align:center; }
.rg-pub-otp-card__intro { font-size:0.92rem; color:#5f6c78; text-align:center; margin-bottom:1rem; }
.rg-pub-otp-card--verified { text-align:center; }
.rg-pub-otp-card__checkmark { width:48px; height:48px; margin:0 auto 0.75rem; border-radius:50%; background:var(--rg-brand-success-soft); color:var(--rg-brand-success-ink); display:flex; align-items:center; justify-content:center; }
.rg-pub-otp-label { display:block; font-size:0.88rem; font-weight:600; color:#374151; text-align:center; margin-bottom:0.4rem; }
.rg-pub-otp-help { font-size:0.82rem; color:#9aa4af; text-align:center; margin:0.75rem 0 1.25rem; }
.rg-pub-otp-resend { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid #edf0f3; font-size:0.86rem; color:#4a5663; }
.rg-pub-otp-tips { margin:0.3rem 0 0.65rem; padding-left:1.1rem; }
.rg-pub-otp-tips li { margin-bottom:0.25rem; }
.rg-pub-otp-wrongmail { margin-top:0.85rem; font-size:0.85rem; }
.rg-pub-otp-wrongmail a { color:var(--rg-brand-green); font-weight:600; text-decoration:none; }
.rg-pub-otp-wrongmail a:hover { text-decoration:underline; }
.rg-pub-resend-timer { font-size:0.85rem; color:#9aa4af; }
.rg-pub-verified-tag { color:var(--rg-brand-success-ink); font-size:0.8rem; font-weight:600; margin-left:0.4rem; }
.rg-pub-back-row { text-align:center; margin-top:1rem; }
.rg-pub-message-stack { margin-bottom:1rem; }

/* --- Page heading --- */
.rg-intake-header {
    margin-bottom: 1.25rem;
}
.rg-intake-header__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
    margin: 0 0 0.35rem;
    line-height: 1.25;
}
.rg-intake-header__copy {
    font-size: 0.92rem;
    color: #4a5663;
    line-height: 1.55;
    margin: 0;
    max-width: 64ch;
}

/* --- Step rail --- */
.rg-intake-steprail {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin: 1.25rem 0;
    padding: 0.6rem 0.85rem;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
}
.rg-intake-steprail__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: none;
    padding: 0.35rem 0.55rem;
    border-radius: 6px;
    cursor: pointer;
    color: #8a94a0;
    font-size: 0.86rem;
    font-weight: 600;
}
.rg-intake-steprail__item:hover { background: #f3f6f9; }
.rg-intake-steprail__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    background: #e3e8ee;
    color: #6b7280;
    font-size: 0.82rem;
    font-weight: 800;
    flex-shrink: 0;
}
.rg-intake-steprail__item.is-current {
    color: var(--rg-brand-green-ink);
}
.rg-intake-steprail__item.is-current .rg-intake-steprail__num {
    background: var(--rg-brand-green);
    color: #fff;
}
.rg-intake-steprail__item.is-done { color: var(--rg-brand-green); }
.rg-intake-steprail__item.is-done .rg-intake-steprail__num {
    background: var(--rg-brand-green-soft);
    color: var(--rg-brand-green);
}
.rg-intake-steprail__line {
    flex: 1;
    min-width: 1rem;
    height: 2px;
    background: #e3e8ee;
    border-radius: 2px;
}
@media (max-width: 560px) {
    .rg-intake-steprail__label { display: none; }
}

/* --- Step card --- */
.rg-intake-step {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    padding: 1.5rem;
    box-shadow: 0 1px 2px rgba(14, 47, 20, 0.04);
}
.rg-intake-step__heading {
    font-size: 1.18rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
    margin: 0 0 0.35rem;
}
.rg-intake-step__subtitle {
    font-size: 0.9rem;
    color: #4a5663;
    margin: 0 0 1.25rem;
    line-height: 1.55;
}

/* --- 2-column grid for short fields --- */
.rg-intake-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
    margin-bottom: 1rem;
}
@media (max-width: 640px) {
    .rg-intake-grid { grid-template-columns: 1fr; }
}

/* --- Optional label hint --- */
.rg-intake-optional {
    font-size: 0.74rem;
    font-weight: 400;
    color: #64748b;
    margin-left: 0.35rem;
}

/* --- Fieldset + radios --- */
.rg-intake-fieldset legend {
    font-size: 0.88rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.35rem;
}
.rg-intake-radio-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0.45rem;
}

.rg-intake-applicability {
    margin-bottom: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px dashed #e3e8ee;
}
.rg-intake-applicability legend {
    font-size: 0.86rem;
    font-weight: 600;
    color: #374151;
}

/* --- Saved-file callout --- */
.rg-intake-saved-file {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.6rem;
    padding: 0.5rem 0.7rem;
    background: var(--rg-brand-success-soft);
    color: var(--rg-brand-success-ink);
    border: 1px solid #cfe4af;
    border-radius: 6px;
    font-size: 0.83rem;
}
.rg-intake-saved-file svg { flex-shrink: 0; color: var(--rg-brand-success-ink); }

/* --- Review step (summary cards) --- */
.rg-intake-review {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.rg-intake-review__card {
    background: #f8fafc;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
    padding: 1rem 1.1rem;
}
.rg-intake-review__heading {
    font-size: 0.78rem;
    font-weight: 700;
    color: #5f6c78;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 0.65rem;
}
.rg-intake-review__list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
}
.rg-intake-review__row {
    display: grid;
    grid-template-columns: 12rem 1fr;
    gap: 0.5rem 0.9rem;
    align-items: start;
    font-size: 0.88rem;
    color: #1f2937;
    padding: 0.25rem 0;
    border-bottom: 1px solid #edf1f4;
}
.rg-intake-review__row:last-child { border-bottom: 0; }
.rg-intake-review__row dt {
    font-size: 0.78rem;
    font-weight: 600;
    color: #5f6c78;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
}
.rg-intake-review__row dd {
    margin: 0;
    word-break: break-word;
    white-space: pre-wrap;
}
.rg-intake-review__empty {
    color: #9aa4af;
    font-style: italic;
}
@media (max-width: 560px) {
    .rg-intake-review__row { grid-template-columns: 1fr; }
}

.rg-intake-review__docs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.rg-intake-review__docs li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.45rem 0.6rem;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 6px;
    font-size: 0.86rem;
    color: #1f2937;
}
.rg-intake-review__doclabel { min-width: 0; word-break: break-word; }
.rg-intake-review__status {
    font-size: 0.78rem;
    font-weight: 600;
    color: #5f6c78;
    flex-shrink: 0;
}
.rg-intake-review__status.is-ok {
    color: var(--rg-brand-success-ink);
    word-break: break-all;
    text-align: right;
}
.rg-intake-review__status.is-missing {
    color: var(--rg-brand-danger);
}

/* --- Confirm checkbox block --- */
.rg-intake-confirm {
    background: #fff8eb;
    border: 1px solid #ffdf88;
    border-radius: 8px;
    padding: 1rem 1.1rem;
}
.rg-intake-confirm__heading {
    font-size: 0.92rem;
    font-weight: 700;
    color: #8a6407;
    margin: 0 0 0.6rem;
}
.rg-intake-confirm__list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

/* --- Sticky action bar --- */
.rg-intake-actionbar {
    position: sticky;
    bottom: 0;
    z-index: 30;
    margin-top: 1.25rem;
    background: #fff;
    border-top: 1px solid #e3e8ee;
    box-shadow: 0 -4px 14px rgba(14, 47, 20, 0.06);
}
.rg-intake-actionbar__inner {
    max-width: 880px;
    margin: 0 auto;
    padding: 0.75rem 1rem;
}
.rg-intake-actionbar__btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.rg-intake-actionbar__spacer { flex: 1; }
.rg-intake-actionbar__msg {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-left: 3px solid var(--rg-brand-danger);
    color: #8f231d;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.55rem;
}
.rg-intake-cancel {
    color: #6b7280 !important;
    border-color: #d7dde3 !important;
}

/* ==========================================================================
   AUTOSAVE INDICATOR — small text rendered in the sticky action bar.
   States: is-saving, is-saved, is-error, is-idle (no text).
   ========================================================================== */
.rg-autosave {
    font-size: 0.78rem;
    font-weight: 500;
    color: #8a94a0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.1rem;
    transition: color 120ms ease;
}
.rg-autosave::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: transparent;
    flex-shrink: 0;
}
.rg-autosave.is-saving { color: #5f6c78; }
.rg-autosave.is-saving::before {
    background: var(--rg-brand-gold);
    animation: rg-autosave-pulse 0.9s ease-in-out infinite;
}
.rg-autosave.is-saved { color: var(--rg-brand-success-ink); }
.rg-autosave.is-saved::before { background: var(--rg-brand-success); }
.rg-autosave.is-error { color: var(--rg-brand-danger); font-weight: 600; }
.rg-autosave.is-error::before { background: var(--rg-brand-danger); }
.rg-autosave.is-idle::before { display: none; }

@keyframes rg-autosave-pulse {
    0%, 100% { opacity: 0.35; transform: scale(0.85); }
    50% { opacity: 1; transform: scale(1.1); }
}

/* ==========================================================================
   INTERVIEW STAGE — role-clear layout
   Two distinct user jobs (session manager / panel rater) split into two
   includes that share the same patterns: previous-step summary, readout
   grids, sticky action bar, plain banners.
   ========================================================================== */

/* --- Previous step summary (compact 3-fact card) --- */
.rg-int-prev-step {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.4rem 1rem;
    padding: 0.7rem 0.9rem;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
    margin-bottom: 0.85rem;
}
.rg-int-prev-step__item {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.rg-int-prev-step__label {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #8a94a0;
}
.rg-int-prev-step__value { font-size: 0.82rem; color: #374151; }
.rg-int-prev-step__value--strong { font-weight: 600; color: #111827; }
.rg-int-prev-step__empty {
    color: #9aa4af;
    font-style: italic;
    font-size: 0.8rem;
}
.rg-int-prev-step__score {
    margin-left: 0.35rem;
    font-size: 0.78rem;
    color: #374151;
}

/* --- Readout grid (read-only session info; rater + locked) --- */
.rg-int-readout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.6rem 1.2rem;
    margin: 0.5rem 0;
}
.rg-int-readout-grid > div { display: flex; flex-direction: column; gap: 0.2rem; }
.rg-int-readout-grid__label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8a94a0;
}
.rg-int-readout-grid strong { font-size: 0.88rem; color: #111827; }
.rg-int-readout-notes {
    margin: 0.75rem 0 0;
    padding: 0.5rem 0.75rem;
    background: #f8fafc;
    border-left: 3px solid #cfd6dd;
    border-radius: 4px;
    font-size: 0.82rem;
    color: #374151;
    line-height: 1.55;
}
.rg-int-readout-finalmeta {
    margin: 0.75rem 0 0;
    padding-top: 0.6rem;
    border-top: 1px solid #edf0f3;
    font-size: 0.76rem;
    color: #6b7682;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

/* --- Session form layout --- */
.rg-int-session-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
}
@media (max-width: 640px) {
    .rg-int-session-grid { grid-template-columns: 1fr; }
}

/* --- Banners (info/warn/muted) --- */
.rg-int-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}
.rg-int-banner svg { flex-shrink: 0; margin-top: 0.15rem; }
.rg-int-banner__title {
    font-size: 0.88rem;
    font-weight: 700;
    margin-bottom: 0.15rem;
}
.rg-int-banner p { margin: 0; font-size: 0.82rem; line-height: 1.5; }
.rg-int-banner--info {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.rg-int-banner--info { color: #1e40af; }
.rg-int-banner--info .rg-int-banner__title { color: #1e3a8a; }
.rg-int-banner--info p { color: #1e40af; }
.rg-int-banner--warn {
    background: #fff7ed;
    border-color: #fed7aa;
}
.rg-int-banner--warn { color: #92400e; }
.rg-int-banner--warn .rg-int-banner__title { color: #7c2d12; }
.rg-int-banner--warn p { color: #92400e; }
.rg-int-banner--muted {
    background: #f8fafc;
    color: #5f6c78;
    font-size: 0.83rem;
    align-items: center;
}

/* --- Encoding-mode banner (above the rating form) --- */
.rg-int-encoding-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.8rem;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-radius: 6px;
    color: #8a6407;
    font-size: 0.8rem;
    line-height: 1.5;
    margin-bottom: 0.85rem;
}
.rg-int-encoding-banner svg { flex-shrink: 0; margin-top: 1px; color: #8a6407; }

/* --- Rating score + dial --- */
.rg-int-score {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin: 0.6rem 0;
}
.rg-int-score__field { flex: 1; min-width: 0; }
.rg-int-score__range {
    font-size: 0.74rem;
    color: #9aa4af;
    font-weight: 400;
    margin-left: 0.4rem;
}
.rg-int-score__dial {
    flex-shrink: 0;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 2px solid #e3e8ee;
    background: #fafbfc;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: border-color 140ms ease, background 140ms ease;
}
.rg-int-score__dial.is-passing {
    border-color: var(--rg-brand-green);
    background: var(--rg-brand-green-soft);
}
.rg-int-score__dial.is-marginal {
    border-color: var(--rg-brand-gold);
    background: var(--rg-brand-gold-soft);
}
.rg-int-score__val {
    font-size: 1.6rem;
    font-weight: 700;
    color: #9aa4af;
    line-height: 1;
}
.rg-int-score__val.is-passing { color: var(--rg-brand-green); }
.rg-int-score__val.is-marginal { color: #8a6407; }
.rg-int-score__label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9aa4af;
    margin-top: 0.2rem;
}
.rg-int-score__label.is-passing { color: var(--rg-brand-green); }
.rg-int-score__label.is-marginal { color: #8a6407; }

/* --- Threshold notice --- */
.rg-int-threshold {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    background: var(--rg-brand-gold-soft);
    border: 1px solid #ffdf88;
    border-radius: 6px;
    color: #8a6407;
    font-size: 0.8rem;
    margin: 0.5rem 0;
}
.rg-int-threshold svg { flex-shrink: 0; }

/* --- Submitted state card --- */
.rg-int-submitted {
    display: flex;
    gap: 1rem;
    padding: 0.85rem;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    margin: 0.6rem 0;
    align-items: flex-start;
}
.rg-int-submitted__dial {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--rg-brand-green);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.rg-int-submitted__score {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--rg-brand-green);
}
.rg-int-submitted__denom {
    font-size: 0.66rem;
    color: var(--rg-brand-green);
    margin-top: 0.15rem;
}
.rg-int-submitted__body { flex: 1; min-width: 0; }
.rg-int-submitted__heading {
    font-size: 0.92rem;
    font-weight: 700;
    color: #166534;
    margin-bottom: 0.3rem;
}
.rg-int-submitted__body p {
    font-size: 0.82rem;
    color: #374151;
    margin: 0 0 0.3rem;
    line-height: 1.5;
}
.rg-int-submitted__notice {
    font-size: 0.78rem;
    color: #5f6c78;
    margin-top: 0.5rem !important;
}

/* --- Sticky action bar (matches the screening wizard look) --- */
.rg-int-actionbar {
    position: sticky;
    bottom: 0;
    z-index: 20;
    background: #fff;
    border-top: 1px solid #e3e8ee;
    box-shadow: 0 -4px 14px rgba(14, 47, 20, 0.06);
    padding: 0.7rem 1rem;
    margin: 1.25rem -1rem -1rem;
}
.rg-int-actionbar__btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.rg-int-actionbar__spacer { flex: 1; }
.rg-int-actionbar__msg {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: #fdeceb;
    border: 1px solid #f3c4c1;
    border-left: 3px solid var(--rg-brand-danger);
    color: #8f231d;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.6rem;
}

/* --- Optional label (Optional · ...) --- */
.rg-int-optional {
    font-weight: 400;
    color: #9aa4af;
    font-size: 0.74rem;
    margin-left: 0.35rem;
}

/* --- Lock pill (used in section headers) --- */
.rg-int-pill-lock {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

/* --- Monitor list (Secretariat sees who's submitted, no scores) --- */
.rg-int-monitor-list {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.rg-int-monitor-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.7rem;
    background: #f8fafc;
    border: 1px solid #e3e8ee;
    border-radius: 6px;
}
.rg-int-monitor-item__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rg-brand-green);
    flex-shrink: 0;
}
.rg-int-monitor-item__copy { flex: 1; min-width: 0; }
.rg-int-monitor-item__name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #111827;
}
.rg-int-monitor-item__role {
    font-size: 0.74rem;
    color: #5f6c78;
}
.rg-int-monitor-item__tag {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rg-brand-green);
    background: var(--rg-brand-green-soft);
    border: 1px solid #cfe0c0;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    flex-shrink: 0;
}

/* --- Fallback upload actions row --- */
.rg-int-fallback-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
}
.rg-int-fallback-actions .invalid-feedback {
    margin-right: auto;
}

/* --- Privacy note inside the rating confirm modal --- */
.rg-int-modal-privacy {
    margin: 0.75rem 0 0;
    padding: 0.55rem 0.7rem;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 4px;
    font-size: 0.77rem;
    color: #0c4a6e;
    line-height: 1.5;
}

/* ==========================================================================
   CASE WORKSPACE — applicant submission panel (collapsed, every tab)
   ========================================================================== */
.rg-applicant-panel {
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 8px;
    margin-bottom: 0.85rem;
}
.rg-applicant-panel__summary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.9rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.rg-applicant-panel__summary::-webkit-details-marker { display: none; }
.rg-applicant-panel__icon { color: var(--rg-brand-green); flex-shrink: 0; }
.rg-applicant-panel__heading {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
}
.rg-applicant-panel__name {
    flex: 1;
    min-width: 0;
    font-size: 0.82rem;
    color: #5f6c78;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rg-applicant-panel__chevron {
    color: #8a94a0;
    flex-shrink: 0;
    transition: transform 160ms ease;
}
.rg-applicant-panel[open] .rg-applicant-panel__chevron { transform: rotate(180deg); }
.rg-applicant-panel__body {
    padding: 0.25rem 0.9rem 0.9rem;
    border-top: 1px solid #eef1f4;
}
.rg-applicant-panel__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.6rem 1.2rem;
    margin: 0.75rem 0;
}
.rg-applicant-panel__grid > div {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.rg-applicant-panel__label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8a94a0;
}
.rg-applicant-panel__grid strong {
    font-size: 0.83rem;
    color: #111827;
    font-weight: 600;
}
.rg-applicant-panel__field {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #eef1f4;
}
.rg-applicant-panel__field p {
    margin: 0.3rem 0 0;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.55;
}
.rg-applicant-panel__empty { color: #9aa4af; font-style: italic; }
.rg-applicant-panel__certs {
    list-style: none;
    margin: 0.4rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}
.rg-applicant-panel__certs li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    color: #8a94a0;
}
.rg-applicant-panel__certs li::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1.5px solid #cfd6dd;
    flex-shrink: 0;
}
.rg-applicant-panel__certs li.is-checked { color: #374151; }
.rg-applicant-panel__certs li.is-checked::before {
    border-color: var(--rg-brand-green);
    background: var(--rg-brand-green)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M1.5 5l2.5 2.5 4.5-4.5' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        center / 10px no-repeat;
}

/* ==========================================================================
   MY QUEUE — filter chips + count
   ========================================================================== */
.rg-queue-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.6rem 1rem;
    margin-bottom: 0.85rem;
}
.rg-queue-filters {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.rg-queue-chip {
    border: 1px solid #d7dde3;
    background: #fff;
    color: #4a5663;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.34rem 0.8rem;
    border-radius: 999px;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}
.rg-queue-chip:hover {
    border-color: var(--rg-brand-green);
    color: var(--rg-brand-green);
}
.rg-queue-chip.is-active {
    background: var(--rg-brand-green);
    border-color: var(--rg-brand-green);
    color: #fff;
}
.rg-queue-count {
    margin: 0;
    font-size: 0.85rem;
    color: #5f6c78;
}
.rg-queue-count strong {
    color: var(--rg-brand-green-ink);
}
.rg-queue-noresults {
    padding: 1.5rem;
    text-align: center;
    font-size: 0.85rem;
    color: #8a94a0;
}

/* ==========================================================================
   CASE WORKSPACE — collapsible pipeline summary
   Default state: thin bar showing "Step N of M — {current stage}"
   Click to expand: full pipeline with circles + connectors.
   ========================================================================== */

.rg-cws-pipeline--collapsible {
    margin-bottom: 0.85rem;
}
.rg-pipeline-summary {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-left: 3px solid var(--rg-brand-green);
    border-radius: 6px;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    text-align: left;
    color: inherit;
    transition: border-color 120ms ease, background 120ms ease;
}
.rg-pipeline-summary:hover,
.rg-pipeline-summary:focus {
    border-color: var(--rg-brand-green);
    background: #fafcf7;
}
.rg-pipeline-summary[aria-expanded="true"] .rg-pipeline-summary__toggle svg {
    transform: rotate(180deg);
}

.rg-pipeline-summary__progress {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}
.rg-pipeline-summary__tick {
    display: block;
    width: 16px;
    height: 5px;
    border-radius: 2px;
    background: #dbe1e8;
}
.rg-pipeline-summary__tick.is-complete {
    background: var(--rg-brand-green);
}
.rg-pipeline-summary__tick.is-current {
    background: var(--rg-brand-gold);
    box-shadow: 0 0 0 2px rgba(253, 184, 19, 0.18);
}

.rg-pipeline-summary__copy {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    flex: 1;
    min-width: 0;
}
.rg-pipeline-summary__step {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rg-brand-green);
}
.rg-pipeline-summary__label {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
    margin-top: 0.1rem;
}

.rg-pipeline-summary__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    color: #5f6c78;
    font-size: 0.78rem;
    font-weight: 600;
}
.rg-pipeline-summary__toggle svg {
    transition: transform 180ms ease;
}

@media (max-width: 720px) {
    .rg-pipeline-summary__toggle-label { display: none; }
}

/* --- Public footer: 4-color GOVPH stripe + content --- */
.rg-public-footer {
    margin-top: 3rem;
    background: #fff;
    border-top: 1px solid #d7dde3;
}
.rg-public-footer__stripe {
    display: flex;
    height: 4px;
    width: 100%;
}
.rg-public-footer__stripe span {
    flex: 1;
    display: block;
}
.rg-public-footer__stripe span:nth-child(1) { background: var(--rg-brand-gold); }
.rg-public-footer__stripe span:nth-child(2) { background: var(--rg-brand-success); }
.rg-public-footer__stripe span:nth-child(3) { background: var(--rg-brand-health-blue); }
.rg-public-footer__stripe span:nth-child(4) { background: var(--rg-brand-danger); }

.rg-public-footer__body {
    padding: 1.5rem 1rem;
    text-align: center;
    color: #4a5663;
}
.rg-public-footer__agency {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink);
    margin: 0 0 0.2rem;
}
.rg-public-footer__meta {
    font-size: 0.78rem;
    color: #6b7280;
    margin: 0;
}
.rg-public-footer__meta a {
    color: var(--rg-brand-green);
    font-weight: 600;
    text-decoration: none;
}
.rg-public-footer__meta a:hover { text-decoration: underline; }

/* ─────────────────────────────────────────────────────────────────
   Topbar notifications bell + dropdown (Slice D1)
───────────────────────────────────────────────────────────────── */
.rg-notif {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.rg-notif__bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: var(--rg-brand-green-ink, #14532d);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    padding: 0;
}
.rg-notif__bell:hover,
.rg-notif__bell:focus-visible {
    background: #f1f5f9;
    border-color: #cbd5e1;
    outline: none;
}
.rg-notif__bell:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
}
.rg-notif__bell[aria-expanded="true"] {
    background: #ecfdf5;
    border-color: #86efac;
}
.rg-notif__bell-icon {
    width: 1.15rem;
    height: 1.15rem;
}
.rg-notif__badge {
    position: absolute;
    top: -3px;
    right: -3px;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: #dc2626;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.15rem;
    text-align: center;
    box-shadow: 0 0 0 2px #ffffff;
    pointer-events: none;
}
.rg-notif__badge.is-hidden { display: none; }

.rg-notif__panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: min(22rem, calc(100vw - 2rem));
    max-height: min(28rem, calc(100vh - 6rem));
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    box-shadow: 0 18px 38px -16px rgba(15, 23, 42, 0.25), 0 4px 12px -6px rgba(15, 23, 42, 0.1);
    z-index: 1200;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.rg-notif__panel[hidden] { display: none; }
.rg-notif__panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    background: #f8fafc;
}
.rg-notif__panel-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink, #14532d);
    margin: 0;
}
.rg-notif__mark-all { margin: 0; }
.rg-notif__mark-all-btn {
    background: none;
    border: none;
    padding: 0;
    color: var(--rg-brand-green, #16a34a);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}
.rg-notif__mark-all-btn:hover { text-decoration: underline; }
.rg-notif__mark-all-btn:focus-visible {
    outline: 2px solid rgba(59, 130, 246, 0.45);
    outline-offset: 2px;
    border-radius: 0.25rem;
}

.rg-notif__list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1 1 auto;
}
.rg-notif__item {
    border-bottom: 1px solid #f1f5f9;
}
.rg-notif__item:last-child { border-bottom: none; }
.rg-notif__item-form { margin: 0; }
.rg-notif__item-link {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    color: inherit;
}
.rg-notif__item-link:hover { background: #f8fafc; }
.rg-notif__item-link:focus-visible {
    background: #ecfdf5;
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(22, 163, 74, 0.45);
}
.rg-notif__item--unread .rg-notif__item-link { background: #f0fdf4; }
.rg-notif__item--unread .rg-notif__item-link:hover { background: #dcfce7; }
.rg-notif__item-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    margin-top: 0.4rem;
    background: transparent;
    flex: 0 0 auto;
}
.rg-notif__item--unread .rg-notif__item-dot {
    background: var(--rg-brand-green, #16a34a);
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}
.rg-notif__item-body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1 1 auto;
}
.rg-notif__item-title {
    font-size: 0.82rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
}
.rg-notif__item-text {
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rg-notif__item-meta {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-top: 0.15rem;
}
.rg-notif__item-flag {
    color: var(--rg-brand-green, #16a34a);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.rg-notif__empty {
    padding: 1.5rem 1rem;
    text-align: center;
    color: #475569;
}
.rg-notif__empty-icon {
    width: 2rem;
    height: 2rem;
    color: var(--rg-brand-green, #16a34a);
    opacity: 0.75;
    margin-bottom: 0.4rem;
}
.rg-notif__empty-title {
    margin: 0 0 0.2rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
}
.rg-notif__empty .rg-notif__empty-text,
.rg-notif__empty-text {
    margin: 0;
    font-size: 0.78rem;
    color: #64748b;
}

.rg-notif__panel-footer {
    padding: 0.6rem 1rem;
    border-top: 1px solid #f1f5f9;
    background: #f8fafc;
    text-align: center;
}
.rg-notif__view-all {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--rg-brand-green, #16a34a);
    text-decoration: none;
}
.rg-notif__view-all:hover { text-decoration: underline; }

/* Full-page notifications list */
.rg-notif-page {
    margin-top: 1rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    overflow: hidden;
}
.rg-notif-page__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.rg-notif-page__item { border-bottom: 1px solid #f1f5f9; }
.rg-notif-page__item:last-child { border-bottom: none; }
.rg-notif-page__form { margin: 0; }
.rg-notif-page__row {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    width: 100%;
    padding: 1rem 1.25rem;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    color: inherit;
}
.rg-notif-page__row:hover { background: #f8fafc; }
.rg-notif-page__row:focus-visible {
    background: #ecfdf5;
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(22, 163, 74, 0.45);
}
.rg-notif-page__item--unread .rg-notif-page__row { background: #f0fdf4; }
.rg-notif-page__item--unread .rg-notif-page__row:hover { background: #dcfce7; }
.rg-notif-page__dot {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    margin-top: 0.4rem;
    background: transparent;
    flex: 0 0 auto;
}
.rg-notif-page__item--unread .rg-notif-page__dot {
    background: var(--rg-brand-green, #16a34a);
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}
.rg-notif-page__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 1 1 auto;
    min-width: 0;
}
.rg-notif-page__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}
.rg-notif-page__text {
    font-size: 0.85rem;
    color: #475569;
    line-height: 1.4;
}
.rg-notif-page__meta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #94a3b8;
    margin-top: 0.15rem;
}
.rg-notif-page__meta-tag {
    font-size: 0.7rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}
.rg-notif-page__meta-time { color: #64748b; }

.rg-notif-page__empty {
    padding: 3rem 1.5rem;
    text-align: center;
    color: #475569;
}
.rg-notif-page__empty-icon {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--rg-brand-green, #16a34a);
    opacity: 0.7;
    margin-bottom: 0.5rem;
}
.rg-notif-page__empty-title {
    margin: 0 0 0.3rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}
.rg-notif-page__empty-text {
    margin: 0 auto;
    max-width: 32rem;
    font-size: 0.88rem;
    color: #64748b;
    line-height: 1.5;
}

/* On tablet / small-laptop widths the panel was sitting too close to the
   role pill on its left. Shrink it slightly so it sits comfortably under
   the bell instead of dominating the topbar row. */
@media (max-width: 860px) {
    .rg-notif__panel {
        width: min(20rem, calc(100vw - 2rem));
    }
}
@media (max-width: 540px) {
    .rg-notif__panel {
        right: -0.5rem;
        width: calc(100vw - 1.5rem);
    }
}

/* ─────────────────────────────────────────────────────────────────
   Stage SLA badge (Slice D5)
   States: ok | warning | overdue | paused
───────────────────────────────────────────────────────────────── */
.rg-sla-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    border: 1px solid transparent;
    cursor: help;
}
.rg-sla-badge__dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}
.rg-sla-badge__text { color: inherit; }

/* OK — quiet neutral so the queue isn't loud */
.rg-sla-badge--ok {
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
}
/* Warning — amber */
.rg-sla-badge--warning {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
/* Overdue — red */
.rg-sla-badge--overdue {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}
/* Paused — sky blue, signals "not on the office's clock" */
.rg-sla-badge--paused {
    background: #e0f2fe;
    color: #075985;
    border-color: #bae6fd;
}

/* Small variant — used inside queue rows under the task pill */
.rg-sla-badge--sm {
    margin-top: 0.3rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.68rem;
}
.rg-sla-badge--sm .rg-sla-badge__dot {
    width: 0.35rem;
    height: 0.35rem;
}

/* When the badge sits in the case header facts strip, give it a touch of space */
.rg-cws-header__facts .rg-sla-badge {
    margin-left: 0.25rem;
}

/* ─────────────────────────────────────────────────────────────────
   Applicant portal home page — polish slice (H1–H7)
───────────────────────────────────────────────────────────────── */

/* Job-card chips: branch type + level, sit just below the title */
.rg-pub-job-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.4rem 0 0.5rem;
}
.rg-pub-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    border: 1px solid transparent;
    line-height: 1.3;
}
.rg-pub-chip--plantilla {
    background: #ecfdf5;
    color: #14532d;
    border-color: #86efac;
}
.rg-pub-chip--cos {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
.rg-pub-chip--level {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}
.rg-pub-chip--sg {
    background: #f1f5f9;
    color: #334155;
    border-color: #cbd5e1;
    font-variant-numeric: tabular-nums;
}

/* Job-code reference line above the title — small, secondary, monospace */
.rg-pub-job-card__ref {
    margin: 0 0 0.15rem;
    font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, Menlo, monospace;
    font-size: 0.72rem;
    color: #64748b;
    letter-spacing: 0.02em;
}

/* Closing-soon badge inside the deadline line */
.rg-pub-job-card__urgent {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    margin-right: 0.35rem;
    border-radius: 999px;
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    vertical-align: middle;
}

/* "Need help applying?" PAD contact block */
.rg-pub-help-box {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin: 2rem 0 1rem;
    padding: 1rem 1.15rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--rg-brand-green, #16a34a);
    border-radius: 0.6rem;
}
.rg-pub-help-box__icon {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ecfdf5;
    color: var(--rg-brand-green, #16a34a);
}
.rg-pub-help-box__icon svg {
    width: 1.1rem;
    height: 1.1rem;
}
.rg-pub-help-box__body { min-width: 0; }
.rg-pub-help-box__title {
    margin: 0 0 0.2rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}
.rg-pub-help-box__copy {
    margin: 0;
    font-size: 0.85rem;
    color: #475569;
    line-height: 1.5;
}
.rg-pub-help-box__copy a {
    color: var(--rg-brand-green-ink, #14532d);
    font-weight: 600;
    text-decoration: none;
}
.rg-pub-help-box__copy a:hover { text-decoration: underline; }

/* "How it works" three-step explainer */
.rg-pub-howitworks {
    padding-top: 2.5rem;
    padding-bottom: 0.5rem;
}
.rg-pub-howitworks__heading {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--rg-brand-green-ink, #14532d);
    margin: 0 0 1.25rem;
}
.rg-pub-howitworks__steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1rem;
}
.rg-pub-howitworks__step {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
}
.rg-pub-howitworks__num {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: var(--rg-brand-green, #16a34a);
    color: #ffffff;
    font-weight: 800;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rg-pub-howitworks__title {
    margin: 0 0 0.2rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}
.rg-pub-howitworks__copy {
    margin: 0;
    font-size: 0.85rem;
    color: #475569;
    line-height: 1.5;
}

/* ─────────────────────────────────────────────────────────────────
   Track Application — redesigned status page (TA1)
───────────────────────────────────────────────────────────────── */
.rg-ta-wrap {
    max-width: 640px;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
}

/* Intro (only shown when no result yet) */
.rg-ta-intro {
    text-align: center;
    margin-bottom: 1.5rem;
}
.rg-ta-intro__title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--rg-brand-green-ink, #14532d);
    margin: 0 0 0.5rem;
}
.rg-ta-intro__copy {
    font-size: 0.95rem;
    color: #475569;
    max-width: 44ch;
    margin: 0 auto;
    line-height: 1.55;
}

/* Lookup form card */
.rg-ta-lookup-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.rg-ta-field { margin-bottom: 1rem; }
.rg-ta-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.4rem;
}
.rg-ta-error { font-size: 0.825rem; }
.rg-ta-submit { width: 100%; margin-top: 0.25rem; }

/* Result card — different left-border tone per state */
.rg-ta-result-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #0369a1;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.rg-ta-result-card--approved { border-left-color: #15803d; }
.rg-ta-result-card--not-selected { border-left-color: #64748b; }
.rg-ta-result-card--returned { border-left-color: #b45309; }
.rg-ta-result-card--evaluation { border-left-color: #6d28d9; }

.rg-ta-result-card__head { margin-bottom: 1.25rem; }
.rg-ta-result-card__ref {
    font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, Menlo, monospace;
    font-size: 0.78rem;
    color: #64748b;
    letter-spacing: 0.02em;
    margin: 0 0 0.15rem;
}
.rg-ta-result-card__applicant {
    font-size: 1.4rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 0.25rem;
    line-height: 1.25;
}
.rg-ta-result-card__position {
    font-size: 0.92rem;
    color: #475569;
    margin: 0;
}
.rg-ta-sep {
    color: #cbd5e1;
    margin: 0 0.25rem;
}

/* 3-step pipeline */
.rg-ta-pipeline {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    position: relative;
}
.rg-ta-pipeline__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    position: relative;
}
.rg-ta-pipeline__step::before {
    content: "";
    position: absolute;
    top: 0.95rem;
    left: -50%;
    right: 50%;
    height: 2px;
    background: #e2e8f0;
    z-index: 0;
}
.rg-ta-pipeline__step:first-child::before { content: none; }
.rg-ta-pipeline__step--done::before {
    background: var(--rg-brand-green, #16a34a);
}
.rg-ta-pipeline__num {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    background: #ffffff;
    border: 2px solid #cbd5e1;
    color: #64748b;
    position: relative;
    z-index: 1;
}
.rg-ta-pipeline__step--done .rg-ta-pipeline__num {
    background: var(--rg-brand-green, #16a34a);
    border-color: var(--rg-brand-green, #16a34a);
    color: #ffffff;
}
.rg-ta-pipeline__step--current .rg-ta-pipeline__num {
    background: #ecfdf5;
    border-color: var(--rg-brand-green, #16a34a);
    color: var(--rg-brand-green-ink, #14532d);
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
}
.rg-ta-pipeline__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
}
.rg-ta-pipeline__step--current .rg-ta-pipeline__label,
.rg-ta-pipeline__step--done .rg-ta-pipeline__label {
    color: #0f172a;
}

.rg-ta-status-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
}
.rg-ta-result-card__copy {
    font-size: 0.95rem;
    color: #1f2937;
    line-height: 1.6;
    margin: 0 0 1rem;
}
.rg-ta-expectation {
    font-size: 0.875rem;
    color: #475569;
    line-height: 1.55;
    margin: 0;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
}

/* "What you need to do" panel */
.rg-ta-action-card {
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    padding: 1rem 1.15rem;
    margin-bottom: 1rem;
    background: #f8fafc;
}
.rg-ta-action-card__title {
    margin: 0 0 0.35rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
}
.rg-ta-action-card__copy {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #1f2937;
}
.rg-ta-action-card--needed {
    background: #fffbeb;
    border-color: #fde68a;
    border-left: 4px solid #b45309;
}
.rg-ta-action-card--needed .rg-ta-action-card__title { color: #92400e; }
.rg-ta-action-card--good {
    background: #f0fdf4;
    border-color: #86efac;
    border-left: 4px solid #15803d;
}
.rg-ta-action-card--good .rg-ta-action-card__title { color: #14532d; }
.rg-ta-action-card--rest {
    background: #f8fafc;
    border-color: #e2e8f0;
}

/* Facts list */
.rg-ta-facts {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    padding: 1rem 1.15rem;
    margin-bottom: 1rem;
}
.rg-ta-facts__title {
    margin: 0 0 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
}
.rg-ta-facts__list { margin: 0; }
.rg-ta-facts__row {
    display: grid;
    grid-template-columns: 9rem 1fr;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.9rem;
}
.rg-ta-facts__row:last-child { border-bottom: none; }
.rg-ta-facts__row dt {
    color: #64748b;
    font-weight: 600;
    margin: 0;
}
.rg-ta-facts__row dd {
    color: #0f172a;
    margin: 0;
    overflow-wrap: anywhere;
}
.rg-ta-mono {
    font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, Menlo, monospace;
    font-size: 0.85rem;
}

/* Help block: phone + email side by side */
.rg-ta-help {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--rg-brand-green, #16a34a);
    border-radius: 0.65rem;
    padding: 1rem 1.15rem;
    margin-bottom: 1rem;
}
.rg-ta-help__title {
    margin: 0 0 0.6rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}
.rg-ta-help__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
@media (max-width: 540px) {
    .rg-ta-help__grid { grid-template-columns: 1fr; }
    .rg-ta-facts__row {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }
}
.rg-ta-help__channel {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.75rem;
    background: #f8fafc;
    border-radius: 0.5rem;
}
.rg-ta-help__channel-label {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}
.rg-ta-help__channel-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink, #14532d);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.rg-ta-help__channel-value:hover { text-decoration: underline; }

/* Simple "Look up a different application" link */
.rg-ta-lookup-again-link {
    margin: 1.25rem 0 0.5rem;
    font-size: 0.9rem;
    text-align: center;
}
.rg-ta-lookup-again-link a {
    color: var(--rg-brand-green, #16a34a);
    font-weight: 600;
    text-decoration: none;
}
.rg-ta-lookup-again-link a:hover { text-decoration: underline; }

.rg-ta-back {
    text-align: center;
    margin-top: 1.5rem;
}

/* ─────────────────────────────────────────────────────────────────
   Help & FAQ page (HP1)
───────────────────────────────────────────────────────────────── */
.rg-help-wrap {
    max-width: 720px;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
}

.rg-help-intro { margin-bottom: 2rem; }
.rg-help-intro__title {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--rg-brand-green-ink, #14532d);
    margin: 0 0 0.5rem;
    line-height: 1.2;
}
.rg-help-intro__copy {
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

/* Section: real H2 styling (not eyebrow) */
.rg-help-section {
    margin-bottom: 2rem;
}
.rg-help-section__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--rg-brand-green, #16a34a);
}

/* FAQ items — clean accordion */
.rg-faq {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.55rem;
    margin-bottom: 0.55rem;
    overflow: hidden;
}
.rg-faq:last-child { margin-bottom: 0; }
.rg-faq__button.accordion-button {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    background: #ffffff;
    padding: 0.85rem 1rem;
    box-shadow: none;
}
.rg-faq__button.accordion-button:not(.collapsed) {
    background: #f8fafc;
    color: var(--rg-brand-green-ink, #14532d);
    box-shadow: none;
}
.rg-faq__button.accordion-button:focus {
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.25);
    border-color: transparent;
}
.rg-faq__body {
    font-size: 0.9rem;
    color: #1f2937;
    line-height: 1.65;
    padding: 0.85rem 1rem 1rem;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
}
.rg-faq__body p { margin: 0 0 0.6rem; }
.rg-faq__body p:last-child { margin-bottom: 0; }
.rg-faq__body ul,
.rg-faq__body ol {
    margin: 0 0 0.6rem;
    padding-left: 1.3rem;
}
.rg-faq__body li { margin-bottom: 0.25rem; }
.rg-faq__body a {
    color: var(--rg-brand-green-ink, #14532d);
    font-weight: 600;
    text-decoration: underline;
}
.rg-faq__body a:hover { color: var(--rg-brand-green, #16a34a); }

/* Public Assistance Desk help card */
.rg-help-pad {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--rg-brand-green, #16a34a);
    border-radius: 0.65rem;
    padding: 1.1rem 1.2rem;
    margin: 1.5rem 0 1rem;
}
.rg-help-pad__title {
    margin: 0 0 0.7rem;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}
.rg-help-pad__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 0.7rem;
}
@media (max-width: 540px) {
    .rg-help-pad__grid { grid-template-columns: 1fr; }
}
.rg-help-pad__channel {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.75rem;
    background: #f8fafc;
    border-radius: 0.5rem;
}
.rg-help-pad__channel-label {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}
.rg-help-pad__channel-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--rg-brand-green-ink, #14532d);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.rg-help-pad__channel-value:hover { text-decoration: underline; }
.rg-help-pad__note {
    margin: 0;
    font-size: 0.825rem;
    color: #64748b;
}

.rg-help-back {
    text-align: center;
    margin-top: 1.5rem;
}

/* Inline client-side validation error, rendered directly below the field (VAL1) */
.rg-client-error {
    margin-top: 0.3rem;
    font-size: 0.825rem;
}

/* Inline wizard error (shared module rg-wizard-validation.js, VAL2) */
.rg-wiz-error {
    margin-top: 0.3rem;
    font-size: 0.825rem;
}

/* Intake qualification-summary character counter (VAL1) */
.rg-intake-charcount {
    margin-top: 0.3rem;
    font-size: 0.78rem;
    color: #94a3b8;
    text-align: right;
}
.rg-intake-charcount.is-near {
    color: #b45309;
    font-weight: 600;
}
.rg-intake-charcount.is-full {
    color: #b91c1c;
    font-weight: 700;
}
