/*
 * Bizplin HostGator-style refresh for WHMCS Nexus client area.
 * Fully scoped to body.nexus-clientarea.
 */
body.nexus-clientarea {
    --bp-bg: #f3f5f9;
    --bp-card: #ffffff;
    --bp-border: #dce4ee;
    --bp-primary: #0f74dc;
    --bp-primary-600: #0a65c4;
    --bp-primary-100: #ebf4ff;
    --bp-text: #1f2f45;
    --bp-muted: #64748b;
    --bp-success: #167c52;
    --bp-warning: #a16207;
    --bp-danger: #b42318;
    --bp-radius: 18px;
    --bp-radius-sm: 12px;
    --bp-radius-pill: 999px;
    --bp-shadow: 0 10px 28px rgba(15, 35, 74, 0.08);
    --bp-space-1: 0.25rem;
    --bp-space-2: 0.5rem;
    --bp-space-3: 0.75rem;
    --bp-space-4: 1rem;
    --bp-space-5: 1.25rem;
    --bp-space-6: 1.5rem;
    --bp-space-7: 1.75rem;
    --bp-space-8: 2rem;
    --bp-sidebar-width: 216px;
    background: var(--bp-bg);
    color: var(--bp-text);
    font-family: "Open Sans", "Segoe UI", sans-serif;
}

body.nexus-clientarea a {
    color: var(--bp-primary);
}

body.nexus-clientarea a:hover {
    color: var(--bp-primary-600);
}

body.nexus-clientarea h1,
body.nexus-clientarea h2,
body.nexus-clientarea h3,
body.nexus-clientarea h4,
body.nexus-clientarea h5,
body.nexus-clientarea h6 {
    color: #24364d;
    font-weight: 600;
    letter-spacing: -0.015em;
}

body.nexus-clientarea .text-muted,
body.nexus-clientarea small,
body.nexus-clientarea .small {
    color: var(--bp-muted);
}

body.nexus-clientarea #header,
body.nexus-clientarea #main-body,
body.nexus-clientarea .master-breadcrumb,
body.nexus-clientarea #footer {
    background: var(--bp-bg);
}

body.nexus-clientarea #header .topbar,
body.nexus-clientarea #header .navbar.navbar-light {
    background: transparent;
    border: 0;
}

body.nexus-clientarea #header .topbar .container,
body.nexus-clientarea #header .navbar.navbar-light .container,
body.nexus-clientarea .master-breadcrumb .container {
    background: var(--bp-card);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    box-shadow: var(--bp-shadow);
    max-width: 1320px;
}

body.nexus-clientarea #header .topbar .container {
    margin-top: var(--bp-space-4);
    margin-bottom: var(--bp-space-4);
    padding-top: var(--bp-space-3);
    padding-bottom: var(--bp-space-3);
}

body.nexus-clientarea #header .topbar .btn {
    border-color: transparent;
    color: var(--bp-text);
    border-radius: var(--bp-radius-pill);
}

body.nexus-clientarea #header .topbar .btn:hover {
    background: var(--bp-primary-100);
    color: var(--bp-primary);
}

body.nexus-clientarea #header .topbar .input-group.active-client {
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-pill);
    overflow: hidden;
}

body.nexus-clientarea #header .topbar .input-group.active-client .input-group-text {
    border: 0;
    background: #f8fbff;
    color: var(--bp-muted);
}

body.nexus-clientarea #header .topbar .btn-active-client {
    border: 0;
    background: #f8fbff;
    color: var(--bp-text);
}

body.nexus-clientarea #header .navbar.navbar-light .container {
    margin-bottom: var(--bp-space-4);
    padding: var(--bp-space-4) var(--bp-space-5);
}

body.nexus-clientarea #header .navbar.navbar-light .navbar-brand {
    margin-right: var(--bp-space-5);
}

body.nexus-clientarea #header .navbar.navbar-light .logo-img {
    max-height: 36px;
    width: auto;
}

body.nexus-clientarea #header .navbar .input-group.search {
    border: 1px solid #bdd6f5;
    border-radius: var(--bp-radius-pill);
    overflow: hidden;
    background: #fff;
}

body.nexus-clientarea #header .navbar .input-group.search .btn,
body.nexus-clientarea #header .navbar .input-group.search .form-control {
    border: 0;
    box-shadow: none;
}

body.nexus-clientarea #header .navbar .input-group.search .btn {
    color: var(--bp-primary);
    background: #fff;
}

body.nexus-clientarea #header .navbar .input-group.search .form-control {
    min-height: 44px;
    padding-right: var(--bp-space-4);
}

