/*
 * Badger Client Area Theme
 * WHMCS 9 / Nexus
 *
 * All visual customization lives in this file so the underlying Nexus
 * templates remain compatible with WHMCS updates and modules.
 */

:root {
    --white: #ffffff;

    /* Badger neutrals */
    --neutral-50: #f8f7f2;
    --neutral-100: #eceae2;
    --neutral-200: #d8d5ca;
    --neutral-300: #b8b4aa;
    --neutral-400: #9b9a95;
    --neutral-500: #777a80;
    --neutral-600: #555960;
    --neutral-700: #353941;
    --neutral-800: #1c1f24;
    --neutral-900: #111317;
    --neutral-950: #08090b;

    /* Neon-green brand scale */
    --primary-50: #effff5;
    --primary-100: #d8ffe7;
    --primary-200: #adffc9;
    --primary-300: #7cffaa;
    --primary-400: #48ff83;
    --primary-500: #1ff263;
    --primary-600: #13cf50;
    --primary-700: #0ea740;
    --primary-800: #0b7f32;
    --primary-900: #075623;
    --primary-950: #032e13;

    --primary: #1ff263;
    --primary-lifted: #48ff83;
    --primary-accented: #13cf50;

    --secondary: #777a80;
    --secondary-lifted: #92959b;
    --secondary-accented: #555960;

    --success: #35bd78;
    --success-lifted: #4bd18d;
    --success-accented: #238f59;

    --info: #5da9ff;
    --info-lifted: #7abbff;
    --info-accented: #367fcb;

    --notice: #b889ff;
    --notice-lifted: #c7a3ff;
    --notice-accented: #875bc7;

    --warning: #f3a83b;
    --warning-lifted: #ffc05f;
    --warning-accented: #bd7620;

    --error: #ef6666;
    --error-lifted: #ff8181;
    --error-accented: #bd4444;

    --grayscale: #d8d5ca;
    --grayscale-lifted: #f8f7f2;
    --grayscale-accented: #9b9a95;

    --neutral: #777a80;
    --neutral-lifted: #92959b;
    --neutral-accented: #555960;

    --text-inverted: #f3f4f6;
    --text-muted: #92969f;
    --text-lifted: #c5c7cb;
    --text-accented: #e2e3e5;
    --text: #f3f4f6;

    --border-muted: #24272d;
    --border: #30343c;
    --border-lifted: #444953;
    --border-accented: #5b616c;

    --bg: #0c0e11;
    --bg-muted: #111318;
    --bg-lifted: #171a20;
    --bg-accented: #20242b;
    --bg-inverted: #08090b;

    --yellow-200: #adffc9;
    --yellow-300: #7cffaa;
    --teal-300: #63d9cc;
    --teal-400: #32b9ac;
    --emerald-300: #6ae0a4;
    --pink-400: #e67ab3;

    --text-xs: 0.6875rem;
    --text-sm: 0.8125rem;
    --text-md: 0.9375rem;
    --text-lg: 1.0625rem;

    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    --rounding-sm: 0.375rem;
    --rounding-md: 0.625rem;
    --rounding-lg: 0.875rem;

    --letter-spacing: 0.005em;
    --disabled-opacity: 45%;

    /* Theme-only tokens */
    --badger-canvas: #0a0b0d;
    --badger-surface: #12151a;
    --badger-surface-raised: #191c22;
    --badger-surface-soft: #20242b;
    --badger-line: #30343c;
    --badger-line-soft: #24272d;
    --badger-honey: #1ff263;
    --badger-honey-bright: #5cff91;
    --badger-honey-deep: #0dac40;
    --badger-copy: #f3f4f6;
    --badger-muted: #9ba0aa;
    --badger-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
    --badger-shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* Base */
html {
    background: var(--badger-canvas);
}

body {
    color: var(--badger-copy);
    background-color: var(--badger-canvas);
    background-image:
        radial-gradient(circle at 12% 8%, rgba(31, 242, 99, 0.08), transparent 28rem),
        radial-gradient(circle at 88% 32%, rgba(31, 242, 99, 0.045), transparent 30rem),
        linear-gradient(135deg, rgba(255, 255, 255, 0.012) 25%, transparent 25%),
        linear-gradient(225deg, rgba(255, 255, 255, 0.012) 25%, transparent 25%);
    background-size: auto, auto, 32px 32px, 32px 32px;
    font-family: "Open Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: var(--letter-spacing);
}

::selection {
    color: #0a0b0d;
    background: var(--badger-honey-bright);
}

* {
    scrollbar-color: #4a4f59 var(--badger-canvas);
    scrollbar-width: thin;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: var(--badger-canvas);
}

*::-webkit-scrollbar-thumb {
    background: #4a4f59;
    border: 2px solid var(--badger-canvas);
    border-radius: 999px;
}

a {
    color: var(--badger-honey);
}

a:hover,
a:focus {
    color: var(--badger-honey-bright);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -0.025em;
}

.text-muted,
.text-lighter,
small,
.small {
    color: var(--badger-muted) !important;
}

.text-dark,
.text-body {
    color: var(--badger-copy) !important;
}

.text-primary {
    color: var(--badger-honey) !important;
}

.bg-white,
.bg-light {
    background-color: var(--badger-surface) !important;
}

.border,
.border-top,
.border-right,
.border-bottom,
.border-left {
    border-color: var(--badger-line) !important;
}

/* Layout */
#main-body {
    min-height: 62vh;
    padding-top: 2.25rem;
    padding-bottom: 3.25rem;
}

.primary-content {
    min-width: 0;
}

.header-lined {
    margin-bottom: 1.5rem;
    border-bottom-color: var(--badger-line);
}

.header-lined h1 {
    color: #ffffff;
}

