﻿@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

/* ============================================================
   LMPOOL Dashboard — Premium Design System
   Scope: body.hyiplab-dashboard (authenticated dashboard only).
   Theme architecture: tokens on body.hyiplab-dashboard (light),
   overridden at html[data-theme="dark"] body.hyiplab-dashboard.
   Loads after hyiplab_public.css; public site / auth untouched.
   ============================================================ */

body.hyiplab-dashboard {
    /* Typography */
    --lp-font: "Inter", "Maven Pro", sans-serif;

    /* Surfaces */
    --lp-bg: #f3f4fa;
    --lp-surface: #ffffff;
    --lp-surface-2: #f6f7fc;
    --lp-surface-3: #eef0f8;

    /* Text */
    --lp-ink: #1a1c36;
    --lp-muted: #6e7391;
    --lp-faint: #9ba0bd;

    /* Borders */
    --lp-border: #e7e8f2;
    --lp-border-strong: #dcdfeb;
    --lp-border-hover: #c9cce0;

    /* Brand */
    --lp-accent: #6a5ae0;
    --lp-accent-deep: #5443d6;
    --lp-accent-soft: #eeecfc;
    --lp-grad: linear-gradient(135deg, #7c6bf2 0%, #5a48e8 100%);

    /* Status */
    --lp-success: #178a5b;
    --lp-success-soft: rgba(23, 138, 91, 0.11);
    --lp-warning: #c07c08;
    --lp-warning-soft: rgba(192, 124, 8, 0.12);
    --lp-danger: #d93a45;
    --lp-danger-soft: rgba(217, 58, 69, 0.10);
    --lp-info: #0e83c4;
    --lp-info-soft: rgba(14, 131, 196, 0.10);

    /* Controls */
    --lp-input-bg: #ffffff;
    --lp-btn2-bg: #ffffff;
    --lp-btn2-border: #e7e8f2;
    --lp-btn2-hover: #f6f7fc;
    --lp-table-stripe: #fafbff;
    --lp-header-bg: rgba(255, 255, 255, 0.82);
    --lp-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236e7391' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");

    /* Elevation */
    --lp-shadow-sm: 0 1px 2px rgba(23, 25, 60, 0.05), 0 1px 6px rgba(23, 25, 60, 0.04);
    --lp-shadow-md: 0 4px 12px rgba(23, 25, 60, 0.06), 0 12px 32px rgba(23, 25, 60, 0.07);
    --lp-shadow-lg: 0 8px 24px rgba(23, 25, 60, 0.10), 0 24px 56px rgba(23, 25, 60, 0.12);
    --lp-ring: 0 0 0 3px rgba(106, 90, 224, 0.22);

    /* Radii + motion */
    --lp-radius: 16px;
    --lp-radius-sm: 10px;
    --lp-t: 0.18s cubic-bezier(0.4, 0, 0.2, 1);
    --lp-sidebar-w: 292px;

    /* Signature dark surfaces (brand — constant in both themes) */
    --lp-signature: #14152e;
    --lp-signature-2: #1b1c3f;

    background-color: var(--lp-bg);
    font-family: var(--lp-font) !important;
    color: var(--lp-ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    scrollbar-width: thin;
    scrollbar-color: rgba(110, 115, 145, 0.45) transparent;
}

/* Premium ambient background (barely noticeable).
   The active theme (lmpool-webflow) force-paints body.vl-public with a dark
   purple gradient using !important — out-qualify it here so the light theme
   is actually light. */
body.vl-public.hyiplab-dashboard {
    background:
        radial-gradient(900px 480px at 78% -10%, rgba(124, 107, 242, 0.08), transparent 62%),
        radial-gradient(700px 420px at -8% 88%, rgba(124, 107, 242, 0.05), transparent 60%),
        var(--lp-bg) !important;
    background-attachment: fixed;
}

/* ------------------------------------------------------------
   DARK THEME — LMPOOL deep navy identity
   ------------------------------------------------------------ */

html[data-theme="dark"] {
    color-scheme: dark;
}

html[data-theme="dark"] body.hyiplab-dashboard {
    --lp-bg: #0c0d1d;
    --lp-surface: #14152c;
    --lp-surface-2: #1a1b36;
    --lp-surface-3: #212240;

    --lp-ink: #edeffb;
    --lp-muted: #a6aacb;
    --lp-faint: #787ca3;

    --lp-border: #262848;
    --lp-border-strong: #313460;
    --lp-border-hover: #3e4170;

    --lp-accent: #8b7cf0;
    --lp-accent-deep: #9c90f4;
    --lp-accent-soft: rgba(124, 107, 242, 0.16);
    --lp-grad: linear-gradient(135deg, #7c6bf2 0%, #5a48e8 100%);

    --lp-success: #4ade80;
    --lp-success-soft: rgba(74, 222, 128, 0.12);
    --lp-warning: #fbbf24;
    --lp-warning-soft: rgba(251, 191, 36, 0.12);
    --lp-danger: #f87171;
    --lp-danger-soft: rgba(248, 113, 113, 0.12);
    --lp-info: #38bdf8;
    --lp-info-soft: rgba(56, 189, 248, 0.12);

    --lp-input-bg: #101128;
    --lp-btn2-bg: #1a1b36;
    --lp-btn2-border: #2c2e52;
    --lp-btn2-hover: #22244a;
    --lp-table-stripe: rgba(255, 255, 255, 0.025);
    --lp-header-bg: rgba(12, 13, 29, 0.78);
    --lp-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23a6aacb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");

    --lp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.28), 0 1px 6px rgba(0, 0, 0, 0.22);
    --lp-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.32), 0 12px 32px rgba(0, 0, 0, 0.30);
    --lp-shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.38), 0 24px 56px rgba(0, 0, 0, 0.36);
    --lp-ring: 0 0 0 3px rgba(139, 124, 240, 0.30);

    scrollbar-color: rgba(124, 107, 242, 0.35) transparent;
}

html[data-theme="dark"] body.vl-public.hyiplab-dashboard {
    background:
        radial-gradient(1000px 560px at 80% -12%, rgba(106, 90, 224, 0.16), transparent 62%),
        radial-gradient(760px 460px at -10% 92%, rgba(106, 90, 224, 0.10), transparent 60%),
        var(--lp-bg) !important;
    background-attachment: fixed;
}

/* Smooth theme transition */
body.hyiplab-dashboard,
body.hyiplab-dashboard .dashboard-sidebar,
body.hyiplab-dashboard .dashboard-wrapper,
body.hyiplab-dashboard .dashboard-nav,
body.hyiplab-dashboard .card,
body.hyiplab-dashboard .dashboard-widget,
body.hyiplab-dashboard .lp-stat,
body.hyiplab-dashboard .table--acordion .accordion-item,
body.hyiplab-dashboard .form--control,
body.hyiplab-dashboard .form-control,
body.hyiplab-dashboard .form-select,
body.hyiplab-dashboard .badge,
body.hyiplab-dashboard .alert {
    transition: background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

body.hyiplab-dashboard h1,
body.hyiplab-dashboard h2,
body.hyiplab-dashboard h3,
body.hyiplab-dashboard h4,
body.hyiplab-dashboard h5,
body.hyiplab-dashboard h6 {
    font-family: var(--lp-font);
    color: var(--lp-ink);
    letter-spacing: -0.01em;
}

body.hyiplab-dashboard a {
    color: var(--lp-accent);
    transition: color var(--lp-t);
}

body.hyiplab-dashboard a:hover {
    color: var(--lp-accent-deep);
}

body.hyiplab-dashboard :focus-visible {
    outline: none;
    box-shadow: var(--lp-ring);
    border-radius: 6px;
}

body.hyiplab-dashboard ::selection {
    background: rgba(106, 90, 224, 0.22);
}

/* Thin scrollbars */
body.hyiplab-dashboard *::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.hyiplab-dashboard *::-webkit-scrollbar-thumb {
    background: rgba(110, 115, 145, 0.30);
    border-radius: 8px;
}

html[data-theme="dark"] body.hyiplab-dashboard *::-webkit-scrollbar-thumb {
    background: rgba(124, 107, 242, 0.30);
}

body.hyiplab-dashboard *::-webkit-scrollbar-track {
    background: transparent;
}

/* Tabler icon base alignment */
body .hyiplab-dashboard .ti {
    font-size: inherit;
    vertical-align: middle;
    line-height: 1;
}

/* ------------------------------------------------------------
   SIDEBAR
   ------------------------------------------------------------ */

body.hyiplab-dashboard .dashboard-sidebar {
    width: var(--lp-sidebar-w);
    padding: 0;
    border-right: 0;
    background:
        radial-gradient(600px 320px at -10% -5%, rgba(106, 90, 224, 0.35), transparent 60%),
        radial-gradient(420px 260px at 110% 108%, rgba(106, 90, 224, 0.22), transparent 65%),
        var(--lp-signature);
    color: #b6b8d8;
    display: flex;
    flex-direction: column;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
}

body.hyiplab-dashboard .dashboard-sidebar::-webkit-scrollbar {
    width: 6px;
}

body.hyiplab-dashboard .dashboard-sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.22);
    border-radius: 8px;
}

body.hyiplab-dashboard .dashboard-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

html[data-theme="dark"] body.hyiplab-dashboard .dashboard-sidebar {
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}

body.hyiplab-dashboard .dashboard-sidebar .logo {
    display: flex;
    align-items: center;
    padding: 26px 24px 20px;
}

body.hyiplab-dashboard .dashboard-sidebar .logo img {
    max-height: 42px;
    max-width: 220px;
    object-fit: contain;
}

body.hyiplab-dashboard .dashboard-sidebar .btn-close.dash-sidebar-close {
    filter: invert(1) grayscale(1) brightness(1.6);
    opacity: 0.7;
    z-index: 5;
}

/* Wallet card — signature element */
body.hyiplab-dashboard .dashboard-sidebar .bg--lights {
    margin: 6px 16px 8px;
    border-radius: 16px;
    background:
        radial-gradient(320px 190px at 88% -14%, rgba(151, 128, 255, 0.42), transparent 66%),
        linear-gradient(150deg, #232450 0%, #1b1c3f 58%, #171833 100%);
    border: 1px solid rgba(151, 128, 255, 0.22);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.09),
        0 10px 28px rgba(0, 0, 0, 0.28);
}

