/**
 * Cellpay dealer portal — 2026 UI layer
 * Scope: body.dealer-panel (default layout). Loads after theme + custom.css.
 */

html {
    height: 100%;
}

body.dealer-panel {
    /* Auth panels (login / forgot / reset); register uses --dp-auth-register-max */
    --dp-auth-card-max: 560px;
    --dp-auth-register-max: 640px;
    /* Single-column dealer forms (refunds, agents) — centered, not full-bleed */
    --dp-form-panel-max: 520px;

    /* Brand accent (CTAs, active nav) — Cellpay default */
    --dp-accent-rgb: 225, 29, 72;
    --dp-accent: #e11d48;
    --dp-accent-hover: #be123c;
    --dp-accent-active: #9f1239;
    --dp-accent-soft: rgba(var(--dp-accent-rgb), 0.1);
    --dp-accent-ring: rgba(var(--dp-accent-rgb), 0.32);

    /* Ecommerce-style dashboard neutrals (cool gray shell, white surfaces) */
    --dp-bg-page: #eceff3;
    --dp-bg-page-top: #f3f5f8;
    --dp-bg-mesh: radial-gradient(ellipse 120% 80% at 50% -30%, rgba(59, 130, 246, 0.07), transparent 55%),
        radial-gradient(ellipse 90% 60% at 100% 100%, rgba(15, 23, 42, 0.04), transparent 50%),
        linear-gradient(180deg, var(--dp-bg-page-top) 0%, var(--dp-bg-page) 48%, #e8ebf0 100%);
    --dp-bg-dots: radial-gradient(rgba(15, 23, 42, 0.055) 1px, transparent 1.5px);
    --dp-bg-dots-size: 20px 20px;

    --dp-chrome-bg: #ffffff;
    --dp-chrome-border: #e4e7ec;

    --dp-surface: #ffffff;
    --dp-surface-elevated: #ffffff;
    --dp-surface-subtle: #f8f9fb;
    --dp-border: #e4e7ec;
    --dp-border-strong: #d0d5dd;

    --dp-text: #101828;
    --dp-text-muted: #667085;
    --dp-success: #059669;
    --dp-danger: #dc2626;

    --dp-radius: 10px;
    --dp-radius-sm: 8px;
    --dp-shadow: 0 1px 2px rgba(16, 24, 40, 0.05), 0 1px 3px rgba(16, 24, 40, 0.08);
    --dp-shadow-hover: 0 4px 12px rgba(16, 24, 40, 0.08), 0 2px 4px rgba(16, 24, 40, 0.04);
    --dp-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.92);
    --dp-transition: 0.18s ease;
    --dp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    color: var(--dp-text);
    font-family: var(--dp-font);
    font-size: 14px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--dp-bg-page);
    background-image: var(--dp-bg-mesh);
}

/*
 * Wireless Masters (RETAILER_DOMAIN) — palette from /img/wirelessmaster-logo.png:
 * primary red #E31E24 (M + tagline), headline #212121 (Masters), secondary #4A4A4A (WIRELESS caps)
 */
body.dealer-panel.dealer-panel--wm {
    --dp-accent-rgb: 227, 30, 36;
    --dp-accent: #e31e24;
    --dp-accent-hover: #c01822;
    --dp-accent-active: #9a141c;
    --dp-accent-soft: rgba(var(--dp-accent-rgb), 0.12);
    --dp-accent-ring: rgba(var(--dp-accent-rgb), 0.38);

    --dp-text: #212121;
    --dp-text-muted: #4a4a4a;

    --dp-chrome-bg: #ffffff;
    --dp-chrome-border: #e3e4e6;

    --dp-surface: #ffffff;
    --dp-surface-elevated: #ffffff;
    --dp-surface-subtle: #f5f5f6;
    --dp-border: #e0e1e3;
    --dp-border-strong: #b9bbbf;

    --dp-bg-page: #eeeff1;
    --dp-bg-page-top: #fafafa;
    --dp-bg-mesh: radial-gradient(ellipse 120% 80% at 50% -28%, rgba(var(--dp-accent-rgb), 0.08), transparent 52%),
        radial-gradient(ellipse 90% 60% at 100% 100%, rgba(33, 33, 33, 0.05), transparent 50%),
        linear-gradient(180deg, var(--dp-bg-page-top) 0%, var(--dp-bg-page) 48%, #e6e7ea 100%);
    --dp-bg-dots: radial-gradient(rgba(33, 33, 33, 0.06) 1px, transparent 1.5px);

    --dp-shadow: 0 1px 2px rgba(33, 33, 33, 0.06), 0 1px 3px rgba(33, 33, 33, 0.08);
    --dp-shadow-hover: 0 4px 12px rgba(33, 33, 33, 0.08), 0 2px 4px rgba(33, 33, 33, 0.05);
}

/*
 * WM — theme/style.css and bill-pay use hardcoded carrier / coral colors; force logo palette.
 */
body.dealer-panel.dealer-panel--wm .shop-btn,
body.dealer-panel.dealer-panel--wm .phone-activation {
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%) !important;
    border: 1px solid var(--dp-accent-active) !important;
    color: #fff !important;
}

body.dealer-panel.dealer-panel--wm .shop-btn:hover,
body.dealer-panel.dealer-panel--wm .shop-btn:focus,
body.dealer-panel.dealer-panel--wm .phone-activation:hover,
body.dealer-panel.dealer-panel--wm .phone-activation:focus {
    color: #fff !important;
    opacity: 0.96;
}

body.dealer-panel.dealer-panel--wm .dealer-content input.shop-btn,
body.dealer-panel.dealer-panel--wm .dealer-content input.btn-verify,
body.dealer-panel.dealer-panel--wm .dealer-content button.shop-btn,
body.dealer-panel.dealer-panel--wm .dealer-content a.shop-btn,
body.dealer-panel.dealer-panel--wm .dealer-content a.btn-verify {
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%) !important;
    border: 1px solid var(--dp-accent-active) !important;
    color: #fff !important;
}

body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay {
    --billpay-accent: #e31e24 !important;
    --billpay-heading: #212121 !important;
}

body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn,
body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify {
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%) !important;
    border-color: var(--dp-accent-active) !important;
    box-shadow: 0 2px 12px rgba(var(--dp-accent-rgb), 0.28) !important;
}

body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn:hover,
body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify:hover,
body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn:focus,
body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify:focus {
    box-shadow: 0 8px 22px rgba(var(--dp-accent-rgb), 0.32) !important;
}

body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn:focus-visible,
body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify:focus-visible {
    outline: 3px solid rgba(var(--dp-accent-rgb), 0.35) !important;
}

body.dealer-panel.dealer-panel--wm.cl-billpayment .dp-billpay form .total__list > .dp-billpay__total-row .grand-total {
    color: var(--dp-accent) !important;
}

body.dealer-panel.dealer-panel--wm.cl-billpayment .dealer-content .dp-billpay .shop-btn:hover,
body.dealer-panel.dealer-panel--wm.cl-billpayment .dealer-content .dp-billpay .shop-btn:focus {
    box-shadow: 0 6px 20px rgba(var(--dp-accent-rgb), 0.28);
}

body.dealer-panel.dealer-panel--wm .btn-default:hover,
body.dealer-panel.dealer-panel--wm .btn-default:focus {
    border-color: #9a9c9f;
}

body.dealer-panel.dealer-panel--wm .btn-default:active {
    background: #e8e8ea;
}

body.dealer-panel.dealer-panel--wm .form-control:hover {
    border-color: #9a9c9f;
}

body.dealer-panel.dealer-panel--wm .dealer-content .container:hover,
body.dealer-panel.dealer-panel--wm .dp-stat:hover {
    border-color: #c5c6ca;
}

body.dealer-panel.dealer-panel--wm .dp-badge--info {
    background: rgba(var(--dp-accent-rgb), 0.1);
    color: var(--dp-accent-active);
    border: 1px solid rgba(var(--dp-accent-rgb), 0.24);
}

body.dealer-panel.dealer-panel--wm .dp-badge--role {
    background: rgba(var(--dp-accent-rgb), 0.08);
    color: #7a1216;
    border: 1px solid rgba(var(--dp-accent-rgb), 0.22);
}

body.dealer-panel.dealer-panel--wm .help-block,
body.dealer-panel.dealer-panel--wm .dealer-content .text-muted {
    color: var(--dp-text-muted) !important;
}

body.dealer-panel.dealer-panel--wm .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f7f7f8;
}

body.dealer-panel h1,
body.dealer-panel h2,
body.dealer-panel h3,
body.dealer-panel h4 {
    color: var(--dp-text);
    font-weight: 600;
    letter-spacing: -0.02em;
}

/* ----- Page canvas (dashboard-style workspace) ----- */
body.dealer-panel section.lyca-mobile.site-main,
body.dealer-panel .bdcnt.site-main {
    background-color: transparent !important;
    background-image: var(--dp-bg-mesh), var(--dp-bg-dots) !important;
    background-size: auto, var(--dp-bg-dots-size) !important;
    background-attachment: scroll, scroll !important;
}

/* Carrier recharge master card: quieter canvas (mesh only, no dot grid) */
body.dealer-panel.cl-carriers section.lyca-mobile.site-main:has(.dp-cv),
body.dealer-panel.cl-carriers .bdcnt.site-main:has(.dp-cv),
body.dealer-panel.cl-carriers section.lyca-mobile.site-main:has(.dp-domestic),
body.dealer-panel.cl-carriers .bdcnt.site-main:has(.dp-domestic),
body.dealer-panel.cl-refunds section.lyca-mobile.site-main:has(.dp-refund-request),
body.dealer-panel.cl-refunds .bdcnt.site-main:has(.dp-refund-request),
body.dealer-panel.cl-refunds section.lyca-mobile.site-main:has(.dp-refund-view),
body.dealer-panel.cl-refunds .bdcnt.site-main:has(.dp-refund-view) {
    background-image: var(--dp-bg-mesh) !important;
    background-size: auto !important;
}

/* Sticky footer: wrapper fills viewport; main grows; footer stays at bottom when content is short */
body.dealer-panel .dealer-page-stack {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

body.dealer-panel .dealer-page-stack .preheader,
body.dealer-panel .dealer-page-stack nav.navbar {
    flex-shrink: 0;
}

body.dealer-panel .dealer-page-stack section.lyca-mobile.site-main,
body.dealer-panel .dealer-page-stack .bdcnt.site-main.dealer-content {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}

/* Center the main column (full-width background + constrained content like header/footer) */
body.dealer-panel .dealer-page-stack section.lyca-mobile.site-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
}

body.dealer-panel .dealer-page-stack > footer {
    flex-shrink: 0;
}

/* ----- dp-topbar (replaces old .preheader) ----- */
body.dealer-panel .dp-topbar {
    background: var(--dp-chrome-bg);
    border-bottom: 1px solid var(--dp-chrome-border);
    padding: 0.45rem 0;
}

body.dealer-panel .dp-topbar__inner {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

@media (min-width: 1400px) {
    body.dealer-panel .dp-topbar__inner {
        max-width: 1360px;
    }
}

body.dealer-panel .dp-topbar__meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

body.dealer-panel .dp-topbar__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.7rem;
    font-size: 12px;
    font-weight: 500;
    border-radius: 999px;
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
    color: var(--dp-text-muted);
    text-decoration: none;
    transition: background-color var(--dp-transition), border-color var(--dp-transition), color var(--dp-transition);
    white-space: nowrap;
}

body.dealer-panel .dp-topbar__chip strong {
    font-weight: 700;
    color: var(--dp-text);
    margin-left: 0.15rem;
}

body.dealer-panel .dp-topbar__chip--dealer {
    background: rgba(var(--dp-accent-rgb), 0.06);
    border-color: rgba(var(--dp-accent-rgb), 0.22);
    color: var(--dp-accent);
}

body.dealer-panel .dp-topbar__chip--dealer strong {
    color: var(--dp-accent);
}

body.dealer-panel .dp-topbar__chip--wallet {
    background: rgba(5, 150, 105, 0.07);
    border-color: rgba(5, 150, 105, 0.2);
    color: var(--dp-success);
}

body.dealer-panel .dp-topbar__chip--wallet strong {
    color: var(--dp-success);
}

body.dealer-panel .dp-topbar__chip--wallet:hover {
    background: rgba(5, 150, 105, 0.12);
    border-color: rgba(5, 150, 105, 0.35);
}

body.dealer-panel .dp-topbar__chip--paid {
    background: rgba(5, 150, 105, 0.07);
    border-color: rgba(5, 150, 105, 0.2);
    color: #065f46;
}

body.dealer-panel .dp-topbar__chip--paid strong {
    color: #065f46;
}