.header-lined .breadcrumb {
    color: var(--badger-muted);
}

/* Header and navigation */
header.header {
    position: relative;
    z-index: 1020;
    color: var(--badger-copy);
    background: rgba(12, 14, 17, 0.97);
    border-bottom: 1px solid var(--badger-line-soft);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.24);
}

header.header::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(31, 242, 99, 0.8), transparent);
}

header.header .topbar {
    color: var(--badger-muted);
    background: #08090b;
    border-bottom: 1px solid var(--badger-line-soft);
}

header.header .topbar .btn,
header.header .topbar .input-group-text {
    color: var(--badger-muted);
    background: transparent;
    border-color: transparent;
}

header.header .topbar .btn:hover,
header.header .topbar .btn:focus {
    color: var(--badger-honey-bright);
}

header.header .topbar .active-client {
    background: var(--badger-surface);
    border: 1px solid var(--badger-line-soft);
    border-radius: 999px;
}

header.header .topbar .active-client .btn-active-client {
    color: var(--badger-copy);
}

header.header .navbar {
    background: transparent;
}

header.header .navbar-brand {
    color: #ffffff;
    font-weight: 800;
    letter-spacing: -0.03em;
}

header.header .logo-img {
    width: auto;
    max-width: 260px;
    height: auto;
    max-height: 74px;
    object-fit: contain;
}

header.header .toolbar .nav-link,
header.header .toolbar .btn.nav-link {
    color: var(--badger-copy);
    background: var(--badger-surface-raised);
    border: 1px solid var(--badger-line);
    border-radius: 0.7rem;
}

header.header .toolbar .nav-link:hover,
header.header .toolbar .nav-link:focus {
    color: #0a0b0d;
    background: var(--badger-honey);
    border-color: var(--badger-honey);
}

header.header .toolbar .nav-link .badge {
    color: #0a0b0d;
    background: var(--badger-honey-bright);
}

header.header .search {
    overflow: hidden;
    background: #0d0f12;
    border: 1px solid var(--badger-line);
    border-radius: 0.7rem;
}

header.header .search:focus-within {
    border-color: var(--badger-honey);
    box-shadow: 0 0 0 3px rgba(31, 242, 99, 0.14);
}

header.header .search .btn,
header.header .search .form-control {
    color: var(--badger-copy);
    background: transparent;
    border: 0;
}

header.header .search .btn {
    color: var(--badger-honey);
}

header.header .main-navbar-wrapper {
    background: rgba(18, 21, 26, 0.96);
    border-top: 1px solid var(--badger-line-soft);
}

header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link,
header.header .main-navbar-wrapper .navbar-nav > .nav-item > a {
    position: relative;
    color: #edf1f5 !important;
    font-weight: 600;
    opacity: 1 !important;
}

/* Nexus applies muted navbar colors through several different menu states.
   Keep every top-level header label readable, including the account greeting. */
header.header .main-navbar-wrapper .navbar-nav > li > a,
header.header .main-navbar-wrapper .navbar-nav .nav-link,
header.header #nav > li > a,
header.header .navbar-nav.ml-auto > li > a,
header.header .navbar-light .navbar-nav .nav-link {
    color: #edf1f5 !important;
    opacity: 1 !important;
}

header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link:hover,
header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link:focus,
header.header .main-navbar-wrapper .navbar-nav > .nav-item.active > .nav-link,
header.header .main-navbar-wrapper .navbar-nav > .nav-item > a:hover,
header.header .main-navbar-wrapper .navbar-nav > li > a:hover,
header.header .main-navbar-wrapper .navbar-nav > li > a:focus {
    color: var(--badger-honey-bright);
}

header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link::after {
    position: absolute;
    right: 0.8rem;
    bottom: 0.25rem;
    left: 0.8rem;
    height: 2px;
    content: "";
    background: var(--badger-honey);
    border-radius: 999px;
    opacity: 0;
    transform: scaleX(0.4);
    transition: opacity 160ms ease, transform 160ms ease;
}

header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link:hover::after,
header.header .main-navbar-wrapper .navbar-nav > .nav-item.active > .nav-link::after {
    opacity: 1;
    transform: scaleX(1);
}

.dropdown-menu {
    color: var(--badger-copy);
    background: #171a20;
    border: 1px solid var(--badger-line);
    border-radius: 0.75rem;
    box-shadow: var(--badger-shadow);
}

.dropdown-item {
    color: #d7d9dc;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active {
    color: #0a0b0d;
    background: var(--badger-honey);
}

.dropdown-divider {
    border-top-color: var(--badger-line);
}

/* Breadcrumb */
.master-breadcrumb {
    background: #0a0b0d;
    border-bottom: 1px solid var(--badger-line-soft);
}

.master-breadcrumb .breadcrumb,
.breadcrumb {
    color: var(--badger-muted);
    background: transparent;
}

.master-breadcrumb .breadcrumb a,
.breadcrumb a {
    color: #c9cbd0;
}

.master-breadcrumb .breadcrumb a:hover,
.breadcrumb a:hover {
    color: var(--badger-honey-bright);
}

.master-breadcrumb .breadcrumb-item.active,
.breadcrumb-item.active {
    color: var(--badger-honey);
}

.breadcrumb-item + .breadcrumb-item::before {
    color: #5f646e;
}

/* Cards and panels */
.card,
.panel,
.well,
.jumbotron,
.mc-promo-manage,
.mc-promo-login {
    color: var(--badger-copy);
    background: linear-gradient(145deg, rgba(25, 28, 34, 0.98), rgba(16, 18, 22, 0.98));
    border: 1px solid var(--badger-line);
    border-radius: 0.875rem;
    box-shadow: var(--badger-shadow-soft);
}

