/* ===================================================================
   Overrides â€” job pages + global header tweaks
   KhÃ´ng sá»­a dist/main.css (compiled Tailwind).
   =================================================================== */

/*
 * Ã” Ä‘áº¿m job (HÆ°á»›ng dáº«n / Giáº£i phÃ¡p / CÃ´ng cá»¥ / KhÃ³a há»c) â€” trang /cong-viec + popup.
 * Neo teal (foundation token color), skyâ€“cyan / blue / emerald; dark: ná»n Ä‘áº­m hÆ¡n, chá»¯ sÃ¡ng cool.
 */
:root {
    --bess-stat-overview-bg: color-mix(in srgb, var(--color-accent) 8%, transparent);
    --bess-stat-overview-fg: var(--text-light-accent);
    --bess-stat-overview-border: color-mix(in srgb, var(--color-accent) 11%, transparent);
    --bess-stat-sol-bg: rgba(14, 165, 233, 0.08);
    --bess-stat-sol-fg: #0c4a6e;
    --bess-stat-sol-border: rgba(14, 165, 233, 0.11);
    --bess-stat-tool-bg: rgba(59, 130, 246, 0.08);
    --bess-stat-tool-fg: #1e3a8a;
    --bess-stat-tool-border: rgba(59, 130, 246, 0.11);
    --bess-stat-train-bg: rgba(16, 185, 129, 0.08);
    --bess-stat-train-fg: #065f46;
    --bess-stat-train-border: rgba(16, 185, 129, 0.11);
}

html.dark {
    --bess-stat-overview-bg: color-mix(in srgb, var(--color-accent) 22%, transparent);
    --bess-stat-overview-fg: #99f6e4;
    --bess-stat-overview-border: rgba(45, 212, 191, 0.175);
    --bess-stat-sol-bg: rgba(14, 165, 233, 0.18);
    --bess-stat-sol-fg: #7dd3fc;
    --bess-stat-sol-border: rgba(56, 189, 248, 0.175);
    --bess-stat-tool-bg: rgba(59, 130, 246, 0.2);
    --bess-stat-tool-fg: #93c5fd;
    --bess-stat-tool-border: rgba(96, 165, 250, 0.19);
    --bess-stat-train-bg: rgba(16, 185, 129, 0.2);
    --bess-stat-train-fg: #6ee7b7;
    --bess-stat-train-border: rgba(52, 211, 153, 0.19);
}

/* Sidebar /cong-viec/: tÃªn job cha (cáº¥p trÃªn job cáº¥p 2), cÃ¹ng cá»¡ vá»›i title */
.bess-knowledge-sidebar-left .position-context__parent {
    display: flex;
    align-items: center;
    gap: 3px;
    margin: 0.35rem 0 0.45rem;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text-light-primary);
    pointer-events: none;
    user-select: none;
}

.bess-knowledge-sidebar-left .position-context__parent-icon.material-symbols-outlined {
    font-size: 10px;
    font-weight: 700;
    width: 10px;
    height: 10px;
    line-height: 1;
    color: var(--text-light-primary);
    font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 0, "opsz" 24;
}

.bess-knowledge-sidebar-left .sidebar-header--position .position-context__title {
    font-size: 1.125rem;
}

#bess-sidebar-left .sidebar-nav.position-left-sidebar {
    padding: 8px 12px 36px;
}

/* P1.6: title margin cho trang cong-viec */
.bess-knowledge-main-shell--cong-viec .bess-header-card__title {
    margin: 5px 0px -5px !important;
}

/* --- Search trigger (#bess-header): Ä‘á»“ng bá»™ theme toggle (icon-only; trá»« job single cÃ³ chá»¯) --- */
#bess-header .bess-header-search-trigger:not(.bess-job-search-trigger) {
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    padding: 0;
    box-sizing: border-box;
    border-radius: 999px;
    border: 0.5px solid var(--border-default);
    background: var(--bg-surface);
    color: var(--text-light-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--dur-base) var(--ease-out);
    flex-shrink: 0;
}

#bess-header .bess-header-search-trigger:not(.bess-job-search-trigger):hover {
    background: var(--border-light);
}

#bess-header .bess-header-search-trigger:not(.bess-job-search-trigger) svg {
    width: 14px;
    height: 14px;
    color: var(--text-light-secondary);
}

/* Job title trong sidebar cong-viec: khÃ´ng link */
.bess-knowledge-sidebar-left .bess-ks-tree-link--no-nav {
    cursor: default;
    pointer-events: none;
    color: var(--text-light-primary);
}

/* P2.1: global pill-text gap */
.bess-landing-pill-text {
    gap: 2px !important;
}

/* /vi-tri/ sidebar: khÃ³a khi chÆ°a gáº¯n job */
.bess-knowledge-sidebar-left .bess-ks-tree-link--locked {
    cursor: default;
    color: var(--text-light-secondary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
}

.bess-knowledge-sidebar-left .bess-ks-tree-row--locked .nav-lock-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0.85;
}

.bess-knowledge-sidebar-left .bess-ks-tree-row--locked .nav-lock-ms {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* â”€â”€ NÃºt nav job trong header (chá»‰ /cong-viec/*) â”€â”€ */
.bess-job-nav-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px !important;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 999px;
    white-space: nowrap;
    max-width: 220px;
    border: 0.5px solid var(--border-default);
    background: var(--bg-surface);
    color: var(--text-light-secondary);
    cursor: pointer;
    font-family: inherit;
    transition: background var(--dur-base) var(--ease-out);
}

.bess-job-nav-trigger:hover {
    background: var(--border-light);
}

.bess-job-nav-trigger .material-symbols-outlined {
    font-size: 16px;
    flex-shrink: 0;
}

.bess-job-nav-trigger__text {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-light-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}

.bess-job-search-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px !important;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 999px;
    white-space: nowrap;
    border: 0.5px solid var(--border-default);
    background: var(--bg-surface);
    color: var(--text-light-secondary);
    cursor: pointer;
    font-family: inherit;
    transition: background var(--dur-base) var(--ease-out);
    flex-shrink: 0;
}