body.hyiplab-dashboard .dashboard-sidebar .profile-info {
    margin: 0;
    padding: 18px;
}

body.hyiplab-dashboard .dashboard-sidebar .profile-info > p {
    color: rgba(255, 255, 255, 0.62);
    letter-spacing: 0.15em;
    font-size: 10.5px;
    font-weight: 600;
}

body.hyiplab-dashboard .dashboard-sidebar .usd-balance {
    color: #ffffff;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
}

body.hyiplab-dashboard .dashboard-sidebar .usd-balance sub,
body.hyiplab-dashboard .dashboard-sidebar .btc-balance sub {
    color: rgba(255, 255, 255, 0.60);
    font-weight: 500;
    letter-spacing: 0;
    white-space: nowrap;
}

body.hyiplab-dashboard .dashboard-sidebar .btc-balance {
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    margin-top: 10px;
}

body.hyiplab-dashboard .dashboard-sidebar .sidebar-wallet__actions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.hyiplab-dashboard .dashboard-sidebar .sidebar-wallet__actions .btn {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
    border: 0;
}

body.hyiplab-dashboard .dashboard-sidebar .sidebar-wallet__actions .btn--base {
    background: #ffffff !important;
    color: #4c3bd0 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28) !important;
}

body.hyiplab-dashboard .dashboard-sidebar .sidebar-wallet__actions .btn--base:hover {
    background: #f1edff !important;
    color: #4c3bd0 !important;
}

body.hyiplab-dashboard .dashboard-sidebar .sidebar-wallet__actions .btn--secondary {
    background: rgba(255, 255, 255, 0.10) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: none !important;
}

body.hyiplab-dashboard .dashboard-sidebar .sidebar-wallet__actions .btn--secondary:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

/* Navigation */
body.hyiplab-dashboard .sidebar-menu {
    margin-top: 10px;
    padding: 4px 14px 28px;
    font-weight: 500;
    flex: 1 1 auto;
}

body.hyiplab-dashboard .sidebar-menu .menu-label {
    padding: 20px 14px 8px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.34);
    border: 0;
    display: block;
}

body.hyiplab-dashboard .sidebar-menu li {
    padding: 2px 0;
}

body.hyiplab-dashboard .sidebar-menu li a {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 11px;
    color: #a9abc9;
    position: relative;
    transition: color var(--lp-t), background-color var(--lp-t);
    border: 1px solid transparent;
}

body.hyiplab-dashboard .sidebar-menu li a i {
    font-size: 17.5px;
    width: 26px;
    margin-right: 12px;
    text-align: center;
    opacity: 0.8;
    transition: opacity var(--lp-t), color var(--lp-t);
}

body.hyiplab-dashboard .sidebar-menu li a:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
}

body.hyiplab-dashboard .sidebar-menu li a:hover i {
    opacity: 1;
}

/* Refined active state: violet tint + indicator + soft glow */
body.hyiplab-dashboard .sidebar-menu li a.active {
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(124, 107, 242, 0.22) 0%, rgba(90, 72, 232, 0.10) 100%);
    border-color: rgba(151, 128, 255, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    font-weight: 600;
}

body.hyiplab-dashboard .sidebar-menu li a.active::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, #9d8bf7, #6a5ae0);
    box-shadow: 0 0 10px rgba(124, 107, 242, 0.7);
}

body.hyiplab-dashboard .sidebar-menu li a.active i {
    opacity: 1;
    color: #b9aefc;
}

body.hyiplab-dashboard .sidebar-menu li a:focus-visible {
    box-shadow: var(--lp-ring);
    outline: none;
}

body.hyiplab-dashboard .sidebar-menu li a.logout-link {
    color: rgba(248, 160, 160, 0.78);
}

body.hyiplab-dashboard .sidebar-menu li a.logout-link:hover {
    color: #ffffff;
    background: rgba(217, 58, 69, 0.18);
}

body.hyiplab-dashboard .sidebar-menu li.has-submenu a {
    padding-right: 20px;
}

body.hyiplab-dashboard .sidebar-menu .sidebar-submenu {
    padding-left: 26px;
}

/* ------------------------------------------------------------
   MAIN WRAPPER / HEADER
   ------------------------------------------------------------ */

body.hyiplab-dashboard .dashboard-wrapper {
    background-color: transparent;
    width: calc(100% - var(--lp-sidebar-w));
    min-height: 100vh;
}

body.hyiplab-dashboard .dashboard-nav {
    padding: 0 32px;
    background: var(--lp-header-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: none;
    border-bottom: 1px solid var(--lp-border);
    min-height: 66px;
}

html[data-theme="dark"] body.hyiplab-dashboard .dashboard-nav {
    border-bottom-color: rgba(255, 255, 255, 0.07);
}

body.hyiplab-dashboard .dash-sidebar-toggler {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--lp-ink);
    background: transparent;
    border: 1px solid var(--lp-border);
    cursor: pointer;
    font-size: 17px;
    transition: background-color var(--lp-t), border-color var(--lp-t);
}

body.hyiplab-dashboard .dash-sidebar-toggler:hover {
    background: var(--lp-surface-2);
    border-color: var(--lp-border-hover);
}

/* Header identity */
body.hyiplab-dashboard .dash-header-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--lp-ink);
    line-height: 1.25;
    letter-spacing: 0.01em;
}

body.hyiplab-dashboard .dash-header-sub {
    font-size: 12.5px;
    color: var(--lp-muted);
    line-height: 1.3;
}

/* Mobile header logo (hidden on desktop where the sidebar shows it) */
body.hyiplab-dashboard .dash-mobile-logo {
    display: none;
    align-items: center;
    line-height: 0;
}

body.hyiplab-dashboard .dash-mobile-logo img {
    max-height: 36px;
    max-width: 160px;
    object-fit: contain;
    width: auto;
    height: auto;
}

body.hyiplab-dashboard .dash-mobile-logo .logo-theme-dark {
    display: none;
}

html[data-theme="dark"] body.hyiplab-dashboard .dash-mobile-logo .logo-theme-light {
    display: none;
}

html[data-theme="dark"] body.hyiplab-dashboard .dash-mobile-logo .logo-theme-dark {
    display: inline-block;
}

@media (max-width: 1199px) {
    body.hyiplab-dashboard .dash-mobile-logo {
        display: inline-flex;
    }

    /* Site name/duplicate identity is covered by the logo on tablet+mobile */
    body.hyiplab-dashboard .dash-header-title {
        display: none;
    }
}

/* Header controls (theme toggle etc.) */
body.hyiplab-dashboard .lm-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.hyiplab-dashboard .lm-theme-toggle {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    color: var(--lp-muted);
    font-size: 18px;
    cursor: pointer;
    transition: color var(--lp-t), border-color var(--lp-t), background-color var(--lp-t), box-shadow var(--lp-t);
    line-height: 1;
    padding: 0;
}

body.hyiplab-dashboard .lm-theme-toggle:hover {
    color: var(--lp-accent);
    border-color: rgba(124, 107, 242, 0.45);
    background: var(--lp-accent-soft);
    box-shadow: 0 0 0 4px rgba(124, 107, 242, 0.10);
}

body.hyiplab-dashboard .lm-theme-toggle:focus-visible {
    outline: none;
    box-shadow: var(--lp-ring);
}

/* User chip + dropdown */
body.hyiplab-dashboard .nav-header-link li .link {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--lp-grad);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: 0 4px 12px rgba(90, 72, 232, 0.35);
    transition: transform var(--lp-t), box-shadow var(--lp-t);
}

body.hyiplab-dashboard .nav-header-link li .link:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(90, 72, 232, 0.42);
}

