:root {
    --epa-slate: #4A4A4A;
    --epa-soft-slate: #f4f5f6;
    --epa-border: #d9dde2;
    --epa-text: #1f2933;
    --epa-muted: #667085;
    --epa-white: #ffffff;
    --epa-success: #1f7a4d;
    --epa-warning: #9a6700;
    --epa-danger: #b42318;
}

.epa-portal {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 18px;
    color: var(--epa-text);
    font-family: Mulish, Arial, sans-serif;
}

.epa-portal-header {
    background: var(--epa-slate);
    color: var(--epa-white);
    padding: 34px;
    border-radius: 18px;
    margin-bottom: 20px;
}

.epa-portal-header h1 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.1;
    color: var(--epa-white);
}

.epa-portal-header p {
    margin: 0;
    color: rgba(255,255,255,.88);
    max-width: 760px;
}

.epa-eyebrow {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 800;
    font-size: 12px;
    margin-bottom: 10px !important;
}

.epa-portal-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}

.epa-portal-nav a {
    text-decoration: none;
    background: var(--epa-soft-slate);
    border: 1px solid var(--epa-border);
    color: var(--epa-text);
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px;
}

.epa-admin-nav a {
    background: #fff9e8;
}

.epa-card,
.epa-stat,
.epa-project-card {
    background: var(--epa-white);
    border: 1px solid var(--epa-border);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(16,24,40,.06);
}

.epa-card {
    padding: 26px;
    margin-bottom: 20px;
}

.epa-card h2,
.epa-project-card h3 {
    margin-top: 0;
    color: var(--epa-text);
}

.epa-grid {
    display: grid;
    gap: 16px;
    margin-bottom: 20px;
}

.epa-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.epa-stat {
    padding: 22px;
}

.epa-stat strong {
    display: block;
    font-size: 30px;
    line-height: 1.1;
    color: var(--epa-slate);
}

.epa-stat span {
    display: block;
    color: var(--epa-muted);
    margin-top: 6px;
    font-weight: 700;
}

.epa-project-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.epa-project-card {
    padding: 20px;
}

.epa-button,
.epa-form button,
.wp-core-ui .epa-button {
    display: inline-block;
    border: 0;
    background: var(--epa-slate);
    color: #fff !important;
    padding: 11px 18px;
    border-radius: 999px;
    text-decoration: none !important;
    font-weight: 800;
    cursor: pointer;
    margin: 4px 4px 4px 0;
}

.epa-button-secondary {
    background: #6b7280;
}

.epa-button-small {
    padding: 8px 12px;
    font-size: 13px;
}

.epa-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
    overflow: hidden;
}

.epa-table th,
.epa-table td {
    text-align: left;
    border-bottom: 1px solid var(--epa-border);
    padding: 13px 10px;
    vertical-align: top;
}

.epa-table th {
    background: var(--epa-soft-slate);
    font-weight: 800;
}

.epa-form label {
    display: block;
    font-weight: 800;
    margin-bottom: 14px;
}

.epa-form input,
.epa-form select,
.epa-form textarea {
    width: 100%;
    display: block;
    margin-top: 7px;
    border: 1px solid var(--epa-border);
    border-radius: 12px;
    padding: 12px;
    font: inherit;
    color: var(--epa-text);
    background: #fff;
}

.epa-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.epa-form-grid .epa-full,
.epa-form-grid button {
    grid-column: 1 / -1;
}

.epa-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
}

.epa-alert {
    padding: 14px 16px;
    border-radius: 12px;
    margin: 14px 0;
    font-weight: 700;
}

.epa-alert-success {
    background: #ecfdf3;
    color: var(--epa-success);
    border: 1px solid #abefc6;
}

.epa-alert-warning {
    background: #fffaeb;
    color: var(--epa-warning);
    border: 1px solid #fedf89;
}

.epa-alert-danger {
    background: #fef3f2;
    color: var(--epa-danger);
    border: 1px solid #fecdca;
}

.epa-status {
    display: inline-block;
    border-radius: 999px;
    padding: 5px 9px;
    background: var(--epa-soft-slate);
    border: 1px solid var(--epa-border);
    font-size: 12px;
    font-weight: 900;
}