.bess-job-search-trigger:hover {
    background: var(--border-light);
}

.bess-job-search-trigger svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* â”€â”€ Overlay job nav: full viewport, ná»n má» (backdrop tÃ¡ch lá»›p) â”€â”€ */
.bess-job-nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    box-sizing: border-box;
}

.bess-job-nav-overlay[hidden] {
    display: none;
}

.bess-job-nav-overlay__backdrop {
    position: absolute;
    inset: 0;
    cursor: default;
}

.bess-job-nav-overlay__panel {
    position: relative;
    z-index: 1;
    flex: 1;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg-surface);
}

.bess-job-nav-overlay__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 0.5px solid var(--border-default);
    flex-shrink: 0;
}

.bess-job-nav-overlay__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.bess-job-nav-overlay__icon {
    font-size: 18px;
    color: var(--text-light-secondary);
    flex-shrink: 0;
}

.bess-job-nav-overlay__title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-light-primary);
}

.bess-job-nav-overlay__close {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border: 0.5px solid var(--border-default);
    border-radius: var(--radius-sm, 6px);
    background: var(--border-light);
    color: var(--text-light-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-family: inherit;
    transition: background 0.15s ease;
}

.bess-job-nav-overlay__close:hover {
    background: var(--border-light);
}

.bess-job-nav-overlay__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

.bess-job-nav-overlay__empty {
    margin: 0;
    font-size: 0.875rem;
    color: var(--text-light-secondary);
    padding: 16px 18px 20px;
}

/* Popup: cÃ¹ng cÃ¢y /cong-viec + sidebar cáº¥p 1 */
.bess-job-nav-cv-layout {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
}

.bess-job-nav-cv-sidebar {
    flex-shrink: 0;
    width: min(220px, 32vw);
    border-right: 0.5px solid var(--border-default);
    padding: 12px 10px 12px 14px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--border-light);
}

.bess-job-nav-cv-sidebar__link {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border-radius: var(--radius-md, 8px);
    text-decoration: none;
    color: var(--text-light-secondary);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    transition:
        background 0.12s ease,
        color 0.12s ease,
        box-shadow 0.12s ease;
    border: 0.5px solid transparent;
}

.bess-job-nav-cv-sidebar__link:hover {
    background: var(--bg-surface);
    color: var(--text-light-primary);
    border-color: var(--border-default);
}

.bess-job-nav-cv-sidebar__link.is-active {
    background: var(--text-light-accent-hover-bg);
    color: var(--text-light-accent);
    border-color: color-mix(in srgb, var(--color-accent) 24%, transparent);
    box-shadow: var(--shadow-level-1);
}

.bess-job-nav-cv-sidebar__num {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 800;
    color: var(--text-light-accent);
    letter-spacing: 0.04em;
    background: var(--text-light-accent-hover-bg);
    border: 0.5px solid color-mix(in srgb, var(--color-accent) 16%, transparent);
    border-radius: var(--radius-sm);
    padding: 2px 7px;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
}

.bess-job-nav-cv-sidebar__link.is-active .bess-job-nav-cv-sidebar__num {
    background: var(--bg-surface);
}

.bess-job-nav-cv-sidebar__label {
    flex: 1;
    min-width: 0;
}

.bess-job-nav-cv-main {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 16px 18px 20px;
}

#bess-job-nav-cv-scroll .bess-cv-section[id^="bess-cv-root-"] {
    scroll-margin-top: 12px;
}

@media (max-width: 700px) {
    .bess-job-nav-cv-layout {
        flex-direction: column;
    }

    .bess-job-nav-cv-sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 0.5px solid var(--border-default);
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px 12px;
        max-height: none;
    }

    .bess-job-nav-cv-sidebar__link {
        flex: 1 1 calc(50% - 4px);
        min-width: 140px;
    }
}

/* â”€â”€ Solution / tool card grid (tá»•ng quan job) â”€â”€ */
.bess-card-body--sol-grid {
    padding: 16px;
}

.bess-sol-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

@media (max-width: 600px) {
    .bess-sol-grid {
        grid-template-columns: 1fr;
    }
}

.bess-sol-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 0.5px solid var(--border-default);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    background: var(--bg-surface);
    transition: border-color 0.15s, box-shadow 0.15s, background 0.12s;
}

.bess-sol-card:hover {
    border-color: color-mix(in srgb, var(--color-accent) 24%, transparent);
    box-shadow: var(--shadow-level-2);
    background: var(--border-light);
}

.bess-sol-card__num {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--text-light-accent);
    background: var(--text-light-accent-hover-bg);
    padding: 2px 7px;
    border-radius: 99px;
    flex-shrink: 0;
    line-height: 1.6;
}

.bess-sol-card__title {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-light-primary);
    flex: 1;
    line-height: 1.4;
}

.bess-sol-card__arrow {
    font-size: 16px;
    color: var(--text-light-muted);
    flex-shrink: 0;
    transition: color 0.12s;
}

.bess-sol-card:hover .bess-sol-card__arrow {
    color: var(--text-light-accent);
}

.bess-sol-card--tool {
    cursor: default;
}

.bess-sol-card--tool:hover {
    border-color: rgba(16, 185, 129, 0.4);
    box-shadow: var(--shadow-level-2);
}

.bess-tool-action-btn .material-symbols-outlined {
    font-size: 13px;
}