body.nexus-clientarea #header .navbar .toolbar .nav-link {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--bp-border);
    color: var(--bp-muted);
    background: #fff;
}

body.nexus-clientarea #header .navbar .toolbar .nav-link:hover {
    color: var(--bp-primary);
    border-color: #bdd6f5;
    background: var(--bp-primary-100);
}

body.nexus-clientarea #header .navbar .toolbar .cart-btn #cartItemCount {
    top: 2px;
    right: 2px;
    background: #f97316;
    border: 0;
}

body.nexus-clientarea .master-breadcrumb {
    border: 0;
}

body.nexus-clientarea .master-breadcrumb .container {
    padding-top: var(--bp-space-3);
    padding-bottom: var(--bp-space-3);
}

body.nexus-clientarea .master-breadcrumb .breadcrumb {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
}

body.nexus-clientarea .master-breadcrumb .breadcrumb-item,
body.nexus-clientarea .master-breadcrumb .breadcrumb-item a {
    color: var(--bp-muted);
    font-weight: 500;
}

body.nexus-clientarea .master-breadcrumb .breadcrumb-item.active {
    color: var(--bp-text);
}

@media (min-width: 1200px) {
    body.nexus-clientarea #header .main-navbar-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: var(--bp-sidebar-width);
        height: 100vh;
        z-index: 1030;
        background: var(--bp-card);
        border-right: 1px solid var(--bp-border);
        box-shadow: 2px 0 16px rgba(15, 35, 74, 0.04);
        padding-top: var(--bp-space-4);
        overflow-y: auto;
    }

    body.nexus-clientarea #header .main-navbar-wrapper .container {
        width: 100%;
        max-width: none;
        padding-left: var(--bp-space-3);
        padding-right: var(--bp-space-3);
    }

    body.nexus-clientarea #header .main-navbar-wrapper #mainNavbar {
        display: block;
    }

    body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav {
        display: block;
        width: 100%;
        margin-right: 0;
    }

    body.nexus-clientarea #header .main-navbar-wrapper #nav {
        margin-top: 68px;
    }

    body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav.ml-auto {
        margin-top: var(--bp-space-5);
        padding-top: var(--bp-space-4);
        border-top: 1px solid var(--bp-border);
    }

    body.nexus-clientarea #header .navbar.navbar-light .navbar-brand {
        position: fixed;
        top: 24px;
        left: 20px;
        z-index: 1031;
        width: 168px;
        margin: 0;
    }

    body.nexus-clientarea #header .topbar,
    body.nexus-clientarea #header .navbar.navbar-light,
    body.nexus-clientarea .master-breadcrumb,
    body.nexus-clientarea #main-body,
    body.nexus-clientarea #footer {
        margin-left: var(--bp-sidebar-width);
    }
}

body.nexus-clientarea #header .main-navbar-wrapper {
    background: transparent;
    border: 0;
}

body.nexus-clientarea #header .main-navbar-wrapper .container {
    background: transparent;
}

body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li {
    margin-bottom: var(--bp-space-1);
}

body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li > a {
    min-height: 44px;
    border-radius: var(--bp-radius-sm);
    display: flex;
    align-items: center;
    gap: var(--bp-space-3);
    padding: var(--bp-space-2) var(--bp-space-3);
    color: var(--bp-text);
    font-weight: 600;
    border: 1px solid transparent;
    transition: all 0.2s ease;
}

body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li > a i {
    width: 18px;
    text-align: center;
    color: var(--bp-muted);
}

body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li:hover > a,
body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li.show > a,
body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li.active > a,
body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li > a[aria-expanded="true"] {
    background: var(--bp-primary-100);
    border-color: #bfd9fb;
    color: var(--bp-primary);
}

body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li:hover > a i,
body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li.show > a i,
body.nexus-clientarea #header .main-navbar-wrapper .navbar-nav > li.active > a i {
    color: var(--bp-primary);
}

body.nexus-clientarea #header .main-navbar-wrapper .dropdown-menu {
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    box-shadow: var(--bp-shadow);
    padding: var(--bp-space-2);
    min-width: 100%;
}

body.nexus-clientarea #header .main-navbar-wrapper .dropdown-item {
    border-radius: 10px;
    font-weight: 600;
    color: var(--bp-text);
    padding: var(--bp-space-2) var(--bp-space-3);
}

body.nexus-clientarea #header .main-navbar-wrapper .dropdown-item:hover,
body.nexus-clientarea #header .main-navbar-wrapper .dropdown-item:focus {
    background: var(--bp-primary-100);
    color: var(--bp-primary);
}