.card-header,
.card-footer,
.panel-heading,
.panel-footer {
    color: var(--badger-copy);
    background: rgba(255, 255, 255, 0.018);
    border-color: var(--badger-line);
}

.card-header:first-child {
    border-radius: calc(0.875rem - 1px) calc(0.875rem - 1px) 0 0;
}

.card-footer:last-child {
    border-radius: 0 0 calc(0.875rem - 1px) calc(0.875rem - 1px);
}

.card-title {
    color: #ffffff;
}

.card:hover {
    border-color: #3e424b;
}

.list-group-item {
    color: #d7d9dd;
    background: transparent;
    border-color: var(--badger-line-soft);
}

a.list-group-item:hover,
a.list-group-item:focus,
.list-group-item-action:hover,
.list-group-item-action:focus {
    color: #ffffff;
    background: rgba(31, 242, 99, 0.08);
}

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
    color: #0a0b0d;
    background: var(--badger-honey);
    border-color: var(--badger-honey);
}

/* Sidebar */
.sidebar .card-sidebar {
    overflow: hidden;
    border-color: var(--badger-line);
}

.sidebar .card-sidebar .card-header {
    background: #191c22;
    border-bottom: 1px solid var(--badger-line);
}

.sidebar .card-title {
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.sidebar .card-title > i:first-child {
    color: var(--badger-honey);
}

.sidebar .list-group-item {
    color: #c8cbd0;
    background: #12151a;
}

.sidebar .list-group-item:hover,
.sidebar .list-group-item:focus {
    color: #ffffff;
    background: #1d2026;
}

.sidebar .list-group-item.active {
    color: #0a0b0d;
    background: linear-gradient(90deg, var(--badger-honey), var(--badger-honey-bright));
    border-color: transparent;
}

.sidebar-menu-item-icon {
    color: var(--badger-honey);
}

.sidebar .list-group-item.active .sidebar-menu-item-icon {
    color: #0a0b0d;
}

/* Forms */
label,
.form-control-label,
.col-form-label {
    color: #dfe1e4;
    font-weight: 600;
}

.form-control,
.custom-select,
select.form-control,
textarea.form-control,
.input-group-text {
    color: var(--badger-copy);
    background-color: #0d0f12;
    border-color: var(--badger-line);
}

.form-control:focus,
.custom-select:focus,
select.form-control:focus,
textarea.form-control:focus {
    color: #ffffff;
    background-color: #0f1115;
    border-color: var(--badger-honey);
    box-shadow: 0 0 0 3px rgba(31, 242, 99, 0.14);
}

.form-control:disabled,
.form-control[readonly],
.custom-select:disabled {
    color: #757a84;
    background: #15171b;
    opacity: 0.75;
}

.form-control::placeholder {
    color: #686d77;
    opacity: 1;
}

.input-group-text {
    color: var(--badger-honey);
}

.custom-control-label::before,
.form-check-input {
    border-color: #4a4f59;
    background-color: #0d0f12;
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: #0a0b0d;
    background-color: var(--badger-honey);
    border-color: var(--badger-honey);
}

.custom-file-label {
    color: var(--badger-muted);
    background: #0d0f12;
    border-color: var(--badger-line);
}

.iti__country-list,
.iti__country {
    color: var(--badger-copy);
    background: var(--badger-surface-raised);
    border-color: var(--badger-line);
}

.iti__country.iti__highlight {
    background: rgba(31, 242, 99, 0.12);
}

/* Buttons */
.btn {
    border-radius: 0.58rem;
    font-weight: 700;
    transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:focus,
.btn.focus {
    box-shadow: 0 0 0 3px rgba(31, 242, 99, 0.18);
}

.btn-primary,
.btn-warning {
    color: #0a0b0d !important;
    background: linear-gradient(135deg, var(--badger-honey-bright), var(--badger-honey));
    border-color: var(--badger-honey);
    box-shadow: 0 8px 20px rgba(13, 172, 64, 0.18);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-warning:hover,
.btn-warning:focus {
    color: #050506 !important;
    background: linear-gradient(135deg, #7dffa8, #25dc63);
    border-color: var(--badger-honey-bright);
}

.btn-outline-primary {
    color: var(--badger-honey);
    background: transparent;
    border-color: rgba(31, 242, 99, 0.65);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: #0a0b0d;
    background: var(--badger-honey);
    border-color: var(--badger-honey);
}

.btn-default,
.btn-secondary,
.btn-outline-secondary {
    color: #d8dade;
    background: #20242b;
    border-color: #3a3f48;
}

.btn-default:hover,
.btn-default:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    color: #ffffff;
    background: #2b2f37;
    border-color: #555b66;
}

.btn-link {
    color: var(--badger-honey);
}

.btn-link:hover,
.btn-link:focus {
    color: var(--badger-honey-bright);
}

.btn-success {
    color: #06120c;
    background: var(--success);
    border-color: var(--success);
}

.btn-danger {
    color: #ffffff;
    background: #cf4e4e;
    border-color: #cf4e4e;
}

/* Tables */
.table {
    color: #d9dbe0;
    background: transparent;
}

.table th,
.table td {
    border-color: var(--badger-line);
}

.table thead th {
    color: #ffffff;
    background: #191c22;
    border-bottom-color: #424750;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.018);
}

.table-hover tbody tr:hover {
    color: #ffffff;
    background-color: rgba(31, 242, 99, 0.065);
}

.table-active,
.table-active > th,
.table-active > td {
    background: rgba(31, 242, 99, 0.1);
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    color: var(--badger-muted);
}

/* Status, alerts and badges */
.alert {
    color: var(--badger-copy);
    background: var(--badger-surface-raised);
    border: 1px solid var(--badger-line);
    border-left-width: 4px;
    border-radius: 0.7rem;
}

.alert-info {
    border-left-color: var(--info);
}

.alert-success {
    border-left-color: var(--success);
}

.alert-warning {
    border-left-color: var(--warning);
}

.alert-danger {
    border-left-color: var(--error);
}

.alert a,
.alert .alert-link {
    color: var(--badger-honey-bright);
}

.badge {
    font-weight: 700;
}

.badge-primary,
.bg-primary {
    color: #0a0b0d !important;
    background-color: var(--badger-honey) !important;
}

.badge-secondary,
.badge-dark {
    color: #f1f2f4;
    background: #333840;
}

.badge-success {
    color: #06120c;
    background: var(--success);
}

.badge-warning {
    color: #171006;
    background: var(--warning);
}

.badge-danger {
    color: #ffffff;
    background: var(--error);
}

/* Tabs and pagination */
.nav-tabs {
    border-bottom-color: var(--badger-line);
}

.nav-tabs .nav-link {
    color: #b7bbc2;
    border-color: transparent;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    color: var(--badger-honey-bright);
    border-color: transparent transparent var(--badger-honey);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--badger-honey-bright);
    background: var(--badger-surface-raised);
    border-color: var(--badger-line) var(--badger-line) var(--badger-surface-raised);
}

.page-link {
    color: #c7c9ce;
    background: var(--badger-surface-raised);
    border-color: var(--badger-line);
}

.page-link:hover,
.page-link:focus {
    color: #0a0b0d;
    background: var(--badger-honey);
    border-color: var(--badger-honey);
}

.page-item.active .page-link {
    color: #0a0b0d;
    background: var(--badger-honey);
    border-color: var(--badger-honey);
}

.page-item.disabled .page-link {
    color: #666b74;
    background: #14171b;
    border-color: var(--badger-line-soft);
}

/* Homepage domain search */
.home-domain-search {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(31, 242, 99, 0.13), transparent 52%),
        #111318 !important;
    border-top: 1px solid rgba(31, 242, 99, 0.25);
    border-bottom: 1px solid var(--badger-line);
}

.home-domain-search::before {
    position: absolute;
    top: -180px;
    left: 50%;
    width: 520px;
    height: 360px;
    content: "";
    background: radial-gradient(circle, rgba(31, 242, 99, 0.13), transparent 68%);
    transform: translateX(-50%);
    pointer-events: none;
}

.home-domain-search .container {
    position: relative;
}

.home-domain-search h2 {
    color: #ffffff;
}

.home-domain-search .input-group {
    padding: 0.35rem;
    background: #0b0d10;
    border: 1px solid #3d424b;
    border-radius: 0.85rem;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.25);
}