.epa-status-delivered,
.epa-status-closed {
    background: #ecfdf3;
    color: var(--epa-success);
}

.epa-status-in-progress,
.epa-status-awaiting-review,
.epa-status-revision-stage {
    background: #fffaeb;
    color: var(--epa-warning);
}

.epa-message-block {
    border-top: 1px solid var(--epa-border);
    padding-top: 18px;
    margin-top: 18px;
}

.epa-note-list {
    margin: 12px 0 0 20px;
}

.epa-small {
    font-size: 13px;
    color: var(--epa-muted);
}

.epa-login-card form p {
    margin-bottom: 14px;
}

.epa-login-card input[type="text"],
.epa-login-card input[type="password"] {
    width: 100%;
    border: 1px solid var(--epa-border);
    border-radius: 12px;
    padding: 12px;
}

@media (max-width: 780px) {
    .epa-grid-3,
    .epa-project-list,
    .epa-form-grid,
    .epa-meta-grid {
        grid-template-columns: 1fr;
    }

    .epa-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .epa-portal-header {
        padding: 24px;
    }
}

/* EPA Portal v1.1 additions */
.epa-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.epa-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}

.epa-account-card {
    max-width: 980px;
}

/* Clean up WooCommerce My Account pages if the old /my-account/ page is still visible */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #f4f5f6;
    border: 1px solid #d9dde2;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(16,24,40,.06);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 0 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #d9dde2;
    color: #1f2933;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content {
    background: #ffffff;
    border: 1px solid #d9dde2;
    border-radius: 16px;
    padding: 26px;
    box-shadow: 0 8px 24px rgba(16,24,40,.06);
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: #f59e0b;
    font-weight: 700;
}

@media (max-width: 980px) {
    .epa-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .epa-grid-4 {
        grid-template-columns: 1fr;
    }
}

