/* Shared customer portal theme. Palette and typography come from admin-modern.css. */
.customer-shell,
.customer-auth {
    --customer-nav-width: 244px;
    --customer-header-height: 68px;
    --customer-control-line: #d5dbe7;
    --customer-accent: var(--admin-accent-strong);
    --td-ff-body: var(--admin-font);
    --td-heading: var(--admin-ink);
    --td-primary: var(--customer-accent);
    --td-secondary: var(--customer-accent);
    --td-tertiary: var(--customer-accent);
    --td-text-primary: var(--admin-muted);
    --td-placeholder: var(--admin-muted);
    --td-sidecar: var(--customer-accent);
    --td-pinkDiamond: var(--admin-ink);
    --td-kittensEye: var(--customer-accent);
    --td-pureLaughter: var(--admin-ink);
    --td-candleLight: var(--customer-accent);
    --td-kissable: #b42318;
    --td-seaweed: #92400e;
    --td-magenta: var(--customer-accent);
    --td-success: #08734b;
    --td-green: #08734b;
    --td-warning: #92400e;
    --td-danger: #b42318;
    --bs-body-color: var(--admin-ink);
    --bs-link-color: var(--customer-accent);
    --bs-link-hover-color: #3830bf;
    background: var(--admin-canvas);
    color: var(--admin-ink);
    font: 500 .875rem/1.55 var(--admin-font);
    min-height: 100vh;
    overflow-x: clip;
}
.customer-shell :is(h1, h2, h3, h4, h5, h6),
.customer-auth :is(h1, h2, h3, h4, h5, h6) {
    color: var(--admin-ink);
    font-family: var(--admin-font);
    letter-spacing: -.025em;
}
.customer-shell p,
.customer-auth p { font-family: var(--admin-font); }
.customer-shell :focus-visible,
.customer-auth :focus-visible { outline: 2px solid var(--admin-accent); outline-offset: 3px; }
.customer-shell [data-lucide],
.customer-auth [data-lucide] { width: 18px; height: 18px; flex: 0 0 auto; vertical-align: middle; }
.customer-shell [hidden],
.customer-auth [hidden] { display: none !important; }

