/* *****************************************************

    VOIDFORGE — Custom WHMCS Theme
    "Infrastructure, forged not rented."

    Design system
    -------------
    Color   Void #0B0F1A · Charcoal #111827 · Steel Blue #3B82F6
            Spark Cyan #06B6D4 · Forge Orange #F97316 · Ember #FDBA74
    Type    Chakra Petch (display) · IBM Plex Sans (body) · IBM Plex Mono (data)
    Motif   The Readout — a rack-monitor status panel used as the
            recurring signature (hero, login, dashboard eyebrows).
            Weld-seam gradient rules mark section boundaries.

***************************************************** */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

html { font-size: 14px; }

:root {
    --white: #fff;

    /* ---- VoidForge palette ---- */
    --void:            #0A0A0F;
    --charcoal:         #0F1115;
    --charcoal-lift:    #17191F;
    --charcoal-deep:    #050506;
    --steel:            #3B82F6;
    --steel-hover:      #2563EB;
    --spark:            #06B6D4;
    --spark-hover:      #0891B2;
    --forge:            #F97316;
    --forge-hover:      #EA580C;
    --ember:            #FDBA74;
    --paper:            #F5F6F8;
    --ink:              #111827;
    --mist:             #E4E7EC;

    /* Neutral shades (kept for WHMCS component compatibility) */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    --primary-50: var(--neutral-50);
    --primary-100: var(--neutral-100);
    --primary-200: var(--neutral-200);
    --primary-300: var(--neutral-300);
    --primary-400: var(--neutral-400);
    --primary-500: var(--neutral-500);
    --primary-600: var(--neutral-600);
    --primary-700: var(--neutral-700);
    --primary-800: var(--neutral-800);
    --primary-900: var(--neutral-900);
    --primary-950: var(--neutral-900);

    --primary: var(--charcoal);
    --primary-lifted: var(--charcoal-lift);
    --primary-accented: var(--charcoal-deep);

    --secondary: var(--steel);
    --secondary-lifted: var(--steel-hover);
    --secondary-accented: #1D4ED8;

    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    --info: var(--spark);
    --info-lifted: var(--spark-hover);
    --info-accented: #0E7490;

    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    --warning: var(--forge);
    --warning-lifted: var(--forge-hover);
    --warning-accented: #C2410C;

    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    --bg: var(--white);
    --bg-muted: var(--paper);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--charcoal);

    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

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

    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    --letter-spacing: 0em;
    --disabled-opacity: 25%;

    /* Type */
    --font-display: 'Sora', 'Segoe UI', sans-serif;
    --font-body: 'Inter', 'Segoe UI', sans-serif;
    --font-mono: 'IBM Plex Mono', 'SFMono-Regular', Menlo, Consolas, monospace;
}

/* *****************************************************
   1. FOUNDATION
***************************************************** */

body {
    font-family: var(--font-body) !important;
    background-color: var(--paper) !important;
    color: var(--ink);
    margin-right: 0px !important;
}
html { font-family: var(--font-body) !important; }

#main-body {
    padding-top: 45px !important;
    padding-bottom: 35px !important;
    background: var(--paper) !important;
}
.container { padding-right: 19px; padding-left: 19px; }

h1, h2, h3, h4, h5, h6,
.panel-title, .plan-name, .pricing-title {
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
}

/* Data / numeric surfaces read in mono, on brand for an infra product */
.price-amount, .plan-price, code, kbd, pre,
.invoiceitemsdisplaytable td.amount,
table.table td.text-right,
.readout, .readout * { font-family: var(--font-mono); }

::-moz-selection { background: var(--steel); color: white; }
::selection { background: var(--steel); color: white; }
::-webkit-scrollbar { width: 11px; background-color: var(--paper); }
::-webkit-scrollbar-thumb { background-color: var(--steel); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background-color: var(--spark); border-radius: 10px; }

a { color: var(--steel-hover); background-color: transparent; transition-timing-function: linear; border-radius: 1px; }
a:hover, a:active { color: var(--spark); outline: 0; text-decoration: none !important; }