body.hyiplab-dashboard .nav-header-link li .link:focus {
    box-shadow: var(--lp-ring);
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper {
    width: 250px;
    padding: 8px;
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: 14px;
    box-shadow: var(--lp-shadow-lg);
    top: calc(100% + 12px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
}

html[data-theme="dark"] body.hyiplab-dashboard .nav-header-link .dropdown-wrapper {
    border-color: rgba(255, 255, 255, 0.08);
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper::before {
    display: none;
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .dropdown-header {
    text-align: left;
    padding: 12px 12px 14px;
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .dropdown-header .name {
    font-weight: 700;
    font-size: 15px;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .dropdown-header p {
    color: var(--lp-muted);
    font-size: 13px;
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .links {
    border-top: 1px solid var(--lp-border);
    padding-top: 6px;
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .links li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 0;
    border-radius: 8px;
    font-size: 14px;
    color: var(--lp-ink);
    transition: background-color var(--lp-t), color var(--lp-t);
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .links li a i {
    color: var(--lp-muted);
    font-size: 17px;
    transition: color var(--lp-t);
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .links li a:hover {
    background: var(--lp-accent-soft);
    color: var(--lp-accent);
}

body.hyiplab-dashboard .nav-header-link .dropdown-wrapper .links li a:hover i {
    color: var(--lp-accent);
}

/* Content column */
body.hyiplab-dashboard .dashboard-container {
    max-width: 1200px;
    margin: 0 auto;
}

body.hyiplab-dashboard .dashboard-container .dashboard-inner {
    padding: 32px 32px 64px;
}

@media (max-width: 1199px) {
    body.hyiplab-dashboard .dashboard-nav {
        padding: 0 20px;
    }

    body.hyiplab-dashboard .dashboard-container .dashboard-inner {
        padding: 24px 20px 56px;
    }
}

@media (max-width: 575px) {
    body.hyiplab-dashboard .dashboard-container .dashboard-inner {
        padding: 20px 14px 48px;
    }

    body.hyiplab-dashboard .dashboard-nav {
        padding: 0 14px;
        min-height: 60px;
    }
}

/* WordPress admin bar offset */
body.admin-bar.hyiplab-dashboard .dashboard-sidebar {
    top: 32px;
    height: calc(100% - 32px);
}

body.admin-bar.hyiplab-dashboard .dashboard-nav {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar.hyiplab-dashboard .dashboard-sidebar {
        top: 46px;
        height: calc(100% - 46px);
    }

    body.admin-bar.hyiplab-dashboard .dashboard-nav {
        top: 46px;
    }
}

/* On small phones the WP admin bar collapses and only leaves an empty
   46px strip at the top — hide it and reclaim the space. */
@media (max-width: 600px) {
    html:has(body.admin-bar.hyiplab-dashboard),
    html.admin-bar {
        margin-top: 0 !important;
    }

    body.admin-bar #wpadminbar {
        display: none !important;
    }

    body.admin-bar.hyiplab-dashboard .dashboard-sidebar {
        top: 0;
        height: 100%;
    }

    body.admin-bar.hyiplab-dashboard .dashboard-nav {
        top: 0;
    }
}

/* Mobile off-canvas */
@media (max-width: 1199px) {
    body.hyiplab-dashboard .dashboard-sidebar {
        width: 300px;
        transform: translateX(-100%);
        transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: var(--lp-shadow-lg);
        z-index: 1035;
    }

    body.hyiplab-dashboard .dashboard-sidebar.active {
        transform: translateX(0);
    }

    body.hyiplab-dashboard .dashboard-wrapper {
        width: 100%;
        margin-left: 0;
        min-width: 0;
    }

    /* Kill content-driven min-width propagation through the flex chain
       so wide page-heads can never force horizontal overflow. */
    body.hyiplab-dashboard .dashboard-nav,
    body.hyiplab-dashboard .dashboard-container,
    body.hyiplab-dashboard .dashboard-inner,
    body.hyiplab-dashboard .lp-page-head,
    body.hyiplab-dashboard .lp-page-head > div {
        min-width: 0;
    }

    body.hyiplab-dashboard .dashboard-inner {
        overflow-x: clip;
    }

    body.hyiplab-dashboard .dashboard-sidebar .logo {
        padding-top: 20px;
    }

    body.hyiplab-dashboard .dashboard-sidebar .btn-close,
    body.hyiplab-dashboard .dashboard-sidebar .dash-sidebar-close {
        position: absolute;
        right: 10px;
        top: 14px;
        padding: 6px;
        line-height: 1;
    }
}

/* ------------------------------------------------------------
   BUTTONS
   ------------------------------------------------------------ */

body.hyiplab-dashboard .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 20px;
    font-family: var(--lp-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color var(--lp-t), color var(--lp-t), border-color var(--lp-t), box-shadow var(--lp-t), transform var(--lp-t);
    z-index: 1;
}

body.hyiplab-dashboard .btn:focus,
body.hyiplab-dashboard .btn:focus-visible {
    outline: none !important;
    box-shadow: var(--lp-ring) !important;
}

body.hyiplab-dashboard .btn:active {
    transform: translateY(0) scale(0.99);
}

body.hyiplab-dashboard .btn:disabled,
body.hyiplab-dashboard .btn.disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

body.hyiplab-dashboard .btn.btn--lg {
    padding: 13px 32px !important;
    font-size: 16px;
}

body.hyiplab-dashboard .btn.btn--md {
    padding: 9px 24px !important;
    font-size: 14.5px;
}

body.hyiplab-dashboard .btn.btn--sm {
    padding: 7px 16px !important;
    font-size: 13.5px;
    border-radius: 9px;
}

body.hyiplab-dashboard .btn.btn--smd {
    padding: 7px 14px !important;
    font-size: 13.5px;
    border-radius: 9px;
}

body.hyiplab-dashboard .btn.btn--xs {
    padding: 3px 12px !important;
    font-size: 12.5px;
    border-radius: 8px;
}

body.hyiplab-dashboard .btn--icon,
body.hyiplab-dashboard .btn.btn--icon {
    padding: 7px;
    font-size: 14px;
    line-height: 1;
    border-radius: 9px;
}

/* Primary — LMPOOL violet */
body.hyiplab-dashboard .btn--base,
body.hyiplab-dashboard .btn--primary,
body.hyiplab-dashboard .cmn--btn {
    background: var(--lp-grad) !important;
    border: 0;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(90, 72, 232, 0.26) !important;
}

body.hyiplab-dashboard .btn--base:hover,
body.hyiplab-dashboard .btn--primary:hover,
body.hyiplab-dashboard .cmn--btn:hover {
    background: linear-gradient(135deg, #8a7bf5 0%, #6a59f0 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(90, 72, 232, 0.36) !important;
    transform: translateY(-1px);
}

/* Secondary / neutral */
body.hyiplab-dashboard .btn--secondary,
body.hyiplab-dashboard .btn--dark,
body.hyiplab-dashboard .btn-dark {
    background: var(--lp-btn2-bg) !important;
    border: 1px solid var(--lp-btn2-border);
    color: var(--lp-ink) !important;
    box-shadow: var(--lp-shadow-sm) !important;
}

body.hyiplab-dashboard .btn--secondary:hover,
body.hyiplab-dashboard .btn--dark:hover,
body.hyiplab-dashboard .btn-dark:hover {
    background: var(--lp-btn2-hover) !important;
    border-color: var(--lp-border-hover);
    color: var(--lp-ink) !important;
    transform: translateY(-1px);
}

/* Status buttons */
body.hyiplab-dashboard .btn--success,
body.hyiplab-dashboard .btn-success {
    background: #1d9e6a !important;
    border: 0;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--success:hover,
body.hyiplab-dashboard .btn-success:hover {
    background: #178a5b !important;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--danger,
body.hyiplab-dashboard .btn-danger {
    background: #e5484d !important;
    border: 0;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--danger:hover,
body .hyiplab-dashboard .btn-danger:hover {
    background: #d93a45 !important;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--warning {
    background: #d97706 !important;
    border: 0;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--warning:hover {
    background: #c07c08 !important;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--info {
    background: #0ea5cf !important;
    border: 0;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--info:hover {
    background: #0e83c4 !important;
    color: #fff !important;
}

body.hyiplab-dashboard .btn--light {
    background: var(--lp-surface-2) !important;
    border: 1px solid var(--lp-border);
    color: var(--lp-ink) !important;
}

body.hyiplab-dashboard .btn--light:hover {
    background: var(--lp-surface-3) !important;
    color: var(--lp-ink) !important;
}

/* Outline buttons */
body.hyiplab-dashboard [class*="btn--outline"] {
    background: transparent !important;
    box-shadow: none !important;
}

body.hyiplab-dashboard .btn--outline-base,
body.hyiplab-dashboard .btn--outline-primary {
    border: 1.5px solid var(--lp-accent);
    color: var(--lp-accent);
}

body.hyiplab-dashboard .btn--outline-base:hover,
body.hyiplab-dashboard .btn--outline-primary:hover {
    background: var(--lp-accent) !important;
    border-color: var(--lp-accent);
    color: #fff;
}

body.hyiplab-dashboard .btn--outline-secondary,
body.hyiplab-dashboard .btn--outline-dark {
    border: 1.5px solid var(--lp-border-hover);
    color: var(--lp-ink);
}

body.hyiplab-dashboard .btn--outline-secondary:hover,
body.hyiplab-dashboard .btn--outline-dark:hover {
    background: var(--lp-ink) !important;
    border-color: var(--lp-ink);
    color: var(--lp-surface);
}

body.hyiplab-dashboard .btn--outline-danger {
    border: 1.5px solid var(--lp-danger);
    color: var(--lp-danger);
}

body.hyiplab-dashboard .btn--outline-danger:hover {
    background: var(--lp-danger) !important;
    color: #fff;
}

body.hyiplab-dashboard .btn--outline-success {
    border: 1.5px solid var(--lp-success);
    color: var(--lp-success);
}

body.hyiplab-dashboard .btn--outline-success:hover {
    background: var(--lp-success) !important;
    color: #fff;
}

body.hyiplab-dashboard .btn--outline-warning {
    border: 1.5px solid var(--lp-warning);
    color: var(--lp-warning);
}

body.hyiplab-dashboard .btn--outline-warning:hover {
    background: var(--lp-warning) !important;
    color: #fff;
}

body.hyiplab-dashboard .btn--outline-info {
    border: 1.5px solid var(--lp-info);
    color: var(--lp-info);
}

body.hyiplab-dashboard .btn--outline-info:hover {
    background: var(--lp-info) !important;
    color: #fff;
}

body.hyiplab-dashboard .btn--outline-light {
    border: 1.5px solid var(--lp-border);
    color: var(--lp-muted);
}

body.hyiplab-dashboard .btn--outline-light:hover {
    background: var(--lp-surface-2) !important;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .btn--circle {
    border-radius: 50%;
}

/* Tertiary quiet button */
body.hyiplab-dashboard .link-color {
    color: var(--lp-accent) !important;
    font-weight: 600;
    text-decoration: none;
    transition: opacity var(--lp-t);
}

body.hyiplab-dashboard .link-color:hover {
    color: var(--lp-accent-deep) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ------------------------------------------------------------
   CARDS & SURFACES
   ------------------------------------------------------------ */

body.hyiplab-dashboard .card {
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    overflow: hidden;
}

body.hyiplab-dashboard .card > .card-body {
    padding: 24px;
}

body.hyiplab-dashboard .card .card-header,
body.hyiplab-dashboard .card .card-footer {
    background: var(--lp-surface);
    border-color: var(--lp-border);
    padding: 18px 24px;
}

body.hyiplab-dashboard .card .card-header {
    border-bottom: 1px solid var(--lp-border);
}

body.hyiplab-dashboard .card .card-footer {
    border-top: 1px solid var(--lp-border);
}

body.hyiplab-dashboard .card .card-header .title {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .custom--card {
    border-radius: var(--lp-radius);
    border: 1px solid var(--lp-border);
    box-shadow: var(--lp-shadow-sm);
    background: var(--lp-surface);
}

body.hyiplab-dashboard .custom--card .card-body {
    padding: 28px;
}

body.hyiplab-dashboard .custom--card .card-header,
body.hyiplab-dashboard .custom--card .card-footer {
    background: var(--lp-surface);
    padding: 18px 28px;
}

body.hyiplab-dashboard .card-wrapper,
body.hyiplab-dashboard .card-deposit {
    border-radius: var(--lp-radius);
    border: 1px solid var(--lp-border);
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow-sm);
    overflow: hidden;
}

/* Legacy dashboard widgets */
body.hyiplab-dashboard .dashboard-widget {
    padding: 24px;
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-left: 0;
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    height: 100%;
    transition: box-shadow var(--lp-t), transform var(--lp-t);
}

body.hyiplab-dashboard .dashboard-widget:hover {
    box-shadow: var(--lp-shadow-md);
}

body.hyiplab-dashboard .dashboard-widget > .d-flex h5 {
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-muted) !important;
    letter-spacing: 0.01em;
}

body.hyiplab-dashboard .widget-lists {
    border-top: 1px solid var(--lp-border);
    margin-top: 18px;
    padding-top: 16px;
}

body.hyiplab-dashboard .widget-lists p {
    color: var(--lp-faint);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 2px;
}

body.hyiplab-dashboard .widget-lists span {
    font-weight: 700;
    color: var(--lp-ink);
    font-variant-numeric: tabular-nums;
}

body.hyiplab-dashboard .widget-lists hr {
    border-color: var(--lp-border);
    opacity: 1;
    margin: 14px 0;
}

body.hyiplab-dashboard .widget-lists p i,
body.hyiplab-dashboard .widget-lists small {
    color: var(--lp-faint);
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

/* ------------------------------------------------------------
   DASHBOARD HOME
   ------------------------------------------------------------ */

/* Signature Total Balance hero */
body.hyiplab-dashboard .lp-hero {
    background:
        radial-gradient(560px 300px at 88% -20%, rgba(140, 116, 255, 0.38), transparent 64%),
        radial-gradient(420px 260px at 30% 130%, rgba(124, 107, 242, 0.20), transparent 62%),
        linear-gradient(140deg, #1e1f4a 0%, var(--lp-signature) 55%, #2a2160 120%);
    border-radius: 20px;
    padding: 30px 32px;
    color: #fff;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 12px 34px rgba(23, 25, 60, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

html[data-theme="dark"] body.hyiplab-dashboard .lp-hero {
    box-shadow:
        0 12px 34px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

body.hyiplab-dashboard .lp-hero::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -120px;
    top: -220px;
    background: radial-gradient(circle, rgba(151, 128, 255, 0.42) 0%, transparent 65%);
    pointer-events: none;
}

body.hyiplab-dashboard .lp-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: 30%;
    bottom: -220px;
    background: radial-gradient(circle, rgba(124, 107, 242, 0.24) 0%, transparent 65%);
    pointer-events: none;
}

body.hyiplab-dashboard .lp-hero .lp-hero__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.58);
    margin-bottom: 8px;
}

body.hyiplab-dashboard .lp-hero .lp-hero__amount {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: #ffffff;
    text-shadow: 0 1px 12px rgba(124, 107, 242, 0.25);
}

body.hyiplab-dashboard .lp-hero .lp-hero__currency {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.62);
    letter-spacing: 0.05em;
    margin-left: 6px;
}

body.hyiplab-dashboard .lp-hero .lp-hero__secondary {
    color: rgba(255, 255, 255, 0.82);
    font-size: 14.5px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    margin-top: 10px;
}

body.hyiplab-dashboard .lp-hero .lp-hero__secondary small {
    color: rgba(255, 255, 255, 0.52);
    font-weight: 500;
}

body.hyiplab-dashboard .lp-hero .btn {
    border: 0;
}

body.hyiplab-dashboard .lp-hero .btn--base {
    background: #ffffff !important;
    color: #4c3bd0 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
}

body.hyiplab-dashboard .lp-hero .btn--base:hover {
    background: #f0ecff !important;
    color: #4c3bd0 !important;
}

body.hyiplab-dashboard .lp-hero .btn--secondary {
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid rgba(255, 255, 255, 0.20);
    color: #ffffff !important;
    box-shadow: none !important;
}

body.hyiplab-dashboard .lp-hero .btn--secondary:hover {
    background: rgba(255, 255, 255, 0.20) !important;
    color: #ffffff !important;
}

/* Stat cards — financial data components */
body.hyiplab-dashboard .lp-stat {
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    padding: 22px 24px;
    height: 100%;
    transition: box-shadow var(--lp-t), transform var(--lp-t), border-color var(--lp-t);
}

body.hyiplab-dashboard .lp-stat:hover {
    box-shadow: var(--lp-shadow-md);
    transform: translateY(-2px);
    border-color: var(--lp-border-hover);
}

body.hyiplab-dashboard .lp-stat__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

body.hyiplab-dashboard .lp-stat__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 19px;
    transition: transform var(--lp-t);
}

body.hyiplab-dashboard .lp-stat:hover .lp-stat__icon {
    transform: scale(1.06);
}

body.hyiplab-dashboard .lp-stat__icon.is-accent {
    background: var(--lp-accent-soft);
    color: var(--lp-accent);
}

body.hyiplab-dashboard .lp-stat__icon.is-success {
    background: var(--lp-success-soft);
    color: var(--lp-success);
}

body.hyiplab-dashboard .lp-stat__icon.is-info {
    background: var(--lp-info-soft);
    color: var(--lp-info);
}

body.hyiplab-dashboard .lp-stat__title {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lp-muted);
    line-height: 1.3;
}

body.hyiplab-dashboard .lp-stat__amount {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--lp-ink);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    margin: 0;
}

body.hyiplab-dashboard .lp-stat__amount small {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--lp-faint);
    letter-spacing: 0.04em;
    margin-left: 4px;
}

body.hyiplab-dashboard .lp-stat__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 0;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--lp-border);
}

body.hyiplab-dashboard .lp-stat__grid > div {
    flex: 1 1 33%;
    min-width: 90px;
}

body.hyiplab-dashboard .lp-stat__grid .k {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lp-faint);
    margin-bottom: 2px;
}

body.hyiplab-dashboard .lp-stat__grid .v {
    font-size: 14px;
    font-weight: 700;
    color: var(--lp-ink);
    font-variant-numeric: tabular-nums;
}

body.hyiplab-dashboard .lp-stat__note {
    margin-top: 12px;
    font-size: 12.5px;
    color: var(--lp-faint);
    line-height: 1.5;
}

/* Page heading */
body.hyiplab-dashboard .lp-page-head {
    margin-bottom: 24px;
}

body.hyiplab-dashboard .lp-page-head h3 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 2px;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .lp-page-head p {
    color: var(--lp-muted);
    font-size: 14px;
}

/* Generic page titles used by HYIPLab templates */
body.hyiplab-dashboard .dashboard-inner > .mb-4 > h3,
body.hyiplab-dashboard .dashboard-inner h3 {
    color: var(--lp-ink);
    font-weight: 800;
    letter-spacing: -0.015em;
}

/* Eyebrow label above template page titles (progressive :has) */
body.hyiplab-dashboard .dashboard-inner .mb-4:has(> h3) > p:first-child {
    color: var(--lp-faint);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
}

body.hyiplab-dashboard .dashboard-inner .mb-4 > h3 {
    font-size: 24px;
}

/* Readability: normalize decorative italics (icons unaffected) */
body.hyiplab-dashboard i {
    font-style: normal;
}

body.hyiplab-dashboard .title {
    color: var(--lp-ink);
    font-weight: 700;
}

/* ------------------------------------------------------------
   ALERTS
   ------------------------------------------------------------ */

body.hyiplab-dashboard .alert {
    display: flex;
    align-items: stretch;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 14px;
    overflow: hidden;
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow-sm);
}

body.hyiplab-dashboard .alert .alert__icon {
    display: flex;
    align-items: center;
    padding: 16px 18px;
    font-size: 17px;
}

body.hyiplab-dashboard .alert .alert__message {
    padding: 14px 20px 14px 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .alert .alert__message .fw-bold {
    font-weight: 700;
}

body.hyiplab-dashboard .alert.border--danger {
    border-color: var(--lp-danger-soft);
    background: var(--lp-danger-soft);
}

body.hyiplab-dashboard .alert.border--danger .alert__icon {
    color: var(--lp-danger);
}

body.hyiplab-dashboard .alert.border--primary {
    border-color: var(--lp-accent-soft);
    background: var(--lp-accent-soft);
}

body.hyiplab-dashboard .alert.border--primary .alert__icon {
    color: var(--lp-accent);
}

body.hyiplab-dashboard .alert.border--info {
    border-color: var(--lp-info-soft);
    background: var(--lp-info-soft);
}

body.hyiplab-dashboard .alert.border--info .alert__icon {
    color: var(--lp-info);
}

body.hyiplab-dashboard .alert.border--warning {
    border-color: var(--lp-warning-soft);
    background: var(--lp-warning-soft);
}

body.hyiplab-dashboard .alert.border--warning .alert__icon {
    color: var(--lp-warning);
}

body.hyiplab-dashboard .alert .alert__message small,
body.hyiplab-dashboard .alert .alert__message i {
    color: inherit;
    opacity: 0.85;
}

/* ------------------------------------------------------------
   BADGES — soft tint pills
   ------------------------------------------------------------ */

body.hyiplab-dashboard .badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 11px;
    font-family: var(--lp-font);
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    border-radius: 999px;
    border: 0;
}

body.hyiplab-dashboard .badge.badge--sm {
    padding: 2px 8px;
    font-size: 10.5px;
}

body.hyiplab-dashboard .badge.badge--lg {
    padding: 6px 14px;
    font-size: 13px;
}

body.hyiplab-dashboard .badge--base,
body.hyiplab-dashboard .badge--primary {
    background: var(--lp-accent-soft);
    color: var(--lp-accent);
}

body.hyiplab-dashboard .badge--success {
    background: var(--lp-success-soft);
    color: var(--lp-success);
}

body.hyiplab-dashboard .badge--danger {
    background: var(--lp-danger-soft);
    color: var(--lp-danger);
}

body.hyiplab-dashboard .badge--warning {
    background: var(--lp-warning-soft);
    color: var(--lp-warning);
}

body.hyiplab-dashboard .badge--info {
    background: var(--lp-info-soft);
    color: var(--lp-info);
}

body.hyiplab-dashboard .badge--dark {
    background: var(--lp-surface-3);
    color: var(--lp-muted);
}

body.hyiplab-dashboard .badge--light,
body.hyiplab-dashboard .badge--secondary {
    background: var(--lp-surface-2);
    color: var(--lp-muted);
}

/* ------------------------------------------------------------
   FORMS
   ------------------------------------------------------------ */

body.hyiplab-dashboard .form-group {
    margin-bottom: 18px;
}

body.hyiplab-dashboard .form-group label,
body.hyiplab-dashboard .form-label {
    display: inline-block;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lp-ink);
    margin-bottom: 7px;
}

body.hyiplab-dashboard .form-group label small,
body.hyiplab-dashboard .form-label small {
    font-weight: 500;
    color: var(--lp-muted);
}

body.hyiplab-dashboard .form--control,
body.hyiplab-dashboard .form-control {
    height: 46px;
    padding: 10px 14px;
    font-family: var(--lp-font);
    font-size: 14px;
    font-weight: 500;
    color: var(--lp-ink);
    background: var(--lp-input-bg);
    border: 1px solid var(--lp-border-strong);
    border-radius: var(--lp-radius-sm);
    box-shadow: none;
    outline: 0;
    transition: border-color var(--lp-t), box-shadow var(--lp-t), background-color var(--lp-t);
    width: 100%;
}

body.hyiplab-dashboard .form--control:hover,
body.hyiplab-dashboard .form-control:hover {
    border-color: var(--lp-border-hover);
}

body.hyiplab-dashboard .form--control:focus,
body.hyiplab-dashboard .form-control:focus {
    border-color: var(--lp-accent) !important;
    box-shadow: var(--lp-ring) !important;
    background: var(--lp-input-bg);
    outline: 0;
}

body.hyiplab-dashboard .form--control:disabled,
body.hyiplab-dashboard .form-control:disabled,
body.hyiplab-dashboard .form--control[readonly] {
    background: var(--lp-surface-2);
    color: var(--lp-faint);
    cursor: not-allowed;
    opacity: 1;
}

body.hyiplab-dashboard .form--control.style--two {
    background: var(--lp-surface-2);
}

body.hyiplab-dashboard .form--control.style--two:focus {
    background: var(--lp-input-bg);
}

body.hyiplab-dashboard textarea.form--control,
body.hyiplab-dashboard textarea.form-control {
    height: 140px;
    min-height: 90px;
    padding: 12px 14px;
    line-height: 1.6;
    resize: vertical;
}

body.hyiplab-dashboard select.form--control,
body.hyiplab-dashboard select.form-control,
body.hyiplab-dashboard .form-select {
    height: 46px;
    padding: 10px 38px 10px 14px;
    font-family: var(--lp-font);
    font-size: 14px;
    font-weight: 500;
    color: var(--lp-ink);
    background-color: var(--lp-input-bg);
    background-image: var(--lp-select-arrow);
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px;
    border: 1px solid var(--lp-border-strong);
    border-radius: var(--lp-radius-sm);
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color var(--lp-t), box-shadow var(--lp-t);
}

body.hyiplab-dashboard select.form--control:focus,
body.hyiplab-dashboard select.form-control:focus,
body .hyiplab-dashboard .form-select:focus {
    border-color: var(--lp-accent) !important;
    box-shadow: var(--lp-ring) !important;
    outline: 0;
}

body.hyiplab-dashboard ::placeholder {
    color: var(--lp-faint) !important;
    opacity: 1 !important;
    font-size: 14px !important;
}

body.hyiplab-dashboard .input-group {
    border-radius: var(--lp-radius-sm);
}

body.hyiplab-dashboard .input-group > .form--control,
body.hyiplab-dashboard .input-group > .form-control {
    width: 1%;
    min-width: 0;
    flex: 1 1 auto;
    border-radius: var(--lp-radius-sm) 0 0 var(--lp-radius-sm);
}

body.hyiplab-dashboard .input-group > .input-group-text {
    display: flex;
    align-items: center;
    white-space: nowrap;
    background: var(--lp-surface-2);
    border: 1px solid var(--lp-border-strong);
    border-left: 0;
    border-radius: 0 var(--lp-radius-sm) var(--lp-radius-sm) 0;
    font-family: var(--lp-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--lp-muted);
    padding: 0 14px;
}

body.hyiplab-dashboard .input-group > select.form--control,
body.hyiplab-dashboard .input-group > select.form-control {
    width: 1%;
    min-width: 0;
    flex: 1 1 auto;
}

body.hyiplab-dashboard .form-check-input {
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--lp-border-hover);
    border-radius: 5px;
    cursor: pointer;
    background-color: var(--lp-input-bg);
}

body.hyiplab-dashboard .form-check-input:checked {
    background-color: var(--lp-accent);
    border-color: var(--lp-accent);
}

body.hyiplab-dashboard .form-check-input:focus {
    box-shadow: var(--lp-ring);
    border-color: var(--lp-accent);
}

body.hyiplab-dashboard .form-check-label {
    font-size: 14px;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .custom--checkbox label {
    font-size: 14px;
}

body.hyiplab-dashboard .custom--radio label {
    font-size: 14px;
}

body.hyiplab-dashboard .file-upload {
    border: 1.5px dashed var(--lp-border-hover);
    border-radius: var(--lp-radius-sm);
    background: var(--lp-surface-2);
    transition: border-color var(--lp-t), background-color var(--lp-t);
}

body.hyiplab-dashboard .file-upload:hover {
    border-color: var(--lp-accent);
    background: var(--lp-accent-soft);
}

body.hyiplab-dashboard .form--switch label {
    font-size: 14px;
}

/* Validation states */
body.hyiplab-dashboard .form--control.is-invalid,
body.hyiplab-dashboard .form-control.is-invalid {
    border-color: var(--lp-danger) !important;
}

body.hyiplab-dashboard .form--control.is-invalid:focus,
body.hyiplab-dashboard .form-control.is-invalid:focus {
    box-shadow: 0 0 0 3px var(--lp-danger-soft) !important;
}

body.hyiplab-dashboard .invalid-feedback,
body.hyiplab-dashboard .error-message {
    font-size: 12.5px;
    color: var(--lp-danger);
    margin-top: 6px;
}

/* Hide native number spinners */
body.hyiplab-dashboard input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

body.hyiplab-dashboard input[type="number"]::-webkit-outer-spin-button,
body.hyiplab-dashboard input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ------------------------------------------------------------
   TABLES & ACCORDION LISTS
   ------------------------------------------------------------ */

body.hyiplab-dashboard .table {
    margin: 0;
    font-size: 14px;
    background: transparent;
    border-collapse: separate;
    border-spacing: 0;
    --bs-table-bg: transparent;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .table thead tr {
    background: var(--lp-surface-2);
}

body.hyiplab-dashboard .table thead tr th {
    background: var(--lp-surface-2);
    border-bottom: 1px solid var(--lp-border) !important;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--lp-muted);
    padding: 13px 20px;
    text-align: center;
    white-space: nowrap;
}

body.hyiplab-dashboard .table thead tr th:first-child {
    text-align: left;
    border-top-left-radius: 10px;
}

body.hyiplab-dashboard .table thead tr th:last-child {
    text-align: right;
    border-top-right-radius: 10px;
}

body.hyiplab-dashboard .table tbody {
    border: 0 !important;
}

body.hyiplab-dashboard .table tbody tr td {
    text-align: center;
    vertical-align: middle;
    padding: 15px 20px;
    border-bottom: 1px solid var(--lp-border);
    font-family: var(--lp-font);
    font-size: 14px;
    color: var(--lp-ink);
    background: transparent;
    transition: background-color var(--lp-t);
}

body.hyiplab-dashboard .table tbody tr td:first-child {
    text-align: left;
}

body.hyiplab-dashboard .table tbody tr td:last-child {
    text-align: right;
}

body.hyiplab-dashboard .table tbody tr:hover td {
    background: var(--lp-table-stripe);
}

body.hyiplab-dashboard .table tbody tr:last-child td {
    border-bottom: 0;
}

body.hyiplab-dashboard .table tbody tr td::before {
    content: attr(data-label);
    font-family: var(--lp-font);
    font-size: 11px;
    color: var(--lp-faint);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: none;
}

body.hyiplab-dashboard .table .amount span {
    margin-right: 4px;
    font-variant-numeric: tabular-nums;
}

body.hyiplab-dashboard .table-responsive {
    border-radius: var(--lp-radius-sm);
}

/* Accordion "table" rows */
body.hyiplab-dashboard .table--acordion {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: transparent;
}

body.hyiplab-dashboard .table--acordion .accordion-item {
    border: 1px solid var(--lp-border) !important;
    border-radius: 14px !important;
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow-sm);
    overflow: hidden;
    transition: box-shadow var(--lp-t), border-color var(--lp-t);
}

body.hyiplab-dashboard .table--acordion .accordion-item:hover {
    border-color: var(--lp-border-hover) !important;
    box-shadow: var(--lp-shadow-md);
}

body.hyiplab-dashboard .table--acordion .accordion-button {
    padding: 16px 20px;
    font-family: var(--lp-font);
    background: var(--lp-surface);
    color: var(--lp-ink);
    box-shadow: none;
}

body.hyiplab-dashboard .table--acordion .accordion-button:not(.collapsed) {
    background: var(--lp-surface);
    color: var(--lp-ink);
    box-shadow: none;
}

body.hyiplab-dashboard .table--acordion .accordion-button:focus {
    box-shadow: none;
    border-color: transparent;
    z-index: 0;
}

body.hyiplab-dashboard .table--acordion .accordion-button::after {
    width: 22px;
    height: 22px;
    background-size: 16px;
    border-radius: 50%;
    background-color: var(--lp-surface-2);
    background-position: center;
    filter: none;
    transition: transform var(--lp-t);
}

html[data-theme="dark"] body.hyiplab-dashboard .table--acordion .accordion-button::after {
    filter: invert(0.85);
}

body.hyiplab-dashboard .table--acordion .accordion-button:not(.collapsed)::after {
    transform: rotate(180deg);
}

body.hyiplab-dashboard .table--acordion .accordion-body {
    padding: 4px 20px 18px;
    border-top: 1px solid var(--lp-border);
    background: var(--lp-surface-2);
    color: var(--lp-ink);
}

body.hyiplab-dashboard .table--acordion .left {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.hyiplab-dashboard .table--acordion .left .icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 18px;
}

body.hyiplab-dashboard .table--acordion .left .icon.icon-success {
    background: var(--lp-success-soft);
    color: var(--lp-success);
}

body.hyiplab-dashboard .table--acordion .left .icon.icon-warning {
    background: var(--lp-warning-soft);
    color: var(--lp-warning);
}

body.hyiplab-dashboard .table--acordion .left .icon.icon-danger {
    background: var(--lp-danger-soft);
    color: var(--lp-danger);
}

body.hyiplab-dashboard .table--acordion .trans-title {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--lp-ink);
    margin: 0;
}

body.hyiplab-dashboard .table--acordion .left .content span {
    color: var(--lp-faint);
    font-size: 12.5px;
}

body.hyiplab-dashboard .table--acordion .amount-wrapper p {
    font-variant-numeric: tabular-nums;
}

body.hyiplab-dashboard .table--acordion .amount-wrapper small {
    color: var(--lp-muted);
}

/* Caption lists */
body.hyiplab-dashboard .caption-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--lp-border-strong);
}

body.hyiplab-dashboard .caption-list li:first-child {
    padding-top: 4px;
}

body.hyiplab-dashboard .caption-list li:last-child {
    border-bottom: 0;
    padding-bottom: 2px;
}

body.hyiplab-dashboard .caption-list li .caption {
    font-size: 13px;
    font-weight: 500;
    color: var(--lp-muted);
}

body.hyiplab-dashboard .caption-list li .caption::after {
    display: none;
}

body.hyiplab-dashboard .caption-list li .value {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lp-ink);
    text-align: right;
    font-variant-numeric: tabular-nums;
    word-break: break-word;
}

