﻿/* =========================================================
   EApplications Core - organized CSS
   File to replace: EApplicationsCore/wwwroot/css/eapplications-core.css
   Generated from the uploaded eapplications-core.css and CoreProjectCodeOverview.

   Safety notes:
   - All non-empty rule blocks from the uploaded CSS were preserved.
   - Empty divider-only sections were removed.
   - The file is reorganized into feature sections with support-path comments.
   - Legacy/Bootstrap compatibility selectors are intentionally kept.
   - Do not remove the do-not-delete-yet candidates until full Views/*.cshtml
     files are scanned and the pages are smoke-tested in browser.
   ========================================================= */


/* =========================================================
   01. Global variables / theme colors
   Supports:
   - Views/Shared/_Layout.cshtml
   - body.theme-ilp3 / body.theme-pace / body.theme-neutral
   - All views using --eapp-* CSS variables
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 2: 1. Theme Variables
   Main selectors/classes: element/global or media-only rules
   --------------------------------------------------------- */
:root {
    --eapp-accent: #2b5d78;
    --eapp-accent-dark: #1f465c;
    --eapp-accent-soft: #eef6fa;
    --eapp-accent-soft-2: #f7fbfd;
    --eapp-border-soft: #d7e7ef;
    --eapp-surface: #ffffff;
    --eapp-surface-muted: #f8fafc;
    --eapp-text: #263238;
    --eapp-text-muted: #667085;
    --eapp-shadow-soft: 0 8px 24px rgba(16, 24, 40, 0.07);
    --eapp-shadow-card: 0 3px 12px rgba(16, 24, 40, 0.06);
    --eapp-radius-sm: 8px;
    --eapp-radius-md: 12px;
    --eapp-radius-lg: 16px;
}

body.theme-pace {
    --eapp-accent: #2b5d78;
    --eapp-accent-dark: #1f465c;
    --eapp-accent-soft: #eef6fa;
    --eapp-accent-soft-2: #f7fbfd;
    --eapp-border-soft: #cfe3ee;
}

body.theme-ilp3 {
    --eapp-accent: #8a1f1f;
    --eapp-accent-dark: #681616;
    --eapp-accent-soft: #fbf0f0;
    --eapp-accent-soft-2: #fff8f8;
    --eapp-border-soft: #ebcaca;
}

body.theme-neutral {
    --eapp-accent: #555;
    --eapp-accent-dark: #333;
    --eapp-accent-soft: #f5f5f5;
    --eapp-accent-soft-2: #fafafa;
    --eapp-border-soft: #ddd;
}


/* =========================================================
   02. Bootstrap compatibility fixes
   Supports:
   - Legacy-compatible Bootstrap 3 markup across Views/**/ *.cshtml
- Panels, buttons, forms, tables, tabs, jumbotrons, alerts
========================================================= */
/* ---------------------------------------------------------
   Original CSS pass 5: 4. Page Headers / Jumbotrons
   Main selectors/classes: jumbotron, pace-record-title
   --------------------------------------------------------- */
.jumbotron {
    background-color: var(--eapp-accent-soft);
    border: 1px solid var(--eapp-border-soft);
    padding-top: 24px;
    padding-bottom: 24px;
}

.jumbotron h1,
.pace-record-title {
    color: var(--eapp-accent);
}


/* ---------------------------------------------------------
   Original CSS pass 6: 5. Panels / Cards
   Main selectors/classes: panel, panel-default, panel-heading
   --------------------------------------------------------- */
.panel {
    border-radius: var(--eapp-radius-md);
    overflow: hidden;
    border-color: #e5e7eb;
    box-shadow: var(--eapp-shadow-card);
}

.panel-heading {
    font-weight: 700;
}

.panel-default > .panel-heading {
    background-color: #f9fafb;
    border-color: #e5e7eb;
    color: #333;
}

body.theme-pace .panel-default > .panel-heading,
body.theme-ilp3 .panel-default > .panel-heading {
    border-left: 5px solid var(--eapp-accent);
}


/* ---------------------------------------------------------
   Original CSS pass 7: 6. Buttons
   Main selectors/classes: btn, btn-info, btn-primary, btn-success, core-action-row
   --------------------------------------------------------- */
.btn {
    border-radius: var(--eapp-radius-sm);
    font-weight: 600;
}

.btn-primary,
.btn-info {
    background-color: var(--eapp-accent);
    border-color: var(--eapp-accent-dark);
}

    .btn-primary:hover,
    .btn-primary:focus,
    .btn-info:hover,
    .btn-info:focus {
        background-color: var(--eapp-accent-dark);
        border-color: var(--eapp-accent-dark);
    }

.btn-success {
    border-radius: var(--eapp-radius-sm);
}

.core-action-row {
    margin-top: 10px;
}

    .core-action-row .btn {
        margin-right: 6px;
        margin-bottom: 6px;
    }


/* ---------------------------------------------------------
   Original CSS pass 8: 7. Forms
   Main selectors/classes: form-control, help-block
   --------------------------------------------------------- */
.form-control {
    border-radius: var(--eapp-radius-sm);
    border-color: #d0d5dd;
    box-shadow: none;
}

    .form-control:focus {
        border-color: var(--eapp-accent);
        box-shadow: 0 0 0 3px rgba(43, 93, 120, 0.12);
    }

body.theme-ilp3 .form-control:focus {
    box-shadow: 0 0 0 3px rgba(138, 31, 31, 0.12);
}

label {
    color: #344054;
    font-weight: 700;
}

.help-block {
    color: var(--eapp-text-muted);
    font-size: 12px;
}


/* ---------------------------------------------------------
   Original CSS pass 9: 8. Tables
   Main selectors/classes: table, table-striped
   --------------------------------------------------------- */
.table > thead > tr > th {
    background-color: var(--eapp-accent-soft);
    border-bottom: 2px solid var(--eapp-border-soft);
    color: #333;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fcfcfc;
}


/* ---------------------------------------------------------
   Original CSS pass 10: 9. Tabs
   Main selectors/classes: nav-tabs
   --------------------------------------------------------- */
.nav-tabs {
    border-bottom-color: var(--eapp-border-soft);
}

    .nav-tabs > li > a {
        border-radius: var(--eapp-radius-sm) var(--eapp-radius-sm) 0 0;
        color: #444;
    }

    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:hover,
    .nav-tabs > li.active > a:focus {
        color: #fff;
        background-color: var(--eapp-accent);
        border-color: var(--eapp-accent);
    }

    .nav-tabs > li > a:hover {
        background-color: var(--eapp-accent-soft);
        border-color: var(--eapp-border-soft);
    }


/* ---------------------------------------------------------
   Original CSS pass 11: 10. Alerts / Messages
   Main selectors/classes: alert
   --------------------------------------------------------- */
.alert {
    border-radius: var(--eapp-radius-md);
}


/* ---------------------------------------------------------
   Original CSS pass 16: 15. Applicant Form Tables
   Main selectors/classes: form-control, legacy-entry-table
   --------------------------------------------------------- */
.legacy-entry-table {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

    .legacy-entry-table th {
        font-size: 12px;
        white-space: nowrap;
        font-weight: 800;
    }

    .legacy-entry-table td {
        vertical-align: top !important;
        min-width: 140px;
        background: #fff;
    }

    .legacy-entry-table label {
        font-size: 12px;
        margin-top: 6px;
        margin-bottom: 3px;
    }

    .legacy-entry-table .form-control {
        min-width: 110px;
    }

    .legacy-entry-table textarea.form-control {
        min-height: 96px;
    }


/* ---------------------------------------------------------
   Original CSS pass 38: 37. Application Landing Summary Cards
   Main selectors/classes: application-home-ilp3, application-home-pace, application-summary-card, application-summary-grid
   --------------------------------------------------------- */
.application-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 20px;
}

.application-summary-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 17px;
    padding: 20px 22px 20px 70px;
    box-shadow: 0 9px 25px rgba(16, 24, 40, 0.055);
    min-height: 96px;
}

    .application-summary-card::before {
        position: absolute;
        left: 20px;
        top: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 12px;
        background: var(--eapp-accent-soft);
        border: 1px solid var(--eapp-border-soft);
        color: var(--eapp-accent);
        font-family: "Glyphicons Halflings";
        font-size: 16px;
        line-height: 1;
    }

    .application-summary-card:nth-child(1)::before {
        content: "\e022";
    }

    .application-summary-card:nth-child(2)::before {
        content: "\e041";
    }

    .application-summary-card:nth-child(3)::before {
        content: "\e013";
    }

    .application-summary-card span {
        display: block;
        color: #667085;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .application-summary-card strong {
        display: block;
        color: #101828;
        font-size: 28px;
        line-height: 1.05;
        font-weight: 950;
        letter-spacing: -0.025em;
    }

.application-home-ilp3 .application-summary-card::before {
    background: #fbf0f0;
    border-color: #ebcaca;
    color: #8a1f1f;
}

.application-home-pace .application-summary-card::before {
    background: #eef6fa;
    border-color: #cfe3ee;
    color: #2b5d78;
}


/* ---------------------------------------------------------
   Original CSS pass 72: Interest Forms — Purpose: - Keep legacy fields - Prevent email/certification from crushing phone/status
   Main selectors/classes: admin-interest-action-col, admin-interest-cert-col, admin-interest-degree-col, admin-interest-driver-table, admin-interest-email, admin-interest-email-col, admin-interest-gpa-col, admin-interest-id-col, admin-interest-name-col, admin-interest-phone-col, ... (+9 more)
   --------------------------------------------------------- */
.admin-management-interest-forms .admin-management-card > .panel-body {
    padding: 14px;
}

.admin-interest-table-wrap {
    border: 1px solid #edf0f2;
    border-radius: 12px;
    overflow-x: auto;
}

.admin-interest-table,
.admin-interest-driver-table {
    table-layout: fixed;
    min-width: 1080px;
}

    .admin-interest-table th,
    .admin-interest-table td,
    .admin-interest-driver-table th,
    .admin-interest-driver-table td {
        vertical-align: middle !important;
    }

.admin-interest-id-col {
    width: 64px;
    white-space: nowrap;
    text-align: center;
}

.admin-interest-name-col {
    width: 170px;
}

.admin-interest-email-col {
    width: 225px;
}

.admin-interest-phone-col {
    width: 125px;
    white-space: nowrap;
}

.admin-interest-degree-col {
    width: 105px;
}

.admin-interest-gpa-col {
    width: 66px;
    text-align: center;
    white-space: nowrap;
}

.admin-interest-cert-col {
    width: 180px;
}

.admin-interest-status-col {
    width: 125px;
    text-align: center;
}

.admin-interest-action-col {
    width: 92px;
    text-align: center;
    white-space: nowrap;
}

.admin-interest-steps-col {
    width: 510px;
}

.admin-interest-email,
.admin-interest-cert-col span {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.25;
}

.admin-interest-status-pill {
    max-width: 112px;
    white-space: normal;
    text-align: center;
    line-height: 1.15;
}

.admin-interest-step-list {
    gap: 5px;
}

    .admin-interest-step-list span {
        font-size: 11px;
        padding: 4px 7px;
        white-space: nowrap;
    }

@media (max-width: 768px) {
    .admin-interest-table,
    .admin-interest-driver-table {
        min-width: 980px;
    }

    .admin-interest-email-col {
        width: 210px;
    }

    .admin-interest-steps-col {
        width: 470px;
    }
}


/* =========================================================
   03. Shared layout
   Supports:
   - Views/Shared/_Layout.cshtml
   - Shared page shell, footer, body spacing, container behavior
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 3: 2. Base Layout
   Main selectors/classes: body-content, core-muted, core-page-header, jumbotron, text-muted
   --------------------------------------------------------- */
body {
    color: var(--eapp-text);
}

.body-content {
    padding-bottom: 40px;
}

.core-muted,
.text-muted {
    color: var(--eapp-text-muted);
}

.core-page-header,
.jumbotron {
    border-radius: var(--eapp-radius-lg);
}


/* ---------------------------------------------------------
   Original CSS pass 24: 23. Page Reset / Remove Top Gap
   Main selectors/classes: eapp-top-nav, navbar
   --------------------------------------------------------- */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
}

body {
    padding-top: 0 !important;
}

.navbar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.eapp-top-nav {
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   Original CSS pass 41: 40. Global Footer
   Main selectors/classes: container, eapp-site-footer
   --------------------------------------------------------- */
.eapp-site-footer {
    margin-top: 0;
    padding: 20px 0;
    border-top: 1px solid #e4e9ef;
    background: transparent;
    color: #667085;
    font-size: 12px;
    text-align: center;
}

    .eapp-site-footer .container {
        max-width: 1120px;
    }


/* =========================================================
   04. Top navigation
   Supports:
   - Views/Shared/Components/MainNavigation/Default.cshtml
   - Views/Shared/_Layout.cshtml
   - EPDP/ILP3/PaCE navigation and quick-switch menu
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 4: 3. Navigation
   Main selectors/classes: dropdown-menu, navbar-brand, navbar-default, navbar-nav
   --------------------------------------------------------- */
.navbar-default {
    border-color: var(--eapp-border-soft);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

    .navbar-default .navbar-brand {
        color: var(--eapp-accent);
        font-weight: 700;
    }

        .navbar-default .navbar-brand:hover,
        .navbar-default .navbar-brand:focus {
            color: var(--eapp-accent-dark);
        }

    .navbar-default .navbar-nav > li > a {
        color: #444;
    }

        .navbar-default .navbar-nav > li > a:hover,
        .navbar-default .navbar-nav > li > a:focus {
            color: var(--eapp-accent);
            background-color: var(--eapp-accent-soft);
        }

.dropdown-menu {
    border-radius: var(--eapp-radius-md);
    border-color: var(--eapp-border-soft);
    box-shadow: var(--eapp-shadow-soft);
}


/* ---------------------------------------------------------
   Original CSS pass 20: 19. Core Top Navigation Refresh
   Main selectors/classes: eapp-role-pill, eapp-top-nav, eapp-user-menu, navbar-brand, navbar-nav, open
   --------------------------------------------------------- */
.eapp-top-nav {
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    background: #263746;
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.16);
}

    .eapp-top-nav .navbar-brand,
    .eapp-top-nav .navbar-nav > li > a {
        color: rgba(255, 255, 255, 0.84) !important;
    }

    .eapp-top-nav .navbar-brand {
        color: #fff !important;
        font-weight: 800;
        letter-spacing: 0.01em;
    }

    .eapp-top-nav .navbar-nav > li > a:hover,
    .eapp-top-nav .navbar-nav > li > a:focus,
    .eapp-top-nav .navbar-nav > .open > a,
    .eapp-top-nav .navbar-nav > .open > a:hover,
    .eapp-top-nav .navbar-nav > .open > a:focus {
        color: #fff !important;
        background: rgba(255, 255, 255, 0.11) !important;
    }

.eapp-user-menu {
    max-width: 320px;
    white-space: nowrap;
}

.eapp-role-pill {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   Original CSS pass 25: 24. Refined Core Top Navigation
   Main selectors/classes: container, dropdown-menu, eapp-role-pill, eapp-top-nav, eapp-user-menu, glyphicon, navbar-brand, navbar-nav, open
   --------------------------------------------------------- */
.eapp-top-nav {
    min-height: 48px;
    border: 0;
    border-radius: 0;
    background: #263746;
    box-shadow: 0 2px 12px rgba(16, 24, 40, 0.18);
}

    .eapp-top-nav .container {
        max-width: 1120px;
    }

    .eapp-top-nav .navbar-brand {
        height: 48px;
        padding-top: 14px;
        padding-bottom: 14px;
        color: #fff !important;
        font-weight: 800;
        letter-spacing: .01em;
    }

    .eapp-top-nav .navbar-nav > li > a {
        padding-top: 14px;
        padding-bottom: 14px;
        color: rgba(255, 255, 255, 0.88) !important;
        font-weight: 700;
    }

        .eapp-top-nav .navbar-nav > li > a:hover,
        .eapp-top-nav .navbar-nav > li > a:focus,
        .eapp-top-nav .navbar-nav > .open > a,
        .eapp-top-nav .navbar-nav > .open > a:hover,
        .eapp-top-nav .navbar-nav > .open > a:focus {
            color: #fff !important;
            background: rgba(255, 255, 255, 0.12) !important;
        }

    .eapp-top-nav .glyphicon {
        margin-right: 4px;
    }

    .eapp-top-nav .dropdown-menu {
        border: 0;
        border-radius: 0 0 10px 10px;
        padding: 8px 0;
    }

        .eapp-top-nav .dropdown-menu > li > a {
            padding: 9px 16px;
            font-weight: 600;
        }

.eapp-user-menu {
    max-width: 340px;
    white-space: nowrap;
}

.eapp-role-pill {
    display: inline-block;
    margin-left: 7px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}


/* ---------------------------------------------------------
   Original CSS pass 30: 29. Final Landing / Navigation Refinements
   Main selectors/classes: btn, certifications-access-banner, certifications-hero-card, eapp-hero-container, eapp-nav-container, eapp-program-hero-inner, eapp-program-title-wrap, eapp-top-nav, lead, navbar-brand, ... (+11 more)
   --------------------------------------------------------- */
.eapp-nav-container,
.eapp-hero-container {
    max-width: 1120px;
}

.eapp-top-nav .navbar-brand {
    font-size: 17px;
}

.eapp-top-nav .navbar-nav > li > a {
    font-size: 14px;
}

.certifications-hero-card {
    padding: 30px 38px;
}

    .certifications-hero-card h1 {
        font-size: 36px;
        line-height: 1.08;
        letter-spacing: -0.02em;
    }

    .certifications-hero-card .lead {
        font-size: 16px;
    }


/* Better program card height and balance */

.program-card {
    min-height: 335px;
}

.program-card-top {
    min-height: 94px;
    align-items: center;
    padding: 20px 20px 18px;
}

.program-card-kicker {
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    letter-spacing: .08em;
}

.program-card h2 {
    color: #fff;
    font-size: 34px;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .22);
}

.program-card-badge {
    background: rgba(255, 255, 255, .24);
    border: 1px solid rgba(255, 255, 255, .22);
}

.program-card-body {
    padding: 22px 20px;
}

    .program-card-body h4 {
        font-size: 17px;
        line-height: 1.25;
        margin-bottom: 12px;
    }

    .program-card-body p {
        min-height: 92px;
        font-size: 14px;
    }

.program-card-meta {
    margin-top: 10px;
    padding: 13px 14px;
}

.program-card-actions {
    padding: 16px 20px 20px;
}

    .program-card-actions .btn {
        min-width: 132px;
        padding: 9px 16px;
    }


/* Make ILP3 and PaCE headings easier to read */

.program-card-ilp3 .program-card-top {
    background: linear-gradient(135deg, rgba(60, 60, 60, .92), rgba(138, 31, 31, .98)), #8a1f1f;
}

.program-card-pace .program-card-top {
    background: linear-gradient(135deg, rgba(7, 75, 128, .98), rgba(43, 93, 120, .98)), #2b5d78;
}


/* Slightly stronger landing layout */

.program-card-grid {
    gap: 26px;
}

.certifications-access-banner {
    padding: 13px 16px;
}


/* Smaller program header on landing pages */

.eapp-program-hero-inner {
    min-height: 86px;
    padding: 13px 0;
}

.eapp-program-title-wrap h1 {
    font-size: 22px;
}

.eapp-program-title-wrap p {
    font-size: 13px;
}


/* ---------------------------------------------------------
   Original CSS pass 78: EPDP Top Nav Brand
   Main selectors/classes: eapp-epdp-brand-simple, eapp-epdp-brand-static
   --------------------------------------------------------- */
.eapp-epdp-brand-simple {
    display: inline-flex !important;
    align-items: center;
    height: 48px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    color: #fff !important;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: .08em;
}

.eapp-epdp-brand-static {
    cursor: default;
}

    .eapp-epdp-brand-static:hover,
    .eapp-epdp-brand-static:focus {
        color: #fff !important;
        background: transparent !important;
        text-decoration: none !important;
    }


/* ---------------------------------------------------------
   Original CSS pass 79: EPDP Nav + Shared Program Header
   Main selectors/classes: eapp-epdp-brand-simple, eapp-program-meta-dot, eapp-program-meta-line, eapp-program-meta-primary, eapp-program-meta-secondary, eapp-program-subtitle, eapp-program-tagline, eapp-program-title-wrap
   --------------------------------------------------------- */
.eapp-epdp-brand-simple {
    display: inline-flex !important;
    align-items: center;
    height: 48px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    color: #fff !important;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: .08em;
}

.eapp-program-title-wrap h1 {
    margin: 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.08;
    font-weight: 900;
}

.eapp-program-title-wrap .eapp-program-subtitle {
    margin: 4px 0 0;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.15;
}

.eapp-program-title-wrap .eapp-program-tagline {
    margin: 3px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
}

.eapp-epdp-brand-simple {
    display: inline-flex !important;
    align-items: center;
    height: 48px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    color: #fff !important;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: .08em;
}

.eapp-program-title-wrap h1 {
    margin: 6px 0 0;
    color: #fff;
    font-size: 26px;
    line-height: 1.08;
    font-weight: 900;
}

.eapp-program-title-wrap .eapp-program-tagline {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
}

.eapp-program-meta-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 2px;
}