blockquote { border-color: var(--steel); }

/* Weld-seam divider — the recurring "hot seam" motif between zones */
.weld-seam {
    height: 3px;
    background: var(--forge);
    background-size: 200% 100%;
    border: 0;
}

/* *****************************************************
   2. NAVBAR
***************************************************** */

.navbar { border-bottom-color: transparent !important; }

#header {
    background-color: var(--charcoal-deep) !important;
    border-radius: 0 !important;
}
#top-nav { background-color: transparent !important; }
#top-nav > li > a { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.03em; }

.navbar-default {
    background-color: var(--charcoal);
    border: 0;
    border-radius: 0;
    position: relative;
}
/* Weld seam under the main nav */
.navbar-default::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -3px;
    height: 3px;
    background: var(--forge);
}
.navbar-default .navbar-brand,
.navbar-default .navbar-text { color: #9BA3B4; }
.navbar-default .navbar-brand:focus,
.navbar-default .navbar-brand:hover { color: #fff; background-color: transparent; }

.navbar-default .navbar-nav>li>a {
    font-family: var(--font-body);
    font-size: 14px !important;
    letter-spacing: 0;
    padding-top: 27px;
    padding-bottom: 27px;
    color: #B4B9C4;
    padding-left: 16px;
    padding-right: 16px;
    transition: all 0.15s ease-out;
    border-bottom: 1px solid transparent;
    font-weight: 500;
}
.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>li>a:hover {
    border-color: var(--forge);
    background-color: transparent;
    color: #fff;
}
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover {
    color: var(--charcoal-deep);
    background-color: var(--spark);
    border-bottom-color: transparent;
    font-weight: 600;
}
.navbar-default .navbar-nav>.disabled>a,
.navbar-default .navbar-nav>.disabled>a:focus,
.navbar-default .navbar-nav>.disabled>a:hover { color: #555; background-color: transparent; }
.navbar-default .navbar-toggle { border-color: #333; }
.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover { color: #fff; background-color: var(--forge); border: 0; }
.navbar-default .navbar-toggle .icon-bar { background-color: #fff; }
.navbar-default .navbar-collapse,
.navbar-default .navbar-form { border-color: var(--charcoal-deep); }
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a:hover { color: #fff; background-color: transparent !important; }

@media (max-width: 750px) {
    .navbar-default .navbar-nav .open .dropdown-menu>.dropdown-header { border-color: var(--charcoal-deep); }
    .navbar-default .navbar-nav .open .dropdown-menu .divider { background-color: var(--charcoal-deep); }
    .navbar-default .navbar-nav .open .dropdown-menu>li>a { color: #9d9d9d; }
    .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover { color: #fff; background-color: var(--charcoal-deep); }
    .navbar-default .navbar-nav .open .dropdown-menu>.active>a,
    .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover { color: #fff !important; background-color: var(--charcoal-deep); }
    .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,
    .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover { color: #444; background-color: transparent; }
}
.navbar-default .navbar-link { color: #9d9d9d; }
.navbar-default .navbar-link:hover { color: #fff; }
.navbar-default .btn-link { color: #9d9d9d; }

.dropdown-menu {
    position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left;
    min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left;
    list-style: none;
    background-color: var(--charcoal-deep);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0,0,0,.45);
}
.dropdown-menu>li>a {
    display: block; padding: 3px 20px; clear: both; font-weight: 400; line-height: 1.32857143;
    color: #9d9d9d; white-space: nowrap; padding-top: 9px; padding-bottom: 9px;
    font-family: var(--font-mono); font-size: 12px;
}
.dropdown-menu>li>a:focus,
.dropdown-menu>li>a:hover { text-decoration: none; color: #fff !important; background-color: transparent !important; }
.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover { color: #fff; text-decoration: none; background-color: var(--steel) !important; outline: 0; }

.nav-divider { border-color: #232B3A !important; color: #232B3A !important; background-color: #232B3A !important; }
.nav-divider:hover { border-color: #232B3A !important; color: #232B3A !important; background-color: #232B3A !important; }

.header-lined h1, div.header-lined h1 {
    color: var(--steel) !important;
    font-weight: 700 !important;
}

/* *****************************************************
   3. THE FORGE MARK (logo lockup, drawn in CSS)
***************************************************** */

.forge-mark {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 22px;
    color: #fff !important;
    text-decoration: none !important;
}
.forge-mark .hex {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    background: none;
    clip-path: none;
    box-shadow: none;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 22px;
    letter-spacing: -0.02em;
    background-image: linear-gradient(135deg, var(--forge) 0%, var(--forge) 40%, var(--steel) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.forge-mark .hex::after { content: "VF"; }
.forge-mark .word span { color: var(--steel); }
.lehlogo { max-width: 255px !important; margin-top: 2px; }

/* *****************************************************
   4. BUTTONS — forged bevel
***************************************************** */

.form-control { min-height: 40px; }
.form-control:focus, .form-control:active {
    border-color: var(--steel) !important;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
}

.btn-info, .btn-default {
    background-color: transparent !important;
    color: var(--steel-hover);
    border: 1px solid var(--steel-hover);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
}
.btn-info:hover, .btn-info:focus, .btn-default:hover, .btn-default:focus {
    background-color: var(--steel-hover) !important;
    border-color: transparent;
    color: white;
}

.btn-warning, .btn-primary {
    background: var(--forge);
    color: white;
    border: 1px solid var(--forge);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    box-shadow: none;
    transition: all 0.15s ease-out;
}
.btn-warning:hover, .btn-warning:focus, .btn-primary:hover, .btn-primary:focus {
    background: var(--forge-hover) !important;
    border-color: var(--forge-hover) !important;
    color: white;
    box-shadow: 0 6px 20px rgba(249,115,22,0.35);
    transform: translateY(-1px);
}

ul.top-nav>li.primary-action>a.btn {
    background: var(--forge) !important;
    font-family: var(--font-body);
    font-weight: 700;
    border-radius: 8px;
}
ul.top-nav>li>a:hover { color: #fff !important; }

/* *****************************************************
   5. DASHBOARD / SIDEBAR / LIST-GROUPS
***************************************************** */

.list-group-item .active { background-color: var(--steel) !important; }
div.sidebar .list-group-item-selected { background-color: var(--steel) !important; color: var(--steel); }
.navbar-main li.account { background-color: transparent !important; }
a.list-group-item.active, a.list-group-item.active:hover, a.list-group-item.active:focus {
    border-top: 1px solid transparent !important;
    background-color: var(--steel) !important;
    border-bottom: 1px solid transparent !important;
}
.dataTables_wrapper .dataTables_info { background-color: var(--steel) !important; }

.home-shortcuts { background-color: var(--charcoal) !important; }
.home-shortcuts li, .home-shortcuts li:first-child { border-color: #232B3A; }
.home-shortcuts li a { color: #C7CDDA; }
.home-shortcuts li i { color: var(--spark); }
.home-shortcuts li a:hover { color: #fff; }
.home-shortcuts li a:hover i { color: var(--forge); }

#order-boxes .fields-container { border-top-color: var(--steel) !important; border-bottom-color: var(--steel) !important; }
#order-boxes .fields-container .field-row:nth-child(even) { background-color: #F3F4F6 !important; }
#order-boxes .fields-container .field-row:nth-child(odd) { background-color: #FAFAFB !important; }
#order-boxes table.styled tr th { background-color: var(--charcoal) !important; color: #fff; font-family: var(--font-mono); }
#order-boxes table.styled tr.carttablesummary td { background-color: #EFF6FF !important; }

.alert-info { background-color: rgba(6, 182, 212, 0.9) !important; color: white !important; }

/* Panel headers get a small mono eyebrow feel + weld-seam accent */
.client-home-panels .panel > .panel-heading {
    border-bottom: 2px solid var(--steel);
}
.client-home-panels .panel > .panel-heading .panel-title {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-size: 15px;
    letter-spacing: 0.03em;
}

/* *****************************************************
   6. HERO — "THE FORGE, LIVE" readout
***************************************************** */

section#home-banner {
    position: relative;
    background-color: var(--void) !important;
    background-image:
        radial-gradient(circle at 88% 15%, rgba(249,115,22,0.22) 0%, rgba(10,10,15,0) 50%),
        radial-gradient(circle at 10% 90%, rgba(59,130,246,0.12) 0%, rgba(10,10,15,0) 45%);
    background-size: cover, cover;
    padding-top: 90px !important;
    padding-bottom: 70px !important;
    overflow: hidden;
}
section#home-banner::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: var(--forge);
}
.eyebrow {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forge);
    border: 1px solid rgba(249,115,22,0.4);
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 18px;
}
section#home-banner .container { position: relative; z-index: 1; }
section#home-banner h2 {
    font-family: var(--font-display);
    color: #F5F6F8;
    font-size: 2.6rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    margin-bottom: 10px;
}
section#home-banner h2 em {
    font-style: normal;
    color: var(--forge);
}
section#home-banner .tagline {
    color: #9AA1AF;
    font-size: 1.05rem;
    max-width: 560px;
    margin: 0 auto 28px;
}

/* Domain search dressed as a terminal input */
section#home-banner .input-group-lg .form-control {
    background-color: var(--charcoal-lift);
    border: 1px solid #2A3448;
    color: #E4E7EC;
    font-family: var(--font-mono);
    height: 54px;
    box-shadow: none;
}
section#home-banner .input-group-lg .form-control::placeholder { color: #6B7488; }
section#home-banner .input-group-lg .form-control:focus { border-color: var(--steel); box-shadow: 0 0 0 3px rgba(59,130,246,0.2); }
section#home-banner .btn.search,
section#home-banner .btn.transfer {
    height: 54px;
    background: var(--forge);
    color: #fff;
    border: 1px solid var(--forge);
    font-family: var(--font-body);
    font-weight: 700;
}

/* The Readout panel — signature element, injected via header.tpl markup.
   Styled as a translucent glass card to match the site's stat-card look. */
.readout {
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    max-width: 420px;
    margin: 36px auto 0;
    text-align: left;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.35);
}
.readout__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.readout__bar span {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8B93A3;
}
.readout__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--forge); box-shadow: 0 0 8px 1px var(--forge); animation: forge-pulse 2.4s ease-in-out infinite; }
.readout__row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px;
    font-size: 13px;
    font-family: var(--font-body);
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.readout__row:last-child { border-bottom: 0; }
.readout__row .node { color: #F2F3F5; font-weight: 500; }
.readout__row .status { display: flex; align-items: center; gap: 6px; color: var(--forge); font-weight: 600; }
.readout__row .status i { width: 6px; height: 6px; border-radius: 50%; background: var(--forge); display: inline-block; box-shadow: 0 0 6px var(--forge); }
.readout__row .lat { color: #7C879C; font-family: var(--font-mono); font-size: 12px; }

/* Feature/stat card — matches the "Instant Setup / DDoS Protection" style
   card pattern from the marketing site: icon top-right, bold title, muted body */
.feature-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 20px 22px;
    text-align: left;
    position: relative;
}
.feature-card .icon {
    position: absolute;
    top: 18px; right: 18px;
    width: 30px; height: 30px;
    color: var(--forge);
}
.feature-card h4 {
    font-family: var(--font-display);
    font-weight: 700;
    color: #fff;
    font-size: 16px;
    margin: 0 0 6px;
    padding-right: 36px;
}
.feature-card p {
    color: #9AA1AF;
    font-size: 13.5px;
    margin: 0;
    line-height: 1.5;
}

@keyframes forge-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}
@media (prefers-reduced-motion: reduce) {
    .readout__dot { animation: none; }
}

/* *****************************************************
   7. LOGIN — split control-room panel
***************************************************** */

.logincontainer {
    background-color: transparent;
    padding: 0 !important;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0 20px 60px rgba(17,24,39,0.15);
}
.logincontainer .login-brand-panel {
    flex: 1 1 320px;
    background-color: var(--void);
    background-image:
        radial-gradient(circle at 20% 15%, rgba(59,130,246,0.22) 0%, rgba(11,15,26,0) 45%),
        radial-gradient(circle at 85% 85%, rgba(249,115,22,0.16) 0%, rgba(11,15,26,0) 45%);
    color: #E4E7EC;
    padding: 46px 40px;
}
.logincontainer .login-brand-panel h2 {
    font-family: var(--font-display);
    font-size: 1.7rem;
    color: #fff;
    margin-top: 18px;
}
.logincontainer .login-brand-panel p { color: #9BA3B4; }
.logincontainer .login-brand-panel .readout { margin: 28px 0 0; max-width: 100%; }
.logincontainer .login-form-panel {
    flex: 1 1 380px;
    background: #fff;
    padding: 46px 40px;
}
.logincontainer .login-form-panel .pageheader,
.logincontainer .login-form-panel h2 { display: none; }
.logincontainer .login-form-panel label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #6B7488; }

/* *****************************************************
   8. FOOTER — control panel
***************************************************** */

.footer {
    background-color: var(--void);
    position: relative;
}
.footer .container { padding: 50px 2px 40px 20px; }
.footer h4.footer-heading {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 16px;
}
.footer .flogo { max-width: 72%; padding-bottom: 5px; }
.footer .col-md-3 li { font-size: 14px; list-style: none; margin-top: 12px; }
.footer .col-md-3 li a { color: #8892A4; transition: all .2s ease; font-family: var(--font-body); }
.footer .col-md-3 li a:hover { padding-left: 4px; color: var(--forge); transition: all .2s ease; }
.footer .col-md-2 { padding-right: 18px; padding-left: 18px; }
.footer .col-md-2 .fa { font-size: 30px; margin-right: 8px; margin-top: 4px; opacity: 0.55; color: #E4E7EC; }
.footer .col-md-2 .fa:hover { color: var(--forge); opacity: 1; }
.footer .col-md-4 p { color: #7C879C; font-size: 13px; font-family: var(--font-body); }
.footer .col-md-4 .copyright { font-family: var(--font-mono); font-size: 11px; color: #4B5568; }
.footer .credit { font-family: var(--font-body); font-size: 13px; color: #6B7280; margin-top: 10px; }
.footer .credit strong { color: var(--forge); font-weight: 700; }
.footer .contact-row { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; }
.footer .contact-row i { color: var(--forge); font-size: 16px; margin-top: 3px; }
.footer .contact-row .label-sm { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #6B7280; }
.footer .contact-row .value { color: #D6D9E0; font-size: 14px; }

/* *****************************************************
   9. MISC
***************************************************** */

.logincontainer.legacy { background-color: white; padding: 40px 60px; border-radius: 4px; }

.label-primary, .badge-primary { background-color: var(--forge) !important; }

/* *****************************************************
   10. GENERIC BOOTSTRAP PRIMITIVES
   WHMCS's built-in "group of products" / cart pages render
   through core panel/well/btn-success markup rather than the
   templated .tpl files above. custom.css loads last on every
   page, so these rules apply site-wide as a safety net.
***************************************************** */

.btn-success {
    background: var(--forge) !important;
    border-color: var(--forge) !important;
    color: #fff !important;
    font-family: var(--font-body);
    font-weight: 700;
    border-radius: 8px !important;
    font-size: 14px;
}
.btn-success:hover, .btn-success:focus {
    background: var(--forge-hover) !important;
    border-color: var(--forge-hover) !important;
    box-shadow: 0 6px 20px rgba(249,115,22,0.35);
}

.panel, .well {
    border-radius: 6px !important;
    border-color: var(--mist) !important;
    box-shadow: 0 1px 2px rgba(17,24,39,0.06) !important;
}
.panel-default > .panel-heading {
    background-color: #fff !important;
    border-bottom: 2px solid var(--steel) !important;
    font-family: var(--font-display);
}
.panel-title {
    font-family: var(--font-display) !important;
}
.well {
    position: relative;
    overflow: hidden;
}
.well::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--forge);
}

/* "Categories" / "Actions" sidebar widgets on cart/store pages */
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
    background-color: var(--steel) !important;
    border-color: var(--steel) !important;
}

/* *****************************************************
   11. DATA TABLES, TABS, BADGES, TOOLTIPS, MODALS
   Invoices, services, tickets and other account listings
   all route through these generic components.
***************************************************** */

/* Kill the leftover base-template green header stripe on
   invoice/service/ticket tables, replace with a weld seam */
.dataTables_wrapper table.table-list thead th,
table.table-list thead th {
    background-color: var(--charcoal) !important;
    color: #E4E7EC !important;
    border-bottom: 3px solid transparent !important;
    background-image: linear-gradient(var(--charcoal), var(--charcoal)),
                       var(--forge);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 500 !important;
}
.dataTables_wrapper table.table-list thead th:nth-child(even) {
    border-bottom: 3px solid transparent !important;
}
.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc {
    background-color: var(--charcoal-lift) !important;
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info {
    background-color: var(--paper) !important;
    color: var(--text-lifted);
}
.dataTables_wrapper .dataTables_filter label .form-control {
    border: 1px solid var(--mist);
}

.pagination>li>a, .pagination>li>span { font-family: var(--font-mono); font-size: 12px; }
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    background-color: var(--steel) !important;
    border-color: var(--steel) !important;
}
.pagination>li>a:hover, .pagination>li>a:focus {
    color: var(--steel);
    border-color: var(--steel);
}

/* Tabs — used on service management, ticket detail, order form */
.nav-tabs {
    border-bottom-color: var(--mist);
}
.nav-tabs>li>a {
    font-family: var(--font-mono);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-lifted);
    border-radius: 0;
}
.nav-tabs>li>a:hover {
    border-color: transparent;
    background-color: var(--paper);
    color: var(--steel-hover);
}
.nav-tabs>li.active>a,
.nav-tabs>li.active>a:hover,
.nav-tabs>li.active>a:focus {
    color: var(--charcoal);
    border: 0;
    border-bottom: 3px solid var(--forge);
    background-color: transparent;
    font-weight: 600;
}

/* Tooltips / popovers — dark, matches the Readout aesthetic */
.tooltip-inner {
    background-color: var(--charcoal-deep);
    font-family: var(--font-mono);
    font-size: 11px;
    padding: 6px 10px;
    border-radius: 4px;
}
.tooltip.top .tooltip-arrow { border-top-color: var(--charcoal-deep); }
.tooltip.bottom .tooltip-arrow { border-bottom-color: var(--charcoal-deep); }
.tooltip.left .tooltip-arrow { border-left-color: var(--charcoal-deep); }
.tooltip.right .tooltip-arrow { border-right-color: var(--charcoal-deep); }

.popover {
    border: 1px solid var(--mist);
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(17,24,39,0.15);
}
.popover-title {
    background-color: var(--charcoal);
    color: #fff;
    font-family: var(--font-display);
    border-radius: 5px 5px 0 0;
}

/* Modals — header picks up the weld seam */
.modal-content { border-radius: 8px; overflow: hidden; }
.modal-header {
    background-color: var(--charcoal);
    border-bottom: 0;
    position: relative;
}
.modal-header::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    background: var(--forge);
}
.modal-header .modal-title, .modal-header h4 { color: #fff; font-family: var(--font-display); }
.modal-header .close { color: #fff; opacity: 0.7; text-shadow: none; }
.modal-header .close:hover { opacity: 1; }

/* Status labels/badges (Active, Pending, Suspended...) — pill shape, mono, semantic colors kept */
.label, .badge {
    font-family: var(--font-mono);
    font-weight: 500;
    letter-spacing: 0.03em;
    border-radius: 999px;
    padding: 3px 9px;
}
.label-success, .badge-success { background-color: #16A34A !important; }
.label-danger, .badge-danger { background-color: var(--error) !important; }
.label-warning, .badge-warning { background-color: var(--forge) !important; color: #fff !important; }
.label-info, .badge-info { background-color: var(--spark) !important; }
.label-default, .badge-default { background-color: var(--neutral-400) !important; }

/* Breadcrumbs on internal pages */
.breadcrumb {
    background-color: transparent;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.02em;
    padding-left: 0;
}
.breadcrumb > li + li::before { color: var(--forge); content: "/\00a0"; }
.breadcrumb > .active { color: var(--text-lifted); }

/* Account sidebar (service management left nav) active state */
.list-group-item-heading { font-family: var(--font-display); }


@media (max-width: 767px) {
    body { max-width: 98% !important; }
    section#home-banner h2 { font-size: 1.7rem; }
    .logincontainer { display: block; }
}

/* *****************************************************
   12. DARK MODE
   Toggled via html[data-theme="dark"], set by the sun/moon
   button in the top-nav (see header.tpl / footer.tpl).
   Persisted to localStorage as 'voidforge-theme'.
***************************************************** */

/* Toggle button + icon swap */
.dark-mode-toggle {
    padding: 6px 10px !important;
}
.dark-mode-toggle .dm-icon-light { display: none; }
html[data-theme="dark"] .dark-mode-toggle .dm-icon-dark { display: none; }
html[data-theme="dark"] .dark-mode-toggle .dm-icon-light { display: inline-block; }

/* Smooth the transition between modes on the main surfaces */
body, #main-body, .panel, .well, .logincontainer .login-form-panel,
table.table-list tbody td, .form-control {
    transition: background-color 0.15s ease-out, color 0.15s ease-out, border-color 0.15s ease-out;
}

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

/* Page background + base text */
html[data-theme="dark"] body,
html[data-theme="dark"] #main-body {
    background-color: var(--void) !important;
    color: #D6D9E0;
}
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3,
html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6 {
    color: #F2F3F5;
}
html[data-theme="dark"] a { color: var(--steel); }
html[data-theme="dark"] a:hover, html[data-theme="dark"] a:active { color: var(--forge); }

/* Panels, wells, generic cards */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .well {
    background-color: var(--charcoal) !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: #D6D9E0;
}
html[data-theme="dark"] .panel-default > .panel-heading {
    background-color: var(--charcoal) !important;
    color: #F2F3F5;
    border-bottom-color: var(--steel) !important;
}
html[data-theme="dark"] .panel-footer {
    background-color: var(--charcoal-lift) !important;
    border-top-color: rgba(255,255,255,0.08) !important;
    color: #B4B9C4;
}
html[data-theme="dark"] .client-home-panels .panel > .panel-heading { background-color: var(--charcoal) !important; }
html[data-theme="dark"] .home-kb-search .form-control { background-color: var(--charcoal-lift) !important; color: #D6D9E0; border-color: rgba(255,255,255,0.08) !important; }

/* Tables */
html[data-theme="dark"] .table-list > tbody > tr > td,
html[data-theme="dark"] table.dataTable > tbody > tr > td {
    background-color: var(--charcoal) !important;
    color: #D6D9E0 !important;
    border-color: rgba(255,255,255,0.06) !important;
}
html[data-theme="dark"] .table-list > tbody > tr:nth-child(even) > td {
    background-color: var(--charcoal-lift) !important;
}
html[data-theme="dark"] .table-list > tbody > tr:hover > td {
    background-color: #1C2029 !important;
}
html[data-theme="dark"] .table > tbody > tr > td,
html[data-theme="dark"] .table > tbody > tr > th,
html[data-theme="dark"] .table > thead > tr > th {
    border-color: rgba(255,255,255,0.08) !important;
    color: #D6D9E0;
}
html[data-theme="dark"] .dataTables_wrapper .dataTables_length,
html[data-theme="dark"] .dataTables_wrapper .dataTables_info {
    background-color: var(--void) !important;
    color: #8B93A3;
}
html[data-theme="dark"] .dataTables_wrapper .dataTables_filter label .form-control {
    background-color: var(--charcoal-lift) !important;
    color: #D6D9E0;
    border-color: rgba(255,255,255,0.08) !important;
}

/* Forms */
html[data-theme="dark"] .form-control {
    background-color: var(--charcoal-lift) !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #F2F3F5 !important;
}
html[data-theme="dark"] .form-control::placeholder { color: #6B7488; }
html[data-theme="dark"] .form-control[disabled],
html[data-theme="dark"] .form-control[readonly] {
    background-color: var(--charcoal) !important;
    opacity: 0.6;
}
html[data-theme="dark"] label { color: #B4B9C4; }
html[data-theme="dark"] .input-group-addon {
    background-color: var(--charcoal-lift) !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #B4B9C4;
}

/* List groups / sidebars */
html[data-theme="dark"] .list-group-item {
    background-color: var(--charcoal) !important;
    border-color: rgba(255,255,255,0.06) !important;
    color: #D6D9E0;
}
html[data-theme="dark"] .list-group-item:hover { background-color: var(--charcoal-lift) !important; }
html[data-theme="dark"] .panel-sidebar .list-group-item i:not(.fa-circle) { color: #6B7488; }

/* Login page */
html[data-theme="dark"] .logincontainer .login-form-panel {
    background-color: var(--charcoal) !important;
}
html[data-theme="dark"] .logincontainer .login-form-panel label { color: #6B7488; }

/* Pricing / ingot cards (store/dynamic) */
html[data-theme="dark"] .pricing-card {
    background-color: var(--charcoal) !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: #D6D9E0;
}
html[data-theme="dark"] .plan-name,
html[data-theme="dark"] .price-amount { color: #F2F3F5 !important; }
html[data-theme="dark"] .feature-item { color: #B4B9C4 !important; }

/* Legacy store cart pages (well-based product boxes already covered by .well above) */
html[data-theme="dark"] #order-boxes .fields-container .field-row:nth-child(even) { background-color: var(--charcoal-lift) !important; }
html[data-theme="dark"] #order-boxes .fields-container .field-row:nth-child(odd) { background-color: var(--charcoal) !important; }

/* Modals */
html[data-theme="dark"] .modal-content {
    background-color: var(--charcoal) !important;
    color: #D6D9E0;
}
html[data-theme="dark"] .modal-footer {
    border-top-color: rgba(255,255,255,0.08) !important;
}

/* Breadcrumbs, tabs, pagination */
html[data-theme="dark"] .breadcrumb > .active { color: #8B93A3; }
html[data-theme="dark"] .breadcrumb > li > a { color: #B4B9C4; }
html[data-theme="dark"] .nav-tabs { border-bottom-color: rgba(255,255,255,0.08); }
html[data-theme="dark"] .nav-tabs > li > a { color: #8B93A3; }
html[data-theme="dark"] .nav-tabs > li.active > a { color: #F2F3F5; }
html[data-theme="dark"] .pagination > li > a,
html[data-theme="dark"] .pagination > li > span {
    background-color: var(--charcoal) !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: #D6D9E0;
}

/* Sidebar panel accents used on service management pages */
html[data-theme="dark"] .panel-sidebar { border-color: rgba(255,255,255,0.08); }
html[data-theme="dark"] .panel-sidebar > .panel-heading,
html[data-theme="dark"] .panel-sidebar > .panel-footer {
    background-color: var(--charcoal) !important;
    color: #D6D9E0;
}

/* Home shortcuts / order boxes already dark by brand design — leave as-is */

/* Text-muted and helper text */
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .help-block,
html[data-theme="dark"] small {
    color: #6B7488 !important;
}

/* Scrollbar track on dark surfaces */
html[data-theme="dark"] ::-webkit-scrollbar { background-color: var(--void); }