body.dealer-panel .dp-topbar__chip--unpaid {
    background: rgba(220, 38, 38, 0.07);
    border-color: rgba(220, 38, 38, 0.2);
    color: #991b1b;
}

body.dealer-panel .dp-topbar__chip--unpaid strong {
    color: #991b1b;
}

/* ----- Preheader (legacy, keep for fallback) ----- */
body.dealer-panel .preheader {
    padding: 0.65rem 0;
    background: var(--dp-chrome-bg);
    border-bottom: 1px solid var(--dp-chrome-border);
    box-shadow: 0 1px 0 rgba(16, 24, 40, 0.04);
}

body.dealer-panel .preheader-meta {
    margin-bottom: 0;
}

body.dealer-panel .preheader-meta > li {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
    vertical-align: middle;
}

body.dealer-panel .preheader-meta__badge {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    background: #fff;
    border: 1px solid var(--dp-border);
    border-radius: 999px;
}

body.dealer-panel .preheader-meta__badge--muted {
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
    background: var(--dp-surface-subtle);
    color: var(--dp-text-muted);
}

body.dealer-panel .preheader-meta__muted {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--dp-text-muted);
    margin-right: 0.35rem;
}

body.dealer-panel .preheader-meta__status {
    font-weight: 600;
    font-size: 14px;
    color: var(--dp-text);
}

body.dealer-panel .preheader-meta__link {
    font-size: 14px;
    font-weight: 500;
    color: var(--dp-text);
    text-decoration: none;
    border-radius: var(--dp-radius-sm);
    padding: 0.25rem 0.5rem;
    margin: -0.25rem -0.5rem;
    transition: color var(--dp-transition), background-color var(--dp-transition), box-shadow var(--dp-transition);
}

body.dealer-panel .preheader-meta__link:hover {
    color: var(--dp-accent);
    background: var(--dp-accent-soft);
}

body.dealer-panel .preheader-meta__link:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

body.dealer-panel .preheader-meta__amount {
    font-weight: 600;
    color: var(--dp-accent);
}

/* ----- Main navbar ----- */
body.dealer-panel .dealer-navbar.navbar-default {
    background: var(--dp-chrome-bg) !important;
    border: none;
    border-bottom: 1px solid var(--dp-chrome-border);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    margin-bottom: 0;
}

body.dealer-panel .dealer-navbar .navbar-toggle {
    border-color: var(--dp-border-strong);
    border-radius: var(--dp-radius-sm);
    transition: background-color var(--dp-transition), border-color var(--dp-transition);
}

body.dealer-panel .dealer-navbar .navbar-toggle:hover,
body.dealer-panel .dealer-navbar .navbar-toggle:focus {
    background: var(--dp-surface-subtle);
    border-color: var(--dp-accent);
}

body.dealer-panel .dealer-navbar .navbar-toggle .icon-bar {
    background-color: var(--dp-text);
    border-radius: 1px;
}

body.dealer-panel .dealer-navbar__brand {
    padding-top: 14px;
    padding-bottom: 14px;
    transition: opacity var(--dp-transition);
}

body.dealer-panel .dealer-navbar__brand:hover {
    opacity: 0.88;
}

body.dealer-panel .dealer-navbar__brand:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 4px;
    border-radius: var(--dp-radius-sm);
}

body.dealer-panel .dealer-navbar__brand img {
    max-height: 40px;
    width: auto;
}

body.dealer-panel .dealer-navbar__logo-text {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--dp-accent);
}

body.dealer-panel .dealer-navbar__logo-text--muted {
    font-weight: 600;
    color: var(--dp-text-muted);
    margin-left: 0.15em;
}

body.dealer-panel .dealer-navbar__nav > li > a {
    font-weight: 500;
    font-size: 14px;
    color: var(--dp-text-muted) !important;
    padding: 16px 14px;
    border-radius: var(--dp-radius-sm);
    margin: 6px 2px;
    transition: color var(--dp-transition), background-color var(--dp-transition), box-shadow var(--dp-transition);
}

body.dealer-panel .dealer-navbar__nav > li > a:hover,
body.dealer-panel .dealer-navbar__nav > li > a:focus {
    color: var(--dp-text) !important;
    background-color: var(--dp-surface-subtle) !important;
}

body.dealer-panel .dealer-navbar__nav > li.active > a,
body.dealer-panel .dealer-navbar__nav > li.active > a:hover,
body.dealer-panel .dealer-navbar__nav > li.active > a:focus {
    color: var(--dp-accent) !important;
    background: var(--dp-accent-soft) !important;
    box-shadow: inset 0 -2px 0 var(--dp-accent);
}

body.dealer-panel .dealer-navbar__nav > li > a:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

body.dealer-panel .dealer-navbar__nav > li.dealer-navbar__item--logout > a {
    color: var(--dp-text-muted) !important;
}

body.dealer-panel .dealer-navbar__nav > li.dealer-navbar__item--logout > a:hover {
    color: var(--dp-danger) !important;
    background: rgba(220, 38, 38, 0.06) !important;
}

/* ----- Content cards ----- */
/* Inner Bootstrap `.container` blocks must span the fluid column (BS3 caps ~1170px otherwise). */
body.dealer-panel .dealer-content .container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding: 1.25rem 1.35rem;
    margin-bottom: 1.35rem;
    transition: box-shadow var(--dp-transition), border-color var(--dp-transition);
}

@media (min-width: 768px) {
    body.dealer-panel .dealer-content .container {
        padding: 1.5rem 1.75rem;
    }
}

body.dealer-panel .dealer-content .container:hover {
    box-shadow: var(--dp-shadow-hover);
    border-color: #d8dee9;
}

body.dealer-panel .dealer-content .container .container {
    background: var(--dp-surface-subtle);
    border-style: dashed;
    border-color: #cbd5e1;
    box-shadow: var(--dp-shadow-inset);
    padding: 1.1rem 1.25rem;
}

body.dealer-panel .dealer-content .container .container:hover {
    box-shadow: var(--dp-shadow-inset);
}

body.dealer-panel .dealer-content .container .container .container {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin-bottom: 0;
}

body.dealer-panel .dealer-content .container .container .container:hover {
    box-shadow: none;
}

/* Hero / marketing — no card chrome */
body.dealer-panel .dealer-content .banner .container,
body.dealer-panel .dealer-content #banner-new .container,
body.dealer-panel .dealer-content .sim-banner .container,
body.dealer-panel .dealer-content .sim_banner .container {
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    margin-bottom: 0;
    padding-left: 15px;
    padding-right: 15px;
}

body.dealer-panel .dealer-content .banner .container:hover,
body.dealer-panel .dealer-content #banner-new .container:hover {
    box-shadow: none !important;
    border: none !important;
}

/* Login card: descendant selector so Flash/notice siblings do not break styling */
/* Default: centered panel (refunds, agents). Auth uses .dealer-auth__card / --wide for explicit widths. */
body.dealer-panel .dealer-content .login-container {
    width: 100%;
    max-width: min(100%, var(--dp-form-panel-max));
    margin-left: auto;
    margin-right: auto;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding: 1.25rem 1rem 1.35rem;
    margin-bottom: 1.5rem;
    float: none;
    overflow-x: hidden;
}

/* Auth screens: narrow card + no padding on the outer shell (inset on __inner only). */
body.dealer-panel .dealer-content .login-container.dealer-auth__card {
    max-width: var(--dp-auth-card-max);
    padding: 0;
}

body.dealer-panel .dealer-content .login-container.dealer-auth__card.dealer-auth__card--wide {
    max-width: var(--dp-auth-register-max);
}

body.dealer-panel .dealer-content .login-container__inner {
    width: 100%;
    max-width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
}

body.dealer-panel .dealer-content .login-container.dealer-auth__card .login-container__inner {
    padding: 1.35rem 1.15rem 1.5rem;
}

/* Theme style.css stacks .login-form-1 { padding:5% } + .login-container form { padding:10% } — huge inset + double shadow on dealer cards */
body.dealer-panel .dealer-content .login-container .login-form-1 {
    padding: 0;
    margin: 0;
    box-shadow: none;
    background: transparent;
    float: none;
}

body.dealer-panel .dealer-content .login-container form {
    padding: 0;
}

body.dealer-panel .dealer-content .login-container .login-form-1 h3 {
    text-align: left;
    color: var(--dp-text);
}

body.dealer-panel .dealer-content .login-container .login-form-1 > p {
    margin: 0 0 1.1rem;
    color: var(--dp-text-muted);
    font-size: 0.9375rem;
    line-height: 1.5;
}

body.dealer-panel .dealer-content .login-container textarea.form-control {
    min-height: 7.5rem;
    resize: vertical;
}

/* ----- Refund request (Refunds/add) ----- */
body.dealer-panel.cl-refunds .dealer-content .login-container.dp-refund-request__shell {
    max-width: min(100%, 620px);
    padding: 0 !important;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
    border: 1px solid var(--dp-border);
}

body.dealer-panel.cl-refunds .dealer-content .login-container.dp-refund-request__shell:hover {
    box-shadow: 0 6px 28px rgba(16, 24, 40, 0.08), 0 2px 4px rgba(16, 24, 40, 0.05);
    border-color: #d8dee9;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__inner {
    padding: 1.65rem 1.35rem 1.55rem !important;
}