body.nexus-clientarea #main-body {
    padding-top: var(--bp-space-2);
    padding-bottom: var(--bp-space-8);
}

body.nexus-clientarea #main-body > .container {
    max-width: 1320px;
}

body.nexus-clientarea #main-body .primary-content > .card,
body.nexus-clientarea #main-body .primary-content > .table-container,
body.nexus-clientarea #main-body .primary-content > .tiles,
body.nexus-clientarea #main-body .primary-content > .client-home-cards {
    margin-bottom: var(--bp-space-6);
}

body.nexus-clientarea .card,
body.nexus-clientarea .table-container,
body.nexus-clientarea .tiles .tile,
body.nexus-clientarea .domain-renewals,
body.nexus-clientarea .dataTables_wrapper .listtable {
    background: var(--bp-card);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    box-shadow: var(--bp-shadow);
}

body.nexus-clientarea .card-header,
body.nexus-clientarea .card-footer {
    background: transparent;
    border-color: var(--bp-border);
}

body.nexus-clientarea .card-header {
    padding: var(--bp-space-5) var(--bp-space-6);
}

body.nexus-clientarea .card-body,
body.nexus-clientarea .card-footer {
    padding: var(--bp-space-5) var(--bp-space-6);
}

body.nexus-clientarea .sidebar .card-sidebar {
    margin-bottom: var(--bp-space-5);
}

body.nexus-clientarea .sidebar .card-sidebar .card-title {
    font-size: 1.02rem;
    color: #25374f;
}

body.nexus-clientarea .sidebar .list-group {
    padding: var(--bp-space-2) var(--bp-space-3) var(--bp-space-4);
}

body.nexus-clientarea .sidebar .list-group-item {
    border: 1px solid transparent;
    border-radius: var(--bp-radius-sm);
    margin-bottom: var(--bp-space-1);
    padding: var(--bp-space-2) var(--bp-space-3);
    color: var(--bp-text);
}

body.nexus-clientarea .sidebar .list-group-item:hover {
    background: var(--bp-primary-100);
    border-color: #cbe0fb;
    color: var(--bp-primary);
}

body.nexus-clientarea .sidebar .list-group-item.active {
    background: #e9f2ff;
    border-color: #b7d5fa;
    color: var(--bp-primary);
}

body.nexus-clientarea .tiles .tile {
    padding: var(--bp-space-5);
    min-height: 150px;
    color: var(--bp-text);
    position: relative;
}

body.nexus-clientarea .tiles .tile i {
    color: var(--bp-primary);
    opacity: 0.9;
}

body.nexus-clientarea .tiles .tile .stat {
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--bp-text);
}

body.nexus-clientarea .tiles .tile .title {
    color: var(--bp-muted);
    font-weight: 600;
}

body.nexus-clientarea .tiles .tile .highlight {
    height: 4px;
    border-radius: 0 0 var(--bp-radius) var(--bp-radius);
}

body.nexus-clientarea .btn {
    border-radius: var(--bp-radius-pill);
    min-height: 40px;
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 0.48rem 1.1rem;
    transition: all 0.18s ease;
}

body.nexus-clientarea .btn.btn-sm,
body.nexus-clientarea .btn-group-sm > .btn {
    min-height: 34px;
    padding: 0.3rem 0.85rem;
}

body.nexus-clientarea .btn-primary,
body.nexus-clientarea .btn-success,
body.nexus-clientarea .btn-info {
    background: var(--bp-primary);
    border-color: var(--bp-primary);
    color: #fff;
}

body.nexus-clientarea .btn-primary:hover,
body.nexus-clientarea .btn-success:hover,
body.nexus-clientarea .btn-info:hover,
body.nexus-clientarea .btn-primary:focus,
body.nexus-clientarea .btn-success:focus,
body.nexus-clientarea .btn-info:focus {
    background: var(--bp-primary-600);
    border-color: var(--bp-primary-600);
    color: #fff;
}

body.nexus-clientarea .btn-default,
body.nexus-clientarea .btn-outline-primary,
body.nexus-clientarea .btn-outline-secondary,
body.nexus-clientarea .btn-outline-light {
    background: #fff;
    border-color: #b8c7da;
    color: var(--bp-primary);
}

body.nexus-clientarea .btn-default:hover,
body.nexus-clientarea .btn-outline-primary:hover,
body.nexus-clientarea .btn-outline-secondary:hover,
body.nexus-clientarea .btn-outline-light:hover {
    background: var(--bp-primary-100);
    border-color: #9fc3f5;
    color: var(--bp-primary-600);
}