.customer-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    height: var(--customer-header-height);
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 0 24px 0 0;
    background: var(--admin-surface);
    border-bottom: 1px solid var(--admin-line);
    box-shadow: 0 3px 16px rgba(23, 32, 51, .035);
}
.customer-header-brand {
    width: var(--customer-nav-width);
    height: 100%;
    flex: 0 0 var(--customer-nav-width);
    display: flex;
    align-items: center;
    background: var(--admin-sidebar);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 0 18px;
}
.customer-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
    text-decoration: none;
    color: #f8fafc;
}
.customer-brand:hover { color: #f8fafc; }
.customer-brand > span:last-child { display: grid; gap: 1px; min-width: 0; }
.customer-brand strong, .customer-brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-brand strong { font-size: .94rem; font-weight: 800; }
.customer-brand small { color: #aeb8cb; font-size: .72rem; }
.customer-brand img,
.customer-brand-icon {
    display: grid;
    place-items: center;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
    color: var(--customer-accent);
}
.customer-header-title { font-weight: 800; color: var(--admin-ink); }
.customer-shell .customer-desktop-toggle { display: none; }
.customer-header-actions { display: flex; align-items: center; gap: 10px; margin-inline-start: auto; min-width: 0; }
.customer-header-logout { margin: 0; }
.customer-icon-button,
.customer-profile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--admin-ink);
    background: var(--admin-surface);
    border: 1px solid var(--admin-line);
    border-radius: 10px;
    min-width: 40px;
    min-height: 40px;
    text-decoration: none;
}
.customer-icon-button:hover,
.customer-profile-link:hover { background: var(--admin-accent-soft); color: var(--customer-accent); }
.customer-profile-link { padding: 3px 10px 3px 4px; min-width: 0; font-weight: 700; }
.customer-profile-link img { width: 32px; height: 32px; border-radius: 7px; object-fit: cover; }
.customer-profile-link span { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.customer-sidebar {
    --bs-offcanvas-width: min(310px, 88vw);
    --bs-offcanvas-bg: var(--admin-sidebar);
    --bs-offcanvas-color: #e2e8f0;
    background: var(--admin-sidebar);
    color: #e2e8f0;
}
.customer-sidebar .offcanvas-header { min-height: 62px; font-weight: 800; border-bottom: 1px solid #27334a; }
.customer-nav { display: flex; flex-direction: column; gap: 20px; overflow-y: auto; min-height: 0; padding: 18px 12px; }
.customer-nav-group { display: grid; gap: 3px; }
.customer-nav-group > p {
    margin: 0 0 3px 10px;
    color: #9caac0;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.customer-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 40px;
    padding: 7px 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #d2daea;
    font-size: .83rem;
    font-weight: 700;
    text-decoration: none;
    text-align: start;
}
.customer-nav-link:hover { background: #1d2940; color: #fff; }
.customer-nav-link.is-active { background: #30305c; color: #fff; }
.customer-nav-link.is-active svg { color: #b7b2ff; }
.customer-nav-link svg { width: 17px; height: 17px; }
.customer-nav-end { padding-top: 10px; border-top: 1px solid #27334a; }
.customer-main { min-width: 0; min-height: calc(100vh - var(--customer-header-height)); padding: clamp(16px, 2.4vw, 34px); }
.customer-main > .container { max-width: none; padding-inline: 0; }
.customer-skip-link { position: fixed; top: 8px; left: 8px; z-index: 1100; transform: translateY(-150%); background: #fff; border-radius: 6px; padding: 9px 14px; }
.customer-skip-link:focus { transform: none; }
@media (min-width: 992px) {
    .customer-shell .customer-desktop-toggle { display: inline-flex; }
    .customer-sidebar.offcanvas-lg {
        position: fixed;
        inset: var(--customer-header-height) auto 0 0;
        display: flex;
        width: var(--customer-nav-width);
        background: var(--admin-sidebar) !important;
    }
    .customer-main { margin-inline-start: var(--customer-nav-width); }
    [data-customer-nav="collapsed"] .customer-shell { --customer-nav-width: 68px; }
    [data-customer-nav="collapsed"] .customer-header-brand { justify-content: center; padding-inline: 0; }
    [data-customer-nav="collapsed"] .customer-nav { padding-inline: 10px; gap: 10px; }
    [data-customer-nav="collapsed"] .customer-nav-group + .customer-nav-group { border-top: 1px solid #27334a; padding-top: 10px; }
    [data-customer-nav="collapsed"] .customer-nav-group > p { display: none; }
    [data-customer-nav="collapsed"] .customer-nav-link { justify-content: center; padding-inline: 0; }
    [data-customer-nav="collapsed"] :is(.customer-nav-link > span, .customer-header-brand .customer-brand > span:last-child) {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
}
@media (max-width: 991.98px) {
    .customer-header { padding: 0 14px; gap: 10px; }
    .customer-header-brand { width: auto; flex: 0 1 auto; padding: 0; border: 0; background: transparent; min-width: 0; }
    .customer-header-brand .customer-brand { color: var(--admin-ink); }
    .customer-header-brand .customer-brand small { color: var(--admin-muted); }
    .customer-header-title { display: none; }
}
@media (max-width: 575.98px) {
    .customer-shell { --customer-header-height: 60px; }
    .customer-header-actions { gap: 6px; }
    .customer-profile-link { padding: 3px; }
    .customer-profile-link span, .customer-header-brand .customer-brand small { display: none; }
    .customer-header-brand .customer-brand { gap: 6px; }
    .customer-header-brand .customer-brand img { width: 27px; height: 27px; flex-basis: 27px; }
    .customer-header-brand .customer-brand strong { font-size: .79rem; }
}

.customer-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--customer-accent); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.customer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--customer-control-line);
    border-radius: 9px;
    min-height: 42px;
    padding: 8px 13px;
    font: 800 .83rem/1.4 var(--admin-font);
    background: var(--admin-surface);
    color: var(--admin-ink);
    text-align: center;
    text-decoration: none;
}
.customer-button:hover { color: var(--customer-accent); border-color: #c4befc; background: var(--admin-accent-soft); }
.customer-button-primary,
.customer-button-primary:hover { background: var(--customer-accent); border-color: var(--customer-accent); color: #fff; }
.customer-button-primary:hover { background: #4037cc; border-color: #4037cc; }
.customer-button-small { min-height: 36px; font-size: .77rem; padding: 6px 10px; }
.customer-icon-tile {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 10px;
    color: var(--customer-accent);
    background: var(--admin-accent-soft);
}
.customer-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
    background: var(--admin-accent-soft);
    border: 1px solid #dedbfd;
    border-radius: 10px;
    color: #39308e;
}
.customer-notice span { flex: 1 1 150px; }
.customer-notice a { color: #39308e; text-decoration: underline; font-weight: 800; }
.customer-dashboard { display: grid; gap: 20px; }
.customer-page-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px 20px; flex-wrap: wrap; }
.customer-page-heading h1, .customer-auth-form h1 { font-size: clamp(1.75rem, 3vw, 2.3rem); line-height: 1.12; margin: 5px 0 7px; font-weight: 800; }
.customer-page-heading p, .customer-card-heading p, .customer-metric p, .customer-empty p { margin: 0; color: var(--admin-muted); font-size: .84rem; }
.customer-page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.customer-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.customer-card { min-width: 0; background: var(--admin-surface); border: 1px solid var(--admin-line); border-radius: var(--admin-radius); box-shadow: var(--admin-shadow); }
.customer-metric { display: flex; align-items: center; gap: 12px; padding: 16px; }
.customer-metric div { min-width: 0; }
.customer-metric strong { font-size: clamp(1rem, 1.85vw, 1.4rem); font-weight: 800; letter-spacing: -.03em; overflow-wrap: anywhere; }
.customer-dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 16px; align-items: start; }
.customer-card-heading { display: flex; justify-content: space-between; align-items: center; gap: 9px; padding: 16px; border-bottom: 1px solid var(--admin-line); }
.customer-card-heading h2 { margin: 0; font-size: 1rem; font-weight: 800; }
.customer-card-heading p { margin-top: 4px; }
.customer-card-heading a { flex: 0 0 auto; }
.customer-table { width: 100%; border-collapse: collapse; font-size: .82rem; text-align: start; }
.customer-table :is(th, td) { padding: 10px 12px; border-bottom: 1px solid var(--admin-line); vertical-align: middle; }
.customer-table tbody tr:last-child td { border-bottom: 0; }
.customer-table thead th { background: #f8f9fc; font-size: .73rem; color: var(--admin-muted); white-space: nowrap; }
.customer-table td:first-child { min-width: 160px; overflow-wrap: anywhere; }
.customer-table small { display: block; color: var(--admin-muted); }
.customer-status { display: inline-block; border-radius: 20px; padding: 3px 8px; background: #eef2f7; color: #45516b; font-weight: 700; }
.customer-status-success { background: #e7f7ef; color: #096944; }
.customer-status-pending { background: #fff3d9; color: #854600; }
.customer-status-failed { background: #fef0ee; color: #a22b21; }
.customer-empty { display: grid; justify-items: center; gap: 8px; padding: 30px 15px; text-align: center; }
.customer-quick-links > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    color: var(--admin-ink);
    text-decoration: none;
    font-weight: 700;
}
.customer-quick-links > a + a { border-top: 1px solid var(--admin-line); }
.customer-quick-links > a:last-child { border-radius: 0 0 var(--admin-radius) var(--admin-radius); }
.customer-quick-links > a:hover { background: #f7f7ff; color: var(--customer-accent); }
.customer-quick-links > a > svg { margin-inline-start: auto; }
.customer-quick-links .customer-icon-tile { width: 34px; height: 34px; flex-basis: 34px; }
.customer-activity dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; padding: 16px; margin: 0; }
.customer-activity dl > div { background: #f7f8fc; border-radius: 8px; padding: 9px 11px; min-width: 0; }
.customer-activity dt { color: var(--admin-muted); font-size: .76rem; font-weight: 700; }
.customer-activity dd { margin: 2px 0 0; font-weight: 800; overflow-wrap: anywhere; }
.customer-referral .customer-copy { display: flex; gap: 8px; padding: 14px 16px 4px; }
.customer-copy input { min-width: 0; }
.customer-copy-feedback { display: block; padding: 0 16px 10px; color: var(--admin-muted); }
.customer-rank { display: flex; align-items: center; gap: 12px; padding: 16px; color: var(--admin-ink); text-decoration: none; }
.customer-rank img { width: 40px; height: 40px; object-fit: contain; }
.customer-rank > span { display: grid; flex: 1; }
.customer-rank small { color: var(--admin-muted); }
@media (max-width: 1250px) { .customer-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .customer-dashboard-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 400px) {
    .customer-metrics { gap: 8px; }
    .customer-metric { align-items: start; flex-direction: column; padding: 10px; gap: 8px; }
    .customer-activity dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.customer-auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); }
.customer-auth-brand {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 34px;
    padding: clamp(22px, 4.4vw, 64px);
    color: #fff;
    background: linear-gradient(145deg, #0b1220, #171f39);
}
.customer-auth-brand-top { display: flex; align-items: center; gap: 10px 15px; flex-wrap: wrap; justify-content: space-between; }
.customer-home-link { display: inline-flex; align-items: center; gap: 6px; color: #d7dfef; font-size: .78rem; font-weight: 700; text-decoration: none; }
.customer-home-link:hover { color: #fff; text-decoration: underline; }
.customer-home-link svg { width: 15px; height: 15px; }
.customer-auth-intro { max-width: 510px; }
.customer-auth-intro .customer-eyebrow { color: #d4cfff; background: #302c55; border-radius: 20px; padding: 6px 11px; }
.customer-auth-intro h2 { color: #fff; font-size: clamp(1.8rem, 4.1vw, 3.55rem); line-height: 1.12; font-weight: 800; margin: 17px 0 12px; overflow-wrap: anywhere; }
.customer-auth-intro p { margin: 0; max-width: 40ch; font-size: 1rem; color: #bdc9dd; }
.customer-auth-features { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.customer-auth-features li { display: flex; align-items: center; gap: 6px; color: #dce3f2; border: 1px solid #36425b; border-radius: 8px; padding: 7px 9px; font-size: .76rem; }
.customer-auth-features svg { color: #b7b2ff; width: 15px; height: 15px; }
.customer-auth-brand-footer { color: #aeb8cb; }
.customer-auth-brand-centered { display: grid; grid-template: auto 1fr / minmax(0, 1fr); }
.customer-auth-brand-centered .customer-auth-brand-body {
    align-self: center;
    justify-self: stretch;
    display: grid;
    justify-items: center;
    gap: clamp(20px, 4vh, 40px);
    min-width: 0;
    text-align: center;
}
.customer-auth-logo {
    display: grid;
    place-items: center;
    width: min(100%, clamp(140px, 17vw, 250px));
    padding: clamp(10px, 1.3vw, 20px);
    border-radius: 20px;
    background: #fff;
}
.customer-auth-logo img { display: block; width: 100%; height: clamp(98px, 13vw, 190px); object-fit: contain; }
.customer-auth-brand-centered .customer-auth-intro p { margin-inline: auto; }
.customer-auth-brand-centered .customer-auth-features { justify-content: center; }
.customer-auth-main { display: grid; align-items: center; justify-items: center; padding: clamp(16px, 3.3vw, 48px); min-width: 0; }
.customer-auth-form { width: min(100%, 440px); padding: clamp(18px, 3vw, 34px); border-radius: var(--admin-radius); background: var(--admin-surface); border: 1px solid var(--admin-line); box-shadow: var(--admin-shadow); }
.customer-auth-form h1 { margin-top: 13px; }
.customer-auth .customer-subtitle { margin-bottom: 21px; color: var(--admin-muted); font-size: .88rem; }
.customer-auth-field { margin-bottom: 14px; }
.customer-auth-field label { display: block; margin-bottom: 5px; font-weight: 800; }
.customer-password { position: relative; }
.customer-password input { padding-inline-end: 44px; }
.customer-password button { display: grid; place-items: center; position: absolute; inset: 2px 2px 2px auto; width: 40px; border: 0; border-radius: 7px; background: var(--admin-surface); color: var(--admin-muted); }
.customer-password button:hover { color: var(--customer-accent); }
.customer-auth-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 0 0 16px; font-size: .8rem; }
.customer-auth-options label { display: flex; align-items: center; gap: 6px; }
.customer-auth-options input[type=checkbox] { accent-color: var(--customer-accent); width: 15px; height: 15px; position: static; opacity: 1; margin: 0; }
.customer-auth :is(.customer-auth-options, .customer-auth-register, .customer-auth-legal) a { color: var(--customer-accent); font-weight: 800; }
.customer-auth .customer-auth-register { margin: 16px 0 0; text-align: center; font-size: .82rem; color: var(--admin-muted); }
.customer-auth-legal { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 15px; padding-top: 11px; border-top: 1px solid var(--admin-line); font-size: .73rem; }
@media (max-width: 767.98px) {
    .customer-auth-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
    .customer-auth-brand { gap: 0; padding: 14px 16px; }
    .customer-auth-intro, .customer-auth-brand-footer { display: none; }
    .customer-auth-brand-centered { gap: 10px; }
    .customer-auth-logo { width: 116px; border-radius: 14px; }
    .customer-auth-logo img { height: 66px; }
}
@media (max-width: 350px) { .customer-auth .g-recaptcha { overflow-x: auto; } }

/* Legacy workflow views keep their markup and adopt the customer theme. */
.customer-main :is(.section-gap, .td-section-space) { padding-block: 0; }
.customer-main :is(.rock-dashboard-card:not(.hiden-card), .rock-mobile-table-card, .rock-mobile-withdraw-account-item, .rock-ranking-badge-item, .rock-pricing-item, .rock-referral-tree-card, .rock-support-tickets-card, .site-card, .card) {
    background: var(--admin-surface);
    color: var(--admin-ink);
    border: 1px solid var(--admin-line);
    border-radius: var(--admin-radius);
    box-shadow: var(--admin-shadow);
    backdrop-filter: none;
}
.customer-main :is(.rock-dashboard-tile, .rock-mobile-title, .site-card-title, .rock-pricing-item .title) {
    color: var(--admin-ink);
    font: 800 1.15rem/1.35 var(--admin-font);
    text-transform: none;
}
.customer-main .rock-dashboard-title-inner { border-color: var(--admin-line); }
.customer-main :is(.white-text, .white-color, .pinkDiamond-text, .rock-input-label, .input-label, .site-table-col, .filter-length > span) { color: var(--admin-ink); }
.customer-main :is(.text-white, .text-light):not(.btn, .badge, .bg-primary, .bg-success, .bg-danger, .bg-dark, .primary-bg, .danger-bg) { color: var(--admin-ink) !important; }
.customer-main :is(.site-table, .rock-custom-table, .table-responsive) { max-width: 100%; overflow-x: auto; }
.customer-main :is(.site-table-list, .site-table-head, .site-table-row, .site-card-header, .site-card-body, .card-header) { border-color: var(--admin-line); }
.customer-main :is(.site-table-head, .site-table-head .site-table-col, .site-table-list:nth-child(even), .site-card-header, .card-header) { background: #f7f8fc; color: var(--admin-ink); }
.customer-main :is(.rock-badge, .site-badge, .td-badge) { box-shadow: none; }
.customer-main :is(.site-badge.success, .rock-badge.badge-success) { background: #e7f7ef; color: #096944; }
.customer-main :is(.site-badge.pending, .site-badge.warnning, .rock-badge.warning) { background: #fff3d9; color: #854600; }
.customer-main :is(.site-badge.danger, .rock-badge.danger) { background: #fef0ee; color: #a22b21; }
.customer-main :is(.site-badge.primary-bg, .rock-badge.primary) { background: var(--admin-accent-soft); color: var(--customer-accent); }
.customer-main :is(.site-btn, .site-btn-sm, .site-btn-xs, .td-btn):not(.transparent-btn),
.customer-auth :is(.site-btn, .site-btn-sm, .td-btn):not(.transparent-btn) {
    min-height: 39px;
    height: auto;
    padding: 8px 13px;
    border-radius: 9px !important;
    background: var(--customer-accent);
    border: 1px solid var(--customer-accent);
    color: #fff;
    box-shadow: none;
    mix-blend-mode: normal;
    font: 800 .83rem/1.35 var(--admin-font);
    text-decoration: none;
    text-transform: none;
}
.customer-main :is(.site-btn, .site-btn-sm, .site-btn-xs, .td-btn):not(.transparent-btn):hover,
.customer-auth :is(.site-btn, .site-btn-sm, .td-btn):not(.transparent-btn):hover { background: #4037cc; color: #fff; }
.customer-main :is(.site-btn, .site-btn-sm, .site-btn-xs, .td-btn):is(.outline-btn, .outline-opcity-btn, .secondary-btn, .transparent-btn, .gray-btn, .red-btn) {
    background: var(--admin-surface);
    border: 1px solid var(--customer-control-line);
    color: var(--admin-ink);
    border-radius: 9px;
    box-shadow: none;
}
.customer-main :is(.site-btn, .site-btn-sm, .site-btn-xs, .td-btn):is(.outline-btn, .outline-opcity-btn, .secondary-btn, .transparent-btn, .gray-btn, .red-btn):hover { background: var(--admin-accent-soft); color: var(--customer-accent); }
.customer-main :is(.btn-icon, .rock-shortcut-btn .icon) > svg,
.customer-auth .btn-icon > svg { width: 17px; height: 17px; }
.customer-main :is(.btn-icon, .rock-shortcut-btn .icon) svg [fill]:not([fill="none"]),
.customer-main :is(.transactions-description, .rock-dashboard-title-inner, .rock-mobile-table-card, .rock-input-btn-wrap) svg [fill]:not([fill="none"]) { fill: currentColor; }
.customer-main :is(.transactions-description, .rock-dashboard-title-inner, .rock-mobile-table-card, .rock-input-btn-wrap) svg g[filter] { filter: none; }
.customer-main :is(.site-btn, .site-btn-sm, .td-btn)::before,
.customer-auth :is(.site-btn, .site-btn-sm, .td-btn)::before { background: none; box-shadow: none; }
.customer-main :is(.rock-text-link-btn, .link, .schema-link),
.customer-auth :is(.td-underline-btn, .auth-account a) { color: var(--customer-accent); font-weight: 800; }
.customer-main :is(.single-progress .progress-bar, .progress-bar, .timeline-grid .progress-bar) { background: var(--customer-accent); opacity: 1; box-shadow: none; }

.customer-main :is(.form-control, .form-select, .input-field input:not([type=checkbox], [type=radio], [type=hidden]), .input-field textarea, .single-input select, .input-select select, .rock-filter-table-form input:not([type=hidden]), .rock-profile-security-input input, .nice-select, .select2-selection),
.customer-auth :is(.form-control, .form-select, .input-field input:not([type=checkbox], [type=radio], [type=hidden]), .input-field textarea, .input-field select, .single-input input:not([type=checkbox], [type=radio], [type=hidden]), .single-input select, .nice-select, .select2-selection) {
    background-color: var(--admin-surface);
    color: var(--admin-ink);
    border: 1px solid var(--customer-control-line);
    border-radius: 8px;
    box-shadow: none;
    font: 600 .86rem/1.45 var(--admin-font);
    min-height: 42px;
}
.customer-main :is(.form-control, .form-select, .input-field input, .input-field textarea, .nice-select):focus,
.customer-auth :is(.form-control, .form-select, .input-field input, .input-field textarea):focus { border-color: var(--admin-accent); box-shadow: 0 0 0 3px var(--admin-accent-soft); }
.customer-main :is(input, textarea)::placeholder,
.customer-auth :is(input, textarea)::placeholder { color: var(--admin-muted); opacity: 1; }
.customer-main :is(.input-group-text, .verification, .input-field.disabled input, .form-control:disabled, .form-control[readonly]) { color: var(--admin-ink); background: #f4f6fb; border-color: var(--customer-control-line); }
.customer-main :is(.nice-select .list, .datepicker-picker, .select2-dropdown, .dropdown-menu),
.customer-auth :is(.nice-select .list, .select2-dropdown, .dropdown-menu) { color: var(--admin-ink); background: var(--admin-surface); border-color: var(--customer-control-line); box-shadow: var(--admin-shadow); }
.customer-main .nice-select,
.customer-auth .nice-select { display: flex; align-items: center; }
.customer-main :is(.nice-select .option, .nice-select .current, .select2-selection__rendered) { color: var(--admin-ink); }
.customer-main :is(.nice-select .option:hover, .nice-select .option.selected, .nice-select .option.focus) { color: var(--customer-accent); background: var(--admin-accent-soft); }
.customer-main .nice-select::after { border-color: var(--admin-muted); }
.customer-main :is(.rock-add-mony-modal, .modal-content, .site-modal .modal-content) { background: var(--admin-surface); color: var(--admin-ink); border-color: var(--admin-line); box-shadow: var(--admin-shadow); }
.customer-main :is(.modal-header, .modal-footer) { border-color: var(--admin-line); }
.customer-main :is(.rock-add-mony-list, .rock-upload-input, .rock-support-tickets-input, .upload-custom-file) { color: var(--admin-ink); background-color: #f7f8fc; border-color: var(--customer-control-line); }
.customer-main .upload-custom-file:not(.file-ok) { background-image: none; }
.customer-main :is(.rock-pricing-item, .rock-ranking-badge-item, .rock-support-tickets-card, .rock-add-mony-content) :is(.title, .description, .info-text, .lavel, strong) { color: var(--admin-ink); }
.customer-main :is(.rock-pricing-item, .rock-ranking-badge-item, .rock-support-tickets-card)::before,
.customer-main :is(.rock-pricing-item, .rock-ranking-badge-item, .rock-support-tickets-card)::after { background: none; box-shadow: none; }
.customer-main :is(.pagination-wrapper, .site-pagination) :is(a, .page-link, button) { background: var(--admin-surface); color: var(--admin-ink); border: 1px solid var(--admin-line); box-shadow: none; }
.customer-main :is(.pagination-wrapper, .site-pagination) :is(a:hover, .active .page-link, .current) { background: var(--admin-accent-soft); color: var(--customer-accent); }
.customer-main .rock-schema-logs-table .rock-custom-table { min-width: min(100%, 840px); }

.customer-auth-main > :is(.td-authentication-section, .rock-auth-section, .auth-section) { width: min(100%, 680px); padding: 0; background: transparent; }
.customer-auth-main :is(.auth-main-grid, .rock-auth-main-inner, .auth-main, .auth-wrapper, .rock-auth-wrapper) { display: block; width: 100%; min-height: auto; padding: 0; background: transparent; border: 0; box-shadow: none; }
.customer-auth-main :is(.auth-banner-wrapper, .auth-banner, .rock-auth-bg, .rock-auth-thumb, .rock-auth-logo, .auth-page-img) { display: none; }
.customer-auth-main :is(.auth-from-main, .auth-from-box, .rock-auth-content, .auth-content) { width: 100%; max-width: none; min-width: 0; color: var(--admin-ink); }
.customer-auth-main :is(.auth-from-box, .rock-auth-content, .auth-content) { background: var(--admin-surface); border: 1px solid var(--admin-line); border-radius: var(--admin-radius); box-shadow: var(--admin-shadow); padding: clamp(14px, 2.5vw, 26px); }
.customer-auth-main :is(.auth-intro-content .title, .rock-auth-content .title, .auth-content .title) { color: var(--admin-ink); font-size: clamp(1.35rem, 2.4vw, 1.9rem); font-weight: 800; }
.customer-auth-main :is(.auth-account, .auth-login-option, .auth-privacy-policy, .input-label, .input-icon, .cbx, .description, .auth-content p) { color: var(--admin-muted); }

/* Keep legacy component overrides after their more specific theme selectors. */
.customer-nav { flex: 1 1 auto; }
.customer-languages summary { cursor: pointer; }
.customer-languages summary span { color: #aeb8cb; }
.customer-languages > a { padding-inline-start: 36px; }
.customer-languages > a[aria-current] { color: #c4bfff; }
.customer-notification-button { position: relative; }
.customer-notification-count { position: absolute; inset: -5px -5px auto auto; min-width: 16px; padding: 0 3px; border-radius: 20px; background: var(--customer-accent); color: #fff; font-size: .63rem; line-height: 17px; }
.customer-notification-menu { width: min(320px, calc(100vw - 28px)); color: var(--admin-ink); border: 1px solid var(--admin-line); border-radius: 12px; box-shadow: var(--admin-shadow); }
.customer-notification-title { display: block; padding: 8px 12px; }
.customer-notification-list { max-height: 270px; overflow-y: auto; border-block: 1px solid var(--admin-line); }
.customer-notification-list .dropdown-item { padding: 8px 12px; white-space: normal; overflow-wrap: anywhere; }
.customer-notification-list small, .customer-notification-list p { display: block; color: var(--admin-muted); font-size: .78rem; }
.customer-notification-list p { margin: 0; padding: 10px 12px; }
.customer-notification-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 8px 12px 4px; }
.customer-notification-footer a { color: var(--customer-accent); font-weight: 800; }

.customer-main .customer-workflow-title { margin: 0 0 16px; font: 800 clamp(1.45rem, 2.5vw, 2rem)/1.2 var(--admin-font); }
.customer-main > .default-page { padding-inline: 0; }
.customer-main .dashboard-card { background: var(--admin-surface); color: var(--admin-ink); border: 1px solid var(--admin-line); border-radius: var(--admin-radius); box-shadow: var(--admin-shadow); }
.customer-shell .customer-main :is(.rock-add-mony-wrapper, .rock-add-mony-list, .rock-referral-tree-form, .rock-referral-tree-card) :is(.title, .info, .description) {
    color: var(--admin-ink);
}
.customer-shell .customer-main .rock-add-mony-list ul li :is(.title, .info) { color: var(--admin-ink); }
.customer-shell .customer-main :is(.input-select, .filter-length, .single-input) .nice-select :is(.current, .option),
.customer-auth .customer-auth-main .nice-select :is(.current, .option) { color: var(--admin-ink); }
.customer-shell .customer-main .nice-select :is(.option:hover, .option.selected, .option.focus) { background: var(--admin-accent-soft); color: var(--customer-accent); }
.customer-shell .customer-main .rock-custom-table .site-table-head .site-table-col { background: #f1f3f9; color: #45516b; }
.customer-shell .customer-main .alert-table { background: #f7f8fc; color: var(--admin-muted); border: 1px solid var(--admin-line); }
.customer-shell .customer-main .rock-pricing-item { height: 100%; }
.customer-shell .customer-main .rock-pricing-item .price-shape { display: none; }
.customer-shell .customer-main .rock-pricing-item.is-active { border-color: #c9c5fb; }
.customer-shell .customer-main .rock-pricing-item .item-title { color: var(--admin-ink); font-size: 1.17rem; }
.customer-shell .customer-main .rock-pricing-item .price-badge { color: var(--customer-accent); background: var(--admin-accent-soft); }
.customer-shell .customer-main .rock-pricing-item .price-suggest,
.customer-shell .customer-main .rock-pricing-item .price-list ul li .single-list .list-valu span { color: var(--admin-ink); }
.customer-shell .customer-main .rock-pricing-item .price-list ul li .single-list .list-content .list-item-text { color: var(--admin-muted); }
.customer-main :is(.input-icon, .list-item-icon, .rock-referral-tree-card .icon) { color: var(--customer-accent); }
.customer-main :is(.input-icon, .list-item-icon, .rock-referral-tree-card .icon) svg [fill]:not([fill="none"]) { fill: currentColor; }
.customer-main :is(.input-icon, .list-item-icon, .rock-referral-tree-card .icon) svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
.customer-main .list-item-icon svg g[filter] { filter: none; }
.customer-shell .customer-main .upload-custom-file.without-image .file-ok { color: var(--admin-ink); background-color: var(--admin-accent-soft); }
.customer-main .rock-dashboard-pricing-section > .row > div { min-width: 0; }

/* Override the legacy Hardrock select menus, including keyboard focus and selected rows. */
:is(.customer-shell, .customer-auth) :is(.nice-select, .input-select .nice-select, .filter-length .nice-select, .single-input .nice-select, .rock-single-input .input-select .nice-select) {
    color: var(--admin-ink);
    background: var(--admin-surface);
    border-color: var(--customer-control-line);
    box-shadow: none;
}
:is(.customer-shell, .customer-auth) :is(.nice-select, .input-select .nice-select, .filter-length .nice-select, .single-input .nice-select, .rock-single-input .input-select .nice-select) > .list,
:is(.customer-shell, .customer-auth) .select2-container--default .select2-dropdown,
:is(.customer-shell, .customer-auth) .select2-container--default .select2-results__options {
    background: var(--admin-surface);
    color: var(--admin-ink);
}
:is(.customer-shell, .customer-auth) .nice-select > .list { border: 1px solid var(--customer-control-line); box-shadow: var(--admin-shadow); backdrop-filter: none; }
:is(.customer-shell, .customer-auth) :is(.nice-select, .input-select .nice-select, .filter-length .nice-select, .single-input .nice-select, .rock-single-input .input-select .nice-select) > .list > .option {
    background: var(--admin-surface);
    color: var(--admin-ink);
}
:is(.customer-shell, .customer-auth) :is(.nice-select, .input-select .nice-select, .filter-length .nice-select, .single-input .nice-select, .rock-single-input .input-select .nice-select) > .list > .option:is(:hover, .focus, .selected),
:is(.customer-shell, .customer-auth) .select2-container--default .select2-results__option:is(.select2-results__option--highlighted, .select2-results__option--selected, [aria-selected="true"]) {
    color: var(--customer-accent);
    background: var(--admin-accent-soft);
}
:is(.customer-shell, .customer-auth) .nice-select > .list > .option.disabled { color: var(--admin-muted); }
:is(.customer-shell, .customer-auth) :is(.form-select, .form-select option, .form-select optgroup) {
    color-scheme: light;
    color: var(--admin-ink);
    background-color: var(--admin-surface);
}

.customer-stack { display: grid; gap: 16px; }
.customer-section-body { padding: clamp(14px, 2vw, 22px); }
.customer-muted { color: var(--admin-muted); }
.customer-feature { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; }
.customer-feature-content { flex: 1 1 175px; min-width: 0; }
.customer-feature-content h2, .customer-rank-badge h2 { font-size: 1.05rem; font-weight: 800; margin: 0 0 4px; }
.customer-feature-content p, .customer-rank-badge p { color: var(--admin-muted); font-size: .85rem; margin: 0; }
.customer-split-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.customer-detail-table td:first-child { min-width: 0; }
.customer-credit { color: #096944; font-weight: 800; }
.customer-rewards-balance { align-items: start; }
.customer-points { display: block; margin-bottom: 3px; font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.15; overflow-wrap: anywhere; }
.customer-reward-action { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; }
.customer-reward-action > span { color: var(--admin-muted); font-size: .79rem; }
.customer-reward-action > strong { font-size: 1.25rem; font-weight: 800; }
.customer-reward-action .customer-button { margin-top: 4px; }
.customer-button:disabled { opacity: .55; cursor: not-allowed; }
.customer-rank-grid, .customer-document-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; }
.customer-rank-badge { display: flex; flex-direction: column; gap: 8px; }
.customer-rank-badge-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.customer-rank-badge-top img { width: 54px; height: 54px; object-fit: contain; }
.customer-rank-bonus { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--admin-line); padding-top: 10px; margin-top: auto; color: var(--admin-muted); }
.customer-rank-bonus strong { color: var(--customer-accent); }
.customer-document { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 10px; min-width: 0; }
.customer-document-image { display: grid; place-items: center; background: var(--admin-canvas); min-height: 120px; aspect-ratio: 8 / 5; max-height: 250px; color: var(--admin-muted); }
.customer-document-image img { display: block; width: 100%; height: 100%; object-fit: contain; min-height: 0; }
.customer-document-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 10px 12px; }
.customer-document-caption a { display: inline-flex; align-items: center; gap: 5px; color: var(--customer-accent); font-weight: 700; font-size: .8rem; }
.customer-document-caption a svg { width: 14px; height: 14px; }
.customer-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; min-width: 0; }
.customer-field { min-width: 0; }
.customer-field > label { display: block; margin: 0 0 5px; font-weight: 800; }
.customer-field > label span { color: var(--td-danger); }
.customer-field > small { display: block; margin-top: 4px; }
.customer-field-wide { grid-column: 1 / -1; }
[data-customer-kyc] > fieldset { margin-top: 12px; }
.customer-form-actions { display: flex; justify-content: flex-end; margin-top: 16px; }
.customer-avatar-editor { display: grid; justify-items: center; gap: 9px; padding: 4px 0 16px; margin: 0 0 16px; border-bottom: 1px solid var(--admin-line); }
.customer-avatar-photo { width: 108px; height: 108px; object-fit: cover; object-position: center; border: 4px solid var(--admin-accent-soft); border-radius: 50%; background: var(--admin-canvas); }
.customer-avatar-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.customer-avatar-actions label { cursor: pointer; }
.customer-avatar-actions input:focus-visible + label { outline: 2px solid var(--admin-accent); outline-offset: 3px; }
.customer-avatar-editor small { color: var(--admin-muted); overflow-wrap: anywhere; text-align: center; }
.customer-avatar-editor small:empty { display: none; }
.customer-header .customer-profile-link img { border-radius: 50%; }
.customer-inbox { list-style: none; margin: 0; padding: 0; }
.customer-inbox-item { display: flex; align-items: center; gap: 10px 12px; padding: 12px 16px; }
.customer-inbox-item + .customer-inbox-item { border-top: 1px solid var(--admin-line); }
.customer-inbox-item.is-unread { background: #f8f8ff; }
.customer-inbox-item .customer-icon-tile { width: 36px; height: 36px; flex-basis: 36px; }
.customer-inbox-item:not(.is-unread) .customer-icon-tile { background: #f1f3f9; color: var(--admin-muted); }
.customer-inbox-content { flex: 1; min-width: 0; }
.customer-inbox-content a { color: var(--admin-ink); text-decoration: none; font-weight: 700; overflow-wrap: anywhere; }
.customer-inbox-content a:hover { color: var(--customer-accent); text-decoration: underline; }
.customer-inbox-content time { display: block; font-size: .75rem; color: var(--admin-muted); }
.customer-inbox-item.is-unread .customer-status { color: var(--customer-accent); background: var(--admin-accent-soft); }
@media (max-width: 767.98px) {
    .customer-split-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .customer-form-grid { grid-template-columns: minmax(0, 1fr); }
    .customer-reward-action { width: 100%; align-items: flex-start; padding-top: 10px; border-top: 1px solid var(--admin-line); }
}