body.hyiplab-dashboard .caption-list-two li .caption {
    color: var(--lp-muted);
}

/* Generic accordions */
body.hyiplab-dashboard .accordion-item {
    border: 1px solid var(--lp-border);
    border-radius: 14px !important;
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow-sm);
    margin-bottom: 10px;
    overflow: hidden;
}

body.hyiplab-dashboard .accordion-button {
    font-family: var(--lp-font);
    font-weight: 600;
    color: var(--lp-ink);
    background: var(--lp-surface);
    box-shadow: none;
}

body.hyiplab-dashboard .accordion-button:not(.collapsed) {
    background: var(--lp-surface);
    color: var(--lp-ink);
    box-shadow: none;
}

body.hyiplab-dashboard .accordion-button:focus {
    box-shadow: none;
}

/* ------------------------------------------------------------
   EMPTY STATES
   ------------------------------------------------------------ */

body.hyiplab-dashboard .lp-empty {
    text-align: center;
    padding: 54px 24px;
    border: 1.5px dashed var(--lp-border-strong);
    border-radius: var(--lp-radius);
    background: var(--lp-surface);
}

body.hyiplab-dashboard .lp-empty--flush {
    border: 0;
    background: transparent;
    padding: 40px 24px;
}

body.hyiplab-dashboard .lp-empty__icon {
    width: 66px;
    height: 66px;
    border-radius: 20px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    background: var(--lp-accent-soft);
    color: var(--lp-accent);
    font-size: 27px;
    box-shadow: 0 0 0 6px var(--lp-accent-soft);
    transition: transform var(--lp-t);
}