body.nexus-clientarea .btn:focus,
body.nexus-clientarea .btn.focus {
    box-shadow: 0 0 0 0.2rem rgba(15, 116, 220, 0.22);
}

body.nexus-clientarea .btn-group .dropdown-menu {
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius-sm);
    box-shadow: var(--bp-shadow);
}

body.nexus-clientarea .form-control,
body.nexus-clientarea .custom-select,
body.nexus-clientarea select.form-control,
body.nexus-clientarea textarea.form-control {
    min-height: 44px;
    border-radius: 14px;
    border: 1px solid #c8d5e5;
    background: #fff;
    color: var(--bp-text);
    padding-left: var(--bp-space-4);
    padding-right: var(--bp-space-4);
}

body.nexus-clientarea textarea.form-control {
    min-height: 120px;
}

body.nexus-clientarea .form-control:focus,
body.nexus-clientarea .custom-select:focus,
body.nexus-clientarea select.form-control:focus,
body.nexus-clientarea textarea.form-control:focus {
    border-color: #8dbcf2;
    box-shadow: 0 0 0 0.22rem rgba(15, 116, 220, 0.18);
}

body.nexus-clientarea .input-group-text {
    border-radius: 14px;
    border: 1px solid #c8d5e5;
    background: #f8fbff;
    color: var(--bp-muted);
}

body.nexus-clientarea .table-container {
    overflow: hidden;
}

body.nexus-clientarea table.table.table-list {
    margin-bottom: 0;
    background: var(--bp-card);
}

body.nexus-clientarea table.table.table-list thead th {
    border-top: 0;
    border-bottom: 1px solid var(--bp-border);
    color: var(--bp-muted);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: var(--bp-space-4) var(--bp-space-4);
    text-transform: uppercase;
}

body.nexus-clientarea table.table.table-list tbody td {
    border-top: 1px solid #edf2f8;
    color: var(--bp-text);
    padding: var(--bp-space-4) var(--bp-space-4);
    vertical-align: middle;
}

body.nexus-clientarea table.table.table-list tbody tr {
    transition: background-color 0.18s ease;
}

body.nexus-clientarea table.table.table-list tbody tr:hover {
    background: #f8fbff;
}

body.nexus-clientarea .dataTables_wrapper .listtable {
    padding: var(--bp-space-4);
    margin-bottom: var(--bp-space-4);
}

body.nexus-clientarea .dataTables_wrapper .dataTables_filter,
body.nexus-clientarea .dataTables_wrapper .dataTables_length {
    margin-bottom: var(--bp-space-3);
}

body.nexus-clientarea .dataTables_wrapper .dataTables_filter label,
body.nexus-clientarea .dataTables_wrapper .dataTables_length label {
    margin-bottom: 0;
    color: var(--bp-muted);
    font-weight: 600;
}

body.nexus-clientarea .dataTables_wrapper .dataTables_filter input,
body.nexus-clientarea .dataTables_wrapper .dataTables_length select {
    margin-left: var(--bp-space-2);
    border: 1px solid #c8d5e5;
    border-radius: var(--bp-radius-pill);
    min-height: 38px;
    padding-left: var(--bp-space-3);
    padding-right: var(--bp-space-3);
    background: #fff;
    color: var(--bp-text);
}

body.nexus-clientarea .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: var(--bp-radius-pill);
    border: 1px solid #c8d5e5;
    color: var(--bp-text);
    background: #fff;
    padding: 0.28rem 0.75rem;
    margin-left: var(--bp-space-1);
}

body.nexus-clientarea .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.nexus-clientarea .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    border-color: var(--bp-primary);
    background: var(--bp-primary);
    color: #fff;
}

body.nexus-clientarea .label.status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bp-radius-pill);
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid transparent;
    padding: 0.24rem 0.65rem;
}

body.nexus-clientarea .label.status[class*="status-paid"],
body.nexus-clientarea .label.status[class*="status-active"],
body.nexus-clientarea .label.status[class*="status-completed"] {
    background: #eaf7ef;
    color: var(--bp-success);
    border-color: #c8e9d6;
}

body.nexus-clientarea .label.status[class*="status-pending"],
body.nexus-clientarea .label.status[class*="status-draft"],
body.nexus-clientarea .label.status[class*="status-fraud"] {
    background: #fff7e8;
    color: var(--bp-warning);
    border-color: #f6dfaf;
}