.home-domain-search .form-control {
    height: 3.2rem;
    background: transparent;
    border: 0;
}

.home-domain-search .btn {
    min-width: 7.5rem;
}

.home-domain-search .tld-logos {
    color: var(--badger-muted);
}

/* Public homepage cards */
.card-columns.home .card {
    overflow: hidden;
    transition: border-color 170ms ease, transform 170ms ease, box-shadow 170ms ease;
}

.card-columns.home .card::before {
    display: block;
    width: 100%;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, var(--badger-honey-deep), var(--badger-honey-bright));
}

.card-columns.home .card:hover {
    border-color: rgba(31, 242, 99, 0.55);
    box-shadow: var(--badger-shadow);
    transform: translateY(-3px);
}

.action-icon-btns a {
    min-height: 9rem;
    color: #d8dade !important;
    background: linear-gradient(145deg, #191c22, #111318) !important;
    border: 1px solid var(--badger-line) !important;
    border-radius: 0.85rem;
    box-shadow: var(--badger-shadow-soft);
    transition: color 170ms ease, border-color 170ms ease, transform 170ms ease, box-shadow 170ms ease;
}

.action-icon-btns a .ico-container {
    color: var(--badger-honey) !important;
    background: rgba(31, 242, 99, 0.09) !important;
    border: 1px solid rgba(31, 242, 99, 0.2);
}

.action-icon-btns a:hover {
    color: #ffffff !important;
    border-color: rgba(31, 242, 99, 0.6) !important;
    box-shadow: var(--badger-shadow);
    transform: translateY(-3px);
}

.action-icon-btns a:hover .ico-container {
    color: #0a0b0d !important;
    background: var(--badger-honey) !important;
}

/* Client dashboard */
.tiles {
    overflow: hidden;
    background: var(--badger-surface);
    border: 1px solid var(--badger-line);
    border-radius: 0.9rem;
    box-shadow: var(--badger-shadow-soft);
}

.tiles .tile {
    color: var(--badger-copy);
    background: linear-gradient(145deg, #191c22, #111318);
    border-color: var(--badger-line) !important;
}

.tiles .tile .stat {
    color: #ffffff;
}

.tiles .tile .title {
    color: var(--badger-muted);
}

.tiles .tile i {
    color: var(--badger-honey);
}

.tiles .tile .highlight {
    background: linear-gradient(90deg, var(--badger-honey-deep), var(--badger-honey-bright)) !important;
}

.tiles .tile:hover {
    color: #ffffff;
    background: #20242b;
}

.tiles .tile:hover i {
    color: var(--badger-honey-bright);
    transform: scale(1.05);
}

.client-home-cards .card {
    overflow: hidden;
}

.client-home-cards .card-header {
    background: #191c22 !important;
    border-bottom: 1px solid var(--badger-line) !important;
}

.client-home-cards .card-title > i {
    color: var(--badger-honey);
}

.client-home-cards .card-body,
.client-home-cards .card-footer,
.client-home-cards .list-group-item {
    color: #d5d7db;
    background: transparent !important;
    border-color: var(--badger-line-soft) !important;
}

.client-home-cards .list-group-item:hover {
    background: rgba(31, 242, 99, 0.07) !important;
}

/* Login, registration and account forms */
.login-form .card,
.mw-540.card,
.card-body > form .card {
    border-color: rgba(31, 242, 99, 0.24);
}

.login-form .card {
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

.login-form .card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, var(--badger-honey-deep), var(--badger-honey-bright), var(--badger-honey-deep));
}

.login-form .input-group-text {
    color: var(--badger-honey);
}

.login-form .card-footer {
    background: #101217;
}

/* Modals, popovers and tooltips */
.modal-content,
.popover {
    color: var(--badger-copy);
    background: #171a20;
    border: 1px solid var(--badger-line);
    border-radius: 0.85rem;
    box-shadow: var(--badger-shadow);
}

.modal-header,
.modal-footer,
.popover-header {
    background: rgba(255, 255, 255, 0.018);
    border-color: var(--badger-line);
}

.modal-title,
.popover-header,
.popover-body {
    color: var(--badger-copy);
}

.close {
    color: #ffffff;
    text-shadow: none;
    opacity: 0.7;
}

.close:hover {
    color: var(--badger-honey-bright);
    opacity: 1;
}

.tooltip-inner {
    color: #0a0b0d;
    background: var(--badger-honey-bright);
}

.bs-tooltip-top .arrow::before {
    border-top-color: var(--badger-honey-bright);
}

.bs-tooltip-bottom .arrow::before {
    border-bottom-color: var(--badger-honey-bright);
}

/* Invoices, quotes, ticket replies and code blocks */
.invoice-container,
.quote-container,
.ticket-reply,
.ticket-reply.staff,
.ticket-reply.client {
    color: var(--badger-copy);
    background: var(--badger-surface);
    border-color: var(--badger-line);
}

.ticket-reply .date,
.ticket-reply .user,
.ticket-reply .message {
    border-color: var(--badger-line);
}

pre,
code,
.markdown-editor-status {
    color: #b9f8cc;
    background: #08090b;
    border-color: var(--badger-line);
}

hr {
    border-top-color: var(--badger-line);
}

/* Product, domain and cart compatibility */
#order-standard_cart,
#order-standard_cart .cart-body,
#order-standard_cart .secondary-cart-body {
    color: var(--badger-copy);
    background: transparent;
}