body.hyiplab-dashboard .lp-empty__icon i {
    font-size: 27px;
}

body.hyiplab-dashboard .lp-empty__title {
    font-size: 15.5px;
    font-weight: 700;
    color: var(--lp-ink);
    margin: 0 0 5px;
}

body.hyiplab-dashboard .lp-empty__text {
    font-size: 13.5px;
    color: var(--lp-muted);
    max-width: 380px;
    margin: 0 auto;
    line-height: 1.6;
}

body.hyiplab-dashboard .lp-empty__action {
    margin-top: 18px;
}

/* Legacy empty-state remnants (kept consistent) */
body.hyiplab-dashboard .accordion-body.text-center.bg-white {
    background: var(--lp-surface) !important;
    border: 1.5px dashed var(--lp-border-strong);
    border-radius: var(--lp-radius);
    padding: 40px 20px !important;
}

body.hyiplab-dashboard h4.text--muted,
body.hyiplab-dashboard .text--muted.far {
    color: var(--lp-faint) !important;
    font-size: 15px;
    font-weight: 600;
}

/* ------------------------------------------------------------
   PLAN / INVESTMENT ITEMS
   ------------------------------------------------------------ */

body.hyiplab-dashboard .plan-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.hyiplab-dashboard .plan-item-two {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: 14px;
    box-shadow: var(--lp-shadow-sm);
    padding: 18px 22px;
    transition: box-shadow var(--lp-t), border-color var(--lp-t), transform var(--lp-t);
    width: 100%;
}