.bess-tool-lock {
    flex-shrink: 0;
    color: var(--text-light-muted);
    display: inline-flex;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   /cong-viec page (page-cong-viec.php)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Full-width: bá» max-width #bess-main tá»« shell */
body.bess-page-cong-viec #bess-main {
    padding: 0 !important;
    max-width: 100% !important;
}

body.bess-page-cong-viec #bess-main-inner {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

#bess-cong-viec-page {
    min-height: calc(100dvh - var(--header-h));
    background: var(--bg-page);
}

/* â”€â”€ Fix layout trang /cong-viec/ (#bess-page flex row â†’ cá»™t) â”€â”€ */
body.page-template-page-cong-viec #bess-page,
body.page-cong-viec #bess-page,
body.bess-page-cong-viec #bess-page {
    flex-direction: column;
}

body.page-template-page-cong-viec #bess-cong-viec-page,
body.page-cong-viec #bess-cong-viec-page,
body.bess-page-cong-viec #bess-cong-viec-page {
    width: 100%;
    flex: 1 1 auto;
}

.bess-cv-hero {
    padding: var(--sp-16) 0 var(--sp-12);
    background: var(--landing-m3-surface, var(--bg-page));
    border-bottom: 0.5px solid var(--border-light);
}

.bess-cv-hero__inner {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-5);
}

.bess-cv-hero__title {
    font-size: clamp(24px, 3.5vw, 40px);
    font-weight: 800;
    color: var(--text-light-primary);
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin: 0;
}

.bess-cv-hero__br {
    display: none;
}

@media (min-width: 640px) {
    .bess-cv-hero__br {
        display: inline;
    }
}

.bess-cv-hero__sub {
    font-size: var(--type-subhead);
    color: var(--text-light-secondary);
    margin: 0;
    font-weight: 500;
}

.bess-cv-search-wrap {
    width: min(680px, 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-3);
}

.bess-cv-search-bar {
    position: relative;
    width: 100%;
}

.bess-cv-search-bar__icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: var(--text-light-muted);
    pointer-events: none;
}

.bess-cv-search-bar__input {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 18px 14px 48px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--bg-surface);
    color: var(--text-light-primary);
    font-size: 15px;
    font-family: inherit;
    box-shadow: var(--shadow-level-1);
    outline: none;
    transition:
        border-color var(--dur-fast) var(--ease-out),
        box-shadow var(--dur-fast) var(--ease-out);
}

.bess-cv-search-bar__trigger {
    display: block;
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.bess-cv-search-bar__trigger-label {
    display: block;
    color: var(--text-light-muted);
    font-weight: 400;
}

.bess-cv-search-bar__input::-webkit-search-cancel-button,
.bess-cv-search-bar__input::-webkit-search-decoration,
.bess-cv-search-bar__input::-ms-clear {
    display: none;
    -webkit-appearance: none;
    appearance: none;
}

.bess-cv-search-bar__input:focus,
.bess-cv-search-bar__trigger:focus-visible {
    border-color: var(--color-accent);
    box-shadow: var(--shadow-focus), var(--shadow-level-1);
}

.bess-cv-search-hint {
    margin: 0;
    font-size: 12px;
    color: var(--text-light-muted);
    text-align: center;
}

.bess-cv-search-hint em {
    font-style: normal;
    color: var(--text-light-accent);
    font-weight: 500;
}

.bess-cv-tree-section {
    padding: var(--sp-12) 0 var(--sp-16);
}

/* Cá»™t cÃ¢y cÃ´ng viá»‡c: háº¹p hÆ¡n landing máº·c Ä‘á»‹nh 280px (chá»‰ mÃ n hÃ¬nh lá»›n) */
@media (min-width: 1024px) {
    body.page-template-page-cong-viec .bess-cv-tree-inner.bess-landing-container,
    body.page-cong-viec .bess-cv-tree-inner.bess-landing-container,
    body.bess-page-cong-viec .bess-cv-tree-inner.bess-landing-container {
        max-width: calc(var(--content-max-landing, 1180px) - 280px);
    }
}

.bess-cv-tree-inner {
    display: flex;
    flex-direction: column;
    gap: var(--sp-8);
}

/* Trang /cong-viec/: giá»¯ khung header center, áº©n ná»™i dung nav giá»¯a */
body.page-template-page-cong-viec #bess-header .bess-landing-header__center,
body.page-cong-viec #bess-header .bess-landing-header__center,
body.bess-page-cong-viec #bess-header .bess-landing-header__center {
    pointer-events: none;
}

body.page-template-page-cong-viec #bess-header .bess-landing-header__center > *,
body.page-cong-viec #bess-header .bess-landing-header__center > *,
body.bess-page-cong-viec #bess-header .bess-landing-header__center > * {
    visibility: hidden;
}

.bess-cv-tree-header {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding-bottom: var(--sp-5);
    border-bottom: 0.5px solid var(--border-default);
}

.bess-cv-tree-header__icon {
    font-size: 22px;
    color: var(--text-light-accent);
}

.bess-cv-tree-header__title {
    font-size: var(--type-subhead);
    font-weight: 700;
    color: var(--text-light-primary);
    margin: 0;
}

.bess-cv-tree {
    display: flex;
    flex-direction: column;
    gap: var(--sp-10);
}

.bess-cv-section__header {
    display: flex;
    align-items: baseline;
    gap: var(--sp-2);
    margin-bottom: var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 2px solid color-mix(in srgb, var(--color-accent) 16%, transparent);
}