#order-standard_cart .products .product,
#order-standard_cart .product,
#order-standard_cart .domain-selection-options .option,
#order-standard_cart .view-cart-items,
#order-standard_cart .order-summary,
.domain-pricing .tld-row,
.upgrade .products .product {
    color: var(--badger-copy);
    background: var(--badger-surface);
    border-color: var(--badger-line);
}

#order-standard_cart .domain-selection-options .option-selected,
.domain-pricing .tld-row.highlighted {
    background: rgba(31, 242, 99, 0.09);
    border-color: rgba(31, 242, 99, 0.55);
}

#order-standard_cart .cart-sidebar .card,
#order-standard_cart .cart-sidebar .panel {
    background: var(--badger-surface-raised);
}

#order-standard_cart .summary-container,
#order-standard_cart .sub-heading,
#order-standard_cart .product-info,
#order-standard_cart .product-configurable-options,
#order-standard_cart .view-cart-tabs .tab-content {
    color: var(--badger-copy);
    background: transparent;
    border-color: var(--badger-line);
}

#order-standard_cart .domain-pricing .bg-white,
#order-standard_cart .domain-pricing .tld-pricing-header,
#order-standard_cart .domain-pricing .tld-row {
    color: var(--badger-copy);
    background: var(--badger-surface) !important;
    border-color: var(--badger-line) !important;
}

/* Footer */
footer.footer {
    position: relative;
    color: var(--badger-muted);
    background: #08090b;
    border-top: 1px solid var(--badger-line);
}

footer.footer::before {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(31, 242, 99, 0.7), transparent);
}

footer.footer .nav-link,
footer.footer a {
    color: #b9bdc4;
}

footer.footer .nav-link:hover,
footer.footer a:hover {
    color: var(--badger-honey-bright);
}

footer.footer .btn-outline-light {
    color: #d7d9dd;
    border-color: #454a54;
}

footer.footer .copyright {
    color: #747983;
}

/* Overlays and loading states */
#fullpage-overlay {
    background: rgba(8, 9, 11, 0.88);
    backdrop-filter: blur(6px);
}

#fullpage-overlay .msg,
.loader {
    color: var(--badger-honey-bright);
}

/* Responsive refinement */
@media (max-width: 1199.98px) {
    header.header .main-navbar-wrapper {
        background: #111318;
    }

    header.header .main-navbar-wrapper .navbar-collapse {
        padding: 1rem 0 1.25rem;
    }

    header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link::after {
        display: none;
    }

    header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link {
        padding: 0.7rem 0.85rem;
        border-radius: 0.55rem;
    }

    header.header .main-navbar-wrapper .navbar-nav > .nav-item > .nav-link:hover {
        background: rgba(31, 242, 99, 0.08);
    }
}

@media (max-width: 767.98px) {
    #main-body {
        padding-top: 1.35rem;
        padding-bottom: 2.25rem;
    }

    header.header .logo-img {
        max-width: 190px;
        max-height: 58px;
    }

    .home-domain-search .p-5 {
        padding: 2rem 1rem !important;
    }

    .action-icon-btns a {
        min-height: 7.7rem;
    }

    .card,
    .modal-content,
    .popover {
        border-radius: 0.72rem;
    }

    .table-responsive {
        border: 1px solid var(--badger-line);
        border-radius: 0.7rem;
    }
}