body.nexus-clientarea .label.status[class*="status-unpaid"],
body.nexus-clientarea .label.status[class*="status-overdue"],
body.nexus-clientarea .label.status[class*="status-expired"],
body.nexus-clientarea .label.status[class*="status-cancelled"] {
    background: #fff1f1;
    color: var(--bp-danger);
    border-color: #fecaca;
}

body.nexus-clientarea .badge {
    border-radius: var(--bp-radius-pill);
    font-weight: 700;
    padding: 0.32rem 0.58rem;
}

body.nexus-clientarea .badge.badge-success {
    background: #eaf7ef;
    color: var(--bp-success);
}

body.nexus-clientarea .badge.badge-warning {
    background: #fff7e8;
    color: var(--bp-warning);
}

body.nexus-clientarea .badge.badge-danger {
    background: #fff1f1;
    color: var(--bp-danger);
}

body.nexus-clientarea .view-filter-btns .list-group-item {
    border-radius: var(--bp-radius-pill);
    border: 1px solid transparent;
    font-weight: 600;
    color: var(--bp-muted);
}

body.nexus-clientarea .view-filter-btns .list-group-item.active,
body.nexus-clientarea .view-filter-btns .list-group-item:hover {
    border-color: #bfd9fb;
    background: var(--bp-primary-100);
    color: var(--bp-primary);
}

body.nexus-clientarea .list-group-item {
    border-color: #edf2f8;
}

body.nexus-clientarea .list-group-item.active {
    background: var(--bp-primary-100);
    border-color: #bfd9fb;
    color: var(--bp-primary);
}

body.nexus-clientarea .alert {
    border-radius: var(--bp-radius-sm);
    border-width: 1px;
    box-shadow: 0 6px 18px rgba(15, 35, 74, 0.06);
}

body.nexus-clientarea .alert-success {
    color: #15543b;
    background: #ecfdf3;
    border-color: #b7ebcf;
}

body.nexus-clientarea .alert-warning {
    color: #7c4a00;
    background: #fff8e1;
    border-color: #f5de9a;
}

body.nexus-clientarea .alert-danger {
    color: #8e2424;
    background: #fff2f2;
    border-color: #fdc8c8;
}

body.nexus-clientarea .modal-content {
    border-radius: var(--bp-radius);
    border: 1px solid var(--bp-border);
    box-shadow: var(--bp-shadow);
}

body.nexus-clientarea #footer {
    padding-top: var(--bp-space-6);
}

body.nexus-clientarea #footer .container {
    max-width: 1320px;
    background: var(--bp-card);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    box-shadow: var(--bp-shadow);
    padding-top: var(--bp-space-5);
    padding-bottom: var(--bp-space-5);
}

body.nexus-clientarea #footer .nav-link,
body.nexus-clientarea #footer .copyright {
    color: var(--bp-muted);
}

body.nexus-clientarea #footer .btn-outline-light {
    border-color: #c8d5e5;
    color: var(--bp-text);
}

@media (max-width: 1199.98px) {
    body.nexus-clientarea #header .topbar .container,
    body.nexus-clientarea #header .navbar.navbar-light .container,
    body.nexus-clientarea .master-breadcrumb .container,
    body.nexus-clientarea #main-body > .container,
    body.nexus-clientarea #footer .container {
        max-width: none;
    }

    body.nexus-clientarea #header .main-navbar-wrapper {
        padding-left: var(--bp-space-4);
        padding-right: var(--bp-space-4);
        margin-bottom: var(--bp-space-3);
    }

    body.nexus-clientarea #header .main-navbar-wrapper .container {
        background: var(--bp-card);
        border: 1px solid var(--bp-border);
        border-radius: var(--bp-radius);
        box-shadow: var(--bp-shadow);
        padding-top: var(--bp-space-2);
        padding-bottom: var(--bp-space-2);
    }

    body.nexus-clientarea #header .navbar.navbar-light .navbar-brand {
        position: static;
        width: auto;
    }
}

@media (max-width: 767.98px) {
    body.nexus-clientarea #header .topbar .container,
    body.nexus-clientarea #header .navbar.navbar-light .container,
    body.nexus-clientarea .master-breadcrumb .container,
    body.nexus-clientarea #main-body > .container,
    body.nexus-clientarea #footer .container {
        border-radius: var(--bp-radius-sm);
    }

    body.nexus-clientarea .card-header,
    body.nexus-clientarea .card-body,
    body.nexus-clientarea .card-footer {
        padding-left: var(--bp-space-4);
        padding-right: var(--bp-space-4);
    }

    body.nexus-clientarea .tiles .tile {
        min-height: 128px;
    }

    body.nexus-clientarea .btn {
        width: auto;
    }
}