/* EPA Portal v1.2 additions */
.epa-portal {
    background: var(--epa-page-bg, #ffffff);
}

.epa-card,
.epa-stat,
.epa-project-card,
.epa-message-card,
.epa-settings-panel {
    background: var(--epa-card-bg, #ffffff);
}

.epa-portal-nav a.epa-active,
.epa-portal-nav a[aria-current="page"] {
    background: var(--epa-slate);
    color: var(--epa-button-text, #ffffff) !important;
    border-color: var(--epa-slate);
}

.epa-button,
.epa-form button,
.wp-core-ui .epa-button {
    background: var(--epa-slate);
    color: var(--epa-button-text, #ffffff) !important;
}

.epa-button-secondary {
    background: var(--epa-secondary, #6b7280);
}

.epa-button-danger {
    background: var(--epa-danger, #b42318) !important;
}

.epa-inline-form {
    display: inline-block;
    margin: 0;
}

.epa-inline-form select {
    width: auto;
    min-width: 140px;
    display: inline-block;
    margin: 4px 4px 4px 0;
    border: 1px solid var(--epa-border);
    border-radius: 999px;
    padding: 8px 10px;
}

.epa-danger-zone {
    border-color: #fecdca;
    background: #fff7f6;
}

.epa-message-list {
    display: grid;
    gap: 16px;
}

.epa-message-card {
    border: 1px solid var(--epa-border);
    border-radius: 16px;
    padding: 18px;
}

.epa-message-meta {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    align-items: baseline;
    border-bottom: 1px solid var(--epa-border);
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.epa-message-meta span {
    color: var(--epa-muted);
    font-size: 13px;
    white-space: nowrap;
}

.epa-message-body p {
    margin: 0 0 10px;
}

.epa-reply-context {
    border-left: 4px solid var(--epa-accent, #f59e0b);
    background: var(--epa-soft-slate);
    padding: 12px 14px;
    margin: 12px 0 18px;
    border-radius: 10px;
}

.epa-settings-panel {
    border: 1px solid var(--epa-border);
    border-radius: 14px;
    padding: 14px 16px;
    margin: 12px 0;
}

.epa-settings-panel summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--epa-text);
}

.epa-settings-panel label {
    margin-top: 14px;
}

.epa-form input[type="color"] {
    min-height: 46px;
    padding: 4px;
}

.epa-table .epa-button,
.epa-table .epa-inline-form {
    vertical-align: middle;
}

/* EPA Portal v1.3 additions */
.epa-form-section,
.epa-mini-fieldset {
    border: 1px solid var(--epa-border);
    border-radius: 16px;
    padding: 20px;
    margin: 0 0 20px;
    background: var(--epa-card-bg, #ffffff);
}

.epa-form-section legend,
.epa-mini-fieldset legend {
    font-weight: 900;
    color: var(--epa-slate);
    padding: 0 8px;
}

.epa-quote-box {
    background: var(--epa-soft-slate);
    border: 1px solid var(--epa-border);
    border-radius: 14px;
    padding: 18px;
}

.epa-quote-box h3 {
    margin-top: 0;
}

.epa-checkbox {
    display: inline-block !important;
    width: auto !important;
    margin-right: 8px;
}

.epa-invoice-card {
    border: 1px solid var(--epa-border);
    border-radius: 16px;
    padding: 20px;
    margin: 18px 0;
    background: var(--epa-card-bg, #ffffff);
}

.epa-bank-transfer {
    border: 1px dashed var(--epa-border);
    border-radius: 14px;
    padding: 14px 16px;
    margin: 16px 0;
    background: var(--epa-soft-slate);
}

.epa-bank-transfer summary {
    cursor: pointer;
    font-weight: 900;
}

.epa-bank-transfer pre {
    white-space: pre-wrap;
    font-family: inherit;
    margin: 12px 0 0;
}

.epa-return-admin {
    background: var(--epa-accent, #f59e0b) !important;
    color: var(--epa-button-text, #fff) !important;
    border-color: var(--epa-accent, #f59e0b) !important;
}

.epa-status-service-request-received,
.epa-status-quotation-posted {
    background: #eff8ff;
    color: #175cd3;
}

.epa-status-payment-received-in-progress {
    background: #ecfdf3;
    color: var(--epa-success);
}

/* v1.6 public request form controls */
#epa-public-request-form .epa-required {
    color: #d63638 !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
    display: inline-block !important;
}
#epa-public-request-form .epa-hidden-step,
#epa-public-request-form [hidden] {
    display: none !important;
}
#epa-public-request-form .epa-step-visible {
    display: block !important;
}
#epa-public-request-form .epa-formula-line,
#epa-public-request-form .epa-quote-formula,
#epa_quote_formula,
#epa-public-request-form .epa-public-request-formula {
    display: none !important;
}


/* EPA Portal v1.7 public request hard overrides */
#epa-public-request-form .epa-hidden-step,
#epa-public-request-form fieldset[hidden],
#epa-public-request-form [hidden] {
    display: none !important;
}
#epa-public-request-form .epa-step-visible {
    display: block !important;
}
#epa-public-request-form .epa-required {
    color: #d63638 !important;
    font-weight: 900 !important;
    margin-right: 4px !important;
    display: inline-block !important;
}
#epa-public-request-form .epa-formula-line,
#epa-public-request-form .epa-quote-formula,
#epa_quote_formula,
#epa-public-request-form .epa-public-request-formula {
    display: none !important;
}

/* EPA Portal v2.4 admin/detail refinements */
.epa-admin-edit-panel {
    margin: 18px 0 24px;
    padding: 18px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.72);
}
.epa-academic-detail-groups {
    margin-top: 18px;
}
.epa-detail-group {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(0,0,0,.08);
}
.epa-detail-group p {
    margin: 0 0 8px;
}

/* EPA Reports */
.epa-report-filter{align-items:end;}
.epa-report-card h3{margin-top:0;}
.epa-report-mini-table th{width:45%;}
.epa-report-grid .epa-card{height:100%;}
@media print{.epa-portal-nav,.epa-report-filter button{display:none!important}.epa-card{break-inside:avoid}}

/* EPA Pricing Admin */
.epa-pricing-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}
.epa-pricing-row form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    margin: 0;
}
.epa-pricing-row label {
    min-width: 160px;
}
.epa-button-danger {
    background: #B42318 !important;
    border-color: #B42318 !important;
    color: #FFFFFF !important;
}