@media (max-width: 575.98px) {
    header.header .navbar > .container {
        padding-right: 0.9rem;
        padding-left: 0.9rem;
    }

    header.header .logo-img {
        max-width: 150px;
        max-height: 50px;
    }

    .home-domain-search .row.d-sm-none {
        margin-top: 0.75rem;
    }

    .login-form .card-body {
        padding: 2rem 1.3rem !important;
    }

    .tiles .tile {
        min-height: 9.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* =========================================================
   Dark-surface enforcement
   WHMCS order forms and several modules load high-specificity
   light styles. These rules intentionally win over those files.
   ========================================================= */

body #main-body .card,
body #main-body .panel,
body #main-body .well,
body #main-body .jumbotron,
body #main-body .mc-promo-manage,
body #main-body .mc-promo-login {
    color: var(--badger-copy) !important;
    background-color: var(--badger-surface) !important;
    background-image: linear-gradient(145deg, #191c22, #111318) !important;
    border-color: var(--badger-line) !important;
}

body #main-body .card-header,
body #main-body .panel-heading,
body #main-body .modal-header {
    color: #ffffff !important;
    background: #191c22 !important;
    border-color: var(--badger-line) !important;
}

body #main-body .card-body,
body #main-body .panel-body,
body #main-body .well-body {
    color: var(--badger-copy) !important;
    background-color: var(--badger-surface) !important;
    border-color: var(--badger-line) !important;
}

body #main-body .card-footer,
body #main-body .panel-footer {
    color: var(--badger-muted) !important;
    background: #101217 !important;
    border-color: var(--badger-line) !important;
}

body #main-body .card-title,
body #main-body .panel-title,
body #main-body .card-header h1,
body #main-body .card-header h2,
body #main-body .card-header h3,
body #main-body .panel-heading h1,
body #main-body .panel-heading h2,
body #main-body .panel-heading h3 {
    color: #ffffff !important;
}

body #main-body .list-group,
body #main-body .list-group-item,
body #main-body a.list-group-item,
body #main-body button.list-group-item {
    color: #e4e7eb !important;
    background-color: #12151a !important;
    border-color: var(--badger-line-soft) !important;
}

body #main-body .list-group-item:hover,
body #main-body .list-group-item:focus {
    color: #ffffff !important;
    background-color: #20242b !important;
}

body #main-body .list-group-item.active,
body #main-body .list-group-item.active:hover,
body #main-body .list-group-item.active:focus {
    color: #041108 !important;
    background: linear-gradient(90deg, var(--badger-honey-deep), var(--badger-honey-bright)) !important;
    border-color: var(--badger-honey) !important;
}

body #main-body .table,
body #main-body .table > thead > tr > th,
body #main-body .table > tbody > tr > th,
body #main-body .table > tbody > tr > td,
body #main-body .table-list > thead > tr > th,
body #main-body .table-list > tbody > tr > td {
    color: #e1e4e8 !important;
    background-color: #12151a !important;
    border-color: var(--badger-line) !important;
}

body #main-body .table > thead > tr > th,
body #main-body .table-list > thead > tr > th {
    color: #ffffff !important;
    background-color: #191c22 !important;
}

body #main-body .table-hover > tbody > tr:hover > td,
body #main-body .table-hover > tbody > tr:hover > th,
body #main-body .table-list > tbody > tr:hover > td {
    color: #ffffff !important;
    background-color: rgba(31, 242, 99, 0.07) !important;
}

body .dataTables_wrapper .dataTables_filter label .form-control,
body .dataTables_wrapper .dataTables_length select,
body #main-body select,
body #main-body select option {
    color: var(--badger-copy) !important;
    background-color: #0d0f12 !important;
    border-color: var(--badger-line) !important;
}

/* Standard Cart / legacy order-form surfaces */
body #order-standard_cart,
body #order-standard_cart .cart-body,
body #order-standard_cart .secondary-cart-body,
body #order-standard_cart .products,
body #order-standard_cart .cart-sidebar {
    color: var(--badger-copy) !important;
    background-color: transparent !important;
}

body #order-standard_cart .products .product,
body #order-standard_cart .cart-body .products .product,
body #order-standard_cart .view-cart-items,
body #order-standard_cart .order-summary,
body #order-standard_cart .domain-selection-options,
body #order-standard_cart .product-info,
body #order-standard_cart .addon-promo-container,
body #order-standard_cart .domain-promo-box,
body #order-standard_cart .mc-promo,
body #order-standard_cart .panel,
body #order-standard_cart .card {
    color: var(--badger-copy) !important;
    background: var(--badger-surface) !important;
    border-color: var(--badger-line) !important;
    box-shadow: var(--badger-shadow-soft) !important;
}

body #order-standard_cart .products .product header,
body #order-standard_cart .cart-body .products .product header,
body #order-standard_cart .products .product .header,
body #order-standard_cart .panel .panel-heading,
body #order-standard_cart .card .card-header,
body #order-standard_cart .cart-sidebar .card-header,
body #order-standard_cart .cart-sidebar .panel-heading,
body #order-standard_cart .view-cart-items-header,
body #order-standard_cart .order-summary h2,
body #order-standard_cart .sub-heading span {
    color: #ffffff !important;
    background: #191c22 !important;
    border-color: var(--badger-line) !important;
}

body #order-standard_cart .products .product div.product-desc,
body #order-standard_cart .products .product footer,
body #order-standard_cart .products .product .product-pricing,
body #order-standard_cart .panel .panel-body,
body #order-standard_cart .panel .panel-footer,
body #order-standard_cart .card .card-body,
body #order-standard_cart .card .card-footer,
body #order-standard_cart .order-summary .summary-container,
body #order-standard_cart .view-cart-empty,
body #order-standard_cart .view-cart-items .item,
body #order-standard_cart #frmCheckout #creditCardInputFields,
body #order-standard_cart .secondary-cart-body .view-cart-tabs .tab-content {
    color: var(--badger-copy) !important;
    background: #12151a !important;
    border-color: var(--badger-line) !important;
}