.eapp-program-meta-primary,
.eapp-program-meta-secondary {
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.eapp-program-meta-dot {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
}


/* =========================================================
   05. Program hero/header
   Supports:
   - Shared program header/hero markup
   - Views/CertificationLanding/Index.cshtml
   - Views/Application/Index.cshtml
   - ILP3/PaCE program-scoped pages
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 21: 20. Program Header / Brand Banner
   Main selectors/classes: eapp-program-hero, eapp-program-hero-inner, eapp-program-kicker, eapp-program-logo, eapp-program-logo-fallback, eapp-program-logo-wrap, eapp-program-title-wrap
   --------------------------------------------------------- */
.eapp-program-hero {
    background: linear-gradient(135deg, var(--eapp-accent-dark), var(--eapp-accent));
    color: #fff;
    margin-bottom: 26px;
}

.eapp-program-hero-inner {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 112px;
    padding: 18px 0;
}

.eapp-program-logo-wrap {
    flex: 0 0 auto;
}

.eapp-program-logo {
    width: 74px;
    height: 74px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: 5px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

.eapp-program-logo-fallback {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--eapp-accent);
    font-weight: 900;
    font-size: 24px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

.eapp-program-title-wrap h1 {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    color: #fff;
}

.eapp-program-title-wrap p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
}

.eapp-program-kicker {
    color: rgba(255, 255, 255, 0.68);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
    margin-bottom: 4px;
}

body.theme-ilp3 .eapp-program-hero {
    background: linear-gradient(135deg, #4f4f4f, #8a1f1f);
}

body.theme-pace .eapp-program-hero {
    background: linear-gradient(135deg, #074b80, #2b5d78);
}


/* ---------------------------------------------------------
   Original CSS pass 23: 22. Responsive Program Header
   Main selectors/classes: eapp-program-hero-inner, eapp-program-logo, eapp-program-logo-fallback, eapp-program-title-wrap
   --------------------------------------------------------- */
@media (max-width: 768px) {
    .eapp-program-hero-inner {
        align-items: flex-start;
        min-height: auto;
    }

    .eapp-program-logo,
    .eapp-program-logo-fallback {
        width: 58px;
        height: 58px;
    }

    .eapp-program-title-wrap h1 {
        font-size: 21px;
    }

    .eapp-program-title-wrap p {
        font-size: 13px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 26: 25. Refined Program Header
   Main selectors/classes: eapp-program-hero, eapp-program-hero-inner, eapp-program-kicker, eapp-program-logo, eapp-program-logo-fallback, eapp-program-title-wrap
   --------------------------------------------------------- */
.eapp-program-hero {
    margin-bottom: 26px;
    color: #fff;
    background: linear-gradient(135deg, #3f4448, #25292d);
}

.eapp-program-hero-inner {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 94px;
    padding: 15px 0;
}

.eapp-program-logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: 5px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
}

.eapp-program-logo-fallback {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--eapp-accent);
    font-weight: 900;
    font-size: 23px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
}

.eapp-program-title-wrap h1 {
    margin: 0;
    font-size: 23px;
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    text-shadow: none;
}

.eapp-program-title-wrap p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    font-weight: 600;
}

.eapp-program-kicker {
    color: rgba(255, 255, 255, 0.68);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-weight: 800;
    margin-bottom: 3px;
}

body.theme-ilp3 .eapp-program-hero {
    background: linear-gradient(135deg, #4d4d4d, #8a1f1f);
}

body.theme-pace .eapp-program-hero {
    background: linear-gradient(135deg, #074b80, #2b5d78);
}


/* ---------------------------------------------------------
   Original CSS pass 32: 31. Program-Aware Login Pages
   Main selectors/classes: btn, form-group, login-card, login-card-accent, login-card-grid, login-card-ilp3, login-card-neutral, login-card-pace, login-create-profile, login-form, ... (+14 more)
   --------------------------------------------------------- */
.login-page-shell {
    max-width: 980px;
    margin: 0 auto 48px;
}

.login-card {
    position: relative;
    background: #fff;
    border: 1px solid #e6eaf0;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
    overflow: hidden;
}

.login-card-accent {
    height: 7px;
    background: var(--eapp-accent);
}

.login-card-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1.05fr);
    min-height: 430px;
}

.login-program-panel {
    padding: 36px 34px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .24), transparent 34%), linear-gradient(135deg, var(--eapp-accent-dark), var(--eapp-accent));
    color: #fff;
}

.login-card-neutral .login-program-panel {
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .20), transparent 34%), linear-gradient(135deg, #3c434a, #263746);
}

.login-card-ilp3 .login-program-panel {
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .20), transparent 34%), linear-gradient(135deg, #555, #8a1f1f);
}

.login-card-pace .login-program-panel {
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .22), transparent 34%), linear-gradient(135deg, #074b80, #2b5d78);
}

.login-program-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .17);
    border: 1px solid rgba(255, 255, 255, .24);
    color: #fff;
    font-weight: 900;
    letter-spacing: .02em;
    margin-bottom: 26px;
}

.login-program-kicker {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.login-program-panel h1 {
    margin: 0;
    color: #fff;
    font-size: 27px;
    line-height: 1.18;
    font-weight: 850;
}

.login-program-panel p {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .90);
    line-height: 1.5;
    font-weight: 600;
}

.login-help-box {
    margin-top: 36px;
    padding: 14px 15px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .20);
}

    .login-help-box strong,
    .login-help-box span {
        display: block;
    }

    .login-help-box span {
        margin-top: 5px;
        color: rgba(255, 255, 255, .86);
        line-height: 1.45;
    }

.login-form-panel {
    padding: 36px 38px;
}

.login-form-heading {
    margin-bottom: 24px;
}