/* EPA Pricing Admin spacing refinements */
.epa-pricing-group-actions {
    margin: 24px 0 38px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(0,0,0,.10) !important;
}
.epa-card h3 + form.epa-form,
.epa-card h3 + .epa-form {
    margin-top: 14px !important;
}
.epa-card h3 {
    margin-top: 34px !important;
}
.epa-pricing-group-actions + h3,
.epa-pricing-group-actions ~ h3 {
    margin-top: 42px !important;
}

/* EPA Pricing Admin heading/action alignment */
.epa-pricing-level-form {
    margin-top: 28px !important;
    margin-bottom: 38px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(0,0,0,.10) !important;
}
.epa-pricing-level-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 14px !important;
}
.epa-pricing-level-header h3 {
    margin: 0 !important;
}
.epa-pricing-level-header .epa-button {
    white-space: nowrap !important;
}
@media (max-width: 700px) {
    .epa-pricing-level-header {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* EPA Pricing v5.1: force Save Changes button to right of academic-level heading */
.epa-pricing-level-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 28px 0 14px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(0,0,0,.12) !important;
}
.epa-pricing-level-header h3 {
    margin: 0 !important;
}
.epa-pricing-level-header .epa-button {
    margin-left: auto !important;
    white-space: nowrap !important;
}
@media (max-width: 700px) {
    .epa-pricing-level-header {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .epa-pricing-level-header .epa-button {
        margin-left: 0 !important;
    }
}


/* EPA Portal v5.3 header/dropdown stacking fix
   Keeps the public site navigation dropdowns above the EPA portal title/banner area. */
body .epa-portal,
body .epa-portal * {
    overflow: visible;
}

body .epa-portal {
    position: relative !important;
    z-index: 0 !important;
    isolation: auto !important;
}

body .epa-portal-header,
body .epa-card,
body .epa-portal-nav {
    position: relative !important;
    z-index: 0 !important;
}

body header,
body .site-header,
body header.site-header,
body #masthead,
body .main-header,
body .main-header-bar,
body .ast-primary-header-bar,
body .ast-above-header-bar,
body .ast-below-header-bar,
body .elementor-location-header,
body .elementor-location-header .elementor-section,
body .elementor-location-header .elementor-container,
body .elementor-location-header .elementor-widget-wrap,
body .premium-header,
body .premium-production-header,
body .navbar,
body .navbar-wrapper,
body .header-wrapper,
body .site-navigation,
body .main-navigation,
body .primary-navigation,
body .menu-main-menu-container,
body .elementor-nav-menu--main,
body .elementor-widget-nav-menu,
body .mega-menu-wrap {
    position: relative !important;
    z-index: 2147483647 !important;
    overflow: visible !important;
}

body header ul,
body header li,
body .site-header ul,
body .site-header li,
body #masthead ul,
body #masthead li,
body .main-navigation ul,
body .main-navigation li,
body .primary-navigation ul,
body .primary-navigation li,
body .elementor-location-header ul,
body .elementor-location-header li,
body .elementor-nav-menu,
body .elementor-nav-menu li,
body .mega-menu-wrap ul,
body .mega-menu-wrap li {
    overflow: visible !important;
}

body header .sub-menu,
body .site-header .sub-menu,
body #masthead .sub-menu,
body .main-navigation .sub-menu,
body .primary-navigation .sub-menu,
body .menu-item-has-children > .sub-menu,
body .elementor-location-header .elementor-nav-menu--dropdown,
body .elementor-nav-menu--dropdown,
body .dropdown-menu,
body .mega-menu-wrap .mega-sub-menu {
    position: absolute !important;
    z-index: 2147483647 !important;
    overflow: visible !important;
    visibility: visible;
}

body .page-header,
body .entry-header,
body .page-title-bar,
body .hero,
body .hero-section,
body .banner,
body .site-page-title,
body .epa-portal-header {
    z-index: 0 !important;
}

/* Staged-payment milestones and download restrictions */
.epa-payment-request {
    margin-top: 12px;
}

.epa-payment-request-compact {
    margin: 9px 0 12px;
    padding: 9px 11px;
    border-radius: 10px;
    border: 1px solid #fedf89;
    background: #fffaeb;
    color: var(--epa-warning);
    font-size: 13px;
    font-weight: 700;
}

.epa-payment-request a {
    color: inherit;
    text-decoration: underline;
    font-weight: 900;
}

.epa-download-locked {
    display: inline-block;
    padding: 8px 11px;
    border-radius: 999px;
    background: #fffaeb;
    border: 1px solid #fedf89;
    color: var(--epa-warning);
    font-size: 12px;
    font-weight: 900;
    white-space: normal;
}

.epa-payment-milestones h3 {
    margin-top: 0;
}

.epa-payment-milestones .epa-table td {
    line-height: 1.55;
}


/* Optional bundled services on the public consultation request form */
.epa-additional-services {
    padding: 14px 16px;
    border: 1px solid var(--epa-border);
    border-radius: 10px;
    background: var(--epa-soft-slate);
}
.epa-additional-services-title {
    display: block;
    margin-bottom: 10px;
    color: var(--epa-text);
    font-weight: 800;
}
.epa-additional-services-title small {
    color: var(--epa-muted);
    font-weight: 500;
}
.epa-additional-services-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}
.epa-additional-service-choice {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    width: auto !important;
    margin: 0 !important;
    color: var(--epa-text);
    font-weight: 600;
}
.epa-additional-service-choice input[type="checkbox"] {
    width: auto !important;
    min-width: 16px;
    height: 16px;
    margin: 0 !important;
}


/* EPA Portal v5.9: compact secure-dashboard interface
   General banking-dashboard styling adapted for EPA branding. */
.epa-dashboard-shell {
    --epa-dashboard-black: #080808;
    /* Red is reserved for the active navigation underline only. */
    --epa-dashboard-red: #ED1B2F;
    --epa-dashboard-teal: #0B5C59;
    --epa-dashboard-teal-hover: #084B48;
    --epa-dashboard-blue-grey: #E6ECF2;
    --epa-dashboard-line: #D8E1EA;
    --epa-dashboard-text: #101820;
    max-width: 1200px !important;
    margin: 24px auto !important;
    padding: 0 12px 28px !important;
    background: #FFFFFF !important;
    color: var(--epa-dashboard-text) !important;
    font-family: Mulish, Arial, sans-serif !important;
}

.epa-dashboard-shell .epa-portal-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 52px;
    padding: 0 18px;
    background: var(--epa-dashboard-black);
    color: #FFFFFF;
    border-radius: 8px 8px 0 0;
}