.bess-cv-section__num {
    font-size: 11px;
    font-weight: 800;
    color: var(--text-light-accent);
    letter-spacing: 0.04em;
    flex-shrink: 0;
    background: var(--text-light-accent-hover-bg);
    border: 0.5px solid color-mix(in srgb, var(--color-accent) 16%, transparent);
    border-radius: var(--radius-sm);
    padding: 2px 7px;
}

.bess-cv-section__title {
    font-size: var(--type-subhead);
    font-weight: 700;
    color: var(--text-light-primary);
    margin: 0;
    letter-spacing: -0.01em;
}

.bess-cv-jobs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 6px;
}

.bess-cv-job-item {
    display: flex;
}

.bess-cv-job-link {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: 10px 12px;
    border: 0.5px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--bg-surface);
    color: var(--text-light-primary);
    text-decoration: none;
    transition:
        background var(--dur-fast) var(--ease-out),
        border-color var(--dur-fast) var(--ease-out),
        box-shadow var(--dur-fast) var(--ease-out);
    min-height: 48px;
}

.bess-cv-job-link:hover {
    background: var(--text-light-accent-hover-bg);
    border-color: color-mix(in srgb, var(--color-accent) 24%, transparent);
    box-shadow: var(--shadow-level-1);
}

.bess-cv-job-num {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-light-muted);
    flex-shrink: 0;
    min-width: 2.8rem;
    font-variant-numeric: tabular-nums;
}

.bess-cv-job-title {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-light-primary);
    line-height: 1.4;
}

.bess-cv-job-link:hover .bess-cv-job-title {
    color: var(--text-light-accent);
}

.bess-cv-job-stats {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.bess-cv-stat {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: var(--radius-full, 9999px);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

/* Listing: mÃ u Ã´ Ä‘áº¿m tá»« :root / html.dark */
.bess-cv-stat--overview {
    background: var(--bess-stat-overview-bg);
    color: var(--bess-stat-overview-fg);
    border: 0.5px solid var(--bess-stat-overview-border);
}

.bess-cv-stat--sol {
    background: var(--bess-stat-sol-bg);
    color: var(--bess-stat-sol-fg);
    border: 0.5px solid var(--bess-stat-sol-border);
}

.bess-cv-stat--tool {
    background: var(--bess-stat-tool-bg);
    color: var(--bess-stat-tool-fg);
    border: 0.5px solid var(--bess-stat-tool-border);
}

.bess-cv-stat--train {
    background: var(--bess-stat-train-bg);
    color: var(--bess-stat-train-fg);
    border: 0.5px solid var(--bess-stat-train-border);
}

.bess-cv-job-arrow {
    font-size: 18px;
    color: var(--text-light-muted);
    flex-shrink: 0;
    transition: color var(--dur-fast) var(--ease-out);
}

.bess-cv-job-link:hover .bess-cv-job-arrow {
    color: var(--text-light-accent);
}

.bess-cv-empty {
    color: var(--text-light-muted);
    font-size: var(--type-footnote);
    padding: var(--sp-8) 0;
    text-align: center;
}

@media (max-width: 768px) {
    .bess-cv-hero {
        padding: var(--sp-10) 0 var(--sp-8);
    }

    .bess-cv-hero__title {
        font-size: 22px;
    }

    .bess-cv-tree-section {
        padding: var(--sp-8) 0 var(--sp-12);
    }

    .bess-cv-job-stats {
        display: none;
    }
}

/* Icon alignment trong stat badges (listing) */
.bess-cv-stat .material-symbols-outlined {
    font-size: 11px;
    line-height: 1;
    vertical-align: middle;
    margin-right: 2px;
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

@media (max-width: 480px) {
    .bess-cv-search-bar__input,
    .bess-cv-search-bar__trigger {
        font-size: 14px;
        padding: 12px 14px 12px 44px;
    }
}

/* === Scroll Motion (Lenis + reveal; scroll-motion.js) === */
.bess-scroll-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity 400ms var(--ease-out, cubic-bezier(0.2, 0, 0, 1)),
        transform 400ms var(--ease-out, cubic-bezier(0.2, 0, 1));
    transition-delay: calc(var(--reveal-index, 0) * 50ms);
}

.bess-scroll-reveal--visible {
    opacity: 1;
    transform: translateY(0);
}

#bess-header.bess-header--compact {
    box-shadow: var(--shadow-level-1);
}

@media (prefers-reduced-motion: reduce) {
    .bess-scroll-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ============================================================
   @media print â€” trang /vi-tri/xxx
   ============================================================ */
@media print {
  /* --- áº¨n UI khÃ´ng cáº§n thiáº¿t --- */
  #bess-header,
  #bess-sidebar-left,
  #bess-sidebar-right,
  #bess-bottom-tab,
  .bess-bottom-tab,
  .bess-nav-card,
  .bess-footer-card,
  .bess-header-card--nq-scopes,
  .bess-print-pdf-trigger,
  .bess-toc-fab,
  .bess-app-settings-overlay,
  .bess-app-settings-drawer,
  .bess-position-subheader,
  .bess-sticky-guest-cta,
  .bess-sticky-cta,
  .bess-upgrade-modal {
    display: none !important;
  }

  /* --- Reset layout Ä‘á»ƒ dÃ¹ng toÃ n trang --- */
  html, body {
    background: #fff !important;
    color: #161616 !important;
    font-size: 11pt;
  }

  #bess-page {
    display: block !important;
    padding-top: 0 !important;
  }

  #bess-main {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  #bess-main-inner {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 16pt !important;
  }

  /* --- Há»‡ thá»‘ng giá»¯ mÃ u khi in: má»i block trong ná»™i dung chÃ­nh --- */
  #bess-main-inner,
  #bess-main-inner * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* --- Card: bá» shadow, giá»¯ border nháº¹ --- */
  .bess-card,
  .bess-header-card {
    box-shadow: none !important;
    border: 0.5pt solid #ddd !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* --- TrÃ¡nh vá»¡ trang á»Ÿ giá»¯a card, timeline item --- */
  .bess-card,
  .btl__item,
  .bess-process-card,
  .bess-relation-card,
  .bess-kpi-sub,
  .c3-sub-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* --- CÃ¡c khá»‘i cÃ³ ná»n mÃ u trong trang /vi-tri/: Ã©p giá»¯ mÃ u --- */
  .bess-card-header,
  .bess-env-section__header,
  .bess-env-phap-ly__hero,
  .bess-env-phap-ly__hero-mark,
  .bess-env-vh__card,
  .bess-env-vh__chip,
  .bess-env-vh__num,
  .bess-tag,
  .bess-cv-stat,
  .bess-kpi-badge,
  .badge {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* --- Link: hiá»ƒn thá»‹ URL khi in --- */
  a[href]:after {
    content: none; /* táº¯t náº¿u khÃ´ng muá»‘n hiá»ƒn thá»‹ URL */
  }

  /* --- Ã‰p toÃ n bá»™ block reveal hiá»ƒn thá»‹ trÆ°á»›c khi in --- */
  .bess-scroll-reveal,
  .bess-landing-reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .bess-scroll-reveal--visible,
  .bess-landing-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ============================================================
   PMPro Confirmation + SePay â€” theme-aligned redesign v2
   ============================================================ */

/* 1. Layout trang */
body.pmpro-checkout,
body.pmpro-confirmation,
body.bess-pmpro-confirmation-page,
body.bess-pmpro-confirmation-minimal,
body.pmpro-checkout .pmpro,
body.pmpro-confirmation .pmpro,
body.bess-pmpro-confirmation-page .pmpro,
body.bess-pmpro-confirmation-page .pmpro *:not(.material-symbols-outlined),
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container,
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container *:not(.material-symbols-outlined) {
    font-family: var(--font-body) !important;
}

body.pmpro-checkout input,
body.pmpro-checkout select,
body.pmpro-checkout textarea,
body.pmpro-checkout button,
body.pmpro-confirmation input,
body.pmpro-confirmation select,
body.pmpro-confirmation textarea,
body.pmpro-confirmation button,
body.bess-pmpro-confirmation-page input,
body.bess-pmpro-confirmation-page select,
body.bess-pmpro-confirmation-page textarea,
body.bess-pmpro-confirmation-page button {
    font-family: inherit !important;
}

body.bess-pmpro-confirmation-page .bess-landing-footer__partner-logo {
    max-height: 36px;
    width: auto;
}

/* 2. áº¨n pháº§n thá»«a */
body.bess-pmpro-confirmation-page #bess-header {
    display: none !important;
}

body.bess-pmpro-confirmation-page #bess-page {
    padding-top: 0 !important;
}

body.bess-pmpro-confirmation-minimal .pmpro_message.pmpro_alert,
body.bess-pmpro-confirmation-minimal #pmpro_order_single,
body.bess-pmpro-confirmation-minimal .pmpro_actions_nav {
    display: none !important;
}

/* Trang PMPro confirmation (vd. /membership-checkout/membership-confirmation): luÃ´n áº©n khá»‘i Ä‘Æ¡n hÃ ng chi tiáº¿t */
body.bess-pmpro-confirmation-page #pmpro_order_single {
    display: none !important;
}