.login-form-kicker {
    margin: 0 0 6px;
    color: var(--eapp-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.login-form-heading h2 {
    margin: 0;
    color: #1f2933;
    font-size: 30px;
    font-weight: 850;
    letter-spacing: -0.02em;
}

.login-form-heading p {
    margin: 8px 0 0;
    color: var(--eapp-text-muted);
    line-height: 1.45;
}

.login-form .form-group {
    margin-bottom: 17px;
}

.login-form label {
    font-weight: 800;
    color: #344054;
}

.login-input {
    height: 42px;
}

.login-password-group .btn {
    height: 42px;
    min-width: 64px;
}

.login-options-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 4px 0 18px;
}

.login-remember {
    font-weight: 600 !important;
    color: #475467;
}

.login-submit-button {
    width: 100%;
    height: 43px;
    font-weight: 900;
}

.login-links {
    display: grid;
    gap: 7px;
    margin-top: 18px;
}

    .login-links a {
        font-weight: 700;
    }

.login-create-profile {
    margin-top: 22px;
    padding: 13px 14px;
    background: #f8fafc;
    border: 1px solid #edf0f2;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

    .login-create-profile span {
        color: var(--eapp-text-muted);
        font-weight: 700;
    }

    .login-create-profile a {
        font-weight: 900;
    }


/* ---------------------------------------------------------
   Original CSS pass 53: Program Hero Image Branding
   Main selectors/classes: eapp-program-banner-image, eapp-program-hero-banner, eapp-program-hero-inner, eapp-program-hero-standard, eapp-program-logo
   --------------------------------------------------------- */
.eapp-program-hero-banner {
    background: #ffffff;
    border-bottom: 1px solid #e4e9ef;
}

    .eapp-program-hero-banner .eapp-program-hero-inner {
        min-height: 116px;
        justify-content: flex-start;
        padding: 14px 0;
    }

.eapp-program-banner-image {
    display: block;
    max-height: 86px;
    max-width: 560px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body.theme-ilp3 .eapp-program-hero-banner,
body.theme-pace .eapp-program-hero-banner {
    background: #ffffff;
}

.eapp-program-hero-standard .eapp-program-logo {
    width: 64px;
    height: 64px;
}

@media (max-width: 768px) {
    .eapp-program-banner-image {
        max-width: 100%;
        max-height: 72px;
    }

    .eapp-program-hero-banner .eapp-program-hero-inner {
        min-height: 92px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 55: 52. Unified Header + Certification Landing Refresh — Purpose: - Visually connect top nav and program identity header - Improve /Certifications landing cards
   Main selectors/classes: btn, certifications-hero-refresh, certifications-page-refresh, eapp-program-hero, eapp-program-hero-inner, eapp-program-kicker, eapp-program-logo, eapp-program-logo-fallback, eapp-program-title-wrap, eapp-top-nav, ... (+15 more)
   --------------------------------------------------------- */
/* ---------- Unified shared header feel ---------- */

.eapp-top-nav {
    box-shadow: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.eapp-program-hero {
    margin-bottom: 24px !important;
    box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12);
}

.eapp-program-hero-inner {
    min-height: 76px !important;
    padding: 10px 0 !important;
}

.eapp-program-logo {
    width: 54px !important;
    height: 54px !important;
    padding: 4px !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.eapp-program-logo-fallback {
    width: 54px !important;
    height: 54px !important;
    font-size: 20px !important;
}

.eapp-program-title-wrap h1 {
    font-size: 22px !important;
    line-height: 1.08 !important;
}

.eapp-program-title-wrap p {
    font-size: 13px !important;
    margin-top: 3px !important;
}

.eapp-program-kicker {
    font-size: 10px !important;
    margin-bottom: 3px !important;
}
/* ---------- Certifications page shell ---------- */

.certifications-page-refresh {
    max-width: 1040px;
}

.certifications-hero-refresh {
    position: relative;
    overflow: hidden;
    padding: 30px 34px;
    border-radius: 18px;
}

    .certifications-hero-refresh::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 6px;
        background: linear-gradient(90deg, #8a1f1f 0%, #6b5b66 45%, #2b5d78 100%);
    }

    .certifications-hero-refresh h1 {
        font-size: 36px;
        font-weight: 950;
        letter-spacing: -0.035em;
        color: #101828;
    }

    .certifications-hero-refresh .lead {
        color: #475467;
        font-size: 15px;
    }

.program-card-grid-refresh {
    gap: 26px;
}

/* ---------- Program cards ---------- */

.program-card-refresh {
    position: relative;
    min-height: 440px;
    border-radius: 18px;
    border: 1px solid #dfe5ec;
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.075);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

    .program-card-refresh:hover,
    .program-card-refresh:focus-within {
        transform: translateY(-3px);
        box-shadow: 0 18px 42px rgba(16, 24, 40, 0.13);
        border-color: #c6d2df;
    }

    .program-card-refresh .program-card-top {
        min-height: 138px;
        align-items: flex-start;
        padding: 24px 24px 22px;
    }

.program-card-brand-row {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.program-card-logo-shell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.program-card-logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: block;
}

.program-card-logo-missing::after {
    content: "R1";
    color: #263746;
    font-weight: 950;
    font-size: 18px;
}

.program-card-refresh .program-card-kicker {
    margin: 0 0 5px 0;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .11em;
    color: rgba(255, 255, 255, 0.88);
}

.program-card-refresh h2 {
    margin: 0;
    color: #fff;
    font-size: 31px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.025em;
    text-shadow: none;
}

/* Count badge moved into the header */
.program-card-count-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 74px;
    padding: 8px 11px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.26);
    color: #fff;
    text-align: right;
}

    .program-card-count-badge span {
        font-size: 9px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
        opacity: .86;
        line-height: 1.1;
    }

    .program-card-count-badge strong {
        margin-top: 3px;
        color: #fff;
        font-size: 22px;
        font-weight: 950;
        line-height: 1;
    }

.program-card-refresh .program-card-body {
    padding: 28px 24px 22px;
}

    .program-card-refresh .program-card-body h4 {
        margin: 0 0 11px 0;
        color: #101828;
        font-size: 19px;
        line-height: 1.25;
        font-weight: 950;
    }

    .program-card-refresh .program-card-body p {
        min-height: 112px;
        margin: 0 0 18px 0;
        color: #475467;
        font-size: 14px;
        line-height: 1.52;
    }

.program-card-status-row {
    padding: 13px 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #edf0f2;
}

    .program-card-status-row span {
        display: block;
        margin-bottom: 4px;
        color: #667085;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .program-card-status-row strong {
        display: block;
        color: #344054;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.35;
    }

.program-card-refresh .program-card-actions {
    padding: 0 24px 24px;
    border-top: 0;
}

    .program-card-refresh .program-card-actions .btn {
        min-width: 132px;
        padding: 9px 16px;
        font-weight: 900;
    }

/* Hide the older count row if older markup remains anywhere */
.program-card-refresh .program-card-meta {
    display: none;
}

/* Keep disabled cards visible but clearly unavailable */
.program-card-disabled {
    opacity: .72;
}

    .program-card-disabled:hover,
    .program-card-disabled:focus-within {
        transform: none;
        box-shadow: 0 12px 30px rgba(16, 24, 40, 0.075);
    }

/* Responsive */
@media (max-width: 768px) {
    .eapp-program-hero-inner {
        min-height: auto !important;
    }

    .certifications-hero-refresh {
        padding: 26px 24px;
    }

        .certifications-hero-refresh h1 {
            font-size: 31px;
        }

    .program-card-refresh {
        min-height: auto;
    }

        .program-card-refresh .program-card-top {
            min-height: auto;
            padding: 20px;
        }

    .program-card-brand-row {
        align-items: flex-start;
        gap: 14px;
    }

    .program-card-logo-shell {
        width: 58px;
        height: 58px;
    }

    .program-card-logo {
        width: 48px;
        height: 48px;
    }

    .program-card-count-badge {
        min-width: 64px;
    }

    .program-card-refresh h2 {
        font-size: 27px;
    }

    .program-card-refresh .program-card-body p {
        min-height: auto;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 80: 63. Final Program Header Reset — Purpose: - /Certifications landing shows only Educator Preparation & Development - ILP3 shows Principal Certification
   Main selectors/classes: eapp-epdp-brand-simple, eapp-program-hero, eapp-program-hero-inner, eapp-program-hero-landing, eapp-program-hero-program, eapp-program-kicker, eapp-program-logo, eapp-program-logo-fallback, eapp-program-logo-wrap, eapp-program-meta-dot, ... (+4 more)
   --------------------------------------------------------- */
.eapp-epdp-brand-simple {
    display: inline-flex !important;
    align-items: center !important;
    height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
}

/* Shared hero shell */
.eapp-program-hero {
    margin-bottom: 24px !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12) !important;
}

.eapp-program-hero-inner {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    min-height: 82px !important;
    padding: 12px 0 !important;
}

.eapp-program-logo-wrap {
    flex: 0 0 auto !important;
}

.eapp-program-logo,
.eapp-program-logo-fallback {
    width: 58px !important;
    height: 58px !important;
}

.eapp-program-logo {
    object-fit: contain !important;
    border-radius: 50% !important;
    background: #fff !important;
    padding: 4px !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.eapp-program-logo-fallback {
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    color: var(--eapp-accent) !important;
    font-size: 20px !important;
    font-weight: 950 !important;
}

/* Landing page: big EPDP/Educator title only */
.eapp-program-hero-landing {
    background: linear-gradient(135deg, #3f4448, #25292d) !important;
}

    .eapp-program-hero-landing .eapp-program-kicker {
        margin: 0 0 4px !important;
        color: rgba(255, 255, 255, 0.72) !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        letter-spacing: .11em !important;
        text-transform: uppercase !important;
    }

    .eapp-program-hero-landing .eapp-program-title-wrap h1 {
        margin: 0 !important;
        color: #fff !important;
        font-size: 28px !important;
        line-height: 1.05 !important;
        font-weight: 950 !important;
        letter-spacing: -0.02em !important;
    }

    .eapp-program-hero-landing .eapp-program-title-wrap p {
        display: none !important;
    }

/* Program pages: Region One ESC • EPDP line, then program-specific title */
.eapp-program-hero-program .eapp-program-meta-line {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 4px !important;
}

.eapp-program-meta-primary,
.eapp-program-meta-secondary {
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .11em !important;
}

.eapp-program-meta-dot {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.eapp-program-hero-program .eapp-program-title-wrap h1 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -0.015em !important;
}

.eapp-program-hero-program .eapp-program-title-wrap p {
    margin: 4px 0 0 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

/* Correct colors by area */
body.theme-ilp3 .eapp-program-hero-program {
    background: linear-gradient(135deg, #4d4d4d, #8a1f1f) !important;
}

body.theme-pace .eapp-program-hero-program {
    background: linear-gradient(135deg, #074b80, #2b5d78) !important;
}

body.theme-neutral .eapp-program-hero,
.eapp-program-hero-landing {
    background: linear-gradient(135deg, #3f4448, #25292d) !important;
}

@media (max-width: 768px) {
    .eapp-program-hero-inner {
        align-items: flex-start !important;
        min-height: auto !important;
        padding: 12px 0 !important;
    }

    .eapp-program-logo,
    .eapp-program-logo-fallback {
        width: 52px !important;
        height: 52px !important;
    }

    .eapp-program-hero-landing .eapp-program-title-wrap h1 {
        font-size: 23px !important;
    }

    .eapp-program-hero-program .eapp-program-title-wrap h1 {
        font-size: 21px !important;
    }

    .eapp-program-meta-line {
        gap: 6px !important;
    }

    .eapp-program-meta-primary,
    .eapp-program-meta-secondary {
        font-size: 10px !important;
    }
}


/* =========================================================
   06. Certifications landing
   Supports:
   - Views/CertificationLanding/Index.cshtml
   - Route: /Certifications
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 27: 26. Certifications Selector Page
   Main selectors/classes: btn, btn-primary, certifications-access-banner, certifications-hero-card, certifications-kicker, certifications-page, lead, program-card, program-card-actions, program-card-badge, ... (+7 more)
   --------------------------------------------------------- */
.certifications-page {
    max-width: 980px;
    margin: 0 auto 48px;
}

.certifications-hero-card {
    background: #fff;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
    padding: 34px 38px;
    margin-bottom: 18px;
}

    .certifications-hero-card h1 {
        margin: 0;
        color: #333b45;
        font-size: 42px;
        line-height: 1.1;
        font-weight: 700;
    }

    .certifications-hero-card .lead {
        margin: 10px 0 0;
        color: #344054;
        font-size: 17px;
    }

.certifications-kicker {
    margin: 0 0 7px;
    color: var(--eapp-text-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.certifications-access-banner {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    background: #ecf8eb;
    border: 1px solid #c8ebc4;
    color: #27672b;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 18px;
    font-weight: 600;
}

.program-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.program-card {
    display: flex;
    flex-direction: column;
    min-height: 270px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.07);
}

.program-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 18px 15px;
    color: #fff;
}

.program-card-kicker {
    margin: 0 0 5px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .82;
}

.program-card h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
}

.program-card-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.program-card-body {
    flex: 1;
    padding: 18px;
}

    .program-card-body p {
        min-height: 68px;
        margin-bottom: 16px;
        color: #344054;
        line-height: 1.45;
    }

.program-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #f8fafc;
    border: 1px solid #edf0f2;
    border-radius: 10px;
    padding: 11px 12px;
}

    .program-card-meta span {
        color: var(--eapp-text-muted);
        font-weight: 700;
    }

    .program-card-meta strong {
        color: #111827;
        font-size: 18px;
    }

.program-card-actions {
    border-top: 1px solid #edf0f2;
    padding: 14px 18px 18px;
}

    .program-card-actions .btn {
        min-width: 118px;
    }

.program-card-ilp3 .program-card-top {
    background: linear-gradient(135deg, #5a5a5a, #8a1f1f);
}

.program-card-ilp3 .btn-primary {
    background: #8a1f1f;
    border-color: #681616;
}

    .program-card-ilp3 .btn-primary:hover,
    .program-card-ilp3 .btn-primary:focus {
        background: #681616;
        border-color: #681616;
    }

.program-card-pace .program-card-top {
    background: linear-gradient(135deg, #074b80, #2b5d78);
}

.program-card-pace .btn-primary {
    background: #2b5d78;
    border-color: #1f465c;
}

    .program-card-pace .btn-primary:hover,
    .program-card-pace .btn-primary:focus {
        background: #1f465c;
        border-color: #1f465c;
    }


/* ---------------------------------------------------------
   Original CSS pass 29: 28. Certification Landing Final Polish
   Main selectors/classes: certifications-access-banner-info, program-card-body, program-card-dimmed, program-card-ilp3, program-card-meta, program-card-pace
   --------------------------------------------------------- */
.certifications-access-banner-info {
    background: #eef6fa;
    border-color: #cfe3ee;
    color: #1f465c;
}

.program-card-dimmed {
    opacity: .52;
    filter: grayscale(45%);
}

.program-card-body h4 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #263238;
    font-size: 16px;
    font-weight: 800;
}

.program-card-body p {
    min-height: 78px;
}

.program-card-ilp3 .program-card-meta strong {
    color: #8a1f1f;
}

.program-card-pace .program-card-meta strong {
    color: #2b5d78;
}


/* ---------------------------------------------------------
   Original CSS pass 31: 30. Certification Landing Text + Card Refinement
   Main selectors/classes: btn, certifications-hero-card, lead, program-card, program-card-actions, program-card-badge, program-card-body, program-card-kicker, program-card-meta, program-card-top
   --------------------------------------------------------- */
.certifications-hero-card {
    padding: 26px 34px;
}

    .certifications-hero-card h1 {
        font-size: 32px;
        font-weight: 800;
    }

    .certifications-hero-card .lead {
        font-size: 15px;
    }

.program-card {
    min-height: 360px;
}

.program-card-top {
    min-height: 104px;
}

.program-card h2 {
    font-size: 30px;
    text-shadow: none;
}

.program-card-kicker {
    color: rgba(255, 255, 255, 0.96);
}

.program-card-badge {
    font-size: 12px;
    font-weight: 900;
}

.program-card-body {
    padding: 24px 22px;
}

    .program-card-body h4 {
        font-size: 18px;
        color: #1f2933;
    }

    .program-card-body p {
        min-height: 110px;
        font-size: 14px;
        line-height: 1.5;
    }

.program-card-meta {
    min-height: 52px;
}

.program-card-actions {
    padding: 18px 22px 22px;
}

    .program-card-actions .btn {
        font-weight: 800;
    }


/* =========================================================
   07. Shared admin cards/tables
   Supports:
   - Views/Administration/Index.cshtml
   - Shared admin cards, tiles, compact panels, admin management header
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 52: Administration Landing — Shared landing page for RegionOne, ILP3, and PaCE
   Main selectors/classes: admin-landing-grid, admin-landing-header, admin-landing-header-inner, admin-landing-ilp3, admin-landing-kicker, admin-landing-neutral, admin-landing-pace, admin-landing-page, admin-landing-tile, admin-landing-tile-body, ... (+2 more)
   --------------------------------------------------------- */
.admin-landing-page {
    max-width: 1180px;
    margin: 28px auto 48px;
}

.admin-landing-header {
    position: relative;
    background: #ffffff;
    border: 1px solid #dfe5ec;
    border-radius: 22px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    margin-bottom: 22px;
    overflow: hidden;
}

    .admin-landing-header::before {
        content: "";
        display: block;
        height: 6px;
        background: linear-gradient(90deg, #7a8796, #425466);
    }

.admin-landing-ilp3 .admin-landing-header::before {
    background: linear-gradient(90deg, #8a1f1f, #555555);
}

.admin-landing-pace .admin-landing-header::before {
    background: linear-gradient(90deg, #1f4f82, #0d6aa8);
}

.admin-landing-neutral .admin-landing-header::before {
    background: linear-gradient(90deg, #8a1f1f 0%, #6b5b66 45%, #1f4f82 100%);
}

.admin-landing-header-inner {
    padding: 28px 32px 26px;
}

.admin-landing-kicker {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #526175;
}

.admin-landing-header h1 {
    margin: 0 0 6px 0;
    font-size: 42px;
    line-height: 1.05;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.03em;
}

.admin-landing-header p {
    margin: 0;
    font-size: 15px;
    color: #475569;
}

.admin-landing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.admin-landing-tile {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 210px;
    padding: 24px 22px 20px;
    background: #ffffff;
    border: 1px solid #dfe5ec;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    text-decoration: none !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

    .admin-landing-tile:hover,
    .admin-landing-tile:focus {
        transform: translateY(-2px);
        box-shadow: 0 16px 34px rgba(15, 23, 42, 0.09);
        border-color: #c8d4e0;
        text-decoration: none !important;
    }

.admin-landing-tile-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    background: #f4f7fa;
    color: #223246;
    font-size: 24px;
}

.admin-landing-ilp3 .admin-landing-tile-icon {
    background: #fbefef;
    color: #8a1f1f;
}

.admin-landing-pace .admin-landing-tile-icon {
    background: #eef6fb;
    color: #0d6aa8;
}

.admin-landing-neutral .admin-landing-tile-icon {
    background: #f3f4f6;
    color: #364152;
}

.admin-landing-tile-body h2 {
    margin: 0 0 8px 0;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 700;
    color: #0f172a;
}

.admin-landing-tile-body p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #5b697c;
}

.admin-landing-tile-link {
    margin-top: 18px;
    font-size: 13px;
    font-weight: 700;
    color: #344054;
}

.admin-landing-ilp3 .admin-landing-tile-link {
    color: #8a1f1f;
}

.admin-landing-pace .admin-landing-tile-link {
    color: #0d6aa8;
}

.admin-landing-neutral .admin-landing-tile-link {
    color: #364152;
}

@media (max-width: 1100px) {
    .admin-landing-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 840px) {
    .admin-landing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-landing-header h1 {
        font-size: 34px;
    }
}

@media (max-width: 575px) {
    .admin-landing-page {
        margin: 18px auto 32px;
    }

    .admin-landing-grid {
        grid-template-columns: 1fr;
    }

    .admin-landing-header-inner {
        padding: 22px 20px;
    }

    .admin-landing-header h1 {
        font-size: 28px;
    }

    .admin-landing-tile {
        min-height: 180px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 59: 56. Admin Landing Hardening Polish
   Main selectors/classes: admin-landing-access-row
   --------------------------------------------------------- */
.admin-landing-access-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

    .admin-landing-access-row span {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 6px 11px;
        border-radius: 999px;
        background: #f8fafc;
        border: 1px solid #edf0f2;
        color: #475467;
        font-size: 12px;
        font-weight: 800;
    }

    .admin-landing-access-row strong {
        color: #101828;
        margin-left: 4px;
    }


/* ---------------------------------------------------------
   Original CSS pass 66: Main Admin Feature Pages — Setup / Interest Forms / Admin-Created Applications / Reports
   Main selectors/classes: admin-management-action-col, admin-management-alert, admin-management-card, admin-management-empty, admin-management-footer-actions, admin-management-header, admin-management-header-actions, admin-management-header-meta, admin-management-kicker, admin-management-page, ... (+13 more)
   --------------------------------------------------------- */
.admin-management-page {
    max-width: 1180px;
    margin: 28px auto 48px;
}

.admin-management-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    background: #fff;
    border: 1px solid #dfe5ec;
    border-radius: 22px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    margin-bottom: 22px;
    padding: 30px 32px 28px;
    overflow: hidden;
}

    .admin-management-header::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 6px;
        background: linear-gradient(90deg, #8a1f1f 0%, #6b5b66 45%, #2b5d78 100%);
    }

body.theme-ilp3 .admin-management-header::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

body.theme-pace .admin-management-header::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

.admin-management-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #526175;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-management-header h1 {
    margin: 0;
    color: #0f172a;
    font-size: 38px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.admin-management-header p {
    margin: 8px 0 0;
    color: #475569;
    font-size: 15px;
    line-height: 1.45;
}

.admin-management-header-actions {
    flex: 0 0 auto;
}

.admin-management-header-meta {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    padding: 12px 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e4e9ef;
}

    .admin-management-header-meta span {
        color: #667085;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .admin-management-header-meta strong {
        color: #101828;
        font-size: 26px;
        line-height: 1;
        font-weight: 950;
    }

.admin-management-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.admin-management-summary-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-management-summary-card {
    background: #fff;
    border: 1px solid #dfe5ec;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
    padding: 18px 20px;
}

    .admin-management-summary-card span {
        display: block;
        color: #667085;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .admin-management-summary-card strong {
        display: block;
        color: #101828;
        font-size: 30px;
        line-height: 1;
        font-weight: 950;
    }

.admin-management-card {
    border: 1px solid #dfe5ec;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    margin-bottom: 22px;
}

    .admin-management-card > .panel-heading {
        background: linear-gradient(180deg, #fff, #fbfcfd);
        border-bottom: 1px solid #e4e9ef;
        color: #101828;
        font-weight: 950;
        padding: 15px 18px;
    }

        .admin-management-card > .panel-heading .badge {
            margin-left: 6px;
            background: var(--eapp-accent);
        }

    .admin-management-card > .panel-body {
        padding: 18px;
    }

.admin-management-table-wrap {
    margin: 0;
}

.admin-management-table {
    margin-bottom: 0;
}

    .admin-management-table thead th {
        background: var(--eapp-accent-soft);
        border-bottom: 1px solid var(--eapp-border-soft) !important;
        color: #101828;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .06em;
        text-transform: uppercase;
        padding: 13px 14px !important;
    }

    .admin-management-table tbody td {
        vertical-align: middle !important;
        padding: 13px 14px !important;
        border-top: 1px solid #edf0f2 !important;
        color: #344054;
    }

    .admin-management-table tbody tr:hover {
        background: #fbfcfd;
    }

.admin-management-action-col {
    width: 130px;
}

.admin-management-empty {
    padding: 24px;
    border: 1px dashed #d0d5dd;
    border-radius: 14px;
    background: #f8fafc;
    color: #667085;
    font-weight: 700;
    text-align: center;
}

.admin-management-footer-actions {
    margin-top: 18px;
}

.admin-management-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--eapp-accent-soft);
    border: 1px solid var(--eapp-border-soft);
    color: var(--eapp-accent-dark);
    font-size: 12px;
    font-weight: 900;
}

.admin-management-step-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

    .admin-management-step-list span {
        display: inline-flex;
        padding: 4px 7px;
        border-radius: 999px;
        background: #f8fafc;
        border: 1px solid #e4e9ef;
        color: #475467;
        font-size: 12px;
        font-weight: 700;
    }

.admin-management-alert {
    border-radius: 14px;
}

.admin-report-selector {
    max-width: 880px;
}

    .admin-report-selector label {
        font-size: 14px;
        font-weight: 900;
        color: #344054;
    }

.admin-report-details {
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e4e9ef;
    color: #667085;
}

    .admin-report-details strong {
        display: block;
        color: #101828;
        font-size: 15px;
        font-weight: 950;
    }

    .admin-report-details span {
        display: block;
        margin-top: 3px;
        color: #667085;
        font-size: 12px;
    }

.admin-report-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

@media (max-width: 992px) {
    .admin-management-summary-grid,
    .admin-management-summary-grid-two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-management-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-management-header-meta {
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .admin-management-page {
        margin: 18px 12px 36px;
    }

    .admin-management-header {
        padding: 24px 22px;
        border-radius: 18px;
    }

        .admin-management-header h1 {
            font-size: 30px;
        }

    .admin-management-summary-grid,
    .admin-management-summary-grid-two {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 73: Admin Table Filter + Compact Pagination — Used by Interest Forms page
   Main selectors/classes: admin-table-filterbar, admin-table-pager, admin-table-pager-button, admin-table-pager-buttons, admin-table-pager-ellipsis, admin-table-pager-summary
   --------------------------------------------------------- */
.admin-table-filterbar {
    max-width: 520px;
    margin-bottom: 12px;
}

    .admin-table-filterbar label {
        display: block;
        margin-bottom: 6px;
        color: #344054;
        font-weight: 900;
    }

.admin-table-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid #edf0f2;
    border-radius: 12px;
    background: #fbfcfd;
}

.admin-table-pager-summary {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
}

.admin-table-pager-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
}

.admin-table-pager-button {
    min-width: 34px;
    font-weight: 850;
}

    .admin-table-pager-button.active {
        background: var(--eapp-accent);
        border-color: var(--eapp-accent-dark);
        color: #fff;
    }

.admin-table-pager-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 30px;
    color: #667085;
    font-weight: 900;
}

@media (max-width: 768px) {
    .admin-table-filterbar {
        max-width: none;
    }

    .admin-table-pager {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-table-pager-buttons {
        justify-content: flex-start;
    }
}


/* =========================================================
   08. RegionOne Administration
   Supports:
   - Views/Administration/SearchRecords.cshtml
   - Views/Administration/Setup.cshtml
   - Views/Administration/PendingApplications.cshtml
   - Views/Administration/ApplicationsByAdminFor.cshtml
   - Views/Administration/InterestFormList.cshtml
   - Views/Administration/InterestFormDetail.cshtml
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 63: 60. Administration Search Records — Purpose: - Replace oversized jumbotron title - Match modern Core admin landing/card style
   Main selectors/classes: admin-search-actions, admin-search-alert, admin-search-card, admin-search-count, admin-search-empty, admin-search-form-row, admin-search-header, admin-search-header-meta, admin-search-ilp3, admin-search-kicker, ... (+16 more)
   --------------------------------------------------------- */
.admin-search-page {
    max-width: 1180px;
    margin: 28px auto 48px;
}

.admin-search-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    margin-bottom: 22px;
    padding: 28px 32px;
    background: #ffffff;
    border: 1px solid #e4e9ef;
    border-radius: 22px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

    .admin-search-header::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 6px;
        background: linear-gradient(90deg, #8a1f1f 0%, #6b5b66 45%, #2b5d78 100%);
    }

.admin-search-ilp3 .admin-search-header::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

.admin-search-pace .admin-search-header::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

.admin-search-kicker {
    display: block;
    margin-bottom: 8px;
    color: #667085;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.admin-search-header h1 {
    margin: 0;
    color: #101828;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.admin-search-header p {
    margin: 8px 0 0;
    color: #475467;
    font-size: 15px;
    line-height: 1.45;
}

.admin-search-header-meta {
    flex: 0 0 auto;
}

    .admin-search-header-meta span {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
        padding: 7px 13px;
        border-radius: 999px;
        background: #f8fafc;
        border: 1px solid #e4e9ef;
        color: #344054;
        font-size: 12px;
        font-weight: 900;
    }

.admin-search-ilp3 .admin-search-header-meta span {
    background: #fbf0f0;
    border-color: #ebcaca;
    color: #681616;
}

.admin-search-pace .admin-search-header-meta span {
    background: #eef6fa;
    border-color: #cfe3ee;
    color: #1f465c;
}

.admin-search-alert {
    max-width: 1180px;
    margin: 0 auto 18px;
    border-radius: 14px;
}

.admin-search-card {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.055);
    overflow: hidden;
}

    .admin-search-card > .panel-heading {
        background: #fbfcfd;
        border-bottom: 1px solid #edf0f2;
        color: #101828;
        font-size: 15px;
        font-weight: 950;
    }

.admin-search-page .panel-default > .panel-heading {
    border-left: 5px solid #8a1f1f;
}

.admin-search-pace .panel-default > .panel-heading {
    border-left-color: #2b5d78;
}

.admin-search-neutral .panel-default > .panel-heading {
    border-left-color: #6b5b66;
}

.admin-search-card > .panel-body {
    padding: 22px;
}

.admin-search-form-row {
    margin-top: 15px;
}

.admin-search-actions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-search-results-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-search-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eef6fa;
    border: 1px solid #cfe3ee;
    color: #1f465c;
    font-size: 12px;
    font-weight: 950;
}

.admin-search-empty {
    text-align: center;
    padding: 38px 20px;
}

    .admin-search-empty .glyphicon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 54px;
        height: 54px;
        margin-bottom: 14px;
        border-radius: 50%;
        background: #f8fafc;
        border: 1px solid #edf0f2;
        color: #667085;
        font-size: 22px;
    }

    .admin-search-empty h3 {
        margin: 0;
        color: #101828;
        font-size: 20px;
        font-weight: 950;
    }

    .admin-search-empty p {
        margin: 8px 0 0;
        color: #667085;
    }

.admin-search-table {
    margin-bottom: 0;
}

    .admin-search-table thead th {
        background: var(--eapp-accent-soft);
        border-bottom: 1px solid var(--eapp-border-soft) !important;
        color: #101828;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
        padding: 13px 14px !important;
    }

    .admin-search-table tbody td {
        vertical-align: middle !important;
        padding: 14px !important;
        color: #344054;
    }

    .admin-search-table tbody tr:hover {
        background: #fbfcfd;
    }

.admin-search-program-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 950;
}

.admin-search-program-ilp3 {
    background: #8a1f1f;
}

.admin-search-program-pace {
    background: #2b5d78;
}

.admin-search-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

    .admin-search-row-actions .btn-sm {
        padding: 6px 11px;
        border-radius: 8px;
        font-size: 12px;
        font-weight: 850;
    }

@media (max-width: 768px) {
    .admin-search-page {
        margin: 18px 12px 36px;
    }

    .admin-search-header {
        display: block;
        padding: 24px 22px;
    }

        .admin-search-header h1 {
            font-size: 28px;
        }

    .admin-search-header-meta {
        margin-top: 14px;
    }

    .admin-search-card > .panel-body {
        padding: 16px;
    }

    .admin-search-form-row {
        margin-top: 0;
    }

        .admin-search-form-row > div,
        .admin-search-page .row > div {
            margin-top: 12px;
        }

    .admin-search-actions .btn {
        width: 100%;
    }

    .admin-search-row-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}
/* Admin Search column sizing */
.admin-search-table th:nth-child(1),
.admin-search-table td:nth-child(1) {
    width: 110px;
    white-space: nowrap;
}

.admin-search-table th:nth-child(2),
.admin-search-table td:nth-child(2) {
    width: 220px;
}


/* ---------------------------------------------------------
   Original CSS pass 65: 62. Administration Search Review/Transcript Modals
   Main selectors/classes: admin-search-open-record-btn, admin-search-resume-btn, admin-search-resume-modal-body, admin-search-review-modal-body, admin-search-review-modal-content, admin-search-review-modal-dialog, admin-search-transcript-modal, admin-search-transcript-warning
   --------------------------------------------------------- */
.admin-search-review-modal-dialog {
    width: min(1040px, 94vw);
}

.admin-search-review-modal-content {
    border-radius: 14px;
    overflow: hidden;
}

.admin-search-review-modal-body {
    padding: 0;
    height: min(78vh, 900px);
    background: #fff;
}

    .admin-search-review-modal-body iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: #fff;
    }

.admin-search-transcript-modal .admin-search-review-modal-body {
    padding: 14px;
}

    .admin-search-transcript-modal .admin-search-review-modal-body iframe {
        height: calc(78vh - 72px);
        border: 1px solid #e4e9ef;
        border-radius: 10px;
    }

.admin-search-transcript-warning {
    margin-bottom: 12px;
    border-radius: 12px;
}

@media (max-width: 768px) {
    .admin-search-review-modal-dialog {
        width: 96vw;
        margin: 10px auto;
    }

    .admin-search-review-modal-body {
        height: 78vh;
    }
}
/* ---------------------------------------------------------
   Administration Search Review/Resume Modal
   --------------------------------------------------------- */

.admin-search-review-modal-dialog {
    width: min(1240px, 96vw);
    max-width: 96vw;
    margin: 18px auto;
}

.admin-search-review-modal-content {
    border-radius: 14px;
    overflow: hidden;
    resize: both;
    min-width: 760px;
    min-height: 620px;
    max-width: 96vw;
    max-height: 92vh;
}

.admin-search-review-modal-body {
    padding: 0;
    height: min(86vh, 980px);
    background: #fff;
}

    .admin-search-review-modal-body iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: #fff;
    }

.admin-search-resume-modal-body {
    padding: 14px;
}

    .admin-search-resume-modal-body iframe {
        height: calc(86vh - 28px);
        border: 1px solid #e4e9ef;
        border-radius: 10px;
    }

@media (max-width: 768px) {
    .admin-search-review-modal-dialog {
        width: 96vw;
        margin: 10px auto;
    }

    .admin-search-review-modal-content {
        min-width: 0;
        min-height: 0;
        resize: none;
    }

    .admin-search-review-modal-body {
        height: 82vh;
    }

    .admin-search-resume-modal-body iframe {
        height: calc(82vh - 28px);
    }
}

    .admin-search-resume-modal-body iframe {
        height: calc(78vh - 28px);
        border: 1px solid #e4e9ef;
        border-radius: 10px;
    }
/* Admin Search action button colors */
.admin-search-open-record-btn {
    background: #2f7d32;
    border-color: #256628;
    color: #fff !important;
}

    .admin-search-open-record-btn:hover,
    .admin-search-open-record-btn:focus {
        background: #256628;
        border-color: #1f5522;
        color: #fff !important;
    }

.admin-search-resume-btn {
    background: #2b5d78;
    border-color: #1f465c;
    color: #fff !important;
}

    .admin-search-resume-btn:hover,
    .admin-search-resume-btn:focus {
        background: #1f465c;
        border-color: #173547;
        color: #fff !important;
    }


/* ---------------------------------------------------------
   Original CSS pass 67: Admin Setup Write UI
   Main selectors/classes: admin-candidate-card, admin-form-actions, admin-form-button-column, admin-form-title-row, admin-inline-delete-form, admin-inline-form, admin-person-search-form, admin-person-search-shell, admin-scroll-table, admin-selection-item, ... (+2 more)
   --------------------------------------------------------- */
.admin-inline-form {
    padding: 16px;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    background: #fbfcfd;
    margin-bottom: 14px;
}

.admin-form-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

    .admin-form-title-row h3 {
        margin: 0;
        color: #101828;
        font-size: 18px;
        font-weight: 950;
    }

.admin-form-actions {
    margin-top: 12px;
}

.admin-form-button-column {
    padding-top: 24px;
}

.admin-inline-delete-form {
    display: inline-block;
    margin-left: 5px;
}

.admin-scroll-table {
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #edf0f2;
    border-radius: 12px;
}

.admin-person-search-shell {
    margin-bottom: 14px;
}

.admin-person-search-form {
    display: flex;
    gap: 8px;
    max-width: 520px;
}

    .admin-person-search-form .form-control {
        flex: 1;
    }

.admin-candidate-card {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 12px 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: #eef6fa;
    border: 1px solid #cfe3ee;
    color: #1f465c;
}

    .admin-candidate-card strong {
        color: #123244;
    }

    .admin-candidate-card span {
        color: #475467;
    }

.admin-selection-list {
    display: grid;
    gap: 8px;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid #edf0f2;
    border-radius: 12px;
    padding: 10px;
    background: #fff;
}

.admin-selection-item {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid #edf0f2;
    border-radius: 10px;
    background: #fbfcfd;
    font-weight: 700 !important;
}

    .admin-selection-item input {
        margin-top: 3px;
    }

    .admin-selection-item span {
        display: grid;
        gap: 2px;
    }

    .admin-selection-item small {
        color: #667085;
        font-weight: 600;
    }


/* ---------------------------------------------------------
   Original CSS pass 68: Setup Page UI Tightening — Cohorts + Field Supervisors
   Main selectors/classes: admin-candidate-card-refresh, admin-candidate-kicker, admin-cohort-add-button, admin-cohort-modal-content, admin-cohort-modal-field, admin-cohort-search, admin-cohort-toolbar, admin-current-list-header, admin-current-list-shell, admin-current-person-card, ... (+35 more)
   --------------------------------------------------------- */
.admin-management-setup .admin-management-header {
    padding: 24px 28px 22px;
    margin-bottom: 18px;
}

    .admin-management-setup .admin-management-header h1 {
        font-size: 34px;
    }

.admin-management-setup .admin-management-summary-grid {
    gap: 14px;
    margin-bottom: 18px;
}

.admin-management-setup .admin-management-summary-card {
    min-height: 82px;
    padding: 16px 18px;
}

.admin-management-setup .admin-management-card {
    border-radius: 18px;
    margin-bottom: 18px;
}

    .admin-management-setup .admin-management-card > .panel-heading {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 46px;
        padding: 13px 18px;
    }

    .admin-management-setup .admin-management-card > .panel-body {
        padding: 14px;
    }

/* Cohort add/edit form: flatter and less bulky */
.admin-management-setup .admin-inline-form {
    padding: 16px;
    border-radius: 14px;
    margin-bottom: 12px;
}

.admin-management-setup .admin-form-title-row {
    margin-bottom: 10px;
}

    .admin-management-setup .admin-form-title-row h3 {
        font-size: 18px;
    }

.admin-management-setup .admin-form-actions {
    margin-top: 10px;
}

.admin-management-setup .admin-scroll-table {
    max-height: 300px;
}

/* Keep Edit/Delete side-by-side */
.admin-management-setup .admin-management-action-col {
    width: 150px;
}

.admin-management-setup .admin-inline-delete-form {
    display: inline-block;
    margin-left: 6px;
}

.admin-management-setup .admin-management-table tbody td:last-child {
    white-space: nowrap;
}

/* Field supervisor toolbar */
.admin-setup-person-panel {
    padding-top: 16px !important;
}

.admin-person-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 14px;
    margin-bottom: 14px;
}

.admin-person-search-shell {
    margin-bottom: 0;
}

    .admin-person-search-shell label {
        display: block;
        margin-bottom: 6px;
    }

.admin-person-search-form {
    display: flex;
    gap: 8px;
    max-width: 620px;
}

    .admin-person-search-form .form-control {
        flex: 1;
    }

.admin-person-help-text {
    display: block;
    margin-top: 6px;
    color: #667085;
    font-size: 12px;
    font-weight: 600;
}

.admin-person-add-placeholder {
    white-space: nowrap;
    margin-bottom: 22px;
}

.admin-candidate-card-refresh {
    justify-content: space-between;
    border-color: var(--eapp-border-soft);
    background: var(--eapp-accent-soft);
}

    .admin-candidate-card-refresh > div {
        display: grid;
        gap: 2px;
    }

.admin-candidate-kicker {
    color: var(--eapp-accent-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-candidate-card-refresh small {
    color: #475467;
    font-weight: 700;
}

.admin-selection-list-compact {
    max-height: 260px;
    padding: 8px;
}

.admin-selection-item-compact {
    padding: 8px 10px;
    margin-bottom: 0;
}

    .admin-selection-item-compact strong {
        font-size: 13px;
    }

    .admin-selection-item-compact small {
        font-size: 11px;
    }

/* Stronger ILP3/PaCE button consistency */
body.theme-ilp3 .admin-management-setup .btn-primary,
.admin-landing-ilp3 .admin-management-setup .btn-primary {
    background: #8a1f1f;
    border-color: #681616;
    color: #fff;
}

    body.theme-ilp3 .admin-management-setup .btn-primary:hover,
    .admin-landing-ilp3 .admin-management-setup .btn-primary:hover {
        background: #681616;
        border-color: #681616;
        color: #fff;
    }

body.theme-pace .admin-management-setup .btn-primary,
.admin-landing-pace .admin-management-setup .btn-primary {
    background: #2b5d78;
    border-color: #1f465c;
    color: #fff;
}

    body.theme-pace .admin-management-setup .btn-primary:hover,
    .admin-landing-pace .admin-management-setup .btn-primary:hover {
        background: #1f465c;
        border-color: #1f465c;
        color: #fff;
    }

@media (max-width: 768px) {
    .admin-person-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .admin-person-add-placeholder {
        width: 100%;
        margin-bottom: 0;
    }

    .admin-person-search-form {
        flex-direction: column;
        max-width: none;
    }
}
/* Setup current people list */
.admin-current-list-shell {
    margin-top: 16px;
}

.admin-current-list-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

    .admin-current-list-header strong {
        display: block;
        color: #101828;
        font-size: 15px;
        font-weight: 950;
    }

    .admin-current-list-header span {
        display: block;
        margin-top: 3px;
        color: #667085;
        font-size: 12px;
        font-weight: 600;
    }

.admin-current-person-list {
    display: grid;
    gap: 8px;
    max-height: 310px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid #edf0f2;
    border-radius: 14px;
    background: #fff;
}

.admin-current-person-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #e4e9ef;
    border-radius: 12px;
    background: #fbfcfd;
}

.admin-current-person-main strong {
    display: block;
    color: #1f2933;
    font-size: 13px;
    font-weight: 900;
}

.admin-current-person-main span {
    display: block;
    margin-top: 2px;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
}

.admin-current-person-remove {
    white-space: nowrap;
}

.admin-search-inline-message {
    margin: 10px 0 12px;
    padding: 10px 12px;
    border: 1px solid #cfe3ee;
    border-radius: 10px;
    background: #eef6fa;
    color: #1f465c;
    font-size: 13px;
    font-weight: 700;
}

.admin-search-inline-message-error {
    border-color: #f5c2c7;
    background: #fff1f2;
    color: #842029;
}

.admin-person-toolbar-refresh {
    margin-bottom: 8px;
}
/* Setup cohort popup/search */
.admin-cohort-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 14px;
}

.admin-cohort-search label {
    display: block;
    margin-bottom: 6px;
}

.admin-cohort-add-button {
    white-space: nowrap;
    margin-bottom: 0;
}

.admin-cohort-modal-content {
    border-radius: 16px;
    overflow: hidden;
}

    .admin-cohort-modal-content .modal-header {
        border-bottom: 1px solid #e4e9ef;
        background: #fbfcfd;
    }

    .admin-cohort-modal-content .modal-title {
        color: #101828;
        font-weight: 950;
    }

    .admin-cohort-modal-content .modal-footer {
        border-top: 1px solid #e4e9ef;
        background: #fbfcfd;
    }

.admin-cohort-modal-field {
    margin-top: 14px;
}

@media (max-width: 768px) {
    .admin-cohort-toolbar {
        grid-template-columns: 1fr;
    }

    .admin-cohort-add-button {
        width: 100%;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 69: Pending Applications
   Main selectors/classes: admin-management-action-col, admin-management-table, admin-pending-checkbox-cell, admin-pending-page, admin-pending-table-wrap, admin-pending-toolbar
   --------------------------------------------------------- */
.admin-pending-page .admin-pending-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 16px;
}

    .admin-pending-page .admin-pending-toolbar label {
        display: block;
        margin-bottom: 6px;
        color: #344054;
        font-weight: 900;
    }

.admin-pending-table-wrap {
    max-height: 620px;
    overflow-y: auto;
    border: 1px solid #edf0f2;
    border-radius: 12px;
}

.admin-pending-checkbox-cell {
    text-align: center;
}

    .admin-pending-checkbox-cell input[type="checkbox"] {
        transform: scale(1.12);
    }

.admin-pending-page .admin-management-action-col {
    width: 210px;
}

.admin-pending-page .admin-management-table tbody td:last-child {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .admin-pending-page .admin-pending-toolbar {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 70: Create Application For
   Main selectors/classes: admin-create-for-actions, admin-create-for-grid, admin-create-for-message, admin-create-for-search-action, admin-create-for-selected-person, admin-create-for-selected-wrap
   --------------------------------------------------------- */
.admin-create-for-grid {
    display: grid;
    grid-template-columns: minmax(280px, 400px) auto;
    gap: 16px;
    align-items: end;
    margin-bottom: 14px;
}

    .admin-create-for-grid label {
        display: block;
        margin-bottom: 6px;
        color: #344054;
        font-weight: 900;
    }

.admin-create-for-search-action {
    display: flex;
    align-items: end;
}

.admin-create-for-selected-wrap {
    max-width: 400px;
    margin-bottom: 14px;
}

.admin-create-for-selected-person {
    display: block;
    margin-top: 6px;
    padding: 4px 8px;
    border: 1px solid #98a2b3;
    background: #ffffff;
    font-weight: 500;
}

    .admin-create-for-selected-person input {
        margin-right: 6px;
    }

.admin-create-for-message {
    margin-top: 8px;
    font-weight: 700;
}

.admin-create-for-actions {
    margin-top: 8px;
}

@media (max-width: 768px) {
    .admin-create-for-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 74: Interest Form Detail Modal
   Main selectors/classes: admin-interest-detail-field, admin-interest-detail-field-wide, admin-interest-detail-grid, admin-interest-detail-loading, admin-interest-detail-modal, admin-interest-detail-modal-content, admin-interest-detail-modal-dialog, admin-interest-detail-person, modal-body, modal-footer, ... (+2 more)
   --------------------------------------------------------- */
.admin-interest-detail-modal-dialog {
    width: min(720px, 94vw);
}

.admin-interest-detail-modal-content {
    border-radius: 16px;
    overflow: hidden;
}

.admin-interest-detail-modal .modal-header {
    background: #fbfcfd;
    border-bottom: 1px solid #e4e9ef;
}

.admin-interest-detail-modal .modal-title {
    color: #101828;
    font-size: 22px;
    font-weight: 950;
}

.admin-interest-detail-modal .modal-body {
    padding: 18px;
}

.admin-interest-detail-loading {
    padding: 18px;
    border: 1px dashed #d0d5dd;
    border-radius: 12px;
    background: #f8fafc;
    color: #667085;
    font-weight: 800;
    text-align: center;
}

.admin-interest-detail-person {
    margin-bottom: 14px;
    padding: 16px;
    border-radius: 14px;
    background: var(--eapp-accent-soft);
    border: 1px solid var(--eapp-border-soft);
}

    .admin-interest-detail-person span,
    .admin-interest-detail-field span {
        display: block;
        margin-bottom: 5px;
        color: #667085;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .admin-interest-detail-person strong {
        display: block;
        color: #101828;
        font-size: 22px;
        line-height: 1.15;
        font-weight: 950;
    }

.admin-interest-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-interest-detail-field {
    padding: 13px 14px;
    border: 1px solid #e4e9ef;
    border-radius: 12px;
    background: #ffffff;
}

    .admin-interest-detail-field strong {
        display: block;
        color: #101828;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 850;
        overflow-wrap: anywhere;
    }

.admin-interest-detail-field-wide {
    grid-column: 1 / -1;
}

.admin-interest-detail-modal .modal-footer {
    background: #fbfcfd;
    border-top: 1px solid #e4e9ef;
}

@media (max-width: 768px) {
    .admin-interest-detail-grid {
        grid-template-columns: 1fr;
    }

    .admin-interest-detail-person strong {
        font-size: 18px;
    }
}


/* =========================================================
   09. System Users & Access
   Supports:
   - Views/SystemUsers/Index.cshtml
   - Route: /RegionOne/SystemUsers/Index
   - SystemUsersController.cs / SystemUsersViewModels.cs
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 81: System Users & Access
   Main selectors/classes: admin-management-header, btn, btn-sm, disabled, modal-body, modal-footer, modal-header, modal-title, system-user-edit-grid, system-user-edit-person, ... (+21 more)
   --------------------------------------------------------- */
.system-users-page .admin-management-header::before {
    background: linear-gradient(90deg, #8a1f1f 0%, #6b5b66 45%, #2b5d78 100%);
}

.system-users-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    gap: 14px;
    align-items: end;
}

.system-users-filter-actions {
    display: flex;
    gap: 8px;
    align-items: end;
    white-space: nowrap;
}

.system-users-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.system-users-page-summary {
    color: #667085;
    font-size: 12px;
    font-weight: 900;
}

.system-users-page-search {
    max-width: 560px;
}

.system-users-table-wrap {
    border: 1px solid #edf0f2;
    border-radius: 12px;
    overflow-x: auto;
}

.system-users-table {
    min-width: 1120px;
    margin-bottom: 0;
}

    .system-users-table th,
    .system-users-table td {
        vertical-align: middle !important;
    }

        .system-users-table th:nth-child(1),
        .system-users-table td:nth-child(1) {
            width: 90px;
            white-space: nowrap;
            text-align: center;
        }

        .system-users-table th:nth-child(2),
        .system-users-table td:nth-child(2) {
            width: 210px;
        }

        .system-users-table th:nth-child(3),
        .system-users-table td:nth-child(3) {
            width: 250px;
        }

        .system-users-table th:nth-child(4),
        .system-users-table td:nth-child(4) {
            width: 145px;
            text-align: center;
        }

        .system-users-table th:nth-child(5),
        .system-users-table td:nth-child(5) {
            width: 125px;
            text-align: center;
        }

        .system-users-table th:nth-child(6),
        .system-users-table td:nth-child(6) {
            width: 250px;
        }

.system-users-action-col {
    width: 150px;
}

.system-users-email,
.system-users-muted {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.system-users-muted {
    margin-top: 3px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.system-users-role-pill {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 26px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #d0d5dd;
    color: #344054;
    font-size: 12px;
    font-weight: 900;
}

.system-users-row-actions {
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
}

    .system-users-row-actions .btn-sm {
        font-weight: 850;
        border-radius: 8px;
    }

.system-users-search-empty {
    margin-top: 12px;
}

.system-users-pager .disabled {
    pointer-events: none;
    opacity: .55;
}

.system-users-page-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 30px;
    padding: 4px 9px;
    border-radius: 8px;
    background: var(--eapp-accent);
    color: #fff;
    font-weight: 900;
}

.system-user-modal-dialog {
    width: min(720px, 94vw);
}

.system-user-modal-content {
    border-radius: 16px;
    overflow: hidden;
}

.system-user-modal .modal-header,
.system-user-modal .modal-footer {
    background: #fbfcfd;
    border-color: #e4e9ef;
}

.system-user-modal .modal-title {
    color: #101828;
    font-size: 22px;
    font-weight: 950;
}

.system-user-modal .modal-body {
    padding: 18px;
}

.system-user-edit-person {
    margin-bottom: 16px;
    padding: 15px 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e4e9ef;
}

    .system-user-edit-person span {
        display: block;
        margin-bottom: 5px;
        color: #667085;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .system-user-edit-person strong {
        display: block;
        color: #101828;
        font-size: 20px;
        font-weight: 950;
    }

    .system-user-edit-person small {
        display: block;
        margin-top: 3px;
        color: #667085;
        font-weight: 700;
        overflow-wrap: anywhere;
    }

.system-user-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

    .system-user-edit-grid > div:last-child {
        grid-column: 1 / -1;
    }

.system-users-warning {
    margin-top: 16px;
    margin-bottom: 0;
}

.system-user-remove-target {
    padding: 14px 16px;
    margin: 10px 0 14px;
    border-radius: 12px;
    background: #fff1f2;
    border: 1px solid #f5c2c7;
    color: #842029;
}

    .system-user-remove-target strong {
        display: block;
        font-size: 18px;
        font-weight: 950;
    }

@media (max-width: 1100px) {
    .system-users-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .system-users-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .system-users-filter-grid,
    .system-user-edit-grid {
        grid-template-columns: 1fr;
    }

    .system-users-filter-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

        .system-users-filter-actions .btn {
            width: 100%;
        }

    .system-users-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .system-users-table {
        min-width: 980px;
    }

    .system-users-row-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 82: System Users Add User + App Access Column
   Main selectors/classes: system-user-lookup-box, system-user-lookup-message, system-user-lookup-message-error, system-user-lookup-row, system-user-preview-card, system-user-preview-grid, system-users-app-pill, system-users-heading-actions
   --------------------------------------------------------- */
.system-users-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.system-users-app-pill {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 26px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef6fa;
    border: 1px solid #cfe3ee;
    color: #1f465c;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.system-user-lookup-box {
    margin-bottom: 14px;
    padding: 14px 15px;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    background: #fbfcfd;
}

    .system-user-lookup-box label {
        display: block;
        margin-bottom: 6px;
        color: #344054;
        font-weight: 900;
    }

.system-user-lookup-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.system-user-lookup-message {
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid #cfe3ee;
    border-radius: 10px;
    background: #eef6fa;
    color: #1f465c;
    font-size: 13px;
    font-weight: 800;
}

.system-user-lookup-message-error {
    border-color: #f5c2c7;
    background: #fff1f2;
    color: #842029;
}

.system-user-preview-card {
    margin-bottom: 16px;
    padding: 15px 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e4e9ef;
}

    .system-user-preview-card > span {
        display: block;
        margin-bottom: 5px;
        color: #667085;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .system-user-preview-card > strong {
        display: block;
        color: #101828;
        font-size: 20px;
        font-weight: 950;
        margin-bottom: 10px;
    }

.system-user-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

    .system-user-preview-grid div {
        padding: 10px 11px;
        border-radius: 10px;
        border: 1px solid #edf0f2;
        background: #fff;
    }

    .system-user-preview-grid small {
        display: block;
        margin-bottom: 4px;
        color: #667085;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .system-user-preview-grid b {
        display: block;
        color: #101828;
        font-size: 13px;
        overflow-wrap: anywhere;
    }

@media (max-width: 768px) {
    .system-users-heading-actions,
    .system-user-lookup-row {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .system-user-preview-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 83: System Users table after hiding Scope column
   Main selectors/classes: system-users-table
   --------------------------------------------------------- */
.system-users-table th:nth-child(6),
.system-users-table td:nth-child(6) {
    width: 275px;
}

.system-users-table th:nth-child(7),
.system-users-table td:nth-child(7) {
    width: 160px;
}


/* =========================================================
   10. ILP3 pages
   Supports:
   - Views/Application/ILP3Form.cshtml
   - Views/ILP3Administration/ILP3General.cshtml
   - Views/ILP3Administration/ILP3Screening.cshtml
   - Views/ILP3Administration/ILP3InternshipInfo.cshtml
   - Views/ILP3Administration/ILP3Administrative.cshtml
   - Views/ILP3Administration/ILP3PaymentCenter.cshtml
   - Views/ILP3Administration/ILP3Extension.cshtml
   - Views/ILP3Administration/ILP3UserRecords.cshtml
   - Views/ILP3Administration/_ILP3ApplicationDetailsModal.cshtml
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 12: 11. Admin Record Header / PaCE + ILP3 Sections
   Main selectors/classes: pace-personal-card, pace-record-title, pace-record-title-actions, pace-record-title-row, pace-section-notice, pace-section-tabs
   --------------------------------------------------------- */
.pace-record-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin: 24px 0 14px;
    padding: 18px;
    background-color: var(--eapp-accent-soft);
    border: 1px solid var(--eapp-border-soft);
    border-radius: var(--eapp-radius-lg);
}

.pace-record-title {
    margin: 0;
    font-size: 30px;
    font-weight: 700;
}

.pace-record-title-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pace-personal-card {
    margin-top: 14px;
}

.pace-section-tabs {
    margin-top: 18px;
}

.pace-section-notice {
    margin-top: 16px;
}


/* ---------------------------------------------------------
   Original CSS pass 45: 44. ILP3 Applicant Form Final Layout Fixes
   Main selectors/classes: application-form-header-standalone, application-form-shell, btn, eapp-add-row-button, eapp-notice-left, eapp-program-contact, eapp-question-card, eapp-radio-question, eapp-secret-field, form-control, ... (+3 more)
   --------------------------------------------------------- */
.application-form-header-standalone {
    max-width: 1180px;
    margin: 0 auto 18px;
}

    .application-form-header-standalone.application-form-ilp3-header {
        border-top: 0 !important;
    }

.application-form-shell.application-form-ilp3 {
    padding: 22px;
}

    .application-form-shell.application-form-ilp3::before {
        display: none;
    }

    .application-form-shell.application-form-ilp3 .legacy-form-section {
        margin-bottom: 22px;
    }

    .application-form-shell.application-form-ilp3 .eapp-secret-field.input-group {
        display: flex;
        width: 100%;
    }

    .application-form-shell.application-form-ilp3 .eapp-secret-field .form-control {
        flex: 1 1 auto;
        min-width: 0;
    }

    .application-form-shell.application-form-ilp3 .eapp-secret-field .input-group-btn {
        width: auto;
        flex: 0 0 auto;
    }

    .application-form-shell.application-form-ilp3 .eapp-secret-field .btn {
        min-width: 64px;
    }

.eapp-question-card {
    min-height: 112px;
    padding: 14px 16px;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    background: #fbfcfd;
}

.teaching-question-row .eapp-radio-question {
    margin-bottom: 0;
}

    .teaching-question-row .eapp-radio-question > label {
        line-height: 1.35;
    }

.eapp-add-row-button {
    margin-top: 10px;
    background: #f8fafc;
    border-color: #d0d5dd;
    color: #344054;
    font-weight: 800;
}

    .eapp-add-row-button:hover,
    .eapp-add-row-button:focus {
        background: var(--eapp-accent-soft);
        border-color: var(--eapp-border-soft);
        color: var(--eapp-accent-dark);
    }

.eapp-notice-left,
.eapp-notice-left p,
.eapp-notice-left div,
.eapp-notice-left strong {
    text-align: left;
}

    .eapp-notice-left p {
        margin-bottom: 14px;
    }

.eapp-program-contact {
    text-align: center !important;
    font-weight: 700;
}

@media (max-width: 768px) {
    .application-form-header-standalone {
        margin-left: 12px;
        margin-right: 12px;
    }

    .application-form-shell.application-form-ilp3 {
        padding: 16px;
    }

    .eapp-question-card {
        min-height: auto;
        margin-bottom: 12px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 46: 45. ILP3 Form Demographics + Teaching Cleanup
   Main selectors/classes: applicant-profile-item, application-form-header-standalone, application-form-shell, eapp-add-row-button, eapp-notice-left, eapp-program-contact, eapp-question-card, eapp-radio-question, ilp3-demo-section, ilp3-profile-summary, ... (+1 more)
   --------------------------------------------------------- */
.application-form-header-standalone {
    max-width: 1180px;
    margin: 0 auto 18px;
}

.application-form-shell.application-form-ilp3 {
    max-width: 1180px;
    margin: 0 auto 48px;
    padding: 22px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .92), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
    border: 1px solid #e4e9ef;
    border-radius: 22px;
    box-shadow: 0 18px 46px rgba(16, 24, 40, 0.075);
}

    .application-form-shell.application-form-ilp3::before {
        display: none;
    }

.ilp3-demo-section .ilp3-profile-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: 12px;
    margin: 16px 0 18px;
}

.ilp3-demo-section .applicant-profile-item {
    background: #f8fbfd;
    border: 1px solid #cfe3ee;
    border-radius: 12px;
    padding: 13px 14px;
    min-height: 74px;
}

    .ilp3-demo-section .applicant-profile-item span {
        display: block;
        margin-bottom: 6px;
        color: #5f6f82;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .ilp3-demo-section .applicant-profile-item strong {
        display: block;
        color: #101828;
        font-size: 14px;
        font-weight: 850;
        word-break: break-word;
    }

.eapp-question-card {
    min-height: 86px;
    padding: 14px 16px;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    background: #fbfcfd;
}

.teaching-question-row .eapp-radio-question {
    margin-bottom: 0;
}

    .teaching-question-row .eapp-radio-question > label {
        line-height: 1.4;
    }

.eapp-add-row-button {
    margin-top: 10px;
    background: #f8fafc;
    border-color: #d0d5dd;
    color: #344054;
    font-weight: 850;
}

    .eapp-add-row-button:hover,
    .eapp-add-row-button:focus {
        background: var(--eapp-accent-soft);
        border-color: var(--eapp-border-soft);
        color: var(--eapp-accent-dark);
    }

.eapp-notice-left,
.eapp-notice-left p,
.eapp-notice-left div,
.eapp-notice-left strong {
    text-align: left;
}

    .eapp-notice-left p {
        margin-bottom: 14px;
        line-height: 1.45;
    }

.eapp-program-contact {
    text-align: center !important;
    font-weight: 700;
}

@media (max-width: 992px) {
    .ilp3-demo-section .ilp3-profile-summary {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 768px) {
    .application-form-header-standalone {
        margin-left: 12px;
        margin-right: 12px;
    }

    .application-form-shell.application-form-ilp3 {
        padding: 16px;
    }

    .ilp3-demo-section .ilp3-profile-summary {
        grid-template-columns: 1fr;
    }

    .eapp-question-card {
        min-height: auto;
        margin-bottom: 12px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 60: 57. ILP3 Applicant Administration Screens — Purpose: - Clean up individual applicant admin screens - Replace old read-only/legacy wording
   Main selectors/classes: ilp3-admin-applicant-actions, ilp3-admin-applicant-avatar, ilp3-admin-applicant-card, ilp3-admin-applicant-copy, ilp3-admin-applicant-main, ilp3-admin-applicant-meta, ilp3-admin-form, ilp3-admin-form-card, ilp3-admin-kicker, ilp3-admin-page-header, ... (+17 more)
   --------------------------------------------------------- */
.ilp3-admin-page-header {
    position: relative;
    max-width: 1180px;
    margin: 0 auto 18px;
    padding: 26px 30px;
    background: #ffffff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.06);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

    .ilp3-admin-page-header::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 6px;
        background: linear-gradient(90deg, #8a1f1f, #555);
    }

.ilp3-admin-kicker {
    display: block;
    color: #667085;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.ilp3-admin-page-header h1 {
    margin: 0;
    color: #101828;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.ilp3-admin-page-header p {
    margin: 8px 0 0;
    color: #475467;
    font-size: 14px;
    line-height: 1.45;
}

.ilp3-admin-page-header-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

    .ilp3-admin-page-header-meta span {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 6px 11px;
        border-radius: 999px;
        background: #fbf0f0;
        border: 1px solid #ebcaca;
        color: #681616;
        font-size: 12px;
        font-weight: 900;
    }

.ilp3-admin-applicant-card,
.ilp3-admin-tabs-card,
.ilp3-admin-form-card {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 18px;
    border-color: #e4e9ef;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.055);
    overflow: hidden;
}

.ilp3-admin-applicant-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px;
    background: #fff;
    border: 1px solid #e4e9ef;
    margin-bottom: 16px;
}

.ilp3-admin-applicant-main {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.ilp3-admin-applicant-avatar {
    flex: 0 0 auto;
    width: 66px;
    height: 66px;
    border-radius: 18px;
    background: linear-gradient(135deg, #8a1f1f, #555);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: .02em;
    box-shadow: 0 8px 22px rgba(16, 24, 40, 0.12);
}

.ilp3-admin-applicant-copy {
    min-width: 0;
}

    .ilp3-admin-applicant-copy h2 {
        margin: 0;
        color: #101828;
        font-size: 25px;
        font-weight: 950;
        letter-spacing: -0.025em;
    }

.ilp3-admin-applicant-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 9px;
    color: #475467;
    font-size: 13px;
}

    .ilp3-admin-applicant-meta strong {
        color: #101828;
    }

.ilp3-admin-applicant-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.ilp3-admin-tabs-card {
    background: #fff;
    border: 1px solid #e4e9ef;
    margin-bottom: 18px;
    padding: 12px;
}

.ilp3-admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ilp3-admin-tab {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid #e4e9ef;
    background: #f8fafc;
    color: #344054;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

    .ilp3-admin-tab:hover,
    .ilp3-admin-tab:focus {
        border-color: #ebcaca;
        background: #fbf0f0;
        color: #681616;
    }

    .ilp3-admin-tab.active {
        background: #8a1f1f;
        border-color: #681616;
        color: #fff;
    }

.ilp3-admin-form {
    max-width: 1180px;
    margin: 0 auto 48px;
}

.ilp3-admin-form-card > .panel-heading {
    background: #fbfcfd;
    border-bottom: 1px solid #edf0f2;
    color: #101828;
    font-size: 15px;
    font-weight: 950;
}

.ilp3-admin-form-card > .panel-body {
    padding: 22px;
}

.ilp3-admin-save-row {
    max-width: 1180px;
    margin: 0 auto 48px;
    padding: 16px 18px;
    border: 1px solid #e4e9ef;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.055);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ilp3-radio-row {
    padding: 8px 10px;
    border: 1px solid #edf0f2;
    border-radius: 12px;
    background: #fbfcfd;
}

.ilp3-check-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ilp3-check-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border-radius: 999px;
    border: 1px solid #e4e9ef;
    background: #f8fafc;
    font-weight: 800;
    color: #344054;
}

    .ilp3-check-pill input[type="checkbox"] {
        margin: 0;
    }

.ilp3-money-summary {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fbf0f0;
    border: 1px solid #ebcaca;
}

    .ilp3-money-summary span,
    .ilp3-payment-item span {
        color: #667085;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .ilp3-money-summary strong {
        color: #681616;
        font-size: 24px;
        font-weight: 950;
    }

.ilp3-payment-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.ilp3-payment-item {
    padding: 14px;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    background: #fbfcfd;
}

    .ilp3-payment-item strong {
        display: block;
        margin-top: 6px;
        color: #101828;
        font-size: 20px;
        font-weight: 950;
    }

.ilp3-application-modal-dialog {
    width: min(980px, 92vw);
}

.ilp3-application-modal-content {
    border-radius: 14px;
    overflow: hidden;
}

.ilp3-application-modal-body {
    padding: 0;
    height: min(78vh, 900px);
}

    .ilp3-application-modal-body iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: #fff;
    }

.ilp3-transcript-frame {
    width: 100%;
    min-height: 850px;
    border: 1px solid #dfe5ec;
    border-radius: 12px;
    background: #fff;
}

@media (max-width: 992px) {
    .ilp3-admin-applicant-card {
        grid-template-columns: 1fr;
    }

    .ilp3-admin-applicant-actions {
        justify-content: flex-start;
    }

    .ilp3-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .ilp3-admin-page-header {
        display: block;
        padding: 24px 22px;
        margin-left: 12px;
        margin-right: 12px;
    }

        .ilp3-admin-page-header h1 {
            font-size: 28px;
        }

    .ilp3-admin-page-header-meta {
        justify-content: flex-start;
        margin-top: 14px;
    }

    .ilp3-admin-applicant-main {
        align-items: flex-start;
    }

    .ilp3-admin-applicant-card,
    .ilp3-admin-tabs-card,
    .ilp3-admin-form-card,
    .ilp3-admin-form,
    .ilp3-admin-save-row {
        margin-left: 12px;
        margin-right: 12px;
    }

    .ilp3-payment-grid {
        grid-template-columns: 1fr;
    }

    .ilp3-application-modal-dialog {
        width: 96vw;
        margin: 10px auto;
    }

    .ilp3-application-modal-body {
        height: 78vh;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 61: 58. ILP3 Application Details Modal Content — Purpose: - Render applicant form details inside modal - Keep modal readable
   Main selectors/classes: ilp3-application-details, ilp3-application-modal-body, ilp3-application-modal-content, ilp3-application-modal-dialog, ilp3-application-modal-title, ilp3-modal-answer, ilp3-modal-field, ilp3-modal-grid, ilp3-modal-section
   --------------------------------------------------------- */
.ilp3-application-modal-dialog {
    width: min(980px, 92vw);
}

.ilp3-application-modal-content {
    border-radius: 14px;
    overflow: hidden;
}

.ilp3-application-modal-title {
    font-size: 30px;
    font-weight: 800;
    color: #21465c;
    line-height: 1.1;
}

.ilp3-application-modal-body {
    max-height: 78vh;
    overflow-y: auto;
    padding: 22px 24px;
    background: #fff;
}

.ilp3-application-details {
    color: #263238;
    font-size: 14px;
}

.ilp3-modal-section {
    margin-bottom: 26px;
}

    .ilp3-modal-section h3 {
        margin: 0 0 12px;
        color: #21465c;
        font-size: 19px;
        font-weight: 800;
    }

.ilp3-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
}

.ilp3-modal-field span {
    display: inline;
    color: #475467;
}

    .ilp3-modal-field span::after {
        content: ": ";
    }

.ilp3-modal-field strong {
    color: #101828;
}

.ilp3-modal-answer {
    margin: 0 0 7px;
    line-height: 1.45;
}

    .ilp3-modal-answer strong {
        margin-left: 4px;
        color: #101828;
    }

.ilp3-application-details table {
    font-size: 13px;
}

    .ilp3-application-details table th {
        background: #f4f7fa;
        color: #101828;
        font-weight: 800;
    }

#ilp3ApplicationDetailsPrintHost {
    display: none;
}

@media (max-width: 768px) {
    .ilp3-application-modal-dialog {
        width: 96vw;
        margin: 10px auto;
    }

    .ilp3-modal-grid {
        grid-template-columns: 1fr;
    }

    .ilp3-application-modal-body {
        max-height: 78vh;
        padding: 18px;
    }

    .ilp3-application-modal-title {
        font-size: 24px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 62: 59. ILP3 Application Details Print — Purpose: - Print only the cloned application details - Force normal portrait letter page
   Main selectors/classes: ilp3-modal-answer, ilp3-modal-field, ilp3-modal-grid, ilp3-modal-section
   --------------------------------------------------------- */
#ilp3ApplicationDetailsPrintHost {
    display: none;
}

@media print {
    @page {
        size: letter portrait;
        margin: 0.5in;
    }

    html,
    body {
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
    }

        body.ilp3-print-application {
            background: #fff !important;
            margin: 0 !important;
            padding: 0 !important;
        }

            body.ilp3-print-application > *:not(#ilp3ApplicationDetailsPrintHost) {
                display: none !important;
            }

            body.ilp3-print-application #ilp3ApplicationDetailsPrintHost {
                display: block !important;
                position: static !important;
                width: auto !important;
                max-width: none !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
                margin: 0 !important;
                padding: 0 !important;
                background: #fff !important;
                color: #222 !important;
                font-family: Arial, Helvetica, sans-serif !important;
                font-size: 11px !important;
                line-height: 1.25 !important;
            }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-section {
                    display: block !important;
                    break-inside: avoid !important;
                    page-break-inside: avoid !important;
                    margin: 0 0 12px 0 !important;
                    padding: 0 !important;
                }

                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-section h3 {
                        color: #21465c !important;
                        font-size: 15px !important;
                        font-weight: 800 !important;
                        margin: 0 0 6px 0 !important;
                        padding: 0 !important;
                    }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-grid {
                    display: block !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-field {
                    display: block !important;
                    margin: 0 0 3px 0 !important;
                    padding: 0 !important;
                }

                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-field span,
                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-field strong,
                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-answer,
                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-answer strong {
                        color: #222 !important;
                        font-size: 11px !important;
                        line-height: 1.25 !important;
                    }

                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-field span,
                    body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-field strong {
                        display: inline !important;
                    }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost .ilp3-modal-answer {
                    display: block !important;
                    margin: 0 0 3px 0 !important;
                    padding: 0 !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost table {
                    width: 100% !important;
                    border-collapse: collapse !important;
                    margin: 6px 0 10px 0 !important;
                    page-break-inside: auto !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost tr {
                    break-inside: avoid !important;
                    page-break-inside: avoid !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost th,
                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost td {
                    border: 1px solid #ccc !important;
                    padding: 4px !important;
                    text-align: left !important;
                    vertical-align: top !important;
                    color: #222 !important;
                    font-size: 10px !important;
                    line-height: 1.2 !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost th {
                    background: #f4f7fa !important;
                    font-weight: 800 !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost ul {
                    margin: 4px 0 8px 18px !important;
                    padding: 0 !important;
                }

                body.ilp3-print-application #ilp3ApplicationDetailsPrintHost li {
                    margin: 0 0 3px 0 !important;
                    padding: 0 !important;
                }
}


/* =========================================================
   11. PaCE pages
   Supports:
   - Views/Application/PaCEForm.cshtml
   - Views/PaCEAdministration/PaCEGeneral.cshtml
   - Views/PaCEAdministration/PaCEAdmission.cshtml
   - Views/PaCEAdministration/PaCEFees.cshtml
   - Views/PaCEAdministration/PaCECertifications.cshtml
   - Views/PaCEAdministration/PaCEModulesCompleted.cshtml
   - Views/PaCEAdministration/PaCEEmployment.cshtml
   - Views/PaCEAdministration/PaCEPPR.cshtml
   - Views/PaCEAdministration/PaCEVisits.cshtml
   - Views/PaCEAccountability/Index.cshtml
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 47: 47. PaCE Final Form Polish
   Main selectors/classes: applicant-profile-item, applicant-profile-summary, application-form-pace, eapp-chip-remove, eapp-selected-chip, ilp3-profile-summary, pace-demo-section, pace-profile-summary, pace-remove-file-button
   --------------------------------------------------------- */
/* Match ILP3-style compact demographics cards */
.application-form-pace .pace-demo-section .applicant-profile-summary,
.application-form-pace .pace-profile-summary,
.application-form-pace .ilp3-profile-summary {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(135px, 1fr)) !important;
    gap: 12px !important;
    margin: 16px 0 18px !important;
}

.application-form-pace .pace-demo-section .applicant-profile-item {
    min-height: 74px;
    padding: 13px 14px;
}

/* Make selected chip X discreet, not a boxed browser button */
.eapp-selected-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.eapp-chip-remove {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 0 0 0 3px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #1f465c !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer;
}

    .eapp-chip-remove:hover,
    .eapp-chip-remove:focus {
        background: rgba(31, 70, 92, 0.12) !important;
        color: #123244 !important;
        outline: none !important;
    }

/* Resume delete action */
.pace-remove-file-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 8px 0 12px;
    padding: 8px 13px;
    border-radius: 9px;
    background: #b42318;
    border: 1px solid #912018;
    color: #fff;
    font-weight: 850 !important;
    cursor: pointer;
}

    .pace-remove-file-button:hover,
    .pace-remove-file-button:focus {
        background: #912018;
        color: #fff;
    }

    .pace-remove-file-button input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .pace-remove-file-button:has(input[type="checkbox"]:checked) {
        background: #2b5d78;
        border-color: #1f465c;
    }

        .pace-remove-file-button:has(input[type="checkbox"]:checked)::after {
            content: " selected";
            margin-left: 4px;
            font-weight: 700;
        }

/* Keep profile cards responsive */
@media (max-width: 992px) {
    .application-form-pace .pace-demo-section .applicant-profile-summary,
    .application-form-pace .pace-profile-summary,
    .application-form-pace .ilp3-profile-summary {
        grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .application-form-pace .pace-demo-section .applicant-profile-summary,
    .application-form-pace .pace-profile-summary,
    .application-form-pace .ilp3-profile-summary {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   PaCE General - Compact Legacy-Compatible Layout
   Supports:
   - Views/PaCEAdministration/PaCEGeneral.cshtml
   Purpose:
   - Match the older PaCE General admin screen density
   - Avoid stacked form groups taking too much vertical space
   - Preserve existing Core post field names and workflow
   ========================================================= */

.pace-general-panel {
    max-width: 1100px;
}

    .pace-general-panel .panel-body {
        padding: 16px;
    }

.pace-general-compact label {
    display: block;
    margin-bottom: 4px;
    color: #333;
    font-weight: 700;
}

.pace-general-summary-row {
    margin-bottom: 8px;
}

.pace-general-main-row {
    margin-bottom: 10px;
}

.pace-general-date-row {
    margin-top: 8px;
}

.pace-general-field,
.pace-general-display,
.pace-general-bool {
    margin-bottom: 10px;
}

    .pace-general-display span {
        display: block;
        min-height: 20px;
        color: #333;
        font-style: italic;
    }

.pace-general-fbe {
    padding-top: 0;
}

.pace-general-bool-row {
    margin-top: 4px;
    margin-bottom: 8px;
}

.pace-general-radio-options {
    white-space: nowrap;
}

    .pace-general-radio-options .radio-inline {
        margin-right: 8px;
        padding-left: 18px;
        font-weight: 500;
    }

    .pace-general-radio-options input[type="radio"] {
        margin-top: 2px;
    }

.pace-general-comments {
    margin-top: 4px;
    margin-bottom: 14px;
}

    .pace-general-comments textarea {
        min-height: 130px;
        resize: vertical;
    }

.pace-general-actions {
    margin-top: 6px;
}

    .pace-general-actions .btn {
        min-width: 106px;
    }

@media (max-width: 768px) {
    .pace-general-panel {
        max-width: none;
    }

    .pace-general-radio-options {
        white-space: normal;
    }

    .pace-general-actions .btn {
        width: 100%;
    }
}
/* =========================================================
   PaCE Admission - Compact Panel Layout
   Supports:
   - Views/PaCEAdministration/PaCEAdmission.cshtml
   Purpose:
   - Preserve Core/Bootstrap panel header and card box
   - Reorganize fields inside each panel to match legacy density
   - Preserve existing Core post field names and SP contract
   ========================================================= */

.pace-admission-panel {
    max-width: 1100px;
    margin-bottom: 16px;
}

    .pace-admission-panel .panel-heading {
        font-weight: 700;
    }

.pace-admission-panel-body {
    padding: 14px 16px 8px;
}

.pace-admission-row {
    margin-bottom: 6px;
}

.pace-admission-field {
    margin-bottom: 10px;
}

    .pace-admission-field label {
        display: block;
        margin-bottom: 5px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    .pace-admission-field .form-control {
        height: 34px;
        padding: 6px 12px;
    }

.pace-admission-hidden-label {
    visibility: hidden;
}

@media (max-width: 768px) {
    .pace-admission-panel {
        max-width: none;
    }

    .pace-admission-hidden-label {
        display: none;
    }
}
/* =========================================================
   PaCE Certifications - Compact Panel Layout
   Supports:
   - Views/PaCEAdministration/PaCECertifications.cshtml
   Purpose:
   - Preserve Core/Bootstrap panel header and card box
   - Reorganize fields inside the panel to match legacy density
   - Preserve existing Core post field names and SP contract
   ========================================================= */

.pace-cert-panel {
    max-width: 1100px;
    margin-bottom: 16px;
}

    .pace-cert-panel .panel-heading {
        font-weight: 700;
    }

.pace-cert-panel-body {
    padding: 14px 16px 10px;
}

.pace-cert-top-actions {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    margin-bottom: 10px;
}

.pace-cert-certifications-block {
    max-width: 560px;
    margin-bottom: 14px;
}

    .pace-cert-certifications-block > label {
        display: block;
        margin-bottom: 6px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

.pace-cert-cert-input {
    margin-bottom: 8px;
}

.pace-cert-divider {
    margin: 12px 0;
    border-top: 1px solid #eee;
}

.pace-cert-row {
    margin-bottom: 6px;
}

.pace-cert-field,
.pace-cert-bool,
.pace-cert-display {
    margin-bottom: 10px;
}

    .pace-cert-field label,
    .pace-cert-bool > label,
    .pace-cert-display label {
        display: block;
        margin-bottom: 5px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    .pace-cert-field .form-control,
    .pace-cert-cert-input {
        height: 34px;
        padding: 6px 12px;
    }

    .pace-cert-bool .radio-inline {
        margin-right: 8px;
        padding-left: 18px;
        font-weight: 500;
    }

.pace-cert-clear-radio {
    display: inline-block;
    margin-top: 3px;
    font-size: 12px;
}

.pace-cert-display span {
    display: block;
    min-height: 20px;
    color: #333;
    font-style: italic;
}

@media (max-width: 768px) {
    .pace-cert-panel {
        max-width: none;
    }

    .pace-cert-top-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .pace-cert-certifications-block {
        max-width: none;
    }
}
/* =========================================================
   PaCE Employment - Compact Panel Layout
   Supports:
   - Views/PaCEAdministration/PaCEEmployment.cshtml
   Purpose:
   - Preserve Core/Bootstrap panel header and card box
   - Match legacy PaCE Employment field density
   - Preserve existing Core post field names and UpdatePaCEEmployment SP contract
   ========================================================= */

.pace-employment-panel {
    max-width: 1100px;
    margin-bottom: 16px;
}

    .pace-employment-panel .panel-heading {
        font-weight: 700;
    }

.pace-employment-panel-body {
    padding: 14px 16px 10px;
}

.pace-employment-row {
    margin-bottom: 8px;
}

.pace-employment-field,
.pace-employment-bool,
.pace-employment-check {
    margin-bottom: 10px;
}

    .pace-employment-field label,
    .pace-employment-bool > label,
    .pace-employment-check > label {
        display: block;
        margin-bottom: 5px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    .pace-employment-field .form-control {
        height: 34px;
        padding: 6px 12px;
    }

    .pace-employment-bool .radio-inline {
        margin-right: 8px;
        padding-left: 18px;
        font-weight: 500;
    }

.pace-employment-clear-radio {
    display: inline-block;
    margin-top: 3px;
    font-size: 12px;
}

.pace-employment-check .checkbox {
    margin-top: 6px;
    margin-bottom: 0;
}

.pace-employment-subsection {
    margin: 12px 0 18px;
}

.pace-employment-subsection-title {
    margin-bottom: 4px;
    color: #333;
    font-size: 13px;
    font-weight: 800;
}

.pace-employment-subsection .btn {
    margin-bottom: 4px;
}

.pace-employment-table-wrap {
    margin-top: 4px;
}

.pace-employment-table {
    margin-bottom: 0;
}

    .pace-employment-table > thead > tr > th {
        background: #fff;
        border-top: 0;
        border-bottom: 1px solid #ddd;
        color: #333;
        font-size: 12px;
        font-weight: 700;
    }

    .pace-employment-table > tbody > tr > td {
        border-top: 0;
        color: #333;
    }

@media (max-width: 768px) {
    .pace-employment-panel {
        max-width: none;
    }
}
.pace-employment-inline-form {
    display: inline;
}

.pace-employment-table .btn-xs {
    padding: 2px 7px;
}

.pace-employment-subsection .modal .form-group {
    margin-bottom: 12px;
}
/* =========================================================
   PaCE Payments - Compact Panel Layout
   Supports:
   - Views/PaCEAdministration/PaCEFees.cshtml
   Purpose:
   - Preserve Core/Bootstrap panel header and card box
   - Match legacy PaCE Payments screen density
   - Preserve existing UpdatePaCEFees post field names
   ========================================================= */

.pace-payments-panel {
    max-width: 1100px;
    margin-bottom: 16px;
}

    .pace-payments-panel .panel-heading {
        font-weight: 700;
    }

.pace-payments-panel-body {
    padding: 14px 16px 10px;
}

.pace-payments-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.pace-payments-running-wrap {
    margin-bottom: 16px;
}

.pace-payments-running-title {
    margin-bottom: 6px;
    color: #333;
    font-size: 13px;
    font-weight: 800;
}

.pace-payments-running-list {
    width: 230px;
}

    .pace-payments-running-list div {
        display: grid;
        grid-template-columns: 150px 1fr;
        line-height: 1.25;
    }

    .pace-payments-running-list span,
    .pace-payments-running-list strong {
        color: #333;
        font-size: 13px;
        font-weight: 500;
    }

    .pace-payments-running-list strong {
        font-weight: 700;
    }

.pace-payments-records-wrap {
    margin-bottom: 14px;
}

    .pace-payments-records-wrap .btn {
        margin-bottom: 8px;
    }

.pace-payments-table-wrap {
    margin-top: 4px;
}

.pace-payments-table {
    margin-bottom: 12px;
}

    .pace-payments-table > thead > tr > th {
        background: #fff;
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
        color: #333;
        font-size: 12px;
        font-weight: 700;
    }

    .pace-payments-table > tbody > tr > td {
        color: #333;
        font-size: 13px;
    }

.pace-payments-action-col {
    width: 56px;
}

.pace-payments-row {
    margin-bottom: 8px;
}

.pace-payments-field,
.pace-payments-bool {
    margin-bottom: 10px;
}

    .pace-payments-field label,
    .pace-payments-bool > label {
        display: block;
        margin-bottom: 5px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    .pace-payments-field .form-control {
        height: 34px;
        padding: 6px 12px;
    }

    .pace-payments-bool .radio-inline {
        margin-right: 8px;
        padding-left: 18px;
        font-weight: 500;
    }

.pace-payments-clear-radio {
    display: inline-block;
    margin-top: 3px;
    font-size: 12px;
}

.pace-payments-actions {
    margin-top: 22px;
}

    .pace-payments-actions .btn {
        min-width: 106px;
    }

@media (max-width: 768px) {
    .pace-payments-panel {
        max-width: none;
    }

    .pace-payments-toolbar {
        justify-content: flex-start;
    }

    .pace-payments-running-list {
        width: 100%;
    }

        .pace-payments-running-list div {
            grid-template-columns: 1fr auto;
        }
}

/* =========================================================
   PaCE Payments - Add Payment Modal
   Supports:
   - Views/PaCEAdministration/PaCEFees.cshtml
   ========================================================= */

.pace-payment-modal-dialog {
    width: min(540px, 94vw);
}

.pace-payment-modal-content {
    border-radius: 4px;
}

.pace-payment-modal-body {
    padding: 14px;
}

    .pace-payment-modal-body .form-group {
        margin-bottom: 12px;
    }

    .pace-payment-modal-body label {
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    .pace-payment-modal-body textarea {
        resize: vertical;
    }
/* =========================================================
   PaCE PPR - Compact Panel Layout
   Supports:
   - Views/PaCEAdministration/PaCEPPR.cshtml
   Purpose:
   - Preserve Core/Bootstrap panel header and card box
   - Match legacy PaCE PPR screen density
   - Wire Add/Delete Release Date modal behavior
   ========================================================= */

.pace-ppr-panel {
    max-width: 1100px;
    margin-bottom: 16px;
}

    .pace-ppr-panel .panel-heading {
        font-weight: 700;
    }

.pace-ppr-panel-body {
    padding: 14px 16px 10px;
}

.pace-ppr-row {
    margin-bottom: 10px;
}

.pace-ppr-field,
.pace-ppr-bool {
    margin-bottom: 10px;
}

    .pace-ppr-field label,
    .pace-ppr-bool > label {
        display: block;
        margin-bottom: 5px;
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

    .pace-ppr-field .form-control {
        height: 34px;
        padding: 6px 12px;
    }

    .pace-ppr-bool .radio-inline {
        margin-right: 8px;
        padding-left: 18px;
        font-weight: 500;
    }

.pace-ppr-clear-radio {
    display: inline-block;
    margin-top: 3px;
    font-size: 12px;
}

.pace-ppr-section-block {
    margin-top: 14px;
    margin-bottom: 18px;
}

.pace-ppr-section-title {
    margin-bottom: 7px;
    color: #333;
    font-size: 13px;
    font-weight: 800;
}

.pace-ppr-none {
    margin-bottom: 8px;
    color: #333;
    font-size: 13px;
}

.pace-ppr-table-wrap {
    max-width: 460px;
    margin-bottom: 8px;
}

.pace-ppr-table {
    margin-bottom: 0;
}

    .pace-ppr-table > thead > tr > th {
        background: #fff;
        border-top: 0;
        border-bottom: 1px solid #ddd;
        color: #333;
        font-size: 12px;
        font-weight: 700;
    }

    .pace-ppr-table > tbody > tr > td {
        color: #333;
        font-size: 13px;
        vertical-align: middle;
    }

.pace-ppr-inline-form {
    display: inline;
}

.pace-ppr-required-list {
    margin: 0;
    padding-left: 18px;
}

.pace-ppr-actions {
    margin-top: 22px;
}

    .pace-ppr-actions .btn {
        min-width: 106px;
    }

.pace-ppr-modal-dialog {
    width: min(540px, 94vw);
}

.pace-ppr-modal-body {
    padding: 14px;
}

    .pace-ppr-modal-body .form-group {
        margin-bottom: 12px;
    }

    .pace-ppr-modal-body label {
        color: #333;
        font-size: 13px;
        font-weight: 700;
    }

@media (max-width: 768px) {
    .pace-ppr-panel {
        max-width: none;
    }

    .pace-ppr-table-wrap {
        max-width: none;
    }
}

/* ---------------------------------------------------------
   Original CSS pass 64: 61. PaCE Applicant Administration Screens — Purpose: - Match ILP3 individual applicant admin hardening - Core-only View Application modal
   Main selectors/classes: pace-admin-alert, pace-admin-applicant-actions, pace-admin-applicant-avatar, pace-admin-applicant-card, pace-admin-applicant-copy, pace-admin-applicant-main, pace-admin-applicant-meta, pace-admin-kicker, pace-admin-page-header, pace-admin-page-header-meta, ... (+16 more)
   --------------------------------------------------------- */
.pace-admin-page-header {
    position: relative;
    max-width: 1180px;
    margin: 0 auto 18px;
    padding: 26px 30px;
    background: #ffffff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.06);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

    .pace-admin-page-header::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 6px;
        background: linear-gradient(90deg, #2b5d78, #074b80);
    }

.pace-admin-kicker {
    display: block;
    color: #667085;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.pace-admin-page-header h1 {
    margin: 0;
    color: #101828;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -0.035em;
}

.pace-admin-page-header p {
    margin: 8px 0 0;
    color: #475467;
    font-size: 14px;
    line-height: 1.45;
}

.pace-admin-page-header-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

    .pace-admin-page-header-meta span {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 6px 11px;
        border-radius: 999px;
        background: #eef6fa;
        border: 1px solid #cfe3ee;
        color: #1f465c;
        font-size: 12px;
        font-weight: 900;
    }

.pace-admin-applicant-card,
.pace-admin-tabs-card {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 18px;
    border-color: #e4e9ef;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.055);
    overflow: hidden;
}

.pace-admin-applicant-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px;
    background: #fff;
    border: 1px solid #e4e9ef;
    margin-bottom: 16px;
}

.pace-admin-applicant-main {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.pace-admin-applicant-avatar {
    flex: 0 0 auto;
    width: 66px;
    height: 66px;
    border-radius: 18px;
    background: linear-gradient(135deg, #2b5d78, #074b80);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: .02em;
    box-shadow: 0 8px 22px rgba(16, 24, 40, 0.12);
}

.pace-admin-applicant-copy {
    min-width: 0;
}

    .pace-admin-applicant-copy h2 {
        margin: 0;
        color: #101828;
        font-size: 25px;
        font-weight: 950;
        letter-spacing: -0.025em;
    }

.pace-admin-applicant-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 9px;
    color: #475467;
    font-size: 13px;
}

    .pace-admin-applicant-meta strong {
        color: #101828;
    }

.pace-admin-applicant-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.pace-admin-tabs-card {
    background: #fff;
    border: 1px solid #e4e9ef;
    margin-bottom: 18px;
    padding: 12px;
}

.pace-admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pace-admin-tab {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid #e4e9ef;
    background: #f8fafc;
    color: #344054;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

    .pace-admin-tab:hover,
    .pace-admin-tab:focus {
        border-color: #cfe3ee;
        background: #eef6fa;
        color: #1f465c;
    }

    .pace-admin-tab.active {
        background: #2b5d78;
        border-color: #1f465c;
        color: #fff;
    }

.pace-admin-alert {
    max-width: 1180px;
    margin: 0 auto 18px;
    border-radius: 14px;
}

.pace-application-modal-dialog {
    width: min(980px, 92vw);
}

.pace-application-modal-content {
    border-radius: 14px;
    overflow: hidden;
}

.pace-application-modal-title {
    font-size: 30px;
    font-weight: 800;
    color: #21465c;
    line-height: 1.1;
}

.pace-application-modal-body {
    max-height: 78vh;
    overflow-y: auto;
    padding: 22px 24px;
    background: #fff;
}

.pace-application-details {
    color: #263238;
    font-size: 14px;
}

.pace-modal-section {
    margin-bottom: 26px;
}

    .pace-modal-section h3 {
        margin: 0 0 12px;
        color: #21465c;
        font-size: 19px;
        font-weight: 800;
    }

    .pace-modal-section h4 {
        margin: 14px 0 8px;
        color: #344054;
        font-size: 15px;
        font-weight: 800;
    }

.pace-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
}

.pace-modal-field span {
    display: inline;
    color: #475467;
}

    .pace-modal-field span::after {
        content: ": ";
    }

.pace-modal-field strong {
    color: #101828;
}

.pace-application-details table {
    font-size: 13px;
}

    .pace-application-details table th {
        background: #f4f7fa;
        color: #101828;
        font-weight: 800;
    }

#paceApplicationDetailsPrintHost {
    display: none;
}

@media print {
    @page {
        size: letter portrait;
        margin: 0.5in;
    }

    body.pace-print-application {
        background: #fff !important;
        margin: 0 !important;
        padding: 0 !important;
    }

        body.pace-print-application > *:not(#paceApplicationDetailsPrintHost) {
            display: none !important;
        }

        body.pace-print-application #paceApplicationDetailsPrintHost {
            display: block !important;
            position: static !important;
            width: auto !important;
            height: auto !important;
            overflow: visible !important;
            margin: 0 !important;
            padding: 0 !important;
            background: #fff !important;
            color: #222 !important;
            font-family: Arial, Helvetica, sans-serif !important;
            font-size: 11px !important;
            line-height: 1.25 !important;
        }

            body.pace-print-application #paceApplicationDetailsPrintHost .pace-modal-section {
                display: block !important;
                break-inside: avoid !important;
                page-break-inside: avoid !important;
                margin: 0 0 12px 0 !important;
                padding: 0 !important;
            }

                body.pace-print-application #paceApplicationDetailsPrintHost .pace-modal-section h3 {
                    color: #21465c !important;
                    font-size: 15px !important;
                    font-weight: 800 !important;
                    margin: 0 0 6px 0 !important;
                    padding: 0 !important;
                }

            body.pace-print-application #paceApplicationDetailsPrintHost .pace-modal-grid {
                display: block !important;
            }

            body.pace-print-application #paceApplicationDetailsPrintHost .pace-modal-field {
                display: block !important;
                margin: 0 0 3px 0 !important;
                padding: 0 !important;
            }

                body.pace-print-application #paceApplicationDetailsPrintHost .pace-modal-field span,
                body.pace-print-application #paceApplicationDetailsPrintHost .pace-modal-field strong {
                    display: inline !important;
                    color: #222 !important;
                    font-size: 11px !important;
                    line-height: 1.25 !important;
                }

            body.pace-print-application #paceApplicationDetailsPrintHost table {
                width: 100% !important;
                border-collapse: collapse !important;
                margin: 6px 0 10px 0 !important;
                page-break-inside: auto !important;
            }

            body.pace-print-application #paceApplicationDetailsPrintHost tr {
                break-inside: avoid !important;
                page-break-inside: avoid !important;
            }

            body.pace-print-application #paceApplicationDetailsPrintHost th,
            body.pace-print-application #paceApplicationDetailsPrintHost td {
                border: 1px solid #ccc !important;
                padding: 4px !important;
                text-align: left !important;
                vertical-align: top !important;
                color: #222 !important;
                font-size: 10px !important;
                line-height: 1.2 !important;
            }

            body.pace-print-application #paceApplicationDetailsPrintHost th {
                background: #f4f7fa !important;
                font-weight: 800 !important;
            }
}

@media (max-width: 768px) {
    .pace-admin-page-header,
    .pace-admin-applicant-card {
        display: block;
    }

        .pace-admin-page-header h1 {
            font-size: 28px;
        }

    .pace-admin-page-header-meta,
    .pace-admin-applicant-actions {
        justify-content: flex-start;
        margin-top: 14px;
    }

    .pace-admin-applicant-main {
        align-items: flex-start;
    }

    .pace-modal-grid {
        grid-template-columns: 1fr;
    }

    .pace-application-modal-dialog {
        width: 96vw;
        margin: 10px auto;
    }

    .pace-application-modal-title {
        font-size: 24px;
    }
}

/* PaCE View Application modal detail polish */
.pace-modal-grid-tight {
    margin-top: 12px;
}

.pace-modal-line-field {
    margin: 0 0 7px;
    line-height: 1.45;
}

    .pace-modal-line-field span {
        color: #475467;
    }

    .pace-modal-line-field strong {
        color: #101828;
    }

.pace-modal-answer {
    margin: 0 0 7px;
    line-height: 1.45;
}

    .pace-modal-answer strong {
        margin-left: 4px;
        color: #101828;
    }

.pace-modal-essay {
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.45;
    color: #263238;
}

.pace-modal-word-count {
    margin-top: 10px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   Original CSS pass 75: PaCE Accountability
   Main selectors/classes: admin-management-header, badge, btn, disabled, pace-accountability-action-col, pace-accountability-card, pace-accountability-cohort, pace-accountability-context-card, pace-accountability-filter-action, pace-accountability-filter-form, ... (+11 more)
   --------------------------------------------------------- */
.pace-accountability-page .admin-management-header::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

.pace-accountability-summary-text {
    font-size: 18px !important;
    line-height: 1.15 !important;
}

.pace-accountability-card > .panel-heading .badge {
    background: #2b5d78;
}

.pace-accountability-filter-form {
    margin: 0;
}

.pace-accountability-filter-grid {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(220px, 280px) auto;
    gap: 14px;
    align-items: end;
}

.pace-accountability-filter-action {
    display: flex;
    align-items: end;
}

.pace-accountability-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 12px;
}

.pace-accountability-search {
    margin-bottom: 0;
}

.pace-accountability-page-summary {
    padding: 9px 12px;
    border: 1px solid #edf0f2;
    border-radius: 999px;
    background: #f8fafc;
    color: #667085;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.pace-accountability-table-wrap {
    border: 1px solid #edf0f2;
    border-radius: 12px;
    overflow-x: auto;
}

.pace-accountability-table {
    min-width: 980px;
    margin-bottom: 0;
}

    .pace-accountability-table th,
    .pace-accountability-table td {
        vertical-align: middle !important;
    }

        .pace-accountability-table th:nth-child(1),
        .pace-accountability-table td:nth-child(1),
        .pace-accountability-table th:nth-child(2),
        .pace-accountability-table td:nth-child(2) {
            width: 150px;
        }

        .pace-accountability-table th:nth-child(3),
        .pace-accountability-table td:nth-child(3),
        .pace-accountability-table th:nth-child(7),
        .pace-accountability-table td:nth-child(7) {
            width: 110px;
            white-space: nowrap;
            text-align: center;
        }

        .pace-accountability-table th:nth-child(4),
        .pace-accountability-table td:nth-child(4),
        .pace-accountability-table th:nth-child(5),
        .pace-accountability-table td:nth-child(5) {
            width: 105px;
            white-space: nowrap;
        }

        .pace-accountability-table th:nth-child(6),
        .pace-accountability-table td:nth-child(6) {
            width: 190px;
        }

.pace-accountability-action-col {
    width: 190px;
}

.pace-accountability-cohort {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.pace-accountability-search-empty {
    margin-top: 12px;
}

.pace-accountability-pager .disabled {
    pointer-events: none;
    opacity: .55;
}

@media (max-width: 768px) {
    .pace-accountability-filter-grid,
    .pace-accountability-toolbar {
        grid-template-columns: 1fr;
    }

    .pace-accountability-filter-action .btn,
    .pace-accountability-page-summary {
        width: 100%;
    }

    .pace-accountability-table {
        min-width: 900px;
    }
}

.pace-accountability-context-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #dfe5ec;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

    .pace-accountability-context-card span {
        display: block;
        margin-bottom: 4px;
        color: #667085;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .pace-accountability-context-card strong {
        display: block;
        color: #101828;
        font-size: 16px;
        font-weight: 950;
    }


/* ---------------------------------------------------------
   Original CSS pass 76: PaCE Accountability
   Main selectors/classes: admin-management-header, badge, btn, disabled, pace-accountability-action-col, pace-accountability-card, pace-accountability-cohort, pace-accountability-filter-action, pace-accountability-filter-form, pace-accountability-filter-grid, ... (+16 more)
   --------------------------------------------------------- */
.pace-accountability-page .admin-management-header::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

.pace-accountability-card > .panel-heading .badge {
    background: #2b5d78;
}

.pace-accountability-filter-form {
    margin: 0;
}

.pace-accountability-filter-grid {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(220px, 280px) auto;
    gap: 14px;
    align-items: end;
}

.pace-accountability-filter-action {
    display: flex;
    align-items: end;
}

.pace-accountability-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 12px;
}

.pace-accountability-search {
    margin-bottom: 0;
}

.pace-accountability-page-summary {
    padding: 9px 12px;
    border: 1px solid #edf0f2;
    border-radius: 999px;
    background: #f8fafc;
    color: #667085;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.pace-accountability-table-wrap,
.pace-visits-table-wrap {
    border: 1px solid #edf0f2;
    border-radius: 12px;
    overflow-x: auto;
}

.pace-accountability-table {
    min-width: 980px;
    margin-bottom: 0;
}

    .pace-accountability-table th,
    .pace-accountability-table td,
    .pace-visits-table th,
    .pace-visits-table td {
        vertical-align: middle !important;
    }

        .pace-accountability-table th:nth-child(1),
        .pace-accountability-table td:nth-child(1),
        .pace-accountability-table th:nth-child(2),
        .pace-accountability-table td:nth-child(2) {
            width: 150px;
        }

        .pace-accountability-table th:nth-child(3),
        .pace-accountability-table td:nth-child(3),
        .pace-accountability-table th:nth-child(7),
        .pace-accountability-table td:nth-child(7) {
            width: 110px;
            white-space: nowrap;
            text-align: center;
        }

        .pace-accountability-table th:nth-child(4),
        .pace-accountability-table td:nth-child(4),
        .pace-accountability-table th:nth-child(5),
        .pace-accountability-table td:nth-child(5) {
            width: 105px;
            white-space: nowrap;
        }

        .pace-accountability-table th:nth-child(6),
        .pace-accountability-table td:nth-child(6) {
            width: 190px;
        }

.pace-accountability-action-col {
    width: 120px;
}

.pace-accountability-cohort {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.pace-accountability-search-empty {
    margin-top: 12px;
}

.pace-accountability-pager .disabled {
    pointer-events: none;
    opacity: .55;
}

/* Visits page */

.pace-accountability-visits-page .admin-management-header p strong {
    color: #101828;
}

.pace-visit-assignment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pace-visit-assignment-field {
    padding: 14px 16px;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    background: #fbfcfd;
}

    .pace-visit-assignment-field span {
        display: block;
        margin-bottom: 6px;
        color: #667085;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .pace-visit-assignment-field strong {
        display: block;
        color: #101828;
        font-size: 18px;
        font-weight: 950;
    }

.pace-visits-table {
    min-width: 980px;
    margin-bottom: 0;
}

    .pace-visits-table th:nth-child(1),
    .pace-visits-table td:nth-child(1),
    .pace-visits-table th:nth-child(2),
    .pace-visits-table td:nth-child(2),
    .pace-visits-table th:nth-child(3),
    .pace-visits-table td:nth-child(3),
    .pace-visits-table th:nth-child(4),
    .pace-visits-table td:nth-child(4) {
        width: 125px;
        white-space: nowrap;
    }

    .pace-visits-table th:nth-child(5),
    .pace-visits-table td:nth-child(5) {
        width: 170px;
    }

    .pace-visits-table th:nth-child(6),
    .pace-visits-table td:nth-child(6) {
        width: 280px;
    }

    .pace-visits-table th:nth-child(7),
    .pace-visits-table td:nth-child(7) {
        width: 160px;
    }

.pace-visit-comments {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.3;
}

.pace-visits-footer-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .pace-accountability-filter-grid,
    .pace-accountability-toolbar,
    .pace-visit-assignment-grid {
        grid-template-columns: 1fr;
    }

    .pace-accountability-filter-action .btn,
    .pace-accountability-page-summary {
        width: 100%;
    }

    .pace-accountability-table,
    .pace-visits-table {
        min-width: 900px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 77: PaCE Visits Write UI
   Main selectors/classes: btn, modal-body, modal-footer, modal-header, modal-title, pace-visit-actions-col, pace-visit-assignment-edit-grid, pace-visit-assignment-save, pace-visit-delete-form, pace-visit-modal, ... (+6 more)
   --------------------------------------------------------- */
.pace-visit-assignment-edit-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.pace-visit-assignment-save {
    display: flex;
    align-items: end;
}

.pace-visits-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.pace-visit-actions-col {
    width: 150px;
}

.pace-visit-row-actions {
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
}

.pace-visit-delete-form {
    display: inline-block;
    margin: 0;
}

.pace-visit-modal-dialog {
    width: min(720px, 94vw);
}

.pace-visit-modal-content {
    border-radius: 16px;
    overflow: hidden;
}

.pace-visit-modal .modal-header,
.pace-visit-modal .modal-footer {
    background: #fbfcfd;
    border-color: #e4e9ef;
}

.pace-visit-modal .modal-title {
    color: #101828;
    font-size: 22px;
    font-weight: 950;
}

.pace-visit-modal .modal-body {
    padding: 18px;
}

.pace-visit-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pace-visit-modal-wide {
    grid-column: 1 / -1;
}

@media (max-width: 768px) {
    .pace-visit-assignment-edit-grid,
    .pace-visit-modal-grid {
        grid-template-columns: 1fr;
    }

    .pace-visit-assignment-save .btn,
    .pace-visits-heading .btn {
        width: 100%;
    }

    .pace-visits-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .pace-visit-row-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   12. Application details/section shells
   Supports:
   - Views/Application/Index.cshtml
   - Views/Application/ILP3Form.cshtml
   - Views/Application/PaCEForm.cshtml
   - Views/Administration/ApplicantRecord.cshtml
   - Applicant form shells, summary cards, entry tables, sticky actions
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 13: 12. Applicant Form Header
   Main selectors/classes: application-form-header
   --------------------------------------------------------- */
.application-form-header {
    margin: 16px 0 18px;
    padding: 20px 22px;
    border-radius: var(--eapp-radius-lg);
    border: 1px solid var(--eapp-border-soft);
    background: linear-gradient(135deg, var(--eapp-accent-soft), #fff);
    box-shadow: var(--eapp-shadow-card);
}

    .application-form-header h1 {
        margin: 0;
        color: var(--eapp-accent);
        font-size: 26px;
        font-weight: 800;
    }


/* ---------------------------------------------------------
   Original CSS pass 14: 13. Applicant Form Shell
   Main selectors/classes: applicant-form-shell, legacy-form-row, legacy-form-section
   --------------------------------------------------------- */
.applicant-form-shell {
    background: var(--eapp-surface);
    border: 1px solid #edf0f2;
    border-radius: var(--eapp-radius-lg);
    box-shadow: var(--eapp-shadow-soft);
    padding: 18px;
    margin-bottom: 36px;
}

.legacy-form-section {
    background: #fff;
    border: 1px solid #edf0f2;
    border-radius: var(--eapp-radius-lg);
    padding: 18px;
    margin-bottom: 18px;
    box-shadow: 0 2px 10px rgba(16, 24, 40, 0.035);
}

    .legacy-form-section h3 {
        color: var(--eapp-accent);
        font-size: 19px;
        font-weight: 800;
        margin-top: 0;
        margin-bottom: 14px;
        border-bottom: 1px solid #eef0f2;
        padding-bottom: 8px;
    }

    .legacy-form-section h4 {
        color: #344054;
        font-size: 16px;
        font-weight: 800;
        margin-top: 18px;
    }

.legacy-form-row {
    margin-top: 12px;
}


/* ---------------------------------------------------------
   Original CSS pass 15: 14. Applicant Demographics Summary
   Main selectors/classes: applicant-profile-item, applicant-profile-summary, applicant-section-heading
   --------------------------------------------------------- */
.applicant-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

    .applicant-section-heading h3 {
        margin-bottom: 4px;
    }

    .applicant-section-heading p {
        color: var(--eapp-text-muted);
        margin: 0;
    }

.applicant-profile-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(135px, 1fr));
    gap: 12px;
    margin: 12px 0 18px;
}

.applicant-profile-item {
    background: var(--eapp-accent-soft-2);
    border: 1px solid var(--eapp-border-soft);
    border-radius: var(--eapp-radius-md);
    padding: 12px;
    min-height: 74px;
}

    .applicant-profile-item span {
        display: block;
        color: var(--eapp-text-muted);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin-bottom: 5px;
    }

    .applicant-profile-item strong {
        display: block;
        color: var(--eapp-text);
        font-size: 14px;
        word-break: break-word;
    }


/* ---------------------------------------------------------
   Original CSS pass 17: 16. Applicant Radios / Checks
   Main selectors/classes: checkbox, legacy-radio-line, radio-inline
   --------------------------------------------------------- */
.legacy-radio-line {
    background: #fbfcfd;
    border: 1px solid #edf0f2;
    border-radius: var(--eapp-radius-md);
    padding: 10px 12px;
}

    .legacy-radio-line label:first-child {
        margin-right: 10px;
    }

.radio-inline,
.checkbox label {
    font-weight: 500;
}


/* ---------------------------------------------------------
   Original CSS pass 18: 17. Applicant Action Footer
   Main selectors/classes: applicant-actions-section, btn
   --------------------------------------------------------- */
.applicant-actions-section {
    position: sticky;
    bottom: 0;
    z-index: 5;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(6px);
    border: 1px solid var(--eapp-border-soft);
    box-shadow: 0 -6px 18px rgba(16, 24, 40, 0.07);
}

    .applicant-actions-section .btn {
        min-width: 125px;
    }


/* ---------------------------------------------------------
   Original CSS pass 22: 21. Applicant Form Refinements
   Main selectors/classes: applicant-form-shell, btn, eapp-certification-select, eapp-secret-field, eapp-selected-chip, eapp-selected-summary
   --------------------------------------------------------- */
.applicant-form-shell {
    margin-top: 10px;
}

.eapp-secret-field .btn {
    min-width: 64px;
}

.eapp-certification-select {
    max-width: 520px;
}

.eapp-selected-summary {
    margin-top: 12px;
}

.eapp-selected-chip {
    display: inline-block;
    margin: 4px 4px 0 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--eapp-accent-soft);
    border: 1px solid var(--eapp-border-soft);
    color: var(--eapp-accent-dark);
    font-size: 12px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   Original CSS pass 36: 35. Logged-In Application Landing Page
   Main selectors/classes: application-home-ilp3, application-home-pace, application-home-page
   --------------------------------------------------------- */
.application-home-page {
    max-width: 1180px;
    margin: 0 auto 40px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .92), transparent 32%), linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
    border: 1px solid #e4e9ef;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 18px 46px rgba(16, 24, 40, 0.075);
    position: relative;
}

    .application-home-page::before {
        content: "";
        display: block;
        height: 6px;
        border-radius: 999px;
        margin-bottom: 22px;
        background: var(--eapp-accent);
    }

.application-home-ilp3::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

.application-home-pace::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}


/* ---------------------------------------------------------
   Original CSS pass 37: 36. Application Landing Hero
   Main selectors/classes: application-home-hero, application-home-hero-actions, application-home-ilp3, application-home-kicker, application-home-pace, application-home-status-pill, application-profile-alert, application-status-approved, application-status-chip, application-status-progress, ... (+1 more)
   --------------------------------------------------------- */
.application-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.06);
    padding: 34px 38px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}

    .application-home-hero::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 7px;
        background: var(--eapp-accent);
    }

.application-home-ilp3 .application-home-hero::before {
    background: #8a1f1f;
}

.application-home-pace .application-home-hero::before {
    background: #2b5d78;
}

.application-home-kicker {
    margin: 0 0 9px;
    color: #5f6f82;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.application-home-hero h1 {
    margin: 0;
    color: #1b2733;
    font-size: 38px;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -0.035em;
}

.application-home-hero p {
    margin: 10px 0 0;
    color: #475467;
    font-size: 15px;
    line-height: 1.55;
}

.application-home-hero-actions {
    flex: 0 0 auto;
}

.application-home-status-pill,
.application-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .01em;
    white-space: nowrap;
}

.application-home-status-pill {
    min-height: 42px;
    padding: 9px 17px;
    background: #fff7e6;
    border: 1px solid #ffd591;
    color: #92400e;
}

.application-status-progress {
    background: #fff7e6;
    border: 1px solid #ffd591;
    color: #92400e;
}

.application-status-submitted {
    background: #eef6fa;
    border: 1px solid #cfe3ee;
    color: #1f465c;
}

.application-status-approved {
    background: #ecf8eb;
    border: 1px solid #c8ebc4;
    color: #27672b;
}

.application-profile-alert {
    border-radius: 14px;
    margin-bottom: 20px;
}


/* ---------------------------------------------------------
   Original CSS pass 39: 38. Application Landing List / Table
   Main selectors/classes: application-empty-icon, application-empty-state, application-home-ilp3, application-home-pace, application-list-card, application-list-header, application-name-cell, application-paid-chip, application-table, application-table-wrap, ... (+3 more)
   --------------------------------------------------------- */
.application-list-card {
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 11px 30px rgba(16, 24, 40, 0.062);
    overflow: hidden;
}

.application-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 24px 26px 20px;
    border-bottom: 1px solid #edf0f2;
    background: linear-gradient(180deg, #fff, #fbfcfd);
}

    .application-list-header h2 {
        margin: 0;
        color: #101828;
        font-size: 23px;
        font-weight: 950;
        letter-spacing: -0.02em;
    }

    .application-list-header p {
        margin: 7px 0 0;
        color: #667085;
        line-height: 1.45;
    }

.application-empty-state {
    text-align: center;
    padding: 54px 30px;
}

.application-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid #edf0f2;
    color: var(--eapp-accent);
    font-size: 28px;
}

.application-empty-state h3 {
    margin: 0;
    color: #101828;
    font-size: 23px;
    font-weight: 950;
}

.application-empty-state p {
    margin: 9px 0 22px;
    color: #667085;
}

.application-table-wrap {
    margin: 0;
}

.application-table {
    margin-bottom: 0;
}

    .application-table thead th {
        background: var(--eapp-accent-soft);
        border-bottom: 1px solid var(--eapp-border-soft) !important;
        color: #101828;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .08em;
        text-transform: uppercase;
        padding: 15px 17px !important;
    }

    .application-table tbody td {
        vertical-align: middle !important;
        padding: 18px 17px !important;
        border-top: 1px solid #edf0f2 !important;
        color: #344054;
    }

    .application-table tbody tr:hover {
        background: #fbfcfd;
    }

.application-name-cell strong {
    display: block;
    color: #101828;
    font-weight: 950;
}

.application-name-cell span {
    display: block;
    color: #667085;
    font-size: 12px;
    margin-top: 4px;
}

.application-table .text-muted,
.application-table td:has(.text-muted) {
    color: #98a2b3;
}

.application-paid-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    color: #5b21b6;
    margin-left: 4px;
}

.application-table .btn-sm {
    padding: 7px 13px;
    font-size: 12px;
    font-weight: 900;
    border-radius: 9px;
}

.application-home-ilp3 .btn-primary {
    background: #8a1f1f;
    border-color: #681616;
}

    .application-home-ilp3 .btn-primary:hover,
    .application-home-ilp3 .btn-primary:focus {
        background: #681616;
        border-color: #681616;
    }

.application-home-pace .btn-primary {
    background: #2b5d78;
    border-color: #1f465c;
}

    .application-home-pace .btn-primary:hover,
    .application-home-pace .btn-primary:focus {
        background: #1f465c;
        border-color: #1f465c;
    }


/* ---------------------------------------------------------
   Original CSS pass 40: 39. Application Lifecycle Stepper
   Main selectors/classes: application-step, application-step-active, application-stepper
   --------------------------------------------------------- */
/*
   This styles a stepper if/when the Application/Index view includes:
   <div class="application-stepper">...</div>
   The page still works without this markup.
*/

.application-stepper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.application-step {
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
    padding: 13px 14px;
    box-shadow: 0 7px 20px rgba(16, 24, 40, 0.045);
}

    .application-step span {
        display: block;
        color: #667085;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .application-step strong {
        display: block;
        margin-top: 4px;
        color: #101828;
        font-size: 14px;
        font-weight: 900;
    }

.application-step-active {
    border-color: var(--eapp-border-soft);
    background: var(--eapp-accent-soft);
}

    .application-step-active strong {
        color: var(--eapp-accent-dark);
    }


/* ---------------------------------------------------------
   Original CSS pass 42: 41. Application Landing Responsive
   Main selectors/classes: application-home-hero, application-home-hero-actions, application-home-page, application-list-header, application-stepper, application-summary-card, application-summary-grid, btn, eapp-site-footer
   --------------------------------------------------------- */
@media (max-width: 992px) {
    .application-home-page {
        max-width: 94%;
    }

    .application-summary-grid,
    .application-stepper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .application-home-page {
        max-width: 100%;
        padding: 18px;
        border-radius: 16px;
    }

    .application-home-hero,
    .application-list-header {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .application-home-hero {
        padding: 26px 24px;
    }

        .application-home-hero h1 {
            font-size: 30px;
        }

    .application-summary-grid,
    .application-stepper {
        grid-template-columns: 1fr;
    }

    .application-summary-card {
        min-height: 86px;
    }

    .application-home-hero-actions,
    .application-list-header .btn,
    .application-home-hero-actions .btn {
        width: 100%;
    }

    .eapp-site-footer {
        padding: 18px 14px;
        font-size: 11px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 43: 42. Applicant Form Split / Required Validation Polish
   Main selectors/classes: applicant-actions-section, application-form-header, application-form-ilp3, application-form-pace, application-form-shell, btn, btn-primary, conditional-field, dynamic-card, dynamic-card-heading, ... (+7 more)
   --------------------------------------------------------- */
.application-form-shell {
    max-width: 1180px;
    margin: 0 auto 48px;
}

.application-form-header {
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    padding: 28px 32px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.06);
}

    .application-form-header h1 {
        color: #101828;
        font-size: 34px;
        font-weight: 950;
        letter-spacing: -0.03em;
    }

.application-form-ilp3 .application-form-header {
    border-top: 6px solid #8a1f1f;
}

.application-form-pace .application-form-header {
    border-top: 6px solid #2b5d78;
}

.eapp-validation-summary {
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid #f5c2c7;
    border-radius: 14px;
    background: #fff1f2;
    color: #842029;
}

    .eapp-validation-summary ul {
        margin: 8px 0 0;
        padding-left: 20px;
    }

.eapp-field-error {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12) !important;
}

.legacy-form-section {
    border-radius: 18px;
    border: 1px solid #e4e9ef;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.055);
}

    .legacy-form-section h3 {
        font-size: 22px;
        font-weight: 950;
        color: #101828;
    }

.eapp-check-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.eapp-check-pill {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 9px 12px;
    border: 1px solid #e4e9ef;
    border-radius: 999px;
    background: #f8fafc;
    font-weight: 800 !important;
    color: #344054;
}

    .eapp-check-pill input {
        margin: 0 !important;
    }

.eapp-radio-question {
    margin-bottom: 16px;
}

    .eapp-radio-question > label {
        display: block;
        margin-bottom: 6px;
    }

.conditional-field {
    padding: 14px;
    border: 1px dashed var(--eapp-border-soft);
    border-radius: 14px;
    background: var(--eapp-accent-soft-2);
}

.dynamic-card {
    border-radius: 16px;
    border: 1px solid #e4e9ef;
    background: #fbfcfd;
    box-shadow: none;
}

.dynamic-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

    .dynamic-card-heading h4 {
        margin: 0;
        color: #101828;
        font-weight: 950;
    }

.eapp-notice-section {
    line-height: 1.55;
}

    .eapp-notice-section p {
        color: #344054;
    }

.applicant-actions-section {
    position: sticky;
    bottom: 0;
    z-index: 20;
}

    .applicant-actions-section .btn {
        min-width: 145px;
    }

.application-form-ilp3 .btn-primary {
    background: #8a1f1f;
    border-color: #681616;
}

    .application-form-ilp3 .btn-primary:hover,
    .application-form-ilp3 .btn-primary:focus {
        background: #681616;
        border-color: #681616;
    }

.application-form-pace .btn-primary {
    background: #2b5d78;
    border-color: #1f465c;
}

    .application-form-pace .btn-primary:hover,
    .application-form-pace .btn-primary:focus {
        background: #1f465c;
        border-color: #1f465c;
    }

@media (max-width: 768px) {
    .application-form-header {
        padding: 22px;
    }

        .application-form-header h1 {
            font-size: 28px;
        }

    .applicant-actions-section {
        position: static;
    }

        .applicant-actions-section .btn {
            width: 100%;
            margin-bottom: 8px;
        }
}


/* ---------------------------------------------------------
   Original CSS pass 44: 43. Applicant Form Layout Fixes — Fixes: - Wraps full form in one organized frame - Prevents SSN/Confirm SSN controls from squeezing
   Main selectors/classes: applicant-profile-item, applicant-profile-summary, application-form-header, application-form-ilp3, application-form-pace, application-form-shell, btn, eapp-application-form, eapp-check-pill, eapp-secret-field, ... (+4 more)
   --------------------------------------------------------- */
.application-form-shell {
    max-width: 1180px;
    margin: 0 auto 48px;
    padding: 22px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .92), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
    border: 1px solid #e4e9ef;
    border-radius: 22px;
    box-shadow: 0 18px 46px rgba(16, 24, 40, 0.075);
}

    .application-form-shell::before {
        content: "";
        display: block;
        height: 6px;
        border-radius: 999px;
        margin-bottom: 18px;
        background: var(--eapp-accent);
    }

.application-form-ilp3::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

.application-form-pace::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

.application-form-shell .application-form-header {
    margin-top: 0;
    margin-bottom: 20px;
}

.eapp-application-form {
    margin: 0;
}

.application-form-shell .legacy-form-section {
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.055);
    padding: 22px;
    margin-bottom: 20px;
}

    .application-form-shell .legacy-form-section h3 {
        margin-top: 0;
        margin-bottom: 18px;
        padding-bottom: 10px;
        border-bottom: 1px solid #edf0f2;
        color: #101828;
        font-size: 22px;
        font-weight: 950;
    }

.application-form-shell .applicant-profile-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 14px;
    margin: 12px 0 20px;
}

.application-form-shell .applicant-profile-item {
    min-height: auto;
    padding: 13px;
    background: #fbfcfd;
    border: 1px solid #e4e9ef;
    border-radius: 14px;
}

.application-form-ilp3 .applicant-profile-item {
    border-color: #ebcaca;
    background: #fffafa;
}

.application-form-pace .applicant-profile-item {
    border-color: #cfe3ee;
    background: #f7fbfd;
}

.application-form-shell .applicant-profile-item span {
    display: block;
    margin-bottom: 7px;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.application-form-shell .applicant-profile-item .form-control {
    width: 100%;
}

.application-form-shell .eapp-secret-field.input-group {
    display: flex;
    width: 100%;
}

    .application-form-shell .eapp-secret-field.input-group .form-control {
        flex: 1 1 auto;
        min-width: 0;
    }

    .application-form-shell .eapp-secret-field.input-group .input-group-btn {
        flex: 0 0 auto;
        width: auto;
    }

    .application-form-shell .eapp-secret-field.input-group .btn {
        min-width: 64px;
        height: 34px;
        border-radius: 0 8px 8px 0;
    }

.eapp-check-pill.checkbox-inline {
    padding-left: 12px !important;
}

.eapp-check-pill input[type="checkbox"],
.eapp-check-pill input[type="radio"] {
    position: static !important;
    margin: 0 7px 0 0 !important;
}

.eapp-check-pill {
    line-height: 1.2;
}

.application-form-shell textarea.form-control {
    resize: vertical;
}

.application-form-shell .help-block {
    margin-bottom: 0;
}

@media (min-width: 1100px) {
    .application-form-shell .applicant-profile-summary {
        grid-template-columns: repeat(3, minmax(240px, 1fr));
    }
}

@media (max-width: 768px) {
    .application-form-shell {
        padding: 16px;
        border-radius: 16px;
    }

        .application-form-shell .applicant-profile-summary {
            grid-template-columns: 1fr;
        }

        .application-form-shell .legacy-form-section {
            padding: 16px;
        }
}


/* ---------------------------------------------------------
   Original CSS pass 49: 49. PaCE Immediate Resume Removal UI
   Main selectors/classes: pace-remove-file-button, pace-resume-removed-message
   --------------------------------------------------------- */
.pace-remove-file-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    margin: 4px 0 10px;
    padding: 5px 9px;
    border-radius: 7px;
    background: #b42318;
    border: 1px solid #912018;
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    cursor: pointer;
}

    .pace-remove-file-button:hover,
    .pace-remove-file-button:focus {
        background: #912018;
        color: #fff;
    }

.pace-resume-removed-message {
    margin: 10px 0 12px;
    padding: 10px 12px;
    border: 1px solid #cfe3ee;
    border-radius: 10px;
    background: #eef6fa;
    color: #1f465c;
    font-size: 13px;
}

    .pace-resume-removed-message strong {
        display: block;
        margin-bottom: 2px;
    }


/* ---------------------------------------------------------
   Original CSS pass 50: 50. Application Form Accent Bars — Purpose: - Rounded accent line on title cards - Straight accent line on the full form shell
   Main selectors/classes: application-form-header-standalone, application-form-ilp3, application-form-ilp3-header, application-form-pace, application-form-pace-header, application-form-shell, eapp-role-pill, form-control, modal-footer, modal-header, ... (+11 more)
   --------------------------------------------------------- */
/* Title card accent line: rounded */
.application-form-header-standalone {
    position: relative;
    overflow: hidden;
    border-top: 0 !important;
}

    .application-form-header-standalone::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 6px;
        border-radius: 18px 18px 0 0;
        background: var(--eapp-accent);
    }

/* PaCE title card line */
.application-form-pace-header::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

/* ILP3 title card line */
.application-form-ilp3-header::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

/* Form shell accent line: straight */
.application-form-shell.application-form-ilp3::before,
.application-form-shell.application-form-pace::before {
    content: "";
    display: block !important;
    height: 6px;
    border-radius: 0 !important;
    margin-bottom: 22px;
}

/* ILP3 form shell line */
.application-form-shell.application-form-ilp3::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

/* PaCE form shell line */
.application-form-shell.application-form-pace::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

/* Prevent the extra duplicate PaCE/ILP3 pseudo line from generic class selectors */
.application-form-pace:not(.application-form-shell)::before,
.application-form-ilp3:not(.application-form-shell)::before {
    display: none !important;
}

/* */
.profile-password-row {
    display: flex;
    gap: .75rem;
    align-items: center;
}

    .profile-password-row .form-control {
        flex: 1;
    }

.profile-change-password-btn {
    border-radius: 999px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}

.profile-password-modal .modal-header {
    border-bottom: 1px solid #e5e7eb;
}

.profile-password-modal .modal-footer {
    border-top: 1px solid #e5e7eb;
}

.profile-notification-preferences {
    margin-top: 12px;
}

.profile-notification-table {
    max-width: 420px;
    margin-top: 6px;
}

    .profile-notification-table th,
    .profile-notification-table td {
        vertical-align: middle !important;
    }

.profile-page-heading {
    margin: 0 0 12px 0;
    padding: 0;
}

    .profile-page-heading .eapp-role-pill {
        margin-bottom: 6px;
    }

    .profile-page-heading h1 {
        margin: 0;
        font-size: 28px;
        line-height: 1.15;
        font-weight: 600;
    }

.profile-password-row {
    display: flex;
    gap: .75rem;
    align-items: center;
}

    .profile-password-row .form-control {
        flex: 1;
    }

.profile-change-password-btn {
    border-radius: 999px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}

.profile-password-modal .modal-header {
    border-bottom: 1px solid #e5e7eb;
}

.profile-password-modal .modal-footer {
    border-top: 1px solid #e5e7eb;
}

.profile-request-provider-link {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
    text-decoration: none;
}

    .profile-request-provider-link:hover {
        text-decoration: underline;
    }

.profile-notification-preferences {
    margin-top: 12px;
}

.profile-notification-table {
    max-width: 420px;
    margin-top: 6px;
}

    .profile-notification-table thead th {
        background: #f9f1f1;
    }

    .profile-notification-table th,
    .profile-notification-table td {
        vertical-align: middle !important;
    }


.profile-page-heading {
    margin: 0;
    padding: 0;
}

    .profile-page-heading .eapp-role-pill {
        margin-bottom: 4px;
    }

    .profile-page-heading h1 {
        margin: 0;
        font-size: 26px;
        line-height: 1.1;
        font-weight: 600;
    }


.profile-password-row {
    display: flex;
    gap: .75rem;
    align-items: center;
}

    .profile-password-row .form-control {
        flex: 1;
    }

.profile-change-password-btn {
    border-radius: 999px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}

.profile-password-modal .modal-header {
    border-bottom: 1px solid #e5e7eb;
}

.profile-password-modal .modal-footer {
    border-top: 1px solid #e5e7eb;
}

.profile-request-provider-link {
    display: inline-block;
    margin-top: 6px;
    padding: 0;
    font-size: 12px;
    text-decoration: none;
}

    .profile-request-provider-link:hover,
    .profile-request-provider-link:focus {
        text-decoration: underline;
    }

.profile-notification-preferences {
    margin-top: 12px;
}

.profile-notification-table {
    max-width: 420px;
    margin-top: 6px;
}

    .profile-notification-table thead th {
        background: #f9f1f1;
    }

    .profile-notification-table th,
    .profile-notification-table td {
        vertical-align: middle !important;
    }

.profile-card-section {
    background: #fff;
    border: 1px solid #d9dde3;
    border-radius: 18px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.profile-header-shell {
    padding: 18px 28px 16px 28px;
    margin: 0 0 20px 0;
}

.profile-page-heading {
    margin: 0;
    padding: 0;
}

    .profile-page-heading .eapp-role-pill {
        display: inline-block;
        margin-bottom: 6px;
    }

    .profile-page-heading h1 {
        margin: 0;
        font-size: 24px;
        line-height: 1.15;
        font-weight: 700;
        color: #0f172a;
    }

.profile-page-subtitle {
    margin: 6px 0 0 0;
    font-size: 14px;
    color: #475569;
}

.profile-form-shell {
    border-radius: 18px !important;
    border-top-left-radius: 18px !important;
    border-top-right-radius: 18px !important;
    overflow: hidden;
}


/* ---------------------------------------------------------
   Original CSS pass 54: Application Index Branding
   Main selectors/classes: application-home-branding, application-home-hero-branded, application-home-hero-main, application-home-logo-fallback, application-home-program-banner, application-home-region-logo
   --------------------------------------------------------- */
.application-home-hero-branded {
    align-items: center;
}

.application-home-hero-main {
    min-width: 0;
}

.application-home-branding {
    margin-bottom: 14px;
}

.application-home-program-banner {
    display: block;
    max-width: 520px;
    max-height: 92px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.application-home-region-logo {
    display: block;
    max-width: 92px;
    max-height: 92px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.application-home-logo-fallback {
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 64px;
    padding: 0 14px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #263746;
    font-weight: 800;
}

@media (max-width: 768px) {
    .application-home-program-banner {
        max-width: 100%;
        max-height: 76px;
    }

    .application-home-region-logo {
        max-width: 72px;
        max-height: 72px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 56: 53. Application Landing Hero Horizontal Branding — Purpose: - Move Region One logo beside the application title - Keep status/action pill on the far right
   Main selectors/classes: application-home-branding-side, application-home-hero-actions, application-home-hero-horizontal, application-home-kicker, application-home-logo-fallback, application-home-region-logo, application-home-title-copy, application-home-title-row
   --------------------------------------------------------- */
.application-home-hero-horizontal {
    align-items: center;
}

.application-home-title-row {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

.application-home-branding-side {
    flex: 0 0 auto;
    margin-bottom: 0 !important;
}

.application-home-title-copy {
    min-width: 0;
}

.application-home-hero-horizontal .application-home-region-logo {
    width: 92px;
    height: 92px;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

.application-home-hero-horizontal .application-home-logo-fallback {
    width: 82px;
    height: 82px;
    min-width: 82px;
    padding: 0;
    font-size: 16px;
}

.application-home-hero-horizontal .application-home-kicker {
    margin-top: 0;
}

.application-home-hero-horizontal .application-home-hero-actions {
    align-self: center;
}

@media (max-width: 768px) {
    .application-home-title-row {
        gap: 16px;
        align-items: flex-start;
    }

    .application-home-hero-horizontal .application-home-region-logo {
        width: 72px;
        height: 72px;
    }

    .application-home-hero-horizontal .application-home-logo-fallback {
        width: 68px;
        height: 68px;
        min-width: 68px;
        font-size: 14px;
    }
}

@media (max-width: 575px) {
    .application-home-title-row {
        flex-direction: column;
        gap: 12px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 57: 54. Application Landing Header Split — Purpose: - Separate the title/header card from the main landing body - Match the same visual idea as the application form pages
   Main selectors/classes: application-home-branding-side, application-home-header-actions, application-home-header-card, application-home-header-main, application-home-header-standalone, application-home-hero, application-home-hero-branded, application-home-hero-horizontal, application-home-ilp3, application-home-kicker, ... (+8 more)
   --------------------------------------------------------- */
.application-home-header-standalone {
    max-width: 1180px;
    margin: 0 auto 18px;
}

.application-home-header-card {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    padding: 28px 32px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.06);
}

    .application-home-header-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 6px;
        border-radius: 18px 18px 0 0;
        background: var(--eapp-accent);
    }

.application-home-ilp3 .application-home-header-card::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

.application-home-pace .application-home-header-card::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

.application-home-header-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
}

.application-home-title-row {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

.application-home-branding-side {
    flex: 0 0 auto;
    margin-bottom: 0 !important;
}

.application-home-title-copy {
    min-width: 0;
}

    .application-home-title-copy .application-home-kicker {
        margin: 0 0 8px 0;
    }

    .application-home-title-copy h1 {
        margin: 0;
        color: #101828;
        font-size: 38px;
        line-height: 1.05;
        font-weight: 950;
        letter-spacing: -0.035em;
    }

    .application-home-title-copy p {
        margin: 10px 0 0;
        color: #475467;
        font-size: 15px;
        line-height: 1.55;
    }

.application-home-header-actions {
    flex: 0 0 auto;
    align-self: center;
}

    .application-home-header-actions .btn {
        min-width: 170px;
    }

.application-home-header-card .application-home-region-logo {
    width: 92px;
    height: 92px;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

.application-home-header-card .application-home-logo-fallback {
    width: 82px;
    height: 82px;
    min-width: 82px;
    padding: 0;
    font-size: 16px;
}

/* remove old hero card layout since header is now separate */
.application-home-page .application-home-hero,
.application-home-page .application-home-hero-branded,
.application-home-page .application-home-hero-horizontal {
    display: none;
}

/* keep the lower shell as the body section only */
.application-home-page {
    margin-top: 0;
}

@media (max-width: 768px) {
    .application-home-header-card {
        padding: 22px 24px;
    }

    .application-home-header-main {
        grid-template-columns: 1fr;
        align-items: flex-start;
        gap: 18px;
    }

    .application-home-title-row {
        gap: 16px;
        align-items: flex-start;
    }

    .application-home-header-card .application-home-region-logo {
        width: 72px;
        height: 72px;
    }

    .application-home-header-card .application-home-logo-fallback {
        width: 68px;
        height: 68px;
        min-width: 68px;
        font-size: 14px;
    }

    .application-home-title-copy h1 {
        font-size: 30px;
    }

    .application-home-header-actions,
    .application-home-header-actions .btn,
    .application-home-header-actions .application-home-status-pill {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .application-home-title-row {
        flex-direction: column;
        gap: 12px;
    }
}


/* =========================================================
   14. Reports
   Supports:
   - Views/Reports/GlobalReports.cshtml
   - Views/Reports/ReportViewer.cshtml
   - ReportsController.cs
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 71: Global Reports
   Main selectors/classes: admin-report-empty-message, admin-report-selector-legacy-flow, admin-report-toolbar, admin-report-toolbar-actions, admin-report-viewer-frame, admin-report-viewer-wrap
   --------------------------------------------------------- */
.admin-report-selector-legacy-flow {
    margin-bottom: 18px;
}

    .admin-report-selector-legacy-flow label {
        display: block;
        margin-bottom: 8px;
        color: #344054;
        font-weight: 900;
    }

.admin-report-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 12px 14px;
    margin-bottom: 0;
    border: 1px solid #d0d5dd;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: #f8fafc;
}

    .admin-report-toolbar strong {
        display: block;
        color: #1d2939;
    }

    .admin-report-toolbar span {
        display: block;
        font-size: 12px;
    }

.admin-report-toolbar-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-report-empty-message {
    margin-top: 14px;
}

.admin-report-viewer-wrap {
    border: 1px solid #d0d5dd;
    border-radius: 0 0 12px 12px;
    background: #ffffff;
    min-height: 720px;
    overflow: hidden;
}

.admin-report-viewer-frame {
    width: 100%;
    min-height: 720px;
    border: 0;
    display: block;
}

@media (max-width: 768px) {
    .admin-report-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-report-toolbar-actions {
        width: 100%;
    }
}


/* =========================================================
   15. Modals/forms/buttons
   Supports:
   - Views/UserAccount/Login.cshtml
   - Views/UserAccount/Register.cshtml
   - Views/UserAccount/Profile.cshtml
   - Views/UserAccount/ForgotAccount.cshtml
   - Views/UserAccount/RecoverAccount.cshtml
   - Shared modal/form/button patterns
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 33: 32. Login Responsive Rules
   Main selectors/classes: login-card-grid, login-form-heading, login-form-panel, login-program-panel
   --------------------------------------------------------- */
@media (max-width: 768px) {
    .login-card-grid {
        grid-template-columns: 1fr;
    }

    .login-program-panel,
    .login-form-panel {
        padding: 26px 24px;
    }

        .login-program-panel h1 {
            font-size: 23px;
        }

    .login-form-heading h2 {
        font-size: 26px;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 34: 33. Account Recovery Pages
   Main selectors/classes: account-recovery-card, account-recovery-divider, account-recovery-shell, form-control
   --------------------------------------------------------- */
.account-recovery-shell {
    max-width: 980px;
    margin: 0 auto 48px;
}

.account-recovery-card {
    background: #fff;
    border: 1px solid #e6eaf0;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
    padding: 32px 36px;
}

    .account-recovery-card h1 {
        margin-top: 0;
        color: var(--eapp-accent);
        font-size: 26px;
        font-weight: 800;
        border-bottom: 1px solid #edf0f2;
        padding-bottom: 12px;
    }

    .account-recovery-card p {
        color: #344054;
        line-height: 1.5;
    }

    .account-recovery-card .form-control {
        height: 40px;
    }

.account-recovery-divider {
    text-align: center;
    margin: 24px 0;
    color: #344054;
    font-weight: 800;
}

    .account-recovery-divider span {
        display: inline-block;
        padding: 0 16px;
    }


/* ---------------------------------------------------------
   Original CSS pass 35: 34. Create Profile / Registration
   Main selectors/classes: registration-card-grid, registration-check, registration-form-panel
   --------------------------------------------------------- */
.registration-card-grid {
    grid-template-columns: minmax(260px, .8fr) minmax(520px, 1.2fr);
}

.registration-form-panel {
    padding: 34px 38px;
}

    .registration-form-panel hr {
        margin: 20px 0;
        border-color: #edf0f2;
    }

.registration-check {
    display: block;
    margin: 12px 0;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #edf0f2;
    border-radius: 10px;
    color: #344054;
    font-weight: 700 !important;
}

    .registration-check input[type="checkbox"] {
        margin-right: 8px;
    }

@media (max-width: 992px) {
    .registration-card-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 51: 51. Profile Page Theme Accent — Purpose: - Match application form card accent bars - ILP3 = red/gray
   Main selectors/classes: eapp-role-pill, profile-card-section, profile-form-shell, profile-header-shell, profile-page-heading, profile-page-subtitle, profile-theme-ilp3, profile-theme-neutral, profile-theme-pace
   --------------------------------------------------------- */
.profile-card-section,
.profile-form-shell {
    position: relative;
    overflow: hidden;
}

/* Header card accent bar */
.profile-header-shell::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    border-radius: 18px 18px 0 0;
    background: var(--eapp-accent);
}

/* Form card accent bar */
.profile-form-shell::before {
    content: "";
    display: block;
    height: 6px;
    border-radius: 0;
    margin: -22px -22px 22px -22px;
    background: var(--eapp-accent);
}

/* ILP3 profile accent */
.profile-theme-ilp3.profile-header-shell::before,
.profile-theme-ilp3.profile-form-shell::before {
    background: linear-gradient(90deg, #8a1f1f, #555);
}

/* PaCE profile accent */
.profile-theme-pace.profile-header-shell::before,
.profile-theme-pace.profile-form-shell::before {
    background: linear-gradient(90deg, #2b5d78, #074b80);
}

/* RegionOne / Certifications profile accent */
.profile-theme-neutral.profile-header-shell::before,
.profile-theme-neutral.profile-form-shell::before {
    background: linear-gradient(90deg, #8a1f1f 0%, #6b5b66 45%, #2b5d78 100%);
}

/* Separate header card from body card */
.profile-header-shell {
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, 0.06);
    padding: 28px 32px;
    margin: 0 auto 18px auto;
    max-width: 1180px;
}

.profile-page-heading {
    margin: 0;
    padding: 0;
}

    .profile-page-heading .eapp-role-pill {
        display: inline-block;
        margin-bottom: 7px;
        background: var(--eapp-accent-soft);
        color: var(--eapp-accent-dark);
    }

.profile-theme-neutral .eapp-role-pill {
    background: #f5f5f5;
    color: #333;
}

.profile-page-heading h1 {
    margin: 0;
    color: #101828;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 950;
    letter-spacing: -0.025em;
}

.profile-page-subtitle {
    margin: 7px 0 0 0;
    color: #475467;
    font-size: 14px;
}

/* Make form body stay separate and fully rounded */
.profile-form-shell {
    max-width: 1180px;
    margin: 0 auto 48px;
    padding: 22px;
    border-radius: 22px !important;
    border: 1px solid #e4e9ef;
    box-shadow: 0 18px 46px rgba(16, 24, 40, 0.075);
}

    /* Keep profile form from getting duplicate pseudo bars from generic classes */
    .profile-form-shell.application-form-ilp3::before,
    .profile-form-shell.application-form-pace::before {
        display: block !important;
    }


/* ---------------------------------------------------------
   Original CSS pass 58: 55. Login Panel Branding Enhancement — Purpose: - Logo and program badge on one row - Stronger visual structure in left login panel
   Main selectors/classes: login-help-box, login-program-badge, login-program-copy, login-program-header-row, login-program-kicker, login-program-logo, login-program-logo-fallback, login-program-logo-wrap, login-program-panel
   --------------------------------------------------------- */
.login-program-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.login-program-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 26px;
}

.login-program-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
}

.login-program-logo {
    width: 96px;
    height: 96px;
    object-fit: contain;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    padding: 6px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.login-program-logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: var(--eapp-accent-dark);
    font-size: 18px;
    font-weight: 950;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.login-program-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.17);
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #fff;
    font-weight: 900;
    letter-spacing: 0.02em;
    white-space: nowrap;
    margin-top: 6px;
}

.login-program-copy {
    max-width: 360px;
}

    .login-program-copy .login-program-kicker {
        margin: 0 0 8px;
    }

    .login-program-copy h1 {
        margin: 0;
        max-width: 360px;
    }

    .login-program-copy > p {
        max-width: 360px;
    }

.login-help-box {
    margin-top: 30px;
    max-width: 360px;
}

@media (max-width: 768px) {
    .login-program-header-row {
        align-items: center;
        gap: 14px;
        margin-bottom: 20px;
    }

    .login-program-logo {
        width: 74px;
        height: 74px;
    }

    .login-program-logo-fallback {
        width: 68px;
        height: 68px;
        font-size: 15px;
    }

    .login-program-badge {
        min-width: 60px;
        height: 32px;
        padding: 0 12px;
        font-size: 12px;
    }
}


/* =========================================================
   17. Responsive/mobile overrides
   Supports:
   - Responsive overrides for nav, application forms, admin pages, System Users
   ========================================================= */


/* ---------------------------------------------------------
   Original CSS pass 19: 18. Responsive Rules
   Main selectors/classes: applicant-actions-section, applicant-form-shell, applicant-profile-summary, legacy-entry-table, legacy-form-section, pace-record-title-actions, pace-record-title-row
   --------------------------------------------------------- */
@media (max-width: 992px) {
    .applicant-profile-summary {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 768px) {
    .pace-record-title-row {
        display: block;
    }

    .pace-record-title-actions {
        margin-top: 12px;
    }

    .applicant-form-shell {
        padding: 12px;
    }

    .legacy-form-section {
        padding: 14px;
    }

    .applicant-profile-summary {
        grid-template-columns: 1fr;
    }

    .legacy-entry-table td {
        min-width: 180px;
    }

    .applicant-actions-section {
        position: static;
    }
}


/* ---------------------------------------------------------
   Original CSS pass 28: 27. Responsive Selector/Header
   Main selectors/classes: certifications-hero-card, eapp-program-hero-inner, eapp-program-logo, eapp-program-logo-fallback, eapp-program-title-wrap, program-card-grid
   --------------------------------------------------------- */
@media (max-width: 768px) {
    .eapp-program-hero-inner {
        align-items: flex-start;
        min-height: auto;
    }

    .eapp-program-logo,
    .eapp-program-logo-fallback {
        width: 54px;
        height: 54px;
    }

    .eapp-program-title-wrap h1 {
        font-size: 20px;
    }

    .program-card-grid {
        grid-template-columns: 1fr;
    }

    .certifications-hero-card {
        padding: 24px;
    }

        .certifications-hero-card h1 {
            font-size: 34px;
        }
}

/* ==========================================================
   PaCE Application Essay Helper
   Used on: Views/Application/PaCEForm.cshtml
   Purpose: Shows 400-word minimum notice and info marker.
   ========================================================== */

.pace-essay-section h3 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pace-essay-info-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 1px solid #8bbcff;
    background: #eef5ff;
    color: #1f5f9f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: help;
}

    .pace-essay-info-dot:hover,
    .pace-essay-info-dot:focus {
        background: #dcecff;
        border-color: #5b9dff;
        color: #174a7c;
        outline: none;
    }

.pace-essay-minimum-note {
    margin: 10px 0 14px;
    padding: 9px 12px;
    border-left: 4px solid #2f80ed;
    background: #f3f8ff;
    color: #344054;
    font-size: 13px;
    line-height: 1.4;
}

.pace-essay-word-count {
    display: block;
    margin-top: 6px;
    font-size: 13px;
}

.pace-essay-word-target {
    color: #667085;
    font-weight: 500;
}

.pace-essay-textarea {
    min-height: 220px;
    resize: vertical;
}
/* =========================================================
   19. Deprecated candidates / do-not-delete-yet notes
   Supports:
   - No active CSS declarations; notes only
   - Candidates require browser/page verification before removal
   ========================================================= */

/*
   Deprecated candidates / do-not-delete-yet notes
   ---------------------------------------------------------
   Nothing was deleted aggressively in this cleaned version.
   The following families should be reviewed later only after
   the real Views/*.cshtml files are available for exact selector mapping:
   - Early duplicate navigation/header passes that were later refined.
   - Older certification landing card passes that are superseded by final polish.
   - Bootstrap/jumbotron/panel compatibility rules only if Bootstrap 3 markup
     has been fully replaced in Core-owned views.
   - Print/modal clone rules only after application details print is verified.
*/