.epa-dashboard-shell .epa-portal-brand,
.epa-dashboard-shell .epa-portal-topbar-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.epa-dashboard-shell .epa-portal-brand-name {
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .01em;
}

.epa-dashboard-shell .epa-portal-brand-subtitle,
.epa-dashboard-shell .epa-topbar-mode {
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 700;
}

.epa-dashboard-shell .epa-topbar-user {
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.epa-dashboard-shell .epa-topbar-link {
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 900;
    padding-left: 12px;
    border-left: 1px solid rgba(255,255,255,.45);
}

.epa-dashboard-shell .epa-topbar-link:hover,
.epa-dashboard-shell .epa-topbar-link:focus {
    color: #FFFFFF !important;
    text-decoration: underline !important;
}

.epa-dashboard-shell .epa-portal-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 10px !important;
    overflow-x: auto !important;
    background: #FFFFFF;
    border: 1px solid var(--epa-dashboard-line);
    border-top: 0;
    box-shadow: 0 2px 7px rgba(16,24,40,.10);
    scrollbar-width: thin;
}

.epa-dashboard-shell .epa-portal-nav a {
    position: relative;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 15px 13px 13px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--epa-dashboard-text) !important;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.epa-dashboard-shell .epa-portal-nav a:hover,
.epa-dashboard-shell .epa-portal-nav a:focus,
.epa-dashboard-shell .epa-portal-nav a.epa-active,
.epa-dashboard-shell .epa-portal-nav a[aria-current="page"] {
    background: #FFFFFF !important;
    color: #000000 !important;
    border-bottom-color: var(--epa-dashboard-red) !important;
}