body #order-standard_cart .products .product header span,
body #order-standard_cart .products .product header .qty,
body #order-standard_cart .products .product div.product-desc,
body #order-standard_cart .products .product footer,
body #order-standard_cart .products .product .product-pricing,
body #order-standard_cart .panel label,
body #order-standard_cart .card label,
body #order-standard_cart .item-domain,
body #order-standard_cart .item-title,
body #order-standard_cart .summary-totals,
body #order-standard_cart .total-due-today {
    color: #e8ebef !important;
}

body #order-standard_cart .cart-sidebar .card-title,
body #order-standard_cart .cart-sidebar .panel-title,
body #order-standard_cart .cart-sidebar .card-header,
body #order-standard_cart .cart-sidebar .panel-heading {
    color: #ffffff !important;
}

body #order-standard_cart .cart-sidebar .list-group,
body #order-standard_cart .cart-sidebar .list-group-item,
body #order-standard_cart .cart-sidebar a.list-group-item {
    color: #edf1f5 !important;
    background: #12151a !important;
    border-color: var(--badger-line-soft) !important;
}

body #order-standard_cart .cart-sidebar .list-group-item:hover,
body #order-standard_cart .cart-sidebar .list-group-item:focus {
    color: #ffffff !important;
    background: #20242b !important;
}

body #order-standard_cart .cart-sidebar .list-group-item.active,
body #order-standard_cart .cart-sidebar .list-group-item.active:hover,
body #order-standard_cart .cart-sidebar .list-group-item.active:focus {
    color: #031006 !important;
    background: linear-gradient(90deg, var(--badger-honey-deep), var(--badger-honey-bright)) !important;
    border-color: var(--badger-honey) !important;
}

body #order-standard_cart .domain-selection-options .option,
body #order-standard_cart .domain-selection-options .option-selected,
body #order-standard_cart .domain-pricing .bg-white,
body #order-standard_cart .domain-pricing .featured-tld,
body #order-standard_cart .domain-pricing .tld-row,
body #order-standard_cart .domain-pricing .tld-pricing-header,
body #order-standard_cart .domain-pricing .tld-pricing-header div,
body #order-standard_cart .domain-pricing .tld-pricing-header .tld-column,
body #order-standard_cart .domain-promo-box {
    color: var(--badger-copy) !important;
    background: #12151a !important;
    border-color: var(--badger-line) !important;
}

body #order-standard_cart .domain-selection-options .option-selected,
body #order-standard_cart .domain-pricing .highlighted {
    background: rgba(31, 242, 99, 0.08) !important;
    border-color: rgba(31, 242, 99, 0.45) !important;
}

body #order-standard_cart .domain-pricing .tld-filters .badge {
    color: #e8ebef !important;
    background: #20242b !important;
    border-color: var(--badger-line) !important;
}

body #order-standard_cart .domain-pricing .tld-filters .badge.badge-success {
    color: #031006 !important;
    background: var(--badger-honey) !important;
    border-color: var(--badger-honey) !important;
}

body #order-standard_cart .products .product footer .btn-order-now,
body #order-standard_cart .btn-order-now,
body #order-standard_cart .btn-checkout,
body #order-standard_cart .text-right .btn-checkout {
    color: #031006 !important;
    background: linear-gradient(135deg, var(--badger-honey-bright), var(--badger-honey)) !important;
    border-color: var(--badger-honey) !important;
    box-shadow: 0 8px 20px rgba(13, 172, 64, 0.2) !important;
}

body #order-standard_cart .products .product footer .btn-order-now:hover,
body #order-standard_cart .btn-order-now:hover,
body #order-standard_cart .btn-checkout:hover {
    color: #020b04 !important;
    background: linear-gradient(135deg, #7dffa8, #25dc63) !important;
    border-color: var(--badger-honey-bright) !important;
}

body #frmConfigureProduct .form-control,
body #order-standard_cart .form-control,
body #order-standard_cart .field,
body #order-standard_cart .input-group-addon {
    color: var(--badger-copy) !important;
    background: #0d0f12 !important;
    border-color: var(--badger-line) !important;
}

body #order-standard_cart .form-control::placeholder,
body #frmConfigureProduct .form-control::placeholder {
    color: #747a84 !important;
}

/* Common module surfaces that otherwise inherit white defaults */
body #main-body .modal-content,
body #main-body .popover,
body #main-body .dropdown-menu,
body #main-body .tab-content,
body #main-body pre,
body #main-body code {
    color: var(--badger-copy) !important;
    background-color: #12151a !important;
    border-color: var(--badger-line) !important;
}

/* Component consistency layer
 * Keep WHMCS page-, module- and state-specific rules from restoring light
 * buttons or mixed blue/gold accents after the dark theme has loaded.
 */
body #main-body .btn-default,
body #main-body a.btn-default,
body #main-body button.btn-default,
body #main-body .btn-secondary,
body #main-body .btn-light,
body #main-body .btn-outline-secondary,
body #main-body .btn-outline-light,
body #main-body .btn-outline-dark,
body #main-body .sidebar .btn-default,
body #main-body .client-home-cards .card-header .btn,
body .primary-content .client-home-cards .card .card-header .btn,
body .primary-content .client-home-cards .mc-promo-manage .card-header .btn,
body .primary-content .client-home-cards .mc-promo-login .card-header .btn,
body #order-standard_cart .btn-default,
body #order-standard_cart .btn-secondary,
body #order-standard_cart .btn-light {
    color: #edf1f5 !important;
    background: #20242b !important;
    border-color: #434954 !important;
    box-shadow: none !important;
}