/* 3. pmpro_section reset */
body.bess-pmpro-confirmation-minimal .pmpro_section {
    margin: 0;
}

/* 4. Container chÃ­nh */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container {
    padding: 0 16px 0px;
    font-family: var(--font-body);
    color: var(--text-light-primary);
    margin: 0 auto;
}

/* CTA Messenger â€” giá»‘ng desktop má»i breakpoint (trÃ¡nh override icon-only cá»§a header mobile) */
body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap {
    max-width: 480px;
    margin: 30px auto 0;
    padding: 0 16px;
    box-sizing: border-box;
    text-align: center;
}

body.bess-pmpro-confirmation-page .bess-sepay-support-wrap + .pmpro_spacer,
body.bess-pmpro-confirmation-page .bess-sepay-support-wrap ~ .pmpro_spacer {
    display: none !important;
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-cta {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta.bess-landing-user-pill.bess-landing-header-login-prominent {
    gap: 10px;
    padding: 10px;
    border-radius: var(--radius-sm);
    background: var(--color-accent);
    border: 0.5px solid transparent;
    box-shadow: var(--shadow-brand), 0 8px 18px rgb(0 0 0 / 0.1);
    color: var(--color-dark);
    font-size: var(--type-caption-1);
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    transition:
        background var(--dur-base) var(--ease-out),
        box-shadow var(--dur-landing) var(--ease-out),
        transform var(--dur-fast) var(--ease-out);
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta.bess-landing-user-pill.bess-landing-header-login-prominent:hover {
    background: var(--color-accent-hover);
    box-shadow: var(--shadow-brand), 0 12px 28px -6px rgb(0 0 0 / 0.16);
    color: var(--color-dark);
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta.bess-landing-header-login-prominent > .material-symbols-outlined:first-child {
    width: 22px;
    height: 22px;
    min-width: 22px;
    min-height: 22px;
    border-radius: 5px;
    font-size: 14px;
    background: rgb(0 0 40 / 0.10);
    color: var(--color-dark);
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta.bess-landing-header-login-prominent:hover > .material-symbols-outlined:first-child {
    background: rgb(255 255 255 / 0.3);
    color: var(--color-dark);
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta.bess-landing-header-login-prominent .bess-landing-pill-text > span {
    font-size: 12px;
    font-weight: 600;
    color: var(--color-dark);
}

body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta.bess-landing-header-login-prominent .bess-landing-pill-text > small {
    font-size: 9px;
    font-weight: 600;
    color: var(--color-dark);
}

@media (max-width: 1024px) {
    body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap .bess-sepay-support-cta .bess-landing-pill-text {
        display: inline-flex !important;
        flex-direction: column;
        align-items: flex-start;
    }
}

/* â”€â”€ sepay-box: card chÃ­nh â”€â”€ */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-box {
    margin-top: 30px;
    background: var(--bg-surface);
    border: 0.5px solid var(--border-default);
    border-radius: var(--radius-xl, 18px);
    box-shadow: var(--shadow-level-2, 0 2px 8px rgba(0,0,0,.07));
    overflow: hidden;
}

/* â”€â”€ box-title â”€â”€ */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .box-title {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--text-light-secondary);
    background: none;
    border-bottom: none;
    padding: 0px 20px 10px;
    margin: 0;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .box-title strong {
    color: var(--text-light-primary);
    font-weight: 700;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-sepay-package-label {
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    color: var(--text-light-primary);
    padding: 0px 20px 24px;
    margin-bottom: 16px;
    border-bottom: 0.5px solid var(--border-default);
}

/* â”€â”€ QR wrapper: 2 cá»™t Ä‘á»u â”€â”€ */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-qr-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}

@media (max-width: 600px) {
    body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-qr-wrapper {
        grid-template-columns: 1fr !important;
        gap: 24px;
    }
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .qr-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* â”€â”€ QR image â”€â”€ */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .qr-image-box {
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .qr-image-box img {
    width: 214px;
    height: 214px;
    border-radius: var(--radius-md, 10px);
    display: block;
}

/* Info column (plugin: .info-col) */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .info-col {
    padding: 0px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .info-col > p:first-child {
    text-align: center;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .info-col .note {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-left: none;
    border-radius: 0;
    font-size: 12px;
    color: var(--text-light-secondary);
    text-align: center;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row {
    background: var(--border-light);
    border-radius: var(--radius-sm, 8px);
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* Plugin dÃ¹ng <span> nhÃ£n, khÃ´ng cÃ³ class .bank-info-label */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row > span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--text-light-muted);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row .bank-info-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-light-primary);
    word-break: break-all;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight {
    background: var(--text-light-accent-hover-bg);
    border: 0.5px solid color-mix(in srgb, var(--color-accent) 24%, transparent);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight > span {
    color: var(--text-light-accent);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight .bank-info-value,
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight strong {
    color: var(--text-light-accent);
    font-weight: 700;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row strong {
    font-size: 13px;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row strong.copy-text {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 32px;
    text-align: right;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

/* [NÚT COPY SỐ TÀI KHOẢN] Icon dashicons trong nút copy số tài khoản ngân hàng.
   Đặt display: none để ẩn, hoặc display: inline-flex để hiện lại. */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .copy-text .dashicons {
    display: none;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border: 0.5px solid var(--border-default);
    border-radius: var(--radius-sm, 8px);
    background: var(--bg-surface);
    color: var(--text-light-accent);
    font-size: 15px;
    line-height: 1;
    opacity: 1;
    transition:
        background var(--dur-fast, 100ms),
        border-color var(--dur-fast, 100ms),
        color var(--dur-fast, 100ms),
        transform var(--dur-fast, 100ms);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .copy-text:hover .dashicons,
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .copy-text:focus-visible .dashicons {
    background: var(--text-light-accent-hover-bg);
    border-color: color-mix(in srgb, var(--color-accent) 24%, transparent);
    transform: translateY(-1px);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .copy-text.copied .dashicons {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-dark);
    transform: none;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-manual-transfer-label,
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-col > .sepay-divider-label {
    text-align: center;
    font-size: var(--type-caption-2, 11px);
    font-weight: 600;
    color: var(--text-light-muted);
    padding: 8px 0 4px;
    letter-spacing: .03em;
}

/* â”€â”€ sepay-status-checker: redesign Ä‘á»™ng â”€â”€ */
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: 16px 20px 20px;
    border: none;
    border-top: none;
    background: var(--border-light);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker:has(.bess-sepay-ui) > img,
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker:has(.bess-sepay-ui) > span {
    display: none !important;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid var(--border-default);
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: bess-sepay-spin 0.9s linear infinite;
    flex-shrink: 0;
}

@keyframes bess-sepay-spin {
    to { transform: rotate(360deg); }
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-icon {
    font-size: 36px;
    line-height: 1;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-text {
    font-size: var(--type-caption-1, 12px);
    color: var(--text-light-secondary);
    font-weight: 500;
    line-height: 1.45;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-text .bess-sepay-status-body {
    display: block;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-text strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-light-primary);
    margin-bottom: 2px;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker .button,
body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker .button-primary {
    display: none !important;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-dot-pulse {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-dot-pulse span {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--color-accent);
    animation: bess-dot-pulse 1s ease-in-out infinite;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-sepay-ui {
    margin-top: 6px;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-dot-pulse span:nth-child(2) {
    animation-delay: 0.2s;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-dot-pulse span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes bess-dot-pulse {
    0%, 80%, 100% { transform: scale(0.75); opacity: .5; }
    40%           { transform: scale(1);    opacity: 1;   }
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker.is-success {
    background: var(--text-light-accent-hover-bg);
    border-top: none;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker.is-success .sepay-status-text strong {
    color: var(--text-light-accent);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border: 0.5px solid var(--border-default);
    border-radius: var(--radius-sm, 8px);
    background: var(--bg-surface);
    color: var(--text-light-secondary);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--dur-fast, 100ms), color var(--dur-fast, 100ms);
    font-family: inherit;
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-copy-btn:hover {
    background: var(--border-light);
    color: var(--text-light-primary);
}

body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-copy-btn.copied {
    color: var(--text-light-accent);
    border-color: color-mix(in srgb, var(--color-accent) 24%, transparent);
    background: var(--text-light-accent-hover-bg);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-box {
    background: var(--bg-surface);
    border-color: var(--border-default);
    box-shadow: var(--shadow-level-2);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .box-title {
    background: none;
    border-bottom: none;
    color: var(--text-light-secondary);
    font-size: 16px;
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .box-title strong {
    color: var(--text-light-primary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-sepay-package-label {
    color: var(--text-light-primary);
    border-bottom-color: var(--border-default);
}

/* Cá»™t QR / info â€” ghi Ä‘Ã¨ plugin (--color-text-* / #6b7280) */
html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .qr-col > p,
html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .info-col > p {
    color: var(--text-light-secondary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .info-col .note {
    color: var(--text-light-muted);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-manual-transfer-label,
html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-col > .sepay-divider-label {
    color: var(--text-light-muted);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row {
    background: var(--border-light);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row > span {
    color: var(--text-light-muted);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row strong {
    color: var(--text-light-primary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight {
    background: var(--text-light-accent-hover-bg);
    border-color: color-mix(in srgb, var(--color-accent) 24%, transparent);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight > span {
    color: var(--text-light-accent);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bank-info-row.highlight strong {
    color: var(--text-light-accent);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .copy-text .dashicons {
    color: var(--text-light-muted);
    opacity: 0.9;
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .copy-text.copied .dashicons {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-dark);
    opacity: 1;
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-text,
html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-text .bess-sepay-status-body {
    color: var(--text-light-secondary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-text strong {
    color: var(--text-light-primary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker.is-success .sepay-status-text strong {
    color: var(--text-light-accent);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-dot-pulse span {
    background: var(--color-accent);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker {
    background: var(--border-light);
    border: none;
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .sepay-status-checker.is-success {
    background: var(--text-light-accent-hover-bg);
    border: none;
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-copy-btn {
    background: var(--bg-page);
    border-color: var(--border-default);
    color: var(--text-light-secondary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .bess-copy-btn:hover {
    background: var(--border-light);
    color: var(--text-light-primary);
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .qr-image-box {
    border: none;
}

html.dark body.bess-pmpro-confirmation-minimal .pmpro-sepay-container .qr-image-box img {
    box-shadow: 0 0 0 1px var(--border-default);
}

@media (max-width: 480px) {
    body.bess-pmpro-confirmation-minimal .pmpro-sepay-container {
        padding: 0 12px;
    }

    body.bess-pmpro-confirmation-minimal .bess-sepay-support-wrap {
        margin-bottom: 30px;
        padding: 0 12px;
    }

}

@media (max-width: 768px) {
    body.bess-pmpro-confirmation-minimal .bess-landing-header__center {
        display: none !important;
    }

    body.bess-pmpro-confirmation-minimal .bess-landing-back-link--confirmation .bess-landing-back-link__text {
        display: inline;
    }
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_confirmation {
    max-width: 600px;
    margin: 0 auto;
    padding: 24px 16px 40px;
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_section {
    margin: 0;
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_message {
    border-radius: var(--radius-lg, 14px);
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_card {
    background: var(--bg-surface);
    border: 0.5px solid var(--border-default);
    border-radius: var(--radius-xl, 18px);
    box-shadow: var(--shadow-level-1);
    padding: 20px;
    margin-top: 16px;
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_card_title {
    font-size: var(--type-subhead, 15px);
    font-weight: 700;
    color: var(--text-light-primary);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_actions_nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
    padding: 10px 20px;
    border-radius: var(--radius-md, 10px);
    background: var(--color-accent);
    color: var(--color-dark);
    font-size: var(--type-footnote, 13px);
    font-weight: 700;
    text-decoration: none;
    box-shadow: var(--shadow-brand);
    margin-top: 20px;
    width: 100%;
    box-sizing: border-box;
    transition: background var(--dur-fast) var(--ease-out);
}

body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_actions_nav a:hover {
    background: var(--color-accent-hover);
}

html.dark body.bess-pmpro-confirmation-page:not(.bess-pmpro-confirmation-minimal) .pmpro_card {
    background: var(--bg-surface);
    border-color: var(--border-default);
}

/* =====================================================
   DARK MODE â€” Front Page / Home
   Trigger: html.dark (set by app.js themeToggle)
   ===================================================== */

/* Background & surface tá»•ng */
html.dark body.front-page #bess-page,
html.dark body.front-page #bess-main.bess-home-main,
html.dark .bess-landing {
    background: var(--bg-page);
}

/* Landing sections */
html.dark .bess-landing-hero {
    background: var(--bg-page);
}

html.dark .bess-landing-problem {
    background: color-mix(in srgb, var(--bg-surface) 60%, var(--bg-page));
}

html.dark .bess-landing-steps,
html.dark .bess-landing-use-cases {
    background: var(--bg-page);
}

html.dark .bess-landing-solutions {
    background: var(--bg-surface);
}

html.dark .bess-landing-before-after {
    background: color-mix(in srgb, var(--bg-surface) 40%, var(--bg-page));
}

html.dark .bess-landing-cta {
    background: var(--bg-surface);
}

/* Cards */
html.dark .bess-landing-card {
    background: var(--bg-page);
    border-color: var(--border-default);
}

html.dark .bess-landing-problem__impact {
    background: color-mix(in srgb, var(--bg-page) 80%, transparent);
    border-color: var(--border-default);
}

/* Module sections */
html.dark .bess-landing-module {
    background: var(--bg-page);
    border-color: var(--border-default);
}

html.dark .bess-landing-module--alt {
    background: var(--bg-surface);
}

html.dark .bess-landing-module__visual {
    background: color-mix(in srgb, var(--color-accent) 6%, var(--bg-page));
}

html.dark .bess-landing-module__visual-card {
    background: var(--bg-page);
    border-color: var(--border-default);
}

/* Steps section */
html.dark .bess-landing-steps__quote {
    background: color-mix(in srgb, var(--bg-surface) 70%, var(--bg-page));
}

/* Hero card */
html.dark .bess-landing-hero__card {
    background: var(--bg-page);
    border-color: var(--border-default);
}

/* Value section (dark bg by default, Ä‘á»§ contrast rá»“i) */
html.dark .bess-landing-value {
    background: color-mix(in srgb, #004f51 88%, #141414);
}

/* Chips */
html.dark .bess-landing-chips span {
    background: var(--bg-page);
    border-color: var(--border-default);
    color: var(--text-light-primary);
}

/* Before/After grid */
html.dark .bess-landing-before-after__col--before,
html.dark .bess-landing-before-after__col--after {
    background: var(--bg-page);
}

/* Footer landing */
html.dark .bess-landing-footer {
    background: var(--bg-surface);
    border-color: var(--border-default);
}

/* Organization landing â€” shell full-width (trÃ¡nh #main lg:flex-row lÃ m khá»‘i ná»™i dung khÃ´ng giÃ£n ngang). */
body.bess-org-landing #page,
body.bess-org-landing #main {
    width: 100%;
    max-width: none;
}

/* =====================================================
   DARK MODE â€” Organization landing (#bess-org-landing-wrap)
   Tailwind CDN + html.dark / .dark (theme toggle)
   ===================================================== */

html.dark #bess-org-landing-wrap {
    background-color: var(--bg-page);
    color: var(--text-light-primary);
}

html.dark #bess-org-landing-wrap.mesh-bg {
    background-color: var(--bg-page);
    background-image:
        radial-gradient(at 0% 0%, color-mix(in srgb, var(--color-accent) 12%, transparent) 0px, transparent 50%),
        radial-gradient(at 100% 0%, color-mix(in srgb, var(--color-accent) 18%, transparent) 0px, transparent 50%);
}

html.dark #bess-org-landing-wrap .glass-card {
    background: color-mix(in srgb, var(--bg-page) 85%, transparent);
    border-color: var(--border-default);
}

html.dark #bess-org-landing-wrap .bg-white,
html.dark #bess-org-landing-wrap .bg-slate-50 {
    background-color: var(--bg-surface) !important;
}

html.dark #bess-org-landing-wrap .border-slate-100,
html.dark #bess-org-landing-wrap .border-slate-200 {
    border-color: var(--border-default) !important;
}

html.dark #bess-org-landing-wrap .pricing-mesh-gradient {
    background-color: color-mix(in srgb, var(--color-accent) 35%, var(--bg-page));
}

html.dark #bess-org-landing-wrap .text-on-surface {
    color: var(--text-light-primary) !important;
}

html.dark #bess-org-landing-wrap .text-on-surface-variant {
    color: var(--text-light-secondary) !important;
}

/* glass-card â€” page-organization (vÃ  dark) */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
}

html.dark .glass-card {
    background: rgba(30, 40, 50, 0.6);
}

/* Organization landing â€” nav scroll-spy */
.bess-landing-header__nav-link--active {
    color: var(--text-light-accent) !important;
    font-weight: 700;
}

/* Trang organization: nÃºt Ä‘Äƒng nháº­p sÃ¡ng (ná»n tráº¯ng) */
.bess-org-landing #bess-header .bess-landing-header .bess-org-login-light {
    background: var(--bg-surface) !important;
    color: var(--text-light-accent) !important;
    border: 0.5px solid var(--border-default) !important;
    box-shadow: var(--shadow-level-1) !important;
}

.bess-org-landing #bess-header .bess-landing-header .bess-org-login-light .bess-landing-pill-text > span {
    color: var(--text-light-accent) !important;
}

.bess-org-landing #bess-header .bess-landing-header .bess-org-login-light .bess-landing-pill-text > small {
    color: var(--text-light-secondary) !important;
}

.bess-org-landing #bess-header .bess-landing-header .bess-org-login-light > .material-symbols-outlined:first-child {
    background: var(--text-light-accent-hover-bg) !important;
    color: var(--text-light-accent) !important;
}

.bess-org-landing .bess-landing-header__account-desktop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

/* pricing section trust badges + mesh */
#bess-org-landing-wrap #pricing .pricing-mesh-gradient {
    --primary-fixed-dim: rgba(255, 255, 255, 0.85);
}

#bess-org-landing-wrap #pricing .material-symbols-outlined {
    color: inherit;
}

/* App content accents: avoid solid brand background + inverse text on small UI markers. */
.bess-header-card__chip,
.bess-header-card__chip.is-active,
.bess-header-card__chip:not(.is-active),
.bess-header-card__chip:not(.is-active):hover {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border-button-light, var(--border-button-light)) !important;
}

.bess-card-header__badge,
.toc-item.active .toc-marker,
.toc-item.active .toc-marker.toc-marker--star {
    background: var(--color-accent) !important;
    border-width: 0 !important;
    border-color: transparent !important;
    color: var(--color-dark) !important;
    cursor: default !important;
    transition: none !important;
    box-shadow: none !important;
}

.bess-header-card__chip-icon,
.bess-header-card__chip .material-symbols-outlined,
.toc-item.active .toc-marker--star .material-symbols-outlined {
    color: inherit !important;
}