.epa-dashboard-shell .epa-portal-nav a.epa-return-admin {
    color: var(--epa-dashboard-text) !important;
    font-weight: 900;
}

.epa-dashboard-shell .epa-portal-header {
    margin: 12px 0 0 !important;
    padding: 17px 20px 18px !important;
    border: 1px solid var(--epa-dashboard-line);
    border-radius: 9px 9px 0 0 !important;
    background: var(--epa-dashboard-blue-grey) !important;
    color: var(--epa-dashboard-text) !important;
    box-shadow: none !important;
}

.epa-dashboard-shell .epa-portal-header .epa-eyebrow {
    margin: 0 0 5px !important;
    color: #4B5563 !important;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: .08em;
}

.epa-dashboard-shell .epa-portal-header h1 {
    margin: 0 0 5px !important;
    color: var(--epa-dashboard-text) !important;
    font-size: clamp(24px, 3vw, 32px) !important;
    line-height: 1.15 !important;
}

.epa-dashboard-shell .epa-portal-header p:not(.epa-eyebrow) {
    max-width: 860px;
    margin: 0 !important;
    color: #374151 !important;
    font-size: 14px;
}

.epa-dashboard-shell .epa-portal-main {
    padding: 12px;
    border: 1px solid var(--epa-dashboard-line);
    border-top: 0;
    border-radius: 0 0 9px 9px;
    background: #F8FAFC;
}