body #main-body .btn-default:hover,
body #main-body .btn-default:focus,
body #main-body .btn-secondary:hover,
body #main-body .btn-secondary:focus,
body #main-body .btn-light:hover,
body #main-body .btn-light:focus,
body #main-body .btn-outline-secondary:hover,
body #main-body .btn-outline-secondary:focus,
body #main-body .btn-outline-light:hover,
body #main-body .btn-outline-light:focus,
body #main-body .btn-outline-dark:hover,
body #main-body .btn-outline-dark:focus,
body #main-body .client-home-cards .card-header .btn:hover,
body #main-body .client-home-cards .card-header .btn:focus,
body #order-standard_cart .btn-default:hover,
body #order-standard_cart .btn-default:focus {
    color: #ffffff !important;
    background: #2a3038 !important;
    border-color: rgba(31, 242, 99, 0.65) !important;
}

body #main-body .btn-default.disabled,
body #main-body .btn-default:disabled,
body #main-body .btn-default[disabled],
body #main-body .btn-secondary.disabled,
body #main-body .btn-secondary:disabled,
body #main-body .btn-light.disabled,
body #main-body .btn-light:disabled,
body #main-body .client-home-cards .card-header .btn.disabled,
body #main-body .client-home-cards .card-header .btn:disabled,
body #main-body .client-home-cards .card-header .btn[disabled],
body #order-standard_cart .btn-default.disabled,
body #order-standard_cart .btn-default:disabled,
body #order-standard_cart .btn-default[disabled] {
    color: #aeb4bd !important;
    background: #1a1e24 !important;
    border-color: #343a44 !important;
    opacity: 0.78 !important;
    transform: none !important;
}

body #main-body .btn-primary,
body #main-body a.btn-primary,
body #main-body button.btn-primary,
body #main-body .btn-success,
body #order-standard_cart .btn-primary,
body #order-standard_cart #btnPromoCode,
body #order-standard_cart #btnApplyPromo,
body #order-standard_cart [name="applypromo"],
body #order-standard_cart [name="validatepromo"],
body #order-standard_cart .promo-code .btn,
body #order-standard_cart .promo-code-form .btn {
    color: #031006 !important;
    background: linear-gradient(135deg, var(--badger-honey-bright), var(--badger-honey)) !important;
    border-color: var(--badger-honey) !important;
    box-shadow: 0 8px 20px rgba(13, 172, 64, 0.18) !important;
}

body #main-body .btn-primary:hover,
body #main-body .btn-primary:focus,
body #main-body .btn-success:hover,
body #main-body .btn-success:focus,
body #order-standard_cart .btn-primary:hover,
body #order-standard_cart .btn-primary:focus,
body #order-standard_cart #btnPromoCode:hover,
body #order-standard_cart #btnApplyPromo:hover,
body #order-standard_cart [name="applypromo"]:hover,
body #order-standard_cart [name="validatepromo"]:hover,
body #order-standard_cart .promo-code .btn:hover,
body #order-standard_cart .promo-code-form .btn:hover {
    color: #020b04 !important;
    background: linear-gradient(135deg, #7dffa8, #25dc63) !important;
    border-color: var(--badger-honey-bright) !important;
}

body #main-body .client-home-cards .card-footer .btn-view-more,
body .primary-content .client-home-cards .card .card-footer .btn-view-more {
    color: var(--badger-honey) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body #main-body .client-home-cards .card-footer .btn-view-more:hover,
body .primary-content .client-home-cards .card .card-footer .btn-view-more:hover {
    color: var(--badger-honey-bright) !important;
}

body #main-body .alert,
body #main-body .alert-info,
body #main-body .alert-warning,
body #main-body .alert-secondary,
body #main-body .alert-light {
    color: #f3f4f6 !important;
    background: #191c22 !important;
    border: 1px solid #303640 !important;
    border-left: 4px solid var(--badger-honey) !important;
}

body #main-body .alert-success {
    border-left-color: var(--success) !important;
}

body #main-body .alert-danger,
body #main-body .alert-error {
    border-left-color: var(--error) !important;
}

body #main-body .alert a,
body #main-body .alert .alert-link {
    color: var(--badger-honey-bright) !important;
}

/* Product details overview */
body #main-body div.product-details div.product-icon {
    color: #f3f4f6 !important;
    background: #191c22 !important;
    border: 1px solid var(--badger-line) !important;
}

body #main-body div.product-details div.product-icon h3,
body #main-body div.product-details div.product-icon h4 {
    color: #ffffff !important;
}

body #main-body .product-status-active {
    background: linear-gradient(90deg, var(--badger-honey-deep), var(--badger-honey)) !important;
}

.badger-product-description {
    min-height: 100%;
    padding: 1.25rem 1.4rem;
    color: var(--badger-copy);
    background: #191c22;
    border: 1px solid var(--badger-line);
    border-left: 4px solid var(--badger-honey);
    border-radius: 0.75rem;
    box-shadow: var(--badger-shadow-soft);
}

.badger-product-description h3 {
    margin: 0 0 0.85rem;
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 700;
}

.badger-product-description-content {
    color: #d8dce2;
    line-height: 1.65;
}

.badger-product-description-content > :last-child {
    margin-bottom: 0;
}

.badger-product-description-content ul,
.badger-product-description-content ol {
    margin-bottom: 0.75rem;
    padding-left: 1.25rem;
}

.badger-product-description-content li::marker {
    color: var(--badger-honey);
}

.badger-product-description-empty {
    margin: 0;
    color: var(--badger-muted);
    font-style: italic;
}

@media (max-width: 767.98px) {
    .badger-product-description {
        margin-top: 1rem;
    }
}