@media (min-width: 576px) {
    body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__inner {
        padding: 2rem 1.85rem 1.85rem !important;
    }
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin: 0 0 1.35rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__header-icon {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--dp-accent-soft);
    color: var(--dp-accent);
    font-size: 1.35rem;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__title {
    margin: 0 0 0.45rem;
    padding: 0;
    border: none;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: var(--dp-text);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__lede {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__txn {
    margin: 0 0 1.35rem;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid var(--dp-border);
    background: var(--dp-surface-subtle);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__txn-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__txn-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__txn-row:first-child {
    padding-top: 0;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__txn-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__txn-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--dp-text);
    text-align: right;
    word-break: break-word;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__field label {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--dp-text) !important;
    margin-bottom: 0.45rem !important;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__textarea {
    min-height: 9rem !important;
    padding: 0.85rem 1rem !important;
    border-radius: 14px !important;
    border: 1px solid var(--dp-border-strong) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    resize: vertical;
    transition: border-color var(--dp-transition), box-shadow var(--dp-transition);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__textarea:focus {
    border-color: rgba(var(--dp-accent-rgb), 0.55) !important;
    box-shadow: 0 0 0 4px rgba(var(--dp-accent-rgb), 0.14) !important;
    outline: none !important;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__hint {
    margin: 0.35rem 0 0;
    font-size: 12px;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__actions {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: 1.35rem;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__submit {
    width: 100% !important;
    margin: 0 !important;
    padding: 0.9rem 1.15rem !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
    border: 1px solid var(--dp-accent-active) !important;
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 2px 8px rgba(var(--dp-accent-rgb), 0.2);
    transition: opacity var(--dp-transition), transform 0.12s ease;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__submit:hover,
body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__submit:focus {
    opacity: 0.96 !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__btn-icon {
    font-size: 1rem;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem;
    font-size: 14px;
    font-weight: 600;
    color: var(--dp-text-muted);
    border-radius: 10px;
    text-decoration: none !important;
    transition: color var(--dp-transition), background-color var(--dp-transition);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__cancel:hover,
body.dealer-panel.cl-refunds .dealer-content .dp-refund-request__cancel:focus {
    color: var(--dp-text);
    background: var(--dp-surface-subtle);
}

/* Refund status (view) — same shell as request flow, extra summary + comment cards */
body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__crumbs {
    font-size: 13px;
    color: var(--dp-text-muted);
    margin: 0 0 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__crumbs a {
    color: var(--dp-text-muted);
    font-weight: 600;
    text-decoration: none;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__crumbs a:hover,
body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__crumbs a:focus {
    color: var(--dp-accent);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__crumbs-sep {
    opacity: 0.45;
    user-select: none;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px solid var(--dp-border);
    background: var(--dp-surface-subtle);
    margin-bottom: 1.1rem;
    font-size: 14px;
    line-height: 1.45;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status i {
    font-size: 1.15rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status--pending {
    border-color: rgba(217, 119, 6, 0.35);
    background: rgba(254, 243, 199, 0.45);
    color: #92400e;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status--success {
    border-color: rgba(5, 150, 105, 0.35);
    background: rgba(209, 250, 229, 0.55);
    color: #065f46;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status--danger {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(254, 226, 226, 0.55);
    color: #991b1b;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status strong {
    display: block;
    font-size: 15px;
    margin-bottom: 0.2rem;
    color: inherit;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__grid {
    display: grid;
    gap: 1rem;
    margin-top: 0.25rem;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__card {
    border: 1px solid var(--dp-border);
    border-radius: 12px;
    padding: 1rem 1.1rem;
    background: var(--dp-surface);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__card h3 {
    margin: 0 0 0.65rem;
    padding: 0;
    border: none;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__card-body {
    font-size: 15px;
    line-height: 1.55;
    color: var(--dp-text);
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__empty {
    color: var(--dp-text-muted);
    font-style: italic;
    margin: 0;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__meta {
    font-size: 12px;
    color: var(--dp-text-muted);
    margin-top: 0.5rem;
}

body.dealer-panel.cl-refunds .dealer-content .dp-refund-view__status-sub {
    margin: 0.35rem 0 0;
    font-weight: 500;
}

body.dealer-panel .dealer-content .login-container h3 {
    margin-top: 0;
    margin-bottom: 1.35rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--dp-border);
    font-size: 1.35rem;
}

/* One rule for the auth header block (title + subtitle) — avoids a “double rule” under the title only */
body.dealer-panel .dealer-content .login-container .dealer-auth__head {
    margin: 0 0 1.35rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel .dealer-content .login-container .dealer-auth__title {
    margin: 0 0 0.5rem;
    padding: 0;
    border: none;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

body.dealer-panel .dealer-content .login-container .dealer-auth__lede {
    margin: 0;
}

body.dealer-panel .dealer-content .login-container .form-group:last-of-type {
    margin-bottom: 0;
}

body.dealer-panel .dealer-content .login-container .btn {
    margin-top: 0.35rem;
    margin-bottom: 0.35rem;
    margin-right: 0.35rem;
}

body.dealer-panel .dealer-content .login-container .btn-block {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

body.dealer-panel.cl-users section.lyca-mobile.site-main {
    padding-bottom: 1.5rem;
}

/* Auth pages: trim main column gutter so the card is not inset twice (grid + card). */
body.dealer-panel.cl-users section.lyca-mobile.site-main > .container > .row > .site-main__inner.dealer-content {
    padding-left: 8px;
    padding-right: 8px;
}

@media (min-width: 768px) {
    body.dealer-panel.cl-users section.lyca-mobile.site-main > .container > .row > .site-main__inner.dealer-content {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* Stack layout flashes above the card so they align with the auth panel width */
body.dealer-panel.cl-users .site-main__inner.dealer-content > .alert,
body.dealer-panel.cl-users .site-main__inner.dealer-content > .message,
body.dealer-panel.cl-users .site-main__inner.dealer-content > .error {
    width: 100%;
    max-width: var(--dp-auth-register-max);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.dealer-panel .site-main .flash-message {
    border-radius: var(--dp-radius);
}

/* ----- Fluid main canvas (dealer default layout) ----- */
body.dealer-panel section.lyca-mobile.site-main > .container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
    flex: 0 1 auto;
    align-self: center;
}

@media (min-width: 1400px) {
    body.dealer-panel section.lyca-mobile.site-main > .container {
        max-width: 1360px;
    }
}

body.dealer-panel .dealer-navbar > .container,
body.dealer-panel .preheader > .container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

@media (min-width: 1400px) {
    body.dealer-panel .dealer-navbar > .container,
    body.dealer-panel .preheader > .container {
        max-width: 1360px;
    }
}

/* Stores / Giftcards — same max width as main dealer canvas (no outer section.container). */
body.dealer-panel .bdcnt.site-main.dealer-content {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media (min-width: 1400px) {
    body.dealer-panel .bdcnt.site-main.dealer-content {
        max-width: 1360px;
    }
}

/* ----- Auth screens (login / register / forgot / reset) ----- */
body.dealer-panel .dealer-auth {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 42vh;
    padding: 0.5rem 0 1.5rem;
}

body.dealer-panel .dealer-auth__lede {
    font-size: 0.95rem;
    color: var(--dp-text-muted);
    line-height: 1.5;
    max-width: 36em;
}

/* Name row: avoid Bootstrap .row negative margins clipping past the card */
body.dealer-panel .dealer-auth__name-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0 12px;
    margin-bottom: 0;
}

body.dealer-panel .dealer-auth__name-col {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
}

@media (max-width: 479px) {
    body.dealer-panel .dealer-auth__name-col {
        flex: 1 1 100%;
    }
}

body.dealer-panel .dealer-auth__form {
    margin-top: 0.25rem;
}

body.dealer-panel .dealer-auth__field {
    margin-bottom: 1rem;
}

body.dealer-panel .dealer-auth__field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--dp-text-muted);
}

body.dealer-panel .dealer-auth__input {
    min-height: 44px;
    font-size: 16px;
}

body.dealer-panel .dealer-auth__row--split {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: -0.35rem 0 1rem;
}

body.dealer-panel .dealer-auth__inline-link {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dp-accent);
    text-decoration: none;
    border-radius: var(--dp-radius-sm);
    padding: 0.35rem 0;
    line-height: 1.45;
}

body.dealer-panel .dealer-auth__inline-link:hover,
body.dealer-panel .dealer-auth__inline-link:focus {
    color: var(--dp-accent-hover);
    text-decoration: underline;
}

body.dealer-panel .dealer-auth__inline-link:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

body.dealer-panel .dealer-auth__submit {
    min-height: 46px;
    font-size: 1rem;
    margin-top: 0.25rem;
    margin-bottom: 0.5rem;
}

body.dealer-panel .dealer-auth__divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1.25rem 0 1rem;
    color: var(--dp-text-muted);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.dealer-panel .dealer-auth__divider::before,
body.dealer-panel .dealer-auth__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--dp-border);
}

body.dealer-panel .dealer-auth__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

body.dealer-panel .dealer-auth__social-btn {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 140px;
    min-height: 44px;
    font-weight: 600;
}

body.dealer-panel .dealer-auth__social-btn .fa {
    margin-right: 0.35rem;
}

body.dealer-panel .dealer-auth__switch {
    margin: 1.35rem 0 0;
    padding-top: 1.1rem;
    border-top: 1px solid var(--dp-border);
    text-align: center;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--dp-text-muted);
}

body.dealer-panel .dealer-auth__switch-link {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dp-accent);
    margin-left: 0.25rem;
    line-height: 1.5;
}

@media (max-width: 767px) {
    body.dealer-panel .dealer-auth__social-btn {
        flex: 1 1 100%;
    }
}

body.dealer-panel .dealer-content section.domestic-payments,
body.dealer-panel .dealer-content section.plans-range {
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    margin-bottom: 1.35rem;
    padding: 0.25rem 0 1rem;
    overflow: hidden;
    transition: box-shadow var(--dp-transition), border-color var(--dp-transition);
}

body.dealer-panel .dealer-content section.domestic-payments:hover,
body.dealer-panel .dealer-content section.plans-range:hover {
    box-shadow: var(--dp-shadow-hover);
}

body.dealer-panel .dealer-content section.domestic-payments > .container,
body.dealer-panel .dealer-content section.plans-range > .container {
    background: transparent;
    border: none;
    box-shadow: none;
    margin-bottom: 0;
    padding-top: 1rem;
    padding-bottom: 0.5rem;
}

body.dealer-panel .dealer-content section.domestic-payments > .container:hover,
body.dealer-panel .dealer-content section.plans-range > .container:hover {
    box-shadow: none;
    border: none;
}

body.dealer-panel .dealer-content .columns.content,
body.dealer-panel .dealer-content .commission.index {
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding: 1.35rem 1.5rem;
    margin-bottom: 1.35rem;
    float: none;
    width: 100%;
    max-width: 100%;
}

body.dealer-panel .dealer-content .notice.notice-danger {
    border-radius: var(--dp-radius);
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #7f1d1d;
}

/* ==========================================================================
   Domestic hub — Carriers index (dp-domestic)
   ========================================================================== */

/* Outer section: chrome lives on `.dp-domestic__inner` only */
body.dealer-panel.cl-carriers .dealer-content section.domestic-payments.dp-domestic {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 1.5rem;
    overflow: visible;
}

body.dealer-panel.cl-carriers .dealer-content section.domestic-payments.dp-domestic:hover {
    box-shadow: none !important;
}

body.dealer-panel.cl-carriers .dealer-content section.domestic-payments.dp-domestic > .container.dp-domestic__inner {
    background: var(--dp-surface) !important;
    border: 1px solid var(--dp-border) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    margin-bottom: 0 !important;
    padding: 1.6rem 1.35rem 1.85rem !important;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

body.dealer-panel.cl-carriers .dealer-content section.domestic-payments.dp-domestic > .container.dp-domestic__inner:hover {
    box-shadow: 0 6px 28px rgba(16, 24, 40, 0.08), 0 2px 4px rgba(16, 24, 40, 0.05) !important;
    border-color: #d8dee9 !important;
}

body.dealer-panel.cl-carriers .dealer-content .dp-domestic__invoice-alert {
    border-radius: var(--dp-radius);
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #7f1d1d;
}

body.dealer-panel.cl-carriers .dealer-content section.domestic-payments.dp-domestic.dp-domestic--with-invoice-alert {
    padding-top: 0 !important;
}

body.dealer-panel.cl-carriers .dp-domestic__inner.container {
    padding-left: 12px;
    padding-right: 12px;
}

@media (min-width: 992px) {
    body.dealer-panel.cl-carriers .dealer-content section.domestic-payments.dp-domestic > .container.dp-domestic__inner {
        padding: 1.85rem 2rem 2rem !important;
    }
}

body.dealer-panel.cl-carriers .dp-domestic__header {
    margin-bottom: 1.35rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-domestic__title {
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--dp-text);
    margin: 0 0 0.4rem;
    line-height: 1.2;
}

body.dealer-panel.cl-carriers .dp-domestic__subtitle {
    margin: 0;
    font-size: 15px;
    color: var(--dp-text-muted);
    line-height: 1.55;
    max-width: 40rem;
    font-weight: 400;
}

body.dealer-panel.cl-carriers .dp-domestic__invoice-alert-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

body.dealer-panel.cl-carriers .dp-domestic__invoice-badge {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #fee2e2;
    color: #b91c1c;
}

body.dealer-panel.cl-carriers .dp-domestic__invoice-alert-body p {
    margin: 0 0 0.5rem;
    font-size: 14px;
    line-height: 1.55;
}

body.dealer-panel.cl-carriers .dp-domestic__invoice-alert-body p:last-child {
    margin-bottom: 0;
}

body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.28rem;
    margin: 0 0 1rem !important;
    padding: 0.4rem;
    border: 1px solid var(--dp-border) !important;
    border-radius: 14px !important;
    background: var(--dp-surface-subtle) !important;
    float: none !important;
}

body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li {
    float: none !important;
    margin: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
}

body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li:first-child {
    margin-left: 0 !important;
}

body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    margin-right: 0 !important;
    padding: 0.55rem 0.6rem 0.58rem !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--dp-text-muted) !important;
    text-align: center;
    white-space: nowrap;
}

body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li > a:hover,
body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li > a:focus {
    color: var(--dp-text) !important;
    background: rgba(255, 255, 255, 0.65) !important;
    text-decoration: none !important;
}

body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li.active > a,
body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li.active > a:hover,
body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li.active > a:focus {
    color: var(--dp-text) !important;
    background: var(--dp-surface) !important;
    border-color: var(--dp-border) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0.58rem !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08), 0 0 0 1px rgba(var(--dp-accent-rgb), 0.12) !important;
}

body.dealer-panel.cl-carriers .dp-domestic__tab-icon {
    font-size: 1.05rem;
    opacity: 0.92;
    flex-shrink: 0;
}

body.dealer-panel.cl-carriers .dp-domestic__panels.tab-content {
    background: var(--dp-surface-subtle) !important;
    border-radius: 16px !important;
    padding: 1.35rem 1.15rem 1.5rem !important;
    margin: 0;
    border: 1px solid var(--dp-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.dealer-panel.cl-carriers .dp-domestic__panel-title {
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--dp-text);
    margin: 0 0 0.45rem;
    text-align: left;
}

body.dealer-panel.cl-carriers .dp-domestic__panel-lede {
    margin: 0 0 1.15rem;
    font-size: 14px;
    color: var(--dp-text-muted);
    line-height: 1.55;
    max-width: 36rem;
}

/* Deposit tab — full-width instructions block, single-line steps on wide viewports */
body.dealer-panel.cl-carriers .dp-domestic__panel--deposit {
    width: 100%;
    max-width: none;
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions {
    width: 100%;
    max-width: none;
    margin: 0 0 0.25rem;
    padding: 0 0 1.35rem;
    box-sizing: border-box;
    background: var(--dp-surface, #fff);
    border: 1px solid var(--dp-border);
    border-radius: 12px;
    border-top: 3px solid var(--dp-accent, #e74c3c);
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
    overflow: hidden;
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-banner {
    padding: 1.1rem 1.25rem 0.85rem;
    margin: 0;
    background: linear-gradient(180deg, rgba(var(--dp-accent-rgb), 0.06) 0%, transparent 100%);
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-heading-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    width: 100%;
    max-width: 48rem;
    margin: 0 auto;
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-heading-line {
    flex: 1 1 0;
    min-width: 1rem;
    max-width: 10rem;
    height: 1px;
    background: var(--dp-border);
    opacity: 0.9;
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-main-heading {
    flex: 0 1 auto;
    margin: 0;
    padding: 0 0.25rem;
    text-align: center;
    font-size: clamp(1.05rem, 2.2vw, 1.28rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    padding: 1rem 1.25rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dp-text-muted, #667085);
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-title-icon {
    font-size: 1.15rem;
    color: var(--dp-accent, #e74c3c);
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__instructions-lede {
    margin: 0 1.25rem 1rem;
    padding: 0.65rem 0.85rem;
    width: auto;
    max-width: none;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--dp-text);
    background: rgba(var(--dp-accent-rgb), 0.06);
    border-radius: 8px;
    border: 1px solid rgba(var(--dp-accent-rgb), 0.12);
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__steps--instructions.list-group {
    width: auto;
    max-width: none;
    margin: 0.35rem 1.25rem 0;
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__steps--instructions .dp-domestic__step.list-group-item {
    align-items: flex-start;
    width: 100%;
    max-width: none;
    flex-wrap: nowrap;
    padding: 0.85rem 1rem !important;
}

body.dealer-panel.cl-carriers .dp-domestic #zelle .dp-domestic__steps--instructions .dp-domestic__step p {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

body.dealer-panel.cl-carriers .dp-domestic__steps.list-group {
    margin: 0;
    border-radius: var(--dp-radius-sm);
    overflow: hidden;
    box-shadow: var(--dp-shadow);
}

body.dealer-panel.cl-carriers .dp-domestic__step.list-group-item {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.1rem !important;
    border-color: var(--dp-border) !important;
    font-size: 14px;
    line-height: 1.55;
}

body.dealer-panel.cl-carriers .dp-domestic__step-icon {
    color: var(--dp-accent);
    flex-shrink: 0;
    font-size: 1.25rem;
    margin-top: 0.05rem;
}

body.dealer-panel.cl-carriers .dp-domestic__step p {
    margin: 0;
}

body.dealer-panel.cl-carriers .dp-domestic__carrier-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
    list-style: none;
    padding: 0 !important;
    margin: 0 0 0.5rem !important;
    width: 100%;
    align-items: stretch;
}

body.dealer-panel.cl-carriers .dp-domestic__carrier-grid > li {
    width: auto !important;
    padding: 0 !important;
    display: flex;
    min-width: 0;
}

@media (max-width: 1199px) {
    body.dealer-panel.cl-carriers .dp-domestic__carrier-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    body.dealer-panel.cl-carriers .dp-domestic__carrier-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    body.dealer-panel.cl-carriers .dp-domestic__carrier-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
    }

    body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li {
        flex: 1 1 calc(50% - 0.2rem);
    }

    body.dealer-panel.cl-carriers .dp-domestic__tabs.nav-tabs > li > a {
        padding: 0.48rem 0.45rem 0.5rem !important;
        font-size: 11px !important;
        white-space: normal;
        min-height: 2.65rem;
    }

    body.dealer-panel.cl-carriers .dp-domestic__tab-icon {
        font-size: 0.95rem;
    }
}

body.dealer-panel.cl-carriers .dp-domestic .logo-box.dp-domestic__carrier-card {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 0.65rem !important;
    margin: 0;
    border-radius: 14px !important;
    border: 1px solid var(--dp-border) !important;
    background: var(--dp-surface) !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
    transition: border-color var(--dp-transition), box-shadow var(--dp-transition), transform 0.15s ease;
}

body.dealer-panel.cl-carriers .dp-domestic .logo-box.dp-domestic__carrier-card:hover {
    border-color: rgba(var(--dp-accent-rgb), 0.45) !important;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.08), 0 0 0 2px rgba(var(--dp-accent-rgb), 0.12);
    transform: translateY(-3px);
    text-decoration: none;
}

body.dealer-panel.cl-carriers .dp-domestic .logo-box.dp-domestic__carrier-card:focus {
    outline: none;
    border-color: var(--dp-accent) !important;
    box-shadow: 0 0 0 3px rgba(var(--dp-accent-rgb), 0.22);
}

/* Crypto tab: label under logo — drop fixed square */
body.dealer-panel.cl-carriers .dp-domestic #crypto .logo-box.dp-domestic__carrier-card {
    aspect-ratio: auto;
    min-height: 118px;
    padding-bottom: 0.75rem !important;
}

body.dealer-panel.cl-carriers .dp-domestic #crypto .dp-domestic__carrier-img-wrap img {
    max-height: 40px;
}

body.dealer-panel.cl-carriers .dp-domestic__carrier-img-wrap {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    flex: 1 1 auto;
    min-height: 0;
    padding: 0.25rem;
}

body.dealer-panel.cl-carriers .dp-domestic__carrier-img-wrap img {
    max-height: 44px;
    max-width: 92%;
    width: auto !important;
    height: auto;
    object-fit: contain;
}

body.dealer-panel.cl-carriers .dp-domestic__crypto-name {
    margin-top: 0.4rem;
    font-size: 12px;
    font-weight: 600;
    color: var(--dp-text-muted);
    line-height: 1.3;
}

/* ==========================================================================
   Domestic carrier pay — Carriers view / recharge (dp-domestic-pay)
   ========================================================================== */
body.dealer-panel.cl-carriers .dp-domestic-pay__intro {
    margin-bottom: 1rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__shell.container {
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    margin-bottom: 1rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__heading.lyca-heading {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--dp-text);
    margin: 0 0 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .steps-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--dp-accent);
    margin: 0 0 0.25rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .dark-creamy {
    font-size: 15px;
    color: var(--dp-text-muted);
    margin: 0;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .hr-line {
    margin: 1rem 0;
    border-color: var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    height: auto;
    padding: 1rem;
    border-radius: var(--dp-radius-sm);
    border: 1px solid var(--dp-border);
    background: var(--dp-surface-subtle);
    box-shadow: var(--dp-shadow);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .img-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box {
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius-sm);
    border-left: 4px solid var(--dp-accent);
    padding: 1rem 1.1rem;
    margin-top: 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box .steps-tag {
    color: var(--dp-text);
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .input-group-addon {
    background: var(--dp-surface-subtle);
    border-color: var(--dp-border-strong);
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range {
    padding-top: 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans .red-box {
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius-sm);
    border-left: 4px solid var(--dp-accent);
    padding: 1rem 1.1rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans .hr-line {
    margin: 1.25rem 0;
    border-color: var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals {
    flex: 1 1 220px;
    max-width: 100%;
    margin: 0;
    padding: 0.85rem 1rem;
    background: var(--dp-surface-subtle);
    border-radius: var(--dp-radius-sm);
    border: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals .total-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--dp-border);
    font-size: 14px;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals .total-list li:last-child {
    border-bottom: none;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals .colorcdd6d7 {
    display: none !important;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals .f700 {
    font-weight: 600;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals .grand-total .f700,
body.dealer-panel.cl-carriers .dp-domestic-pay__totals .grand-total .price {
    font-weight: 700;
    font-size: 1.05rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__totals .grand-total .price {
    color: var(--dp-accent);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__cta {
    flex: 0 0 auto;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__legal {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__legal h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--dp-text);
    margin: 0 0 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__legal small,
body.dealer-panel.cl-carriers .dp-domestic-pay__legal p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__legal-box {
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius-sm);
    padding: 1rem 1.1rem;
    margin-top: 0.5rem;
    background: var(--dp-surface-subtle);
}

body.dealer-panel.cl-carriers .dp-domestic-pay__p2p-fields {
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius-sm);
    padding: 1.1rem 1.15rem;
    margin-top: 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__p2p-fields .form-group {
    margin-bottom: 1rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__p2p-fields .form-group:last-child {
    margin-bottom: 0;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans .plan-label {
    border-radius: var(--dp-radius-sm);
}

/* ==========================================================================
   Carriers — tighten 2026 look for red-box + plan cards + pay CTA
   (Overrides legacy theme/style.css that was designed for 2016 layout.)
   ========================================================================== */
body.dealer-panel.cl-carriers .dp-domestic-pay__cta a.shop-btn {
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    padding: 1rem 1.5rem !important;
    border-radius: 10px !important;
    border: 1px solid var(--dp-accent-active) !important;
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    text-transform: none !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
    transition: transform 0.12s ease, box-shadow 0.18s ease, opacity 0.18s ease;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__cta a.shop-btn:hover,
body.dealer-panel.cl-carriers .dp-domestic-pay__cta a.shop-btn:focus {
    opacity: 0.96;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
    color: #fff !important;
}

/* Input callout block */
body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box,
body.dealer-panel.cl-carriers .dp-domestic-pay__plans .red-box {
    margin-top: 0 !important;
    border-top-right-radius: var(--dp-radius-sm) !important;
    border-top-left-radius: var(--dp-radius-sm) !important;
    border-left-width: 5px;
}

/* Remove legacy negative margin/padding that made the input look "off" */
body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box .input-group {
    margin-left: 0 !important;
    width: 100%;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box .input-group .form-control {
    height: 48px !important;
    padding: 6px 12px 6px 16px !important;
    font-size: 16px !important;
    background: none !important;
    border: 1px solid var(--dp-border-strong) !important;
    border-radius: var(--dp-radius-sm) !important;
    box-shadow: none !important;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box .input-group-addon {
    padding: 0 14px !important;
    border-left: 0 !important;
    border-radius: 0 var(--dp-radius-sm) var(--dp-radius-sm) 0 !important;
    background: var(--dp-surface-subtle) !important;
    color: var(--dp-text-muted) !important;
    border: 1px solid var(--dp-border-strong) !important;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box .content-box {
    position: static !important;
    bottom: auto !important;
    margin-top: 0.35rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__intro .red-box .select_plan {
    transform: none !important;
    font-family: var(--dp-font) !important;
    font-size: 14px !important;
    color: var(--dp-text-muted) !important;
    margin: 0 !important;
    text-align: center;
}

/* Plan cards */
body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range {
    padding-top: 0.75rem;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range .plan-label {
    border: 1px solid var(--dp-border) !important;
    background: var(--dp-surface-subtle) !important;
    border-radius: var(--dp-radius-sm) !important;
    padding: 1rem 0.85rem 0.9rem !important;
    min-height: 168px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    position: relative;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range input[type="radio"]:checked + label,
body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range input[type="radio"] + label:hover {
    border-color: var(--dp-accent) !important;
    background: #fff !important;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range .plan-label > img {
    max-height: 84px;
    width: auto;
    margin: 0 auto;
    object-fit: contain;
}

/* Make the price stop using legacy absolute positioning */
body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range .amount {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin: 0.25rem 0 0 !important;
    font-family: var(--dp-font) !important;
    font-size: 2.1rem !important;
    color: var(--dp-text) !important;
    vertical-align: baseline !important;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range .amount span {
    font-size: 1.2rem !important;
    font-family: var(--dp-font) !important;
    margin-right: 0 !important;
    vertical-align: baseline !important;
}

/* Checkmark badge */
body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range .square {
    background-color: var(--dp-accent) !important;
    width: 28px;
    height: 28px;
    top: 0.75rem;
    right: 0.75rem;
    border-bottom-left-radius: 6px;
}

body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range .square img {
    width: 16px;
    margin: 6px auto 0;
}

/* Carrier 1988 large overlay text should not be absolute */
body.dealer-panel.cl-carriers .dp-domestic-pay__plans.plans-range p.text-yep {
    position: static !important;
    top: auto !important;
    font-size: 2rem !important;
    color: var(--dp-accent) !important;
    margin: 0.1rem 0 0.1rem;
}

/* ==========================================================================
   Carrier view — master card (dp-cv), Gemini-style layout + theme tokens
   ========================================================================== */
body.dealer-panel.cl-carriers section.plans-range.dp-cv {
    padding: 0 !important;
    margin-bottom: 1.5rem;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/*
 * Shell must beat `section.plans-range > .container { background: transparent }` (dealer-content cards).
 */
body.dealer-panel.cl-carriers .dealer-content section.plans-range.dp-cv > .container.dp-cv__shell {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
    padding: 1.35rem 1.25rem 1.6rem;
}

@media (min-width: 992px) {
    body.dealer-panel.cl-carriers .dealer-content section.plans-range.dp-cv > .container.dp-cv__shell {
        padding: 1.75rem 2rem 2.1rem;
    }
}

body.dealer-panel.cl-carriers .dealer-content section.plans-range.dp-cv > .container.dp-cv__shell:hover {
    box-shadow: 0 6px 28px rgba(16, 24, 40, 0.08), 0 2px 4px rgba(16, 24, 40, 0.05);
    border-color: #d8dee9;
}

body.dealer-panel.cl-carriers .dp-cv__masthead {
    display: flex;
    align-items: center;
    gap: 1rem 1.25rem;
    padding-bottom: 1.15rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-cv__logo-wrap {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    border-radius: 14px;
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
}

body.dealer-panel.cl-carriers .dp-cv__logo {
    max-width: 100%;
    max-height: 52px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body.dealer-panel.cl-carriers .dp-cv__title {
    margin: 0 0 0.2rem;
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__tagline {
    margin: 0;
    font-size: 15px;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-cv__layout {
    margin-left: -10px;
    margin-right: -10px;
}

@media (min-width: 992px) {
    body.dealer-panel.cl-carriers .dp-cv__layout.row {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    body.dealer-panel.cl-carriers .dp-cv__layout.row:before,
    body.dealer-panel.cl-carriers .dp-cv__layout.row:after {
        display: none;
        content: none;
    }
}

body.dealer-panel.cl-carriers .dp-cv__col {
    padding-left: 10px;
    padding-right: 10px;
}

body.dealer-panel.cl-carriers .dp-cv__col--inputs > * + *,
body.dealer-panel.cl-carriers .dp-cv__col--plans > * + * {
    margin-top: 1rem;
}

body.dealer-panel.cl-carriers .dp-cv__panel {
    border-radius: 14px;
    padding: 1.1rem 1.15rem 1.15rem;
}

body.dealer-panel.cl-carriers .dp-cv__panel--dark {
    background: linear-gradient(165deg, #3a3d45 0%, #25262c 52%, #1c1d22 100%);
    color: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1);
}

body.dealer-panel.dealer-panel--wm.cl-carriers .dp-cv__panel--dark {
    background: linear-gradient(165deg, #2a2223 0%, #1a1516 100%);
    border-color: rgba(227, 30, 36, 0.22);
}

body.dealer-panel.cl-carriers .dp-cv__panel-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

body.dealer-panel.cl-carriers .dp-cv__panel-help {
    margin-left: auto;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.88);
    font-size: 1rem;
    line-height: 1;
    cursor: help;
    transition: background-color var(--dp-transition), color var(--dp-transition);
}

body.dealer-panel.cl-carriers .dp-cv__panel-help:hover,
body.dealer-panel.cl-carriers .dp-cv__panel-help:focus {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    outline: none;
}

body.dealer-panel.cl-carriers .dp-cv__panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 1rem;
}

body.dealer-panel.cl-carriers .dp-cv__panel-label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    text-transform: none;
    color: rgba(255, 255, 255, 0.88);
}

body.dealer-panel.cl-carriers .dp-cv__field-wrap {
    margin-top: 0.15rem;
}

body.dealer-panel.cl-carriers .dp-cv__input--phone-pill {
    display: block;
    width: 100%;
    height: 48px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 16px !important;
    padding-left: 1.1rem !important;
    padding-right: 1.1rem !important;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__panel--range .dp-cv__input {
    border-radius: 999px !important;
    height: 48px !important;
    font-size: 16px !important;
    border: none !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__range-hint {
    margin: 0.65rem 0 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.72);
}

body.dealer-panel.cl-carriers .dp-cv__panel-hint {
    margin: 0.85rem 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.78);
}

body.dealer-panel.cl-carriers .dp-cv__hint-pill {
    display: inline-block;
    margin-right: 0.35rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: -0.01em;
    text-transform: none;
    color: rgba(255, 255, 255, 0.95);
}

body.dealer-panel.cl-carriers .dp-cv__summary-card {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1rem 1.05rem;
    border-radius: 12px;
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-cv__summary-card--muted {
    align-items: flex-start;
    padding: 1.2rem 1.15rem;
    min-height: 120px;
}

body.dealer-panel.cl-carriers .dp-cv__summary-icon {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    color: var(--dp-accent);
    font-size: 1.05rem;
}

body.dealer-panel.cl-carriers .dp-cv__summary-card--muted .dp-cv__summary-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 12px;
    font-size: 1.2rem;
}

body.dealer-panel.cl-carriers .dp-cv__summary-lede {
    margin: 0 0 0.35rem;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__summary-amount {
    margin: 0 0 0.15rem;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__summary-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-cv__plan-heading {
    margin: 1rem 0 0.75rem;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__plan-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    gap: 0.75rem;
    align-items: stretch;
}

body.dealer-panel.cl-carriers .dp-cv__plan-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

body.dealer-panel.cl-carriers .dp-cv .plan-label.dp-cv__plan-card {
    margin-bottom: 0 !important;
    flex: 1 1 auto;
    min-height: 10rem;
    width: 100%;
    padding: 0.95rem 0.65rem 0.85rem !important;
    border: 1px solid var(--dp-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    position: relative;
    text-align: center;
    transition: border-color var(--dp-transition), box-shadow var(--dp-transition), background-color var(--dp-transition);
}

body.dealer-panel.cl-carriers .dp-cv input[type="radio"]:checked + label.dp-cv__plan-card,
body.dealer-panel.cl-carriers .dp-cv input[type="radio"] + label.dp-cv__plan-card:hover {
    border-color: var(--dp-accent) !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(var(--dp-accent-rgb), 0.22);
}

body.dealer-panel.cl-carriers .dp-cv .dp-cv__plan-img {
    max-height: 64px;
    width: auto;
    margin: 0 auto;
    object-fit: contain;
}

body.dealer-panel.cl-carriers .dp-cv .amount {
    position: static !important;
    margin: 0 !important;
    font-family: var(--dp-font) !important;
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: var(--dp-text) !important;
}

body.dealer-panel.cl-carriers .dp-cv .amount span {
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin-right: 0.1rem !important;
    vertical-align: baseline !important;
}

body.dealer-panel.cl-carriers .dp-cv .square {
    background-color: var(--dp-accent) !important;
    width: 26px;
    height: 26px;
    top: 0.55rem;
    right: 0.55rem;
    border-bottom-left-radius: 6px;
}

body.dealer-panel.cl-carriers .dp-cv .square img {
    width: 14px;
    margin: 5px auto 0;
}

body.dealer-panel.cl-carriers .dp-cv .plan-desc {
    position: static !important;
    margin: 0 !important;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-height: calc(1.4em * 3);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    color: var(--dp-text-muted);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

body.dealer-panel.cl-carriers .dp-cv__checkout-card {
    padding: 1.25rem 1.2rem 1.3rem;
    border-radius: 16px;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    height: 100%;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 20px rgba(16, 24, 40, 0.06);
}

body.dealer-panel.cl-carriers .dp-cv__checkout-title {
    margin: 0 0 0.85rem;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__totals li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--dp-border);
    font-size: 14px;
}

body.dealer-panel.cl-carriers .dp-cv__totals li:last-child {
    border-bottom: none;
}

body.dealer-panel.cl-carriers .dp-cv__totals .colorcdd6d7 {
    display: none !important;
}

body.dealer-panel.cl-carriers .dp-cv__totals .grand-total .price {
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--dp-accent);
}

body.dealer-panel.cl-carriers .dp-cv__cta-wrap {
    margin-top: 1rem;
}

body.dealer-panel.cl-carriers .dp-cv__pay-btn.shop-btn {
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    padding: 0.95rem 1.25rem !important;
    border-radius: 14px !important;
    border: 1px solid var(--dp-accent-active) !important;
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    box-shadow: 0 2px 6px rgba(var(--dp-accent-rgb), 0.12), 0 8px 20px rgba(var(--dp-accent-rgb), 0.18);
}

body.dealer-panel.cl-carriers .dp-cv__pay-btn.shop-btn:hover,
body.dealer-panel.cl-carriers .dp-cv__pay-btn.shop-btn:focus {
    color: #fff !important;
    opacity: 0.97;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(var(--dp-accent-rgb), 0.14), 0 12px 28px rgba(var(--dp-accent-rgb), 0.2);
}

body.dealer-panel.cl-carriers .dp-cv__pay-icon {
    font-size: 1.15rem;
}

body.dealer-panel.cl-carriers .dp-cv__pay-amount {
    font-weight: 700;
    opacity: 0.95;
}

body.dealer-panel.cl-carriers .dp-cv__secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin: 0.85rem 0 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-cv__legal {
    margin-top: 1.5rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--dp-border);
}

body.dealer-panel.cl-carriers .dp-cv__legal-title {
    font-size: 13px;
    font-weight: 700;
    margin: 0.75rem 0 0.35rem;
    color: var(--dp-text);
}

body.dealer-panel.cl-carriers .dp-cv__legal-title:first-child {
    margin-top: 0;
}

body.dealer-panel.cl-carriers .dp-cv__legal-text {
    margin: 0 0 0.75rem;
    font-size: 13px;
    line-height: 1.55;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-cv__legal-box {
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius-sm);
    padding: 0.85rem 1rem;
    background: var(--dp-surface-subtle);
    font-size: 13px;
    line-height: 1.55;
    color: var(--dp-text-muted);
}

body.dealer-panel.cl-carriers .dp-cv__legal-box p {
    margin: 0;
}

@media (max-width: 991px) {
    body.dealer-panel.cl-carriers .dp-cv__col--checkout {
        margin-top: 1.25rem;
    }
}

body.dealer-panel .site-main .row.bg-info {
    background: var(--dp-surface-subtle) !important;
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    padding: 1.25rem 1.4rem !important;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    box-shadow: var(--dp-shadow-inset);
}

body.dealer-panel .site-main .row.bg-info > h3 {
    margin-top: 0;
    padding-bottom: 0.85rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--dp-border);
}

/* ----- Tabs ----- */
body.dealer-panel .nav-tabs {
    border-bottom: 2px solid var(--dp-border);
}

body.dealer-panel .nav-tabs > li > a {
    border-radius: var(--dp-radius-sm) var(--dp-radius-sm) 0 0;
    margin-right: 4px;
    color: var(--dp-text-muted) !important;
    font-weight: 500;
    border: 1px solid transparent !important;
    transition: color var(--dp-transition), background-color var(--dp-transition), border-color var(--dp-transition);
}

body.dealer-panel .nav-tabs > li > a:hover,
body.dealer-panel .nav-tabs > li > a:focus {
    color: var(--dp-text) !important;
    background: var(--dp-surface-subtle) !important;
    border-color: var(--dp-border) !important;
    border-bottom-color: transparent !important;
}

body.dealer-panel .nav-tabs > li.active > a,
body.dealer-panel .nav-tabs > li.active > a:hover,
body.dealer-panel .nav-tabs > li.active > a:focus {
    color: var(--dp-accent) !important;
    font-weight: 600;
    background: var(--dp-surface) !important;
    border-color: var(--dp-border) !important;
    border-bottom-color: var(--dp-surface) !important;
    margin-bottom: -2px;
    padding-bottom: 11px;
}

body.dealer-panel .nav-tabs > li > a:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

/* ----- Forms ----- */
body.dealer-panel .form-control {
    font-size: 14px;
    border-radius: var(--dp-radius-sm);
    border-color: var(--dp-border-strong);
    box-shadow: none;
    transition: border-color var(--dp-transition), box-shadow var(--dp-transition);
}

body.dealer-panel .form-control:hover {
    border-color: #94a3b8;
}

body.dealer-panel .form-control:focus {
    border-color: var(--dp-accent);
    box-shadow: 0 0 0 3px var(--dp-accent-ring);
}

body.dealer-panel .form-control:focus-visible {
    outline: none;
}

body.dealer-panel label {
    font-weight: 500;
    color: var(--dp-text);
}

body.dealer-panel .help-block,
body.dealer-panel small,
body.dealer-panel .small {
    font-size: 14px;
}

/* ----- Tables ----- */
body.dealer-panel .table {
    border-collapse: separate;
    border-spacing: 0;
}

body.dealer-panel .table thead > tr > th {
    background: linear-gradient(180deg, var(--dp-surface-subtle) 0%, #eef1f6 100%);
    color: var(--dp-text);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid var(--dp-border);
    vertical-align: middle;
}

body.dealer-panel .table-bordered > thead > tr > th,
body.dealer-panel .table-bordered > tbody > tr > td {
    border-color: var(--dp-border);
}

body.dealer-panel .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f9fafb;
}

body.dealer-panel .table tbody tr {
    transition: background-color var(--dp-transition);
}

body.dealer-panel .table-hover > tbody > tr:hover {
    background-color: rgba(var(--dp-accent-rgb), 0.04) !important;
}

/* ----- Buttons ----- */
body.dealer-panel .btn {
    border-radius: var(--dp-radius-sm);
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background-color var(--dp-transition), border-color var(--dp-transition), color var(--dp-transition), box-shadow var(--dp-transition), transform 0.1s ease;
}

body.dealer-panel .btn:active {
    transform: translateY(1px);
}

body.dealer-panel .btn:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

body.dealer-panel .btn-default {
    border-color: var(--dp-border-strong);
    color: var(--dp-text);
    background: #fff;
}

body.dealer-panel .btn-default:hover,
body.dealer-panel .btn-default:focus {
    background: var(--dp-surface-subtle);
    border-color: #94a3b8;
    color: var(--dp-text);
}

body.dealer-panel .btn-default:active {
    background: #e2e8f0;
}

body.dealer-panel .btn-primary,
body.dealer-panel .btnSubmit {
    background: linear-gradient(180deg, var(--dp-accent) 0%, var(--dp-accent-hover) 100%);
    border-color: var(--dp-accent-active);
    color: #fff;
}

body.dealer-panel .btn-primary:hover,
body.dealer-panel .btn-primary:focus,
body.dealer-panel .btnSubmit:hover,
body.dealer-panel .btnSubmit:focus {
    background: linear-gradient(180deg, var(--dp-accent-hover) 0%, var(--dp-accent-active) 100%);
    border-color: var(--dp-accent-active);
    color: #fff;
}

body.dealer-panel .btn-primary:active,
body.dealer-panel .btnSubmit:active {
    background: var(--dp-accent-active);
}

body.dealer-panel .btn-success {
    background: linear-gradient(180deg, #10b981 0%, var(--dp-success) 100%);
    border-color: #047857;
    color: #fff;
}

body.dealer-panel .btn-success:hover,
body.dealer-panel .btn-success:focus {
    background: linear-gradient(180deg, var(--dp-success) 0%, #047857 100%);
    color: #fff;
}

body.dealer-panel .btn-link {
    color: var(--dp-accent);
    font-weight: 600;
}

body.dealer-panel .btn-link:hover,
body.dealer-panel .btn-link:focus {
    color: var(--dp-accent-hover);
}

body.dealer-panel .btn:disabled,
body.dealer-panel .btn.disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

/* Pay / shop CTA on carrier flows */
body.dealer-panel .shop-btn {
    border-radius: var(--dp-radius-sm);
    transition: opacity var(--dp-transition), box-shadow var(--dp-transition), transform 0.1s ease;
}

body.dealer-panel .shop-btn:hover,
body.dealer-panel .shop-btn:focus {
    opacity: 0.92;
    box-shadow: 0 4px 16px rgba(var(--dp-accent-rgb), 0.35);
}

body.dealer-panel .shop-btn:active {
    transform: translateY(1px);
}

/*
 * Legacy theme styles .shop-btn for <a> links; <input type="button"> pay CTAs were tiny.
 * Normalize all primary pay controls to a proper tap target (44px+) and readable type.
 */
body.dealer-panel .dealer-content input.shop-btn,
body.dealer-panel .dealer-content input.btn-verify,
body.dealer-panel .dealer-content button.shop-btn {
    min-height: 48px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    text-transform: none !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    width: 100%;
    max-width: 100%;
}

body.dealer-panel .dealer-content a.shop-btn,
body.dealer-panel .dealer-content a.btn-verify {
    min-height: 48px;
    padding: 14px 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin-top: 12px !important;
    text-transform: none !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-sizing: border-box;
}

body.dealer-panel .dealer-content a.shop-btn .icon-img,
body.dealer-panel .dealer-content a.btn-verify .icon-img {
    position: static !important;
    margin-right: 0.25rem;
}

/* Inline filter / export bars (Bootstrap form-inline) */
body.dealer-panel .dealer-content .form-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem 0.85rem;
    margin-bottom: 1rem;
}

body.dealer-panel .dealer-content .form-inline .form-group {
    margin-bottom: 0;
    vertical-align: bottom;
}

body.dealer-panel .dealer-content .form-inline .form-control {
    min-height: 44px;
}

body.dealer-panel .dealer-content .form-inline .btn,
body.dealer-panel .dealer-content .form-inline input[type="submit"] {
    min-height: 44px;
    padding-left: 1.15rem;
    padding-right: 1.15rem;
}

/* Primary table actions: avoid overly small hit areas */
body.dealer-panel .dealer-content .table .btn-sm {
    min-height: 36px;
    padding: 0.4rem 0.75rem;
    font-size: 14px;
}

/* Postpaid / carrier inline pay row */
body.dealer-panel .dealer-content .text-right > .shop-btn {
    margin-top: 0.5rem;
}

/* Export / date filter bar (Transactions, Invoices, etc.) */
body.dealer-panel .dealer-content .dp-export-bar {
    margin-bottom: 0.5rem;
}

body.dealer-panel .dealer-content .dp-export-bar__form.form-inline {
    align-items: flex-end;
}

body.dealer-panel .dealer-content .dp-export-bar__form .checkbox {
    padding-top: 0.35rem;
    margin-bottom: 0;
}

body.dealer-panel .dealer-content .dp-export-bar__form .checkbox label {
    font-size: 14px;
    font-weight: 500;
    padding-left: 0.35rem;
}

body.dealer-panel .dealer-content .dp-export-bar__submit {
    min-height: 44px;
    font-weight: 600;
}

body.dealer-panel .dealer-content hr.dp-export-bar__rule {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    border-color: var(--dp-border);
}

/* ----- Pagination ----- */
body.dealer-panel .pagination > li > a,
body.dealer-panel .pagination > li > span {
    border-radius: var(--dp-radius-sm);
    margin: 0 3px;
    border-color: var(--dp-border);
    color: var(--dp-text);
    transition: background-color var(--dp-transition), border-color var(--dp-transition), color var(--dp-transition);
}

body.dealer-panel .pagination > li > a:hover,
body.dealer-panel .pagination > li > a:focus {
    background: var(--dp-surface-subtle);
    border-color: var(--dp-border-strong);
    color: var(--dp-accent);
}

body.dealer-panel .pagination > .active > a,
body.dealer-panel .pagination > .active > span,
body.dealer-panel .pagination > .active > a:hover {
    background: var(--dp-accent);
    border-color: var(--dp-accent-active);
    color: #fff;
}

body.dealer-panel .pagination > li > a:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

/* ----- Alerts & list groups ----- */
body.dealer-panel .alert {
    border-radius: var(--dp-radius);
    border-width: 1px;
}

body.dealer-panel .list-group-item {
    border-color: var(--dp-border);
    transition: background-color var(--dp-transition);
}

body.dealer-panel .list-group-item:hover {
    background: var(--dp-surface-subtle);
}

body.dealer-panel a.list-group-item:focus,
body.dealer-panel a.list-group-item:hover {
    color: var(--dp-accent);
}

/* ----- In-content links ----- */
body.dealer-panel .dealer-content a:not(.btn):not(.navbar-brand):not(.nav-tabs a):not(.pagination a):not(.shop-btn):not(.logo-box) {
    color: var(--dp-accent);
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px solid transparent;
    transition: color var(--dp-transition), border-color var(--dp-transition);
}

body.dealer-panel .dealer-content a:not(.btn):not(.navbar-brand):not(.nav-tabs a):not(.pagination a):not(.shop-btn):not(.logo-box):hover {
    color: var(--dp-accent-hover);
    border-bottom-color: rgba(var(--dp-accent-rgb), 0.45);
}

body.dealer-panel .dealer-content a:not(.btn):not(.navbar-brand):not(.nav-tabs a):not(.pagination a):not(.shop-btn):not(.logo-box):focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ----- dp-footer layout ----- */
body.dealer-panel .dp-footer__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 3rem;
    padding: 2rem 0 1.5rem;
    align-items: flex-start;
}

body.dealer-panel .dp-footer__brand {
    flex: 0 0 auto;
    max-width: 260px;
}

body.dealer-panel .dp-footer__logo-text {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--dp-accent);
}

body.dealer-panel .dp-footer__logo-text--muted {
    font-weight: 600;
    color: var(--dp-text-muted);
    margin-left: 0.1em;
}

body.dealer-panel .dp-footer__tagline {
    margin-top: 0.65rem;
    font-size: 13px;
    color: var(--dp-text-muted);
    line-height: 1.55;
    margin-bottom: 0;
}

body.dealer-panel .dp-footer__links {
    flex: 1 1 300px;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 2.5rem;
}

body.dealer-panel .dp-footer__col {
    min-width: 120px;
}

body.dealer-panel .dp-footer__col-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--dp-text-muted);
    margin: 0 0 0.75rem;
}

body.dealer-panel .dp-footer__bottom {
    border-top: 1px solid var(--dp-border);
    padding: 0.85rem 0 1.5rem;
    font-size: 13px;
    color: var(--dp-text-muted);
}

/* ----- Footer ----- */
/* Theme footer assumes dark image + white type; dealer light background needs readable text */
body.dealer-panel footer {
    border-top: 1px solid var(--dp-chrome-border);
    margin-top: 0;
    padding-top: 1.5rem;
    background-color: var(--dp-bg-page);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, transparent 38%), var(--dp-bg-dots);
    background-size: auto, var(--dp-bg-dots-size);
    color: var(--dp-text);
}

body.dealer-panel footer .container-fluid {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

@media (min-width: 1400px) {
    body.dealer-panel footer .container-fluid {
        max-width: 1360px;
    }
}

body.dealer-panel footer h4 {
    color: var(--dp-text);
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    margin: 0 0 1rem;
}

body.dealer-panel footer .tag-line,
body.dealer-panel footer .footer-menu li a,
body.dealer-panel footer .copyright,
body.dealer-panel footer .logo-txt {
    color: var(--dp-text-muted);
}

body.dealer-panel footer .footer-menu li a:hover,
body.dealer-panel footer .footer-menu li a:focus {
    color: var(--dp-accent);
}

body.dealer-panel footer .footer-menu li {
    border-bottom-color: var(--dp-border);
}

body.dealer-panel footer .bg1 {
    background: transparent;
    padding: 2rem 0 1.5rem;
}

body.dealer-panel footer .side-space {
    padding: 2rem 0 1.25rem;
}

@media (min-width: 992px) {
    body.dealer-panel footer .side-space {
        padding: 2rem 0 1.25rem 1.5rem;
    }
}

body.dealer-panel footer .scoial-icons {
    margin-top: 1rem;
}

body.dealer-panel footer .space70 {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--dp-border);
}

body.dealer-panel footer .terms-list li a {
    color: var(--dp-accent);
}

body.dealer-panel footer .terms-list li:after {
    background-color: var(--dp-border-strong);
}

body.dealer-panel footer a {
    transition: color var(--dp-transition), opacity var(--dp-transition);
}

body.dealer-panel footer a:hover,
body.dealer-panel footer a:focus {
    color: var(--dp-accent);
}

body.dealer-panel footer a:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

/* ----- Profile / register chrome ----- */
body.dealer-panel .register-form .note {
    border-radius: var(--dp-radius) var(--dp-radius) 0 0;
    background: linear-gradient(90deg, var(--dp-accent) 0%, #fb7185 100%);
    border: none;
}

body.dealer-panel .register-form .note p {
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.02em;
}

body.dealer-panel .register-form .form-content {
    border-radius: 0 0 var(--dp-radius) var(--dp-radius);
    border: 1px solid var(--dp-border);
    border-top: none;
}

/* ----- Misc ----- */
body.dealer-panel .hr-line {
    border-top-color: var(--dp-border);
}

body.dealer-panel .carrier-heading {
    font-weight: 600;
    color: var(--dp-text);
    margin-bottom: 1rem;
}

body.dealer-panel .text-muted,
body.dealer-panel .form-text.text-muted {
    color: var(--dp-text-muted) !important;
}

/* ----- Store profile (UserProfiles) — dashboard-style layout ----- */
body.dealer-panel .dealer-content .dealer-profile-page {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding: 1.65rem 1.35rem 2rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    body.dealer-panel .dealer-content .dealer-profile-page {
        padding: 2rem 2rem 2.25rem;
    }
}

body.dealer-panel .dealer-profile-page__intro {
    margin-bottom: 1.5rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel .dealer-profile-page__title {
    margin: 0 0 0.45rem;
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--dp-text);
}

body.dealer-panel .dealer-profile-page__lede {
    margin: 0;
    color: var(--dp-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    max-width: 42rem;
}

body.dealer-panel .dealer-profile-page__section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel .dealer-profile-page__section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

body.dealer-panel .dealer-profile-page__section-title {
    margin: 0 0 1rem;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dp-text-muted);
}

body.dealer-panel .dealer-profile-page__field {
    margin-bottom: 1rem;
}

body.dealer-panel .dealer-profile-page__field label,
body.dealer-panel .dealer-profile-page__url-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--dp-text-muted);
}

body.dealer-panel .dealer-profile-page__input {
    min-height: 44px;
    font-size: 16px;
    border-radius: var(--dp-radius-sm);
}

body.dealer-panel .dealer-profile-page__hint {
    margin: 0.4rem 0 0;
    font-size: 14px;
    color: var(--dp-text-muted);
    line-height: 1.45;
}

body.dealer-panel .dealer-profile-page__hint--block {
    margin-top: 0;
    margin-bottom: 1rem;
}

body.dealer-panel .dealer-profile-page__actions {
    margin: 0.25rem 0 1.75rem;
}

body.dealer-panel .dealer-profile-page__submit {
    min-width: 11rem;
    font-weight: 600;
}

body.dealer-panel .dealer-profile-page__qr {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 1.75rem;
    align-items: flex-start;
}

body.dealer-panel .dealer-profile-page__qr-image-wrap {
    padding: 0.65rem;
    background: var(--dp-surface-subtle);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius-sm);
}

body.dealer-panel .dealer-profile-page__qr-img {
    display: block;
    border-radius: 4px;
}

body.dealer-panel .dealer-profile-page__qr-meta {
    flex: 1 1 220px;
    min-width: 0;
}

body.dealer-panel .dealer-profile-page__qr-buttons {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.dealer-panel .dealer-profile-page__section--links .btn {
    margin-top: 0.15rem;
}

body.dealer-panel .dealer-profile-page .row {
    margin-left: -10px;
    margin-right: -10px;
}

body.dealer-panel .dealer-profile-page .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}

body.dealer-panel .dealer-profile-page__field--error .form-control {
    border-color: #c9302c;
    box-shadow: none;
}

body.dealer-panel .dealer-profile-page__field--error .help-block {
    margin-top: 0.35rem;
}

/* ==========================================================================
   Bill Pay — modern shell (dp-billpay) over legacy ab_view hero / pink__back
   ========================================================================== */

body.dealer-panel.cl-billpayment .dealer-page-stack section.lyca-mobile.site-main {
    padding-left: 0;
    padding-right: 0;
}

body.dealer-panel.cl-billpayment section.lyca-mobile.site-main > .container > .row > .site-main__inner.dealer-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.dealer-panel.cl-billpayment .dealer-content section.lyca-mobile.pink__back {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: visible;
}

body.dealer-panel.cl-billpayment .dealer-content section.lyca-mobile.pink__back.lyca-mobile {
    padding-top: 0 !important;
}

body.dealer-panel.cl-billpayment .dealer-content section.lyca-mobile.pink__back .hero__main > .container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    width: 100%;
    max-width: 1200px !important;
}

body.dealer-panel.cl-billpayment .dealer-content section.lyca-mobile.pink__back .hero__main > .container:hover {
    box-shadow: none !important;
    border: none !important;
}

/* Hero area — flat background (no gradient) */
body.dealer-panel.cl-billpayment .dp-billpay.lyca-mobile.pink__back {
    background: var(--dp-bg-page, #eceff3) !important;
}

body.dealer-panel.cl-billpayment .dp-billpay .hero__main.dp-billpay__hero {
    padding-top: 2rem !important;
    padding-bottom: 2.5rem !important;
    position: relative;
    background: var(--dp-bg-page, #eceff3) !important;
}

body.dealer-panel.cl-billpayment .dp-billpay .hero__main.dp-billpay__hero:before {
    display: none !important;
    content: none !important;
}

body.dealer-panel.cl-billpayment .dp-billpay .hero__main .outer__hero {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

body.dealer-panel.cl-billpayment .dp-billpay .hero__main .outer__hero > .hero__right {
    margin-top: 0;
    width: 100%;
    max-width: 440px;
}

/* Card */
body.dealer-panel.cl-billpayment .dp-billpay {
    font-size: 14px;
    line-height: 1.55;
}

body.dealer-panel.cl-billpayment .dp-billpay .pay__form.dp-billpay__card {
    padding: 1.75rem 1.5rem 1.6rem;
    background: var(--dp-surface, #fff);
    border-radius: 14px;
    border: 1px solid var(--dp-border, #e4e7ec);
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.12), 0 1px 3px rgba(15, 23, 42, 0.08);
    max-width: 440px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__card-head {
    margin-bottom: 1.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--dp-border, #e4e7ec);
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__title {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--billpay-heading, #0f172a) !important;
    text-transform: none;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__lede {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--dp-text-muted, #667085);
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__section-label {
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: var(--dp-text, #101828);
    margin: 1rem 0 0.5rem;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__field-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: var(--dp-text, #101828);
    margin-bottom: 0.35rem;
}

/* Biller row + Details */
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__field--biller {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5rem;
    padding-right: 0 !important;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__field--biller .select2-container {
    flex: 1 1 180px;
    min-width: 0;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__biller-detail {
    position: static;
    flex: 0 0 auto;
    align-self: stretch;
    margin-top: 0;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    min-height: 46px;
    padding: 0.55rem 1rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--billpay-accent, #3aa6db) !important;
    border-color: var(--billpay-accent, #3aa6db) !important;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__biller-detail:focus-visible {
    outline: 2px solid var(--billpay-accent, #3aa6db);
    outline-offset: 2px;
}

/* Fields */
body.dealer-panel.cl-billpayment .dp-billpay .group__form.dp-billpay__field {
    margin-bottom: 0.85rem;
}

body.dealer-panel.cl-billpayment .dp-billpay .group__form > .form-control,
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__amount-wrap .form-control {
    min-height: 46px;
    border-radius: 10px;
    border: 1px solid var(--dp-border-strong, #d0d5dd);
    font-size: 16px;
    padding-left: 14px;
    padding-right: 14px;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

body.dealer-panel.cl-billpayment .dp-billpay .group__form > .form-control:focus {
    border-color: var(--billpay-accent, #3aa6db);
    box-shadow: 0 0 0 3px rgba(58, 166, 219, 0.22);
    outline: none;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__amount-wrap {
    position: relative;
    padding: 0 !important;
    margin-bottom: 0.5rem;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__amount-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--dp-text-muted, #667085);
    font-size: 1rem;
    z-index: 2;
    pointer-events: none;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__amount-wrap .form-control {
    padding-left: 2.5rem;
    max-width: none !important;
}

body.dealer-panel.cl-billpayment .dp-billpay small.dp-billpay__error {
    display: block;
    margin-top: 0.35rem;
    font-size: 14px;
    color: #b91c1c;
}

/* Payment priority — Cake prepends hidden inside group; equal columns + centered controls */
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__priority {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    align-items: stretch;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group > input[type="hidden"] {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
}

/* CakePHP nestingLabel: <label><input type="radio">Text</label> */
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group > label {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    margin: 0 !important;
    padding-top: 0.65rem;
    padding-right: 0.85rem;
    padding-bottom: 0.65rem;
    padding-left: 0.85rem;
    min-height: 46px;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.35;
    color: var(--dp-text, #101828);
    cursor: pointer;
    border: 1px solid var(--dp-border, #e4e7ec);
    border-radius: 8px;
    background: var(--dp-surface-subtle, #f8f9fb);
    position: relative;
}

/* Bootstrap 3: .radio input { position:absolute; margin-left:-20px } — break flex layout; reset here */
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group > label input[type="radio"] {
    position: static !important;
    margin: 0 !important;
    top: auto;
    flex: 0 0 auto;
    width: 1.125rem;
    height: 1.125rem;
    min-width: 1.125rem;
    min-height: 1.125rem;
    accent-color: var(--billpay-accent, #3aa6db);
    align-self: center;
}

/* Optional: wrapped .radio / .input.radio (custom Form templates) */
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group .radio,
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group > .input.radio {
    display: flex;
    align-items: stretch;
    margin: 0 !important;
    padding: 0;
    min-height: 0;
    position: static;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group .radio label,
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group > .input.radio label {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    margin: 0 !important;
    padding-top: 0.65rem;
    padding-right: 0.85rem;
    padding-bottom: 0.65rem;
    padding-left: 0.85rem;
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.35;
    color: var(--dp-text, #101828);
    cursor: pointer;
    border: 1px solid var(--dp-border, #e4e7ec);
    border-radius: 8px;
    background: var(--dp-surface-subtle, #f8f9fb);
    position: relative;
}

body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group .radio label input[type="radio"],
body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group > .input.radio label input[type="radio"] {
    position: static !important;
    margin: 0 !important;
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    min-width: 1.125rem;
    min-height: 1.125rem;
    accent-color: var(--billpay-accent, #3aa6db);
}

@media (max-width: 400px) {
    body.dealer-panel.cl-billpayment .dp-billpay .dp-billpay__radio-group {
        grid-template-columns: 1fr;
    }
}

/* Totals */
body.dealer-panel.cl-billpayment .dp-billpay form .total__list.dp-billpay__totals {
    max-width: none;
    width: 100%;
    margin: 1.25rem 0 1rem;
    padding: 0.85rem 1rem;
    background: var(--dp-surface-subtle, #f8f9fb);
    border-radius: 10px;
    border: 1px solid var(--dp-border, #e4e7ec);
}

body.dealer-panel.cl-billpayment .dp-billpay form .total__list > .elem__total {
    padding: 0.35rem 0;
}

body.dealer-panel.cl-billpayment .dp-billpay form .total__list > .elem__total > p {
    font-size: 14px;
    font-weight: 500;
    color: var(--dp-text-muted, #667085);
    text-transform: none;
    letter-spacing: 0;
}

body.dealer-panel.cl-billpayment .dp-billpay form .total__list > .elem__total > span {
    font-size: 14px;
    font-weight: 600;
    color: var(--dp-text, #101828);
}

body.dealer-panel.cl-billpayment .dp-billpay form .total__list > .dp-billpay__total-row > p {
    font-weight: 700;
    color: var(--dp-text, #101828);
}

body.dealer-panel.cl-billpayment .dp-billpay form .total__list > .dp-billpay__total-row .grand-total {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--billpay-accent, #3aa6db);
}

/* Pay CTA — full width; beats ab_view (only styles type=submit) + theme .shop-btn media queries */
body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit {
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
}

body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn,
body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify {
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    padding: 1rem 1.5rem !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    text-transform: none !important;
    border: none !important;
    line-height: 1.3 !important;
    background: var(--billpay-accent, #3aa6db) !important;
    border-color: var(--billpay-accent, #3aa6db) !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
    transition: transform 0.12s ease, box-shadow 0.18s ease, opacity 0.18s ease;
    flex: 1 1 auto;
    align-self: stretch;
}

body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn:hover,
body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify:hover,
body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn:focus,
body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify:focus {
    opacity: 0.96;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
    color: #fff !important;
    outline: none;
}

body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.shop-btn:focus-visible,
body.dealer-panel.cl-billpayment .dp-billpay .form__submit.dp-billpay__submit input.btn-verify:focus-visible {
    outline: 3px solid rgba(15, 23, 42, 0.25);
    outline-offset: 2px;
}

/* Select2 — match inputs */
body.dealer-panel.cl-billpayment .dp-billpay .select2-container--default .select2-selection--single {
    min-height: 46px;
    border-radius: 10px;
    border: 1px solid var(--dp-border-strong, #d0d5dd);
}

body.dealer-panel.cl-billpayment .dp-billpay .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
    padding-left: 14px !important;
    font-size: 16px !important;
}

body.dealer-panel.cl-billpayment .dp-billpay select.form-control {
    border-radius: 10px !important;
}

/* Legal */
body.dealer-panel.cl-billpayment .dealer-content .row.billpayment-carrier-copyright.dp-billpay-legal {
    padding: 2rem 1.25rem 2.5rem;
    margin-left: 0;
    margin-right: 0;
    background: var(--dp-surface-subtle, #f8f9fb);
    border-top: 1px solid var(--dp-border, #e4e7ec);
}

body.dealer-panel.cl-billpayment .dealer-content .row.billpayment-carrier-copyright .col-md-11,
body.dealer-panel.cl-billpayment .dealer-content .row.billpayment-carrier-copyright .col-md-12 {
    float: none;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

body.dealer-panel.cl-billpayment .dp-billpay-legal__inner {
    padding: 0 0.5rem;
}

body.dealer-panel.cl-billpayment .dp-billpay-legal__title {
    font-size: 14px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    color: var(--dp-text, #101828);
    margin: 0 0 0.65rem;
}

body.dealer-panel.cl-billpayment .dp-billpay-legal__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: var(--dp-text-muted, #667085);
}

body.dealer-panel.cl-billpayment .dealer-content .dp-billpay .shop-btn:hover,
body.dealer-panel.cl-billpayment .dealer-content .dp-billpay .shop-btn:focus {
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.15);
    opacity: 0.98;
}

/* ==========================================================================
   Inter font — applied globally on .dealer-panel once the font is loaded
   ========================================================================== */
body.dealer-panel,
body.dealer-panel input,
body.dealer-panel button,
body.dealer-panel select,
body.dealer-panel textarea {
    font-family: 'Inter', var(--dp-font);
}

/* ==========================================================================
   dp-page-header — consistent top-of-card title + action row
   ========================================================================== */
body.dealer-panel .dp-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--dp-border);
}

body.dealer-panel .dp-page-header__title {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--dp-text);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1.25;
}

body.dealer-panel .dp-page-header__icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--dp-accent-soft);
    color: var(--dp-accent);
    border-radius: var(--dp-radius-sm);
    font-size: 1rem;
    flex-shrink: 0;
}

body.dealer-panel .dp-page-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

body.dealer-panel .dp-page-header__lede {
    margin: -0.5rem 0 0;
    font-size: 0.875rem;
    color: var(--dp-text-muted);
    width: 100%;
    order: 3;
}

/* ==========================================================================
   dp-data-card — white surface for data tables / list pages
   ========================================================================== */
body.dealer-panel .dp-data-card {
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding: 1.35rem 1.5rem 1rem;
    margin-bottom: 1.5rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    body.dealer-panel .dp-data-card {
        padding: 1.6rem 1.85rem 1.25rem;
    }
}

/* ==========================================================================
   dp-table — styled table inside dp-data-card
   ========================================================================== */
body.dealer-panel .dp-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

body.dealer-panel .dp-table thead > tr > th {
    background: linear-gradient(180deg, var(--dp-surface-subtle) 0%, #eef1f6 100%);
    color: var(--dp-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border-bottom: 2px solid var(--dp-border);
    padding: 0.7rem 0.85rem;
    vertical-align: middle;
    white-space: nowrap;
}

body.dealer-panel .dp-table thead > tr > th a {
    color: var(--dp-text-muted) !important;
    text-decoration: none;
    border-bottom: none !important;
    font-weight: 700;
}

body.dealer-panel .dp-table thead > tr > th a:hover {
    color: var(--dp-accent) !important;
}

body.dealer-panel .dp-table tbody > tr > td {
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid var(--dp-border);
    vertical-align: middle;
    color: var(--dp-text);
    font-size: 14px;
}

body.dealer-panel .dp-table tbody > tr:last-child > td {
    border-bottom: none;
}

body.dealer-panel .dp-table tbody > tr:hover > td {
    background: rgba(var(--dp-accent-rgb), 0.03);
}

body.dealer-panel .dp-table tfoot > tr > td,
body.dealer-panel .dp-table tfoot > tr > th {
    padding: 0.7rem 0.85rem;
    border-top: 2px solid var(--dp-border);
    font-weight: 600;
    font-size: 14px;
    background: var(--dp-surface-subtle);
}

/* ==========================================================================
   dp-badge — status pill labels
   ========================================================================== */
body.dealer-panel .dp-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.65rem;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 999px;
    line-height: 1.4;
    white-space: nowrap;
}

body.dealer-panel .dp-badge--success {
    background: rgba(5, 150, 105, 0.1);
    color: #065f46;
    border: 1px solid rgba(5, 150, 105, 0.25);
}

body.dealer-panel .dp-badge--danger {
    background: rgba(220, 38, 38, 0.08);
    color: #991b1b;
    border: 1px solid rgba(220, 38, 38, 0.2);
}

body.dealer-panel .dp-badge--info {
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
    border: 1px solid rgba(59, 130, 246, 0.2);
}

body.dealer-panel .dp-badge--warning {
    background: rgba(245, 158, 11, 0.1);
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.25);
}

body.dealer-panel .dp-badge--neutral {
    background: var(--dp-surface-subtle);
    color: var(--dp-text-muted);
    border: 1px solid var(--dp-border);
}

body.dealer-panel .dp-badge--role {
    background: rgba(139, 92, 246, 0.08);
    color: #5b21b6;
    border: 1px solid rgba(139, 92, 246, 0.2);
}

/* ==========================================================================
   dp-paginator — modern pagination + counter
   ========================================================================== */
body.dealer-panel .dp-paginator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding-top: 1rem;
    margin-top: 0.25rem;
    border-top: 1px solid var(--dp-border);
}

body.dealer-panel .dp-paginator .pagination {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

body.dealer-panel .dp-paginator .pagination > li > a,
body.dealer-panel .dp-paginator .pagination > li > span {
    padding: 0.35rem 0.65rem;
    font-size: 14px;
    font-weight: 500;
    min-width: 2.2rem;
    text-align: center;
    border-radius: var(--dp-radius-sm);
    border: 1px solid var(--dp-border);
    color: var(--dp-text);
    background: var(--dp-surface);
    transition: background-color var(--dp-transition), border-color var(--dp-transition), color var(--dp-transition);
    display: inline-block;
    line-height: 1.55;
}

body.dealer-panel .dp-paginator .pagination > li > a:hover {
    background: var(--dp-surface-subtle);
    border-color: var(--dp-border-strong);
    color: var(--dp-accent);
}

body.dealer-panel .dp-paginator .pagination > .active > a,
body.dealer-panel .dp-paginator .pagination > .active > span {
    background: var(--dp-accent);
    border-color: var(--dp-accent-active);
    color: #fff;
    font-weight: 700;
}

body.dealer-panel .dp-paginator .pagination > .disabled > a,
body.dealer-panel .dp-paginator .pagination > .disabled > span {
    color: var(--dp-border-strong);
    background: var(--dp-surface-subtle);
    cursor: default;
}

body.dealer-panel .dp-paginator__counter {
    font-size: 13px;
    color: var(--dp-text-muted);
    margin: 0;
}

/* ==========================================================================
   dp-alert — rich flash messages
   ========================================================================== */
body.dealer-panel .dp-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: var(--dp-radius);
    border: 1px solid transparent;
    margin-bottom: 1.1rem;
    font-size: 14px;
    line-height: 1.5;
}

body.dealer-panel .dp-alert__icon {
    font-size: 1.05rem;
    flex-shrink: 0;
    margin-top: 0.05rem;
}

body.dealer-panel .dp-alert__body {
    flex: 1;
    min-width: 0;
}

body.dealer-panel .dp-alert__close {
    background: none;
    border: none;
    padding: 0;
    margin-left: auto;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.55;
    transition: opacity var(--dp-transition);
    color: inherit;
}

body.dealer-panel .dp-alert__close:hover {
    opacity: 1;
}

body.dealer-panel .dp-alert--danger {
    background: #fef2f2;
    border-color: #fecaca;
    color: #7f1d1d;
}

body.dealer-panel .dp-alert--success {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #14532d;
}

body.dealer-panel .dp-alert--info {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e3a8a;
}

body.dealer-panel .dp-alert--warning {
    background: #fffbeb;
    border-color: #fde68a;
    color: #78350f;
}

/* ==========================================================================
   dp-stat-row — summary stat cards (e.g., wallet balance, credit balance)
   ========================================================================== */
body.dealer-panel .dp-stat-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1.35rem;
}

body.dealer-panel .dp-stat {
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    padding: 1.1rem 1.25rem;
    transition: box-shadow var(--dp-transition), border-color var(--dp-transition);
}

body.dealer-panel .dp-stat:hover {
    box-shadow: var(--dp-shadow-hover);
    border-color: #d8dee9;
}

body.dealer-panel .dp-stat__label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--dp-text-muted);
    margin-bottom: 0.35rem;
}

body.dealer-panel .dp-stat__value {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--dp-text);
    line-height: 1.2;
}

body.dealer-panel .dp-stat__value--accent {
    color: var(--dp-accent);
}

body.dealer-panel .dp-stat__value--success {
    color: var(--dp-success);
}

body.dealer-panel .dp-stat__sub {
    font-size: 12px;
    color: var(--dp-text-muted);
    margin-top: 0.25rem;
}

/* ==========================================================================
   dp-empty — empty state placeholder
   ========================================================================== */
body.dealer-panel .dp-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--dp-text-muted);
}

body.dealer-panel .dp-empty__icon {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    opacity: 0.5;
    display: block;
}

body.dealer-panel .dp-empty__title {
    font-weight: 600;
    color: var(--dp-text);
    margin-bottom: 0.35rem;
    font-size: 1rem;
}

body.dealer-panel .dp-empty__lede {
    font-size: 0.875rem;
    max-width: 32rem;
    margin: 0 auto;
}

/* ==========================================================================
   Override old .row.bg-info pattern (legacy templates) to dp-data-card feel
   ========================================================================== */
body.dealer-panel .site-main .row.bg-info {
    background: var(--dp-surface) !important;
    border: none;
    border-radius: 0;
    padding: 0 !important;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    box-shadow: none;
}

body.dealer-panel .site-main .row.bg-info > h3 {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Remove excess bottom spacing left by old paginator divs */
body.dealer-panel .site-main .paginator {
    padding-top: 0.75rem;
}

body.dealer-panel .site-main .paginator p {
    font-size: 13px;
    color: var(--dp-text-muted);
    margin-top: 0.4rem;
}

/* ==========================================================================
   dp-tx-confirm — transaction confirmation card (Transactions/view)
   ========================================================================== */
body.dealer-panel .dp-tx-confirm {
    max-width: 620px;
    margin: 0 auto 1.5rem;
    background: var(--dp-surface);
    border: 1px solid var(--dp-border);
    border-radius: var(--dp-radius);
    box-shadow: var(--dp-shadow);
    overflow: hidden;
}

body.dealer-panel .dp-tx-confirm__hero {
    background: linear-gradient(135deg, var(--dp-accent) 0%, #fb7185 100%);
    padding: 1.75rem 1.5rem;
    text-align: center;
    color: #fff;
}

body.dealer-panel .dp-tx-confirm__hero-icon {
    width: 3rem;
    height: 3rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

body.dealer-panel .dp-tx-confirm__hero-title {
    margin: 0 0 0.25rem;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
}

body.dealer-panel .dp-tx-confirm__hero-sub {
    margin: 0;
    font-size: 0.875rem;
    opacity: 0.85;
    color: #fff;
}

body.dealer-panel .dp-tx-confirm__body {
    padding: 1.5rem;
}

body.dealer-panel .dp-tx-confirm__list {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
}

body.dealer-panel .dp-tx-confirm__item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--dp-border);
    font-size: 14px;
}

body.dealer-panel .dp-tx-confirm__item:last-child {
    border-bottom: none;
}

body.dealer-panel .dp-tx-confirm__key {
    font-weight: 600;
    color: var(--dp-text-muted);
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
}

body.dealer-panel .dp-tx-confirm__val {
    font-weight: 600;
    color: var(--dp-text);
    text-align: right;
    word-break: break-all;
}

body.dealer-panel .dp-tx-confirm__val--accent {
    color: var(--dp-accent);
}

body.dealer-panel .dp-tx-confirm__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding-top: 0.5rem;
}

body.dealer-panel .dp-tx-confirm__actions .btn {
    flex: 1;
    min-width: 10rem;
}

/* Confirmation page nav section */
body.dealer-panel #faq-sec > .container {
    max-width: 680px;
    margin: 0 auto;
}

/* ==========================================================================
   Button enhancements — icon + text combos
   ========================================================================== */
body.dealer-panel .btn .bi,
body.dealer-panel .btn .fa,
body.dealer-panel .btn .fas,
body.dealer-panel .btn .far {
    margin-right: 0.3rem;
}

body.dealer-panel .btn-sm {
    font-size: 12px;
    padding: 0.3rem 0.65rem;
}

body.dealer-panel .btn-danger {
    background: linear-gradient(180deg, #ef4444 0%, var(--dp-danger) 100%);
    border-color: #b91c1c;
    color: #fff;
}

body.dealer-panel .btn-danger:hover,
body.dealer-panel .btn-danger:focus {
    background: linear-gradient(180deg, var(--dp-danger) 0%, #b91c1c 100%);
    border-color: #b91c1c;
    color: #fff;
}

body.dealer-panel .btn-warning {
    background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
    border-color: #b45309;
    color: #fff;
}

body.dealer-panel .btn-warning:hover,
body.dealer-panel .btn-warning:focus {
    background: linear-gradient(180deg, #d97706 0%, #b45309 100%);
    border-color: #b45309;
    color: #fff;
}