.epa-dashboard-shell .epa-card,
.epa-dashboard-shell .epa-stat,
.epa-dashboard-shell .epa-project-card,
.epa-dashboard-shell .epa-message-card,
.epa-dashboard-shell .epa-settings-panel,
.epa-dashboard-shell .epa-invoice-card {
    border: 1px solid var(--epa-dashboard-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    background: #FFFFFF !important;
}

.epa-dashboard-shell .epa-card {
    margin-bottom: 14px !important;
    padding: 22px !important;
}

.epa-dashboard-shell .epa-card > h2:first-child {
    margin: -22px -22px 18px !important;
    padding: 11px 15px !important;
    border-bottom: 1px solid #C6D2DE;
    border-radius: 8px 8px 0 0;
    background: var(--epa-dashboard-blue-grey) !important;
    color: #000000 !important;
    font-size: 15px !important;
    line-height: 1.2;
}

.epa-dashboard-shell .epa-card h3,
.epa-dashboard-shell .epa-project-card h3 {
    color: #000000 !important;
}

.epa-dashboard-shell .epa-grid {
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.epa-dashboard-shell .epa-stat,
.epa-dashboard-shell .epa-project-card {
    padding: 17px !important;
}

.epa-dashboard-shell .epa-stat strong {
    color: #000000 !important;
    font-size: 26px !important;
}

/* Teal action buttons, based on the approved EPA portal colour. */
.epa-dashboard-shell .epa-button,
.epa-dashboard-shell .epa-form button,
.epa-dashboard-shell .wp-core-ui .epa-button {
    border: 1px solid var(--epa-dashboard-teal) !important;
    border-radius: 8px !important;
    background: var(--epa-dashboard-teal) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    font-weight: 900 !important;
    padding: 10px 15px !important;
}

.epa-dashboard-shell .epa-button:hover,
.epa-dashboard-shell .epa-button:focus,
.epa-dashboard-shell .epa-form button:hover,
.epa-dashboard-shell .epa-form button:focus {
    background: var(--epa-dashboard-teal-hover) !important;
    border-color: var(--epa-dashboard-teal-hover) !important;
    color: #FFFFFF !important;
}

.epa-dashboard-shell .epa-button-secondary {
    background: #FFFFFF !important;
    color: var(--epa-dashboard-teal) !important;
    border-color: var(--epa-dashboard-teal) !important;
}

.epa-dashboard-shell .epa-button-secondary:hover,
.epa-dashboard-shell .epa-button-secondary:focus {
    background: #E8F4F2 !important;
    color: var(--epa-dashboard-teal-hover) !important;
    border-color: var(--epa-dashboard-teal-hover) !important;
}

/* Keep destructive actions visually consistent with the approved button palette. */
.epa-dashboard-shell .epa-button-danger {
    background: var(--epa-dashboard-teal) !important;
    border-color: var(--epa-dashboard-teal) !important;
    color: #FFFFFF !important;
}

.epa-dashboard-shell .epa-button-danger:hover,
.epa-dashboard-shell .epa-button-danger:focus {
    background: var(--epa-dashboard-teal-hover) !important;
    border-color: var(--epa-dashboard-teal-hover) !important;
}

.epa-dashboard-shell .epa-table {
    margin-top: 14px !important;
    border: 1px solid var(--epa-dashboard-line);
    border-radius: 6px;
}

.epa-dashboard-shell .epa-table th,
.epa-dashboard-shell .epa-table td {
    padding: 11px 10px !important;
    border-bottom: 1px solid var(--epa-dashboard-line) !important;
    color: var(--epa-dashboard-text) !important;
}

.epa-dashboard-shell .epa-table th {
    background: #FFFFFF !important;
    color: #000000 !important;
    border-bottom: 1px solid #111827 !important;
    font-size: 12px;
    font-weight: 900 !important;
}

.epa-dashboard-shell .epa-table tbody tr:nth-child(even) td {
    background: #FBFCFD;
}

.epa-dashboard-shell .epa-form-section,
.epa-dashboard-shell .epa-mini-fieldset,
.epa-dashboard-shell .epa-admin-bundle-services {
    border-color: var(--epa-dashboard-line) !important;
    border-radius: 7px !important;
    background: #FFFFFF !important;
}

.epa-dashboard-shell .epa-form-section legend,
.epa-dashboard-shell .epa-mini-fieldset legend,
.epa-dashboard-shell .epa-admin-bundle-services legend {
    color: #000000 !important;
}

.epa-dashboard-shell .epa-form input,
.epa-dashboard-shell .epa-form select,
.epa-dashboard-shell .epa-form textarea {
    border-color: #C9D3DD !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    padding: 10px 11px !important;
}

.epa-dashboard-shell .epa-form input:focus,
.epa-dashboard-shell .epa-form select:focus,
.epa-dashboard-shell .epa-form textarea:focus {
    border-color: var(--epa-dashboard-teal) !important;
    outline: 2px solid rgba(11,92,89,.16) !important;
    outline-offset: 0;
}

.epa-dashboard-shell .epa-status {
    border-radius: 4px !important;
    font-size: 11px !important;
}

.epa-dashboard-shell .epa-admin-bundle-services {
    margin: 2px 0 0 !important;
    padding: 14px 16px !important;
}

.epa-dashboard-shell .epa-admin-bundle-services p {
    margin: 0 0 12px !important;
    color: #4B5563;
    font-size: 13px;
}

.epa-dashboard-shell .epa-admin-bundle-services .epa-additional-services-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.epa-dashboard-shell .epa-admin-bundle-service {
    color: #111827;
    font-weight: 700 !important;
}

.epa-dashboard-shell .epa-quote-form-actions {
    padding-top: 4px;
}

@media (max-width: 760px) {
    .epa-dashboard-shell {
        margin-top: 12px !important;
        padding: 0 6px 18px !important;
    }
    .epa-dashboard-shell .epa-portal-topbar {
        align-items: flex-start;
        flex-direction: column;
        padding: 12px 14px;
    }
    .epa-dashboard-shell .epa-portal-topbar-actions {
        gap: 10px;
    }
    .epa-dashboard-shell .epa-portal-nav {
        padding: 0 4px !important;
    }
    .epa-dashboard-shell .epa-portal-nav a {
        padding: 12px 10px 10px !important;
        font-size: 12px;
    }
    .epa-dashboard-shell .epa-portal-main {
        padding: 8px;
    }
    .epa-dashboard-shell .epa-card {
        padding: 16px !important;
    }
    .epa-dashboard-shell .epa-card > h2:first-child {
        margin: -16px -16px 14px !important;
    }
}

/* EPA Portal v6.0: Wireframe button state
   Buttons remain outlined at rest and fill with approved teal only while pressed.
   The red active-navigation underline is intentionally not changed. */
.epa-dashboard-shell .epa-button,
.epa-dashboard-shell .epa-form button,
.epa-dashboard-shell .wp-core-ui .epa-button,
.epa-dashboard-shell .epa-form input[type="submit"],
.epa-dashboard-shell input[type="submit"].epa-button,
.epa-dashboard-shell .button.epa-button {
    background: #FFFFFF !important;
    color: var(--epa-dashboard-teal) !important;
    border: 1px solid var(--epa-dashboard-teal) !important;
    box-shadow: none !important;
    transition: background-color .12s ease, border-color .12s ease, color .12s ease, transform .08s ease;
}

/* A light visual response on hover/focus, while retaining the wireframe state. */
.epa-dashboard-shell .epa-button:hover,
.epa-dashboard-shell .epa-form button:hover,
.epa-dashboard-shell .wp-core-ui .epa-button:hover,
.epa-dashboard-shell .epa-form input[type="submit"]:hover,
.epa-dashboard-shell input[type="submit"].epa-button:hover,
.epa-dashboard-shell .button.epa-button:hover,
.epa-dashboard-shell .epa-button:focus,
.epa-dashboard-shell .epa-form button:focus,
.epa-dashboard-shell .wp-core-ui .epa-button:focus,
.epa-dashboard-shell .epa-form input[type="submit"]:focus,
.epa-dashboard-shell input[type="submit"].epa-button:focus,
.epa-dashboard-shell .button.epa-button:focus {
    background: #EEF8F7 !important;
    color: var(--epa-dashboard-teal) !important;
    border-color: var(--epa-dashboard-teal) !important;
}

.epa-dashboard-shell .epa-button:focus-visible,
.epa-dashboard-shell .epa-form button:focus-visible,
.epa-dashboard-shell .wp-core-ui .epa-button:focus-visible,
.epa-dashboard-shell .epa-form input[type="submit"]:focus-visible,
.epa-dashboard-shell input[type="submit"].epa-button:focus-visible,
.epa-dashboard-shell .button.epa-button:focus-visible {
    outline: 2px solid rgba(11, 92, 89, .42) !important;
    outline-offset: 2px;
}

/* Filled action state: only while the user is actively pressing the button. */
.epa-dashboard-shell .epa-button:active,
.epa-dashboard-shell .epa-form button:active,
.epa-dashboard-shell .wp-core-ui .epa-button:active,
.epa-dashboard-shell .epa-form input[type="submit"]:active,
.epa-dashboard-shell input[type="submit"].epa-button:active,
.epa-dashboard-shell .button.epa-button:active,
.epa-dashboard-shell .epa-button[aria-pressed="true"],
.epa-dashboard-shell .epa-form button[aria-pressed="true"],
.epa-dashboard-shell .epa-button.epa-button-pressed {
    background: var(--epa-dashboard-teal) !important;
    color: #FFFFFF !important;
    border-color: var(--epa-dashboard-teal) !important;
    transform: translateY(1px);
}

/* Destructive actions follow the same wireframe / pressed-state rule. */
.epa-dashboard-shell .epa-button-danger,
.epa-dashboard-shell .epa-button-danger:hover,
.epa-dashboard-shell .epa-button-danger:focus {
    background: #FFFFFF !important;
    color: var(--epa-dashboard-teal) !important;
    border-color: var(--epa-dashboard-teal) !important;
}

.epa-dashboard-shell .epa-button-danger:active,
.epa-dashboard-shell .epa-button-danger[aria-pressed="true"],
.epa-dashboard-shell .epa-button-danger.epa-button-pressed {
    background: var(--epa-dashboard-teal) !important;
    color: #FFFFFF !important;
    border-color: var(--epa-dashboard-teal) !important;
}

.epa-dashboard-shell .epa-button[disabled],
.epa-dashboard-shell .epa-form button[disabled],
.epa-dashboard-shell .epa-form input[type="submit"][disabled] {
    background: #FFFFFF !important;
    color: #98AAA8 !important;
    border-color: #B7C8C6 !important;
    cursor: not-allowed;
    opacity: 1 !important;
}