body.hyiplab-dashboard .plan-item-two:hover {
    border-color: var(--lp-border-hover);
    box-shadow: var(--lp-shadow-md);
    transform: translateY(-1px);
}

body.hyiplab-dashboard .plan-item-two .plan-inner-div {
    padding: 0;
    border: 0;
}

body.hyiplab-dashboard .plan-item-two .plan-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--lp-ink);
    line-height: 1.4;
}

body.hyiplab-dashboard .plan-item-two .plan-desc {
    font-size: 13px;
    color: var(--lp-muted);
    margin-top: 3px;
}

body.hyiplab-dashboard .plan-item-two .plan-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lp-faint);
    margin: 0 0 2px;
}

body.hyiplab-dashboard .plan-item-two .plan-value {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lp-ink);
    font-variant-numeric: tabular-nums;
    margin: 0;
}

body.hyiplab-dashboard .plan-item-two .invest-details-link {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: var(--lp-accent-soft);
    color: var(--lp-accent);
    font-size: 16px;
    transition: background-color var(--lp-t), color var(--lp-t);
}

body.hyiplab-dashboard .plan-item-two .invest-details-link:hover {
    background: var(--lp-accent);
    color: #fff;
}

body.hyiplab-dashboard .custom-progress .bg-circle {
    stroke: rgba(128, 128, 160, 0.18);
}

body.hyiplab-dashboard .custom-progress .progress-circle {
    stroke: var(--lp-accent);
}

body.hyiplab-dashboard .capital-back {
    color: var(--lp-faint);
    font-weight: 400;
}

body.hyiplab-dashboard .plan-item {
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    overflow: hidden;
    transition: box-shadow var(--lp-t), transform var(--lp-t);
}

body.hyiplab-dashboard .plan-item:hover {
    box-shadow: var(--lp-shadow-md);
    transform: translateY(-2px);
}

body.hyiplab-dashboard .plan-item .plan-item__header,
body.hyiplab-dashboard .plan-item .plan-item__body {
    border-color: var(--lp-border);
}

body.hyiplab-dashboard .package-card {
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    transition: box-shadow var(--lp-t), transform var(--lp-t);
}

body.hyiplab-dashboard .package-card:hover {
    box-shadow: var(--lp-shadow-md);
    transform: translateY(-2px);
}

body.hyiplab-dashboard .user-investment-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

body.hyiplab-dashboard .user-investment-plan-card {
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    color: var(--lp-ink);
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    padding: 16px;
    overflow: hidden;
}

body.hyiplab-dashboard .user-investment-plan-image {
    aspect-ratio: 16 / 10;
    border-radius: 8px;
    overflow: hidden;
}

body.hyiplab-dashboard .user-investment-plan-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.hyiplab-dashboard .user-investment-plan-content {
    display: grid;
    gap: 16px;
}

body.hyiplab-dashboard .user-investment-plan-kicker {
    color: var(--lp-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 6px;
    text-transform: uppercase;
}

body.hyiplab-dashboard .user-investment-plan-card h4 {
    color: var(--lp-ink);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

body.hyiplab-dashboard .user-investment-plan-profit {
    color: var(--lp-ink);
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
}

body.hyiplab-dashboard .user-investment-plan-profit span {
    color: var(--lp-muted);
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 6px;
}

body.hyiplab-dashboard .user-investment-plan-meta {
    display: grid;
    gap: 10px;
}

body.hyiplab-dashboard .user-investment-plan-meta-row {
    align-items: baseline;
    border-top: 1px solid var(--lp-border);
    color: var(--lp-ink);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    min-width: 0;
    padding-top: 10px;
}

body.hyiplab-dashboard .user-investment-plan-meta-row span {
    color: var(--lp-muted);
    font-weight: 700;
}

body.hyiplab-dashboard .user-investment-plan-meta-row strong {
    color: var(--lp-ink);
    font-weight: 800;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: right;
}

body.hyiplab-dashboard .user-investment-plan-card .plan-btn {
    align-self: stretch;
    border-radius: 999px;
    margin-top: auto;
    min-height: 52px;
}

@media (min-width: 1400px) {
    body.hyiplab-dashboard .user-investment-plan-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    body.hyiplab-dashboard .user-investment-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    body.hyiplab-dashboard .user-investment-plan-grid {
        grid-template-columns: 1fr;
    }

    body.hyiplab-dashboard .user-investment-plan-profit {
        font-size: 32px;
    }
}

/* Invest statistics */
body.hyiplab-dashboard .invest-statistics p {
    color: var(--lp-muted);
    font-size: 13.5px;
    font-weight: 500;
}

body.hyiplab-dashboard .invest-statistics .planPoint {
    font-size: 11px;
}

/* ------------------------------------------------------------
   PAGINATION
   ------------------------------------------------------------ */

body.hyiplab-dashboard .pagination {
    justify-content: center;
    gap: 8px;
}

body.hyiplab-dashboard .pagination .page-item a,
body.hyiplab-dashboard .pagination .page-item span {
    min-width: 40px;
    height: 40px;
    line-height: 38px;
    padding: 0 14px;
    font-family: var(--lp-font);
    font-size: 13.5px;
    font-weight: 600;
    border-radius: 10px !important;
    border: 1px solid var(--lp-border);
    background: var(--lp-surface);
    color: var(--lp-muted);
    box-shadow: var(--lp-shadow-sm);
    transition: all var(--lp-t);
}

body.hyiplab-dashboard .pagination .page-item a:hover {
    border-color: var(--lp-accent);
    color: var(--lp-accent);
    background: var(--lp-accent-soft);
}

body.hyiplab-dashboard .pagination .page-item.active span,
body.hyiplab-dashboard .pagination .page-item.active a {
    background: var(--lp-grad);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 12px rgba(90, 72, 232, 0.3);
}

body.hyiplab-dashboard .pagination .page-item.disabled span,
body.hyiplab-dashboard .pagination .page-item.disabled a {
    background: var(--lp-surface-2);
    border-color: var(--lp-border);
    color: var(--lp-faint);
    cursor: not-allowed;
}

/* ------------------------------------------------------------
   LIST GROUPS / MODALS / COMPONENTS
   ------------------------------------------------------------ */

body.hyiplab-dashboard .list-group {
    border-radius: 12px;
    overflow: hidden;
}

body.hyiplab-dashboard .list-group-item {
    background: var(--lp-surface);
    border-color: var(--lp-border);
    font-size: 14px;
    color: var(--lp-ink);
    padding: 13px 16px;
}

body.hyiplab-dashboard .list-group-item:first-child {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

body.hyiplab-dashboard .list-group-item:last-child {
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

body.hyiplab-dashboard .modal .modal-content {
    border: 1px solid var(--lp-border);
    border-radius: 18px;
    box-shadow: var(--lp-shadow-lg);
    background: var(--lp-surface);
    color: var(--lp-ink);
}

body.hyiplab-dashboard .modal .modal-header {
    border-bottom: 1px solid var(--lp-border);
    padding: 18px 24px;
}

body.hyiplab-dashboard .modal .modal-header .modal-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .modal .modal-header .close,
body.hyiplab-dashboard .modal .modal-header button.close {
    background: var(--lp-surface-2);
    border: 0;
    border-radius: 8px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    color: var(--lp-muted);
    opacity: 1;
    transition: background-color var(--lp-t), color var(--lp-t);
}

body.hyiplab-dashboard .modal .modal-header .close:hover {
    background: var(--lp-danger-soft);
    color: var(--lp-danger);
}

body.hyiplab-dashboard .modal .modal-body {
    padding: 24px;
}

body.hyiplab-dashboard .modal .modal-footer {
    border-top: 1px solid var(--lp-border);
    padding: 14px 24px;
}

body.hyiplab-dashboard .modal-backdrop.show {
    opacity: 0.6;
}

body.hyiplab-dashboard .iziToast {
    border-radius: 12px;
    font-family: var(--lp-font);
    box-shadow: var(--lp-shadow-md);
}

/* Copy link (referral) */
body.hyiplab-dashboard .copy-link {
    display: flex;
    align-items: stretch;
    background: var(--lp-input-bg);
    border: 1px solid var(--lp-border-strong);
    border-radius: var(--lp-radius-sm);
    overflow: hidden;
    transition: border-color var(--lp-t), box-shadow var(--lp-t);
}

body.hyiplab-dashboard .copy-link:focus-within {
    border-color: var(--lp-accent);
    box-shadow: var(--lp-ring);
}

body.hyiplab-dashboard .copy-link input {
    flex: 1 1 auto;
    width: 100%;
    height: 48px;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    padding: 0 16px;
    font-family: var(--lp-font);
    font-size: 14px;
    font-weight: 500;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .copy-link span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 18px;
    background: var(--lp-grad);
    color: #fff;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: filter var(--lp-t);
    white-space: nowrap;
}

body.hyiplab-dashboard .copy-link span:hover {
    filter: brightness(1.08);
    color: #fff;
}

/* Referral treeview */
body.hyiplab-dashboard .treeview-container {
    font-family: var(--lp-font);
    color: var(--lp-ink);
}

body.hyiplab-dashboard .treeview li {
    color: var(--lp-ink);
}

body.hyiplab-dashboard .treeview li.contains-items {
    cursor: pointer;
}

body.hyiplab-dashboard .treeview li.items-expanded {
    font-weight: 600;
}

/* Ranking */
body.hyiplab-dashboard .raking-common span,
body.hyiplab-dashboard .raking-invest span {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lp-faint);
    display: block;
    margin-bottom: 4px;
}

body.hyiplab-dashboard .raking-common h5,
body.hyiplab-dashboard .raking-invest h5 {
    font-size: 17px;
    font-weight: 700;
    color: var(--lp-ink);
    font-variant-numeric: tabular-nums;
}

body.hyiplab-dashboard .progress {
    background: var(--lp-surface-2);
    border-radius: 999px;
    height: 8px;
}

body.hyiplab-dashboard .progress-bar {
    background: var(--lp-grad);
    border-radius: 999px;
}

/* Ranking badge cards */
body.hyiplab-dashboard .invest-badge {
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
    padding: 22px 18px;
    transition: box-shadow var(--lp-t), transform var(--lp-t), border-color var(--lp-t);
}

body.hyiplab-dashboard .invest-badge:hover {
    box-shadow: var(--lp-shadow-md);
    transform: translateY(-2px);
    border-color: var(--lp-border-hover);
}

/* Gateway info blocks */
body.hyiplab-dashboard .gateway-info {
    background: var(--lp-surface-2);
    border: 1px solid var(--lp-border);
    border-radius: 12px;
}

/* Tabs */
body.hyiplab-dashboard .cmn--tabs {
    border-bottom: 1px solid var(--lp-border);
    gap: 4px;
}

body.hyiplab-dashboard .cmn--tabs li a {
    display: inline-block;
    padding: 10px 2px;
    margin-right: 22px;
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-muted);
    border-bottom: 2px solid transparent;
    transition: color var(--lp-t), border-color var(--lp-t);
}

body.hyiplab-dashboard .cmn--tabs li a:hover {
    color: var(--lp-ink);
}

body.hyiplab-dashboard .cmn--tabs li a.active {
    color: var(--lp-accent);
    border-color: var(--lp-accent);
}

/* Line Awesome fallback sizing (legacy icons in untouched templates) */
body .hyiplab-dashboard .las,
body .hyiplab-dashboard .lar,
body .hyiplab-dashboard .lab,
body .hyiplab-dashboard .fas,
body .hyiplab-dashboard .far {
    vertical-align: middle;
}

/* ------------------------------------------------------------
   CHART CARD
   ------------------------------------------------------------ */

body.hyiplab-dashboard .chart-card .card-body {
    padding: 24px;
}

body.hyiplab-dashboard .chart-card .title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 2px;
    color: var(--lp-ink);
}

body.hyiplab-dashboard .chart-card .chart-sub {
    font-size: 13px;
    color: var(--lp-faint);
}

body.hyiplab-dashboard .apexcharts-tooltip {
    border: 1px solid var(--lp-border) !important;
    border-radius: 10px !important;
    box-shadow: var(--lp-shadow-md) !important;
    font-family: var(--lp-font) !important;
    color: var(--lp-ink) !important;
    background: var(--lp-surface) !important;
}

body.hyiplab-dashboard .apexcharts-tooltip-title {
    background: var(--lp-surface-2) !important;
    border-bottom: 1px solid var(--lp-border) !important;
    font-family: var(--lp-font) !important;
    font-weight: 600 !important;
}

body.hyiplab-dashboard .apexcharts-xaxistooltip,
body.hyiplab-dashboard .apexcharts-yaxistooltip {
    border-radius: 8px !important;
}

/* ------------------------------------------------------------
   MISC LEGACY UTILITIES
   ------------------------------------------------------------ */

body .hyiplab-dashboard hr {
    border: 0;
    border-top: 1px solid var(--lp-border);
    opacity: 1;
    margin: 24px 0;
}

body .hyiplab-dashboard .widget-lists hr {
    margin: 14px 0;
}

body .hyiplab-dashboard .text--base,
body .hyiplab-dashboard .text-base {
    color: var(--lp-accent) !important;
}

body .hyiplab-dashboard label.required {
    color: var(--lp-ink);
    font-weight: 600;
}

body .hyiplab-dashboard .btn--base2 {
    background: linear-gradient(135deg, #5a48e8 0%, #3f31c4 100%) !important;
    border: 0;
    color: #fff !important;
}

body .hyiplab-dashboard .btn--base2:hover {
    background: linear-gradient(135deg, #4c3bda 0%, #3528ad 100%) !important;
    color: #fff !important;
}

/* ------------------------------------------------------------
   RESPONSIVE REFINEMENTS
   ------------------------------------------------------------ */

@media (max-width: 767px) {
    body.hyiplab-dashboard .lp-hero {
        padding: 24px 20px;
        border-radius: 16px;
    }

    body.hyiplab-dashboard .lp-hero .lp-hero__amount {
        font-size: 29px;
    }

    body.hyiplab-dashboard .lp-stat {
        padding: 18px;
    }

    body.hyiplab-dashboard .lp-stat__amount {
        font-size: 23px;
    }

    body.hyiplab-dashboard .table--acordion .accordion-button {
        padding: 14px 16px;
    }

    body.hyiplab-dashboard .table--acordion .accordion-body {
        padding: 4px 16px 16px;
    }

    body.hyiplab-dashboard .card > .card-body,
    body.hyiplab-dashboard .custom--card .card-body {
        padding: 18px;
    }

    body.hyiplab-dashboard .custom--card .card-header,
    body.hyiplab-dashboard .custom--card .card-footer {
        padding: 16px 18px;
    }

    body.hyiplab-dashboard .plan-item-two {
        padding: 16px;
    }

    body.hyiplab-dashboard .lp-empty {
        padding: 40px 18px;
    }
}

@media (max-width: 450px) {
    body.hyiplab-dashboard .lp-hero .btn {
        flex: 1 1 100%;
    }

    body.hyiplab-dashboard .btn {
        min-height: 40px;
    }

    body.hyiplab-dashboard .btn.btn--xs {
        min-height: 30px;
    }

    body.hyiplab-dashboard .btn.btn--icon {
        min-height: 0;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    body.hyiplab-dashboard *,
    body.hyiplab-dashboard *::before,
    body.hyiplab-dashboard *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* ------------------------------------------------------------
   PASSWORD VISIBILITY TOGGLE
   ------------------------------------------------------------ */

.password-toggle {
    position: relative;
}

.password-toggle .form--control {
    padding-right: 46px !important;
    width: 100%;
}

.password-toggle-btn {
    position: absolute;
    top: 50%;
    right: 6px;
    z-index: 2;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #8a8fa8;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.password-toggle-btn:hover,
.password-toggle-btn:focus-visible {
    color: #6a5ae0;
    background: rgba(106, 90, 224, 0.10);
}

html[data-theme="dark"] body .password-toggle-btn {
    color: rgba(255, 255, 255, 0.45);
}

html[data-theme="dark"] body .password-toggle-btn:hover,
html[data-theme="dark"] body .password-toggle-btn:focus-visible {
    color: #a99bff;
    background: rgba(124, 107, 242, 0.16);
}

/* ------------------------------------------------------------
   IZITOAST — LMPOOL THEME SYNC
   ------------------------------------------------------------ */

body .iziToast {
    font-family: var(--lp-font, "Inter", "Maven Pro", sans-serif) !important;
    background: var(--lp-surface, #ffffff) !important;
    border: 1px solid var(--lp-border, #e7e8f2) !important;
    border-radius: var(--lp-radius-sm, 10px) !important;
    box-shadow: var(--lp-shadow-lg, 0 8px 24px rgba(23, 25, 60, 0.10), 0 24px 56px rgba(23, 25, 60, 0.12)) !important;
    overflow: hidden;
}

body .iziToast .iziToast-title {
    color: var(--lp-ink, #1a1c36) !important;
    font-weight: 600;
}

body .iziToast .iziToast-message {
    color: var(--lp-muted, #6e7391) !important;
}

body .iziToast .iziToast-close {
    opacity: 0.45;
    transition: opacity 0.18s ease;
}

body .iziToast .iziToast-close:hover {
    opacity: 1;
}

body .iziToast.iziToast-error .iziToast-bar,
body .iziToast.iziToast-error .iziToast-progressbar .iziToast-bar {
    background-color: var(--lp-danger, #d93a45) !important;
}

body .iziToast.iziToast-success .iziToast-bar,
body .iziToast.iziToast-success .iziToast-progressbar .iziToast-bar {
    background-color: var(--lp-success, #178a5b) !important;
}

body .iziToast.iziToast-warning .iziToast-bar,
body .iziToast.iziToast-warning .iziToast-progressbar .iziToast-bar {
    background-color: var(--lp-warning, #c07c08) !important;
}

body .iziToast.iziToast-info .iziToast-bar,
body .iziToast.iziToast-info .iziToast-progressbar .iziToast-bar {
    background-color: var(--lp-info, #0e83c4) !important;
}

body .iziToast.iziToast-error { border-left: 3px solid var(--lp-danger, #d93a45) !important; }
body .iziToast.iziToast-success { border-left: 3px solid var(--lp-success, #178a5b) !important; }
body .iziToast.iziToast-warning { border-left: 3px solid var(--lp-warning, #c07c08) !important; }
body .iziToast.iziToast-info { border-left: 3px solid var(--lp-info, #0e83c4) !important; }
body .iziToast.iziToast-question { border-left: 3px solid var(--lp-accent, #6a5ae0) !important; }

/* Dark mode */
html[data-theme="dark"] body .iziToast {
    background: var(--lp-signature-2, #1b1c3f) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
}

html[data-theme="dark"] body .iziToast .iziToast-title {
    color: #ffffff !important;
}

html[data-theme="dark"] body .iziToast .iziToast-message {
    color: rgba(255, 255, 255, 0.72) !important;
}

html[data-theme="dark"] body .iziToast .iziToast-icon,
html[data-theme="dark"] body .iziToast .iziToast-close {
    filter: brightness(0) invert(1);
}

/* ------------------------------------------------------------
   MANUAL PAYMENT — "OR" DIVIDER BETWEEN FIELDS
   ------------------------------------------------------------ */

.lm-manual-form .form-group:has(input[type="file"]) {
    margin-top: 6px;
}

/* ------------------------------------------------------------
   MANUAL PAYMENT — CARD WIDTH + QR IMAGE FRAME
   ------------------------------------------------------------ */

body.hyiplab-dashboard .lm-instruction-note {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    max-width: 480px;
    margin: 24px auto 24px;
    padding: 14px 22px;
    background: var(--lp-accent-soft);
    border: 1px solid rgba(106, 90, 224, 0.30);
    border-radius: 16px;
    color: var(--lp-accent);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.45;
}

body.hyiplab-dashboard .lm-instruction-note i {
    font-size: 20px;
    flex-shrink: 0;
}

body.hyiplab-dashboard .lm-manual-card .card-body img {
    display: block;
    margin: 0 auto 12px;
    width: 240px !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 8px;
    background: var(--lp-surface);
    border: 1px solid var(--lp-border);
    border-radius: 14px;
    box-shadow: var(--lp-shadow-sm);
}

@media (max-width: 575px) {
    body.hyiplab-dashboard .lm-manual-card .card-body img {
        width: 210px !important;
    }
}

.lm-manual-form .form-group:has(input[type="file"])::before {
    content: "OR";
    display: block;
    margin: 14px 0 18px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 4px;
    line-height: 1;
    color: var(--lp-muted, #6e7391);
    background:
        linear-gradient(var(--lp-border-strong, #dcdfeb), var(--lp-border-strong, #dcdfeb)) left center / calc(50% - 32px) 1px no-repeat,
        linear-gradient(var(--lp-border-strong, #dcdfeb), var(--lp-border-strong, #dcdfeb)) right center / calc(50% - 32px) 1px no-repeat;
}

/* ------------------------------------------------------------
   MANUAL PAYMENT — WALLET NAME + ADDRESS W/ COPY
   ------------------------------------------------------------ */

.lm-wallet {
    text-align: center;
    margin: 4px 0 20px;
}

.lm-wallet-name {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--lp-muted, #6e7391);
    margin-bottom: 12px;
}

.lm-wallet-addr {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    padding: 10px 10px 10px 16px;
    background: var(--lp-surface-2, #f6f7fc);
    border: 1px solid var(--lp-border, #e7e8f2);
    border-radius: 12px;
}

.lm-wallet-text {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--lp-ink, #1a1c36);
    word-break: break-all;
}

@media (max-width: 575px) {
    .lm-wallet-text {
        font-size: 12px;
    }
}

.lm-wallet-copy {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--lp-border, #e7e8f2);
    border-radius: 10px;
    background: var(--lp-accent-soft, #eeecfc);
    color: var(--lp-accent, #6a5ae0);
    font-size: 17px;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.lm-wallet-copy:hover {
    background: var(--lp-accent, #6a5ae0);
    color: #ffffff;
}

html[data-theme="dark"] body .lm-wallet-addr {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--lp-border, #2a2c55);
}

html[data-theme="dark"] body .lm-wallet-text {
    color: var(--lp-ink, #e7e9f5);
}

html[data-theme="dark"] body .lm-wallet-copy {
    background: rgba(124, 107, 242, 0.16);
    border-color: var(--lp-border, #2a2c55);
    color: #a99bff;
}

html[data-theme="dark"] body .lm-wallet-copy:hover {
    background: var(--lp-accent, #7c6bf2);
    color: #ffffff;
}

/* ------------------------------------------------------------
   SUPPORT TICKET — CONVERSATION TIMELINE
   ------------------------------------------------------------ */

.lm-tickets {
    position: relative;
    padding-top: 4px;
}

.lm-tickets__title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--lp-faint, #9ba0bd);
    margin: 0 0 18px 58px;
}

.lm-tickets::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 34px;
    bottom: 10px;
    width: 2px;
    border-radius: 2px;
    background: var(--lp-surface-3, #eef0f8);
}

.lm-msg {
    position: relative;
    display: flex;
    gap: 16px;
    padding-bottom: 20px;
}

.lm-msg:last-child {
    padding-bottom: 6px;
}

.lm-msg__avatar {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    background: var(--lp-surface-3, #eef0f8);
    border: 1px solid var(--lp-border, #e7e8f2);
    color: var(--lp-ink, #1a1c36);
}

.lm-msg.is-admin .lm-msg__avatar {
    background: var(--lp-grad, linear-gradient(135deg, #7c6bf2 0%, #5a48e8 100%));
    border: 0;
    color: #ffffff;
}

.lm-msg__main {
    flex: 1;
    min-width: 0;
    padding: 14px 18px 16px;
    border-radius: 14px;
    background: var(--lp-surface-2, #f6f7fc);
    border: 1px solid var(--lp-border, #e7e8f2);
}

.lm-msg.is-admin .lm-msg__main {
    background: var(--lp-accent-soft, #eeecfc);
    border-color: rgba(106, 90, 224, 0.35);
}

.lm-msg__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.lm-msg__name {
    font-weight: 700;
    font-size: 15px;
    color: var(--lp-ink, #1a1c36);
}

.lm-msg__role {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--lp-surface-3, #eef0f8);
    color: var(--lp-muted, #6e7391);
}

.lm-msg.is-admin .lm-msg__role {
    background: rgba(106, 90, 224, 0.16);
    color: var(--lp-accent, #6a5ae0);
}

.lm-msg__date {
    margin-left: auto;
    font-size: 12.5px;
    color: var(--lp-faint, #9ba0bd);
}

.lm-msg__text {
    margin: 0;
    color: var(--lp-ink, #1a1c36);
    line-height: 1.7;
    white-space: pre-wrap;
    word-break: break-word;
}

.lm-msg__files {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.lm-msg__file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 13px;
    border-radius: 999px;
    border: 1px solid var(--lp-border, #e7e8f2);
    background: var(--lp-surface, #ffffff);
    color: var(--lp-accent, #6a5ae0);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.lm-msg__file:hover {
    background: var(--lp-accent, #6a5ae0);
    border-color: var(--lp-accent, #6a5ae0);
    color: #ffffff;
}

html[data-theme="dark"] body .lm-tickets::before {
    background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] body .lm-msg__main {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--lp-border, #2a2c55);
}

html[data-theme="dark"] body .lm-msg.is-admin .lm-msg__main {
    background: rgba(124, 107, 242, 0.10);
    border-color: rgba(124, 107, 242, 0.45);
}

html[data-theme="dark"] body .lm-msg__avatar {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--lp-border, #2a2c55);
    color: #e7e9f5;
}

html[data-theme="dark"] body .lm-msg__file {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--lp-border, #2a2c55);
    color: #a99bff;
}

html[data-theme="dark"] body .lm-msg__file:hover {
    background: var(--lp-accent, #7c6bf2);
    border-color: var(--lp-accent, #7c6bf2);
    color: #ffffff;
}

@media (max-width: 575px) {
    .lm-msg__date {
        margin-left: 0;
        width: 100%;
    }

    .lm-msg__main {
        padding: 12px 14px 14px;
    }
}

/* ------------------------------------------------------------
   SUPPORT TICKET — CLOSE BUTTON MOBILE PLACEMENT
   ------------------------------------------------------------ */

.lm-ticket-close-wrap {
    display: none;
    margin-top: 10px;
}

.lm-btn-danger-ghost {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 15px;
    font-weight: 600;
    border-radius: 10px !important;
    background: transparent !important;
    border: 1px solid var(--lp-danger, #d93a45) !important;
    color: var(--lp-danger, #d93a45) !important;
    box-shadow: none !important;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.lm-btn-danger-ghost:hover {
    background: var(--lp-danger, #d93a45) !important;
    color: #ffffff !important;
}

@media (max-width: 575px) {
    .card-header .ticket-close-button {
        display: none !important;
    }

    .lm-ticket-close-wrap {
        display: block;
    }
}
