/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Cart
 *
 * This block allows you to customize theme colors and styles for the entire Nexus Cart template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
html {
    font-size: 14px;
}

:root {
    --white: #fff;

    /* Neutral shades */
    --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: #1B0635;
    --neutral-950: #030712;

    /* Neutral shades */
    /* define own pallet with brand colors */
    --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 colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--neutral-900);          /* var(--primary-600) */
    --primary-lifted: var(--neutral-800);   /* var(--primary-700) */
    --primary-accented: var(--neutral-700); /* var(--primary-800) */

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #4A147C;
    --info-lifted: #2A0A52;
    --info-accented: #250747;

    /* Notice colors */
    --notice: #6B21A8;
    --notice-lifted: #581C87;
    --notice-accented: #3B0764;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}
/* =========================================================
   VNET MODERN WHMCS LOGIN
   LOGIN PAGE ONLY
   ========================================================= */


/* =========================================================
   LOGIN PAGE OUTER WRAPPER
   ========================================================= */

.vnet-login-screen {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background: #f8fbff;
    position: relative;
    overflow: hidden;
}


/* =========================================================
   MAIN LOGIN AREA
   ========================================================= */

.vnet-login-screen .vnet-login-page {
    position: relative;

    width: 100vw;
    max-width: none;

    /*
     * Break out of WHMCS .container
     * so background reaches both sides
     */
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    min-height: calc(100vh - 120px);

    padding: 55px 20px 55px;

    background: #f8fbff;

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    overflow: hidden;
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.vnet-login-screen .vnet-login-background {
    position: absolute;

    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;

    pointer-events: none;

    z-index: 1;
}


/* =========================================================
   BACKGROUND SHAPES
   ========================================================= */

.vnet-login-screen .vnet-shape {
    position: absolute;

    pointer-events: none;

    transform: rotate(-28deg);

    z-index: 1;
}


/* TOP RIGHT SHAPE */

.vnet-login-screen .vnet-shape-one {
    width: 800px;
    height: 280px;

    top: -95px;
    right: -220px;

    background: linear-gradient(
        135deg,
        #16042C 0%,
        #2A0A52 48%,
        #4A147C 100%
    );

    clip-path: polygon(
        0 0,
        100% 0,
        75% 100%,
        0 100%
    );

    opacity: .95;
}


/* BOTTOM LEFT SHAPE */

.vnet-login-screen .vnet-shape-two {
    width: 600px;
    height: 220px;

    bottom: -100px;
    left: -190px;

    background: linear-gradient(
        135deg,
        #E9DDF5 0%,
        #D9C8EB 100%
    );

    clip-path: polygon(
        0 0,
        100% 0,
        78% 100%,
        0 100%
    );

    opacity: .95;
}


/* LEFT MIDDLE SHAPE */

.vnet-login-screen .vnet-shape-three {
    width: 390px;
    height: 165px;

    top: 18%;
    left: -155px;

    background: linear-gradient(
        135deg,
        #F4ECFA 0%,
        #E9DDF5 100%
    );

    clip-path: polygon(
        0 0,
        100% 0,
        75% 100%,
        0 100%
    );

    opacity: .9;
}


/* =========================================================
   LOGIN CONTENT
   ========================================================= */

.vnet-login-screen .vnet-login-wrapper {
    position: relative;

    z-index: 5;

    width: 100%;
    max-width: 480px;

    margin: 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* =========================================================
   LOGO
   ========================================================= */

.vnet-login-screen .vnet-login-brand {
    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 28px;
}


.vnet-login-screen .vnet-login-brand a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    text-decoration: none;
}


.vnet-login-screen .vnet-login-logo {
    display: block;

    width: auto;
    max-width: 190px;
    max-height: 60px;

    object-fit: contain;
}


/* =========================================================
   LOGIN CARD
   ========================================================= */

.vnet-login-screen .vnet-login-card {
    width: 100%;

    background: rgba(255, 255, 255, .97);

    border: 1px solid rgba(226, 232, 240, .9);

    border-radius: 22px;

    padding: 42px;

    box-sizing: border-box;

    box-shadow:
        0 25px 70px rgba(15, 23, 42, .08),
        0 8px 25px rgba(22, 4, 44, .05);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


/* =========================================================
   LOGIN HEADER
   ========================================================= */

.vnet-login-screen .vnet-login-header {
    margin: 0 0 30px;
}


.vnet-login-screen .vnet-login-badge {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    margin-bottom: 13px;

    color: #16042C;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.2px;

    line-height: 1;
}


.vnet-login-screen .vnet-login-badge span {
    display: block;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #16042C,
        #4A147C
    );
}


.vnet-login-screen .vnet-login-header h1 {
    margin: 0 0 8px;

    color: #16042B;

    font-size: 30px;

    font-weight: 750;

    line-height: 1.15;

    letter-spacing: -1px;
}


.vnet-login-screen .vnet-login-header p {
    margin: 0;

    color: #64748b;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   FORM
   ========================================================= */

.vnet-login-screen .login-form {
    width: 100%;

    margin: 0;
}


/* =========================================================
   FORM GROUP
   ========================================================= */

.vnet-login-screen .vnet-form-group {
    width: 100%;

    margin: 0 0 21px;
}


.vnet-login-screen .vnet-form-group label {
    display: block;

    margin: 0 0 8px;

    color: #172033;

    font-size: 12px;

    font-weight: 650;

    line-height: 1.4;
}


/* =========================================================
   PASSWORD LABEL ROW
   ========================================================= */

.vnet-login-screen .vnet-label-row {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;
}


.vnet-login-screen .vnet-label-row label {
    margin-bottom: 8px;
}


.vnet-login-screen .vnet-forgot {
    display: inline-block;

    margin-bottom: 8px;

    color: #16042C;

    font-size: 11px;

    font-weight: 600;

    line-height: 1.4;

    text-decoration: none;

    transition: color .2s ease;
}


.vnet-login-screen .vnet-forgot:hover {
    color: #2A0A52;

    text-decoration: none;
}


/* =========================================================
   INPUT WRAPPER
   ========================================================= */

.vnet-login-screen .vnet-input-wrapper {
    position: relative;

    width: 100%;

    display: flex;

    align-items: center;
}


/* =========================================================
   INPUT
   ========================================================= */

.vnet-login-screen .vnet-input {
    width: 100%;

    height: 50px;

    margin: 0;

    padding: 0 47px;

    border: 1px solid #dbe3ef;

    border-radius: 11px;

    outline: none;

    background: #f8fbff;

    color: #16042B;

    font-size: 13px;

    line-height: 50px;

    box-shadow: none;

    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


.vnet-login-screen .vnet-input::placeholder {
    color: #94a3b8;

    opacity: 1;
}


.vnet-login-screen .vnet-input:hover {
    border-color: #cbd8ea;

    background: #ffffff;
}


.vnet-login-screen .vnet-input:focus {
    border-color: #4A147C;

    background: #ffffff;

    outline: none;

    box-shadow:
        0 0 0 4px rgba(22, 4, 44, .08);
}


/* =========================================================
   INPUT ICON
   ========================================================= */

.vnet-login-screen .vnet-input-icon {
    position: absolute;

    left: 16px;

    top: 50%;

    transform: translateY(-50%);

    z-index: 3;

    width: 18px;

    color: #94a8c1;

    font-size: 13px;

    text-align: center;

    pointer-events: none;
}


/* =========================================================
   PASSWORD TOGGLE
   ========================================================= */

.vnet-login-screen .vnet-password-toggle {
    position: absolute;

    right: 7px;

    top: 50%;

    transform: translateY(-50%);

    z-index: 3;

    width: 36px;
    height: 36px;

    padding: 0;

    border: 0;

    border-radius: 8px;

    background: transparent;

    color: #94a3b8;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    transition:
        color .2s ease,
        background .2s ease;
}


.vnet-login-screen .vnet-password-toggle:hover {
    color: #16042C;

    background: #F4ECFA;
}


.vnet-login-screen .vnet-password-toggle:focus {
    outline: none;

    box-shadow: none;
}


/* =========================================================
   CAPTCHA
   ========================================================= */

.vnet-login-screen .vnet-captcha {
    width: 100%;

    margin: 0 0 20px;
}


.vnet-login-screen .vnet-captcha .form-group {
    margin-bottom: 0;
}


/* =========================================================
   REMEMBER ME
   ========================================================= */

.vnet-login-screen .vnet-login-options {
    width: 100%;

    margin: 0 0 20px;
}


.vnet-login-screen .vnet-remember {
    position: relative;

    display: inline-flex !important;

    align-items: center;

    gap: 8px;

    margin: 0 !important;

    color: #64748b !important;

    font-size: 11px !important;

    font-weight: 500 !important;

    line-height: 17px;

    cursor: pointer;
}


.vnet-login-screen .vnet-remember input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;

    pointer-events: none;
}


.vnet-login-screen .vnet-checkmark {
    position: relative;

    display: block;

    width: 17px;
    height: 17px;

    flex: 0 0 17px;

    border: 1px solid #cbd5e1;

    border-radius: 5px;

    background: #ffffff;

    transition:
        border-color .2s ease,
        background .2s ease;
}


.vnet-login-screen .vnet-remember input:checked + .vnet-checkmark {
    border-color: #16042C;

    background: #16042C;
}


.vnet-login-screen .vnet-remember input:checked + .vnet-checkmark::after {
    content: "";

    position: absolute;

    left: 5px;
    top: 2px;

    width: 5px;
    height: 9px;

    border: solid #ffffff;

    border-width: 0 2px 2px 0;

    transform: rotate(45deg);
}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

.vnet-login-screen .vnet-login-button {
    width: 100%;

    height: 50px;

    margin: 0;

    padding: 0 20px;

    border: 0 !important;

    border-radius: 11px !important;

    display: flex !important;

    align-items: center;

    justify-content: center;

    gap: 11px;

    color: #ffffff !important;

    background: linear-gradient(
        135deg,
        #16042C 0%,
        #2A0A52 55%,
        #4A147C 100%
    ) !important;

    font-size: 13px;

    font-weight: 700;

    line-height: 1;

    text-decoration: none;

    box-shadow:
        0 10px 24px rgba(22, 4, 44, .22);

    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.vnet-login-screen .vnet-login-button:hover {
    color: #ffffff !important;

    transform: translateY(-1px);

    box-shadow:
        0 14px 30px rgba(22, 4, 44, .28);
}


.vnet-login-screen .vnet-login-button:active {
    transform: translateY(0);

    box-shadow:
        0 7px 16px rgba(22, 4, 44, .2);
}


.vnet-login-screen .vnet-login-button:focus {
    outline: none;

    color: #ffffff !important;

    box-shadow:
        0 0 0 4px rgba(22, 4, 44, .12),
        0 10px 24px rgba(22, 4, 44, .22);
}


.vnet-login-screen .vnet-login-button i {
    font-size: 11px;

    transition: transform .2s ease;
}


.vnet-login-screen .vnet-login-button:hover i {
    transform: translateX(3px);
}


/* =========================================================
   DIVIDER
   ========================================================= */

.vnet-login-screen .vnet-login-divider {
    width: 100%;

    display: flex;

    align-items: center;

    gap: 12px;

    margin: 26px 0 19px;

    color: #94a3b8;

    font-size: 10px;

    line-height: 1;
}


.vnet-login-screen .vnet-login-divider::before,
.vnet-login-screen .vnet-login-divider::after {
    content: "";

    height: 1px;

    flex: 1;

    background: #e6edf5;
}


/* =========================================================
   REGISTER
   ========================================================= */

.vnet-login-screen .vnet-register {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 3px;

    color: #64748b;

    font-size: 11px;

    line-height: 1.6;

    text-align: center;
}


.vnet-login-screen .vnet-register a {
    color: #16042C;

    font-weight: 700;

    text-decoration: none;

    transition: color .2s ease;
}


.vnet-login-screen .vnet-register a:hover {
    color: #2A0A52;

    text-decoration: none;
}


.vnet-login-screen .vnet-register a i {
    margin-left: 3px;

    font-size: 9px;

    transition: transform .2s ease;
}


.vnet-login-screen .vnet-register a:hover i {
    transform: translateX(2px);
}


/* =========================================================
   LOGIN FOOTER TEXT
   ========================================================= */

.vnet-login-screen .vnet-login-footer {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    margin-top: 20px;

    color: #94a3b8;

    font-size: 10px;

    line-height: 1.5;

    text-align: center;
}


.vnet-login-screen .vnet-footer-dot {
    width: 3px;
    height: 3px;

    flex: 0 0 3px;

    border-radius: 50%;

    background: #cbd5e1;
}


/* =========================================================
   FLASH MESSAGES
   ========================================================= */

.vnet-login-screen .alert {
    border-radius: 10px;

    border: 0;

    margin: 0 0 20px;

    font-size: 12px;
}


.vnet-login-screen .alert-danger {
    background: #fff1f2;

    color: #be123c;
}


.vnet-login-screen .alert-success {
    background: #f0fdf4;

    color: #15803d;
}


.vnet-login-screen .alert-warning {
    background: #fffbeb;

    color: #b45309;
}


.vnet-login-screen .alert-info {
    background: #F4ECFA;

    color: #2A0A52;
}


/* =========================================================
   LINKED ACCOUNTS / GOOGLE LOGIN
   ========================================================= */

.vnet-login-screen .vnet-linked-accounts-area {
    width: 100vw;

    max-width: none;

    margin-left: calc(50% - 50vw);

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 20px 28px;

    background: #f8fbff !important;

    text-align: center;

    box-sizing: border-box;
}


/* Google button container */

.vnet-login-screen .vnet-linked-accounts-area .btn,
.vnet-login-screen .vnet-linked-accounts-area button {
    border-radius: 9px;
}


/* =========================================================
   REMOVE UNWANTED LOGIN CONTAINER SPACING
   ONLY INSIDE LOGIN PAGE
   ========================================================= */

.vnet-login-screen .container {
    padding-top: 0 !important;

    padding-bottom: 0 !important;
}


.vnet-login-screen .row {
    margin-top: 0 !important;

    margin-bottom: 0 !important;
}


/* =========================================================
   PROVIDER FEEDBACK
   ========================================================= */

.vnet-login-screen .providerLinkingFeedback {
    position: relative;

    z-index: 20;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .vnet-login-screen .vnet-login-page {
        min-height: auto;

        padding: 35px 16px 40px;
    }


    .vnet-login-screen .vnet-login-wrapper {
        max-width: 460px;
    }


    .vnet-login-screen .vnet-login-card {
        padding: 30px 24px;

        border-radius: 18px;
    }


    .vnet-login-screen .vnet-login-header h1 {
        font-size: 27px;
    }


    .vnet-login-screen .vnet-login-logo {
        max-width: 170px;

        max-height: 52px;
    }


    .vnet-login-screen .vnet-shape-one {
        width: 500px;

        height: 190px;

        right: -220px;

        top: -60px;
    }


    .vnet-login-screen .vnet-shape-two {
        width: 420px;

        height: 160px;

        left: -180px;

        bottom: -70px;
    }


    .vnet-login-screen .vnet-shape-three {
        width: 260px;

        height: 120px;

        left: -130px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .vnet-login-screen .vnet-login-page {
        padding: 28px 14px 35px;
    }


    .vnet-login-screen .vnet-login-card {
        padding: 27px 20px;

        border-radius: 16px;
    }


    .vnet-login-screen .vnet-login-header {
        margin-bottom: 26px;
    }


    .vnet-login-screen .vnet-login-header h1 {
        font-size: 25px;
    }


    .vnet-login-screen .vnet-login-header p {
        font-size: 12px;
    }


    .vnet-login-screen .vnet-input {
        height: 48px;

        font-size: 12px;
    }


    .vnet-login-screen .vnet-login-button {
        height: 49px;
    }


    .vnet-login-screen .vnet-login-footer {
        flex-direction: column;

        gap: 5px;

        margin-top: 17px;
    }


    .vnet-login-screen .vnet-footer-dot {
        display: none;
    }

}


/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width: 360px) {

    .vnet-login-screen .vnet-login-card {
        padding: 24px 17px;
    }


    .vnet-login-screen .vnet-login-header h1 {
        font-size: 23px;
    }


    .vnet-login-screen .vnet-form-group label {
        font-size: 11px;
    }


    .vnet-login-screen .vnet-forgot {
        font-size: 10px;
    }

}/* =========================================================
   FORCE LOGIN PAGE FULL WIDTH
   ONLY WHEN LOGIN PAGE IS PRESENT
   ========================================================= */

/* WHMCS main content wrapper */
#main-body:has(.vnet-login-screen) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
}


/* WHMCS Bootstrap container containing login page */
#main-body:has(.vnet-login-screen) > .container,
#main-body:has(.vnet-login-screen) .container:has(.vnet-login-screen) {
    width: 100% !important;
    max-width: none !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Row containing login page */
#main-body:has(.vnet-login-screen) .row:has(.vnet-login-screen) {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Columns containing login page */
#main-body:has(.vnet-login-screen) [class*="col"]:has(.vnet-login-screen) {
    width: 100% !important;
    max-width: none !important;

    flex: 0 0 100% !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   LOGIN SCREEN FULL WIDTH
   ========================================================= */

.vnet-login-screen {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #f8fbff !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* =========================================================
   LOGIN MAIN BACKGROUND
   ========================================================= */

.vnet-login-screen .vnet-login-page {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 100% !important;

    min-height: calc(100vh - 150px);

    margin: 0 !important;

    padding: 55px 20px 55px !important;

    background: #f8fbff !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.vnet-login-screen .vnet-login-background {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    overflow: hidden !important;

    pointer-events: none;

    z-index: 1;
}


/* =========================================================
   LOGIN WRAPPER
   ========================================================= */

.vnet-login-screen .vnet-login-wrapper {
    position: relative !important;

    z-index: 5;

    width: 100% !important;

    max-width: 480px !important;

    margin: 0 auto !important;
}


/* =========================================================
   LINKED ACCOUNTS / GOOGLE
   ========================================================= */

.vnet-login-screen .vnet-linked-accounts-area {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding: 0 20px 30px !important;

    background: #f8fbff !important;

    text-align: center;

    box-sizing: border-box !important;
}/* =========================================================
   REMOVE WHMCS GREY TOP/BOTTOM MARGINS
   LOGIN PAGE ONLY
   ========================================================= */

/* Remove spacing from WHMCS main body */
body:has(.vnet-login-screen) #main-body {
    margin: 0 !important;
    padding: 0 !important;

    background: #f8fbff !important;

    min-height: 0 !important;
}


/* Remove spacing from the main container */
body:has(.vnet-login-screen) #main-body > .container {
    margin: 0 !important;
    padding: 0 !important;

    width: 100% !important;
    max-width: none !important;

    background: #f8fbff !important;
}


/* Remove Bootstrap row spacing */
body:has(.vnet-login-screen) #main-body .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Remove column spacing */
body:has(.vnet-login-screen) #main-body [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Login page itself */
body:has(.vnet-login-screen) .vnet-login-screen {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    background: #f8fbff !important;
}


/* Main login background */
body:has(.vnet-login-screen) .vnet-login-page {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    border-top: 0 !important;
    border-bottom: 0 !important;

    min-height: calc(100vh - 105px) !important;

    background: #f8fbff !important;
}


/* Prevent any clearfix / pseudo spacing */
body:has(.vnet-login-screen) #main-body::before,
body:has(.vnet-login-screen) #main-body::after,
body:has(.vnet-login-screen) .container::before,
body:has(.vnet-login-screen) .container::after {
    display: none !important;
    content: none !important;
}


/* Google / linked accounts area */
body:has(.vnet-login-screen) .vnet-linked-accounts-area {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    background: #f8fbff !important;
}


/* =========================================================
   VSUPPORT24X7 - NAVBAR FIX / RESPONSIVE OVERRIDES
   ========================================================= */

.vs-header {
    width: 100%;
    position: relative;
    z-index: 1000;
    background: #fff;
}

.vs-navbar {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #edf1f6;
    position: relative;
    z-index: 1100;
}

.vs-navbar-container {
    width: 100%;
    max-width: 1440px;
    min-height: 72px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    align-items: center;
    gap: 18px;
    box-sizing: border-box;
}

.vs-brand {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.vs-brand > a {
    display: flex;
    align-items: center;
}

.vs-logo {
    display: block;
    width: auto;
    max-width: 170px;
    max-height: 46px;
}

.vs-main-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
}

.vs-nav-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap;
}

.vs-nav-item {
    position: relative;
    margin: 0;
}

.vs-nav-link {
    min-height: 72px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 5px;
    color: #27344d !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color .2s ease, background .2s ease;
}

.vs-nav-link:hover {
    color: #16042C !important;
}

.vs-dropdown-icon {
    font-size: 8px;
    opacity: .7;
}

.vs-dropdown-menu {
    position: absolute;
    z-index: 1200;
    top: calc(100% - 2px);
    left: 0;
    min-width: 220px;
    padding: 7px;
    background: #fff;
    border: 1px solid #e8edf4;
    border-radius: 9px;
    box-shadow: 0 18px 45px rgba(20,35,70,.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.vs-has-dropdown:hover > .vs-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.vs-dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border-radius: 6px;
    color: #4d5b71 !important;
    font-size: 12px;
    text-decoration: none !important;
}

.vs-dropdown-item:hover {
    background: #F3EAF9;
    color: #16042C !important;
}

.vs-dropdown-item-icon {
    width: 17px;
    text-align: center;
    color: #7d8aa0;
}

.vs-header-right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.vs-phone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #344054;
    font-size: 12px;
    white-space: nowrap;
}

.vs-phone i {
    color: #16042C;
    font-size: 11px;
}

.vs-cart {
    width: 34px;
    height: 34px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #344054 !important;
    text-decoration: none !important;
    border-radius: 7px;
}

.vs-cart:hover {
    background: #F3EAF9;
    color: #16042C !important;
}

.vs-cart-count {
    position: absolute;
    top: 1px;
    right: 0;
    min-width: 14px;
    height: 14px;
    padding: 0 3px;
    border-radius: 20px;
    background: #16042C;
    color: #fff;
    font-size: 8px;
    line-height: 14px;
    text-align: center;
}

.vs-login-btn,
.vs-register-btn,
.vs-quote-btn {
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.vs-login-btn {
    border: 1px solid #dce4f2;
    background: #fff;
    color: #27344d !important;
}

.vs-login-btn:hover {
    border-color: #16042C;
    color: #16042C !important;
    background: #F7F2FB;
}

.vs-register-btn,
.vs-quote-btn {
    background: #16042C;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(22, 4, 44,.15);
}

.vs-register-btn:hover,
.vs-quote-btn:hover {
    background: #2A0A52;
    color: #fff !important;
}

/* SECONDARY NAVBAR */
.vs-secondary-navbar {
    width: 100%;
    background: #FAF7FC;
    border-bottom: 1px solid #e5eaf2;
    position: relative;
    z-index: 100;
}

.vs-secondary-container {
    width: 100%;
    max-width: 1440px;
    min-height: 50px;
    margin: 0 auto;
    position: relative;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-sizing: border-box;
}

.vs-secondary-left,
.vs-secondary-right,
.vs-secondary-links {
    display: flex;
    align-items: center;
}

.vs-secondary-left {
    min-width: 0;
}

.vs-secondary-right {
    flex: 0 0 auto;
    gap: 5px;
}

.vs-secondary-notification {
    height: 32px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #526078;
    font-size: 11px;
    cursor: pointer;
}

.vs-secondary-notification:hover {
    background: #F2E8FA;
    color: #16042C;
}

.vs-notification-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.vs-notification-dot {
    position: absolute;
    top: -4px;
    right: -6px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: #16042C;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    border: 2px solid #FAF7FC;
}

.vs-secondary-divider {
    width: 1px;
    height: 24px;
    margin: 0 12px;
    background: #dfe5ee;
}

.vs-secondary-user {
    display: flex;
    align-items: center;
    gap: 8px;
}

.vs-user-avatar {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #F0E4F8;
    color: #16042C;
    font-size: 12px;
}

.vs-user-info {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.vs-user-small {
    color: #8a96aa;
    font-size: 9px;
}

.vs-user-name {
    margin-top: 2px;
    color: #27344d !important;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none !important;
}

.vs-secondary-link,
.vs-secondary-action {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 7px;
    text-decoration: none !important;
}

.vs-secondary-link {
    padding: 0 9px;
    color: #59677d !important;
    font-size: 10px;
}

.vs-secondary-link:hover,
.vs-secondary-action:hover {
    background: #F0E4F8;
    color: #16042C !important;
}

.vs-secondary-action {
    width: 32px;
    color: #66748a !important;
}

.vs-secondary-admin {
    padding: 0 10px;
    background: #F1E6F8;
    color: #16042C !important;
    font-size: 10px;
    font-weight: 600;
}

.vs-secondary-admin:hover {
    background: #16042C;
    color: #fff !important;
}

.vs-secondary-dropdown {
    position: relative;
}

.vs-secondary-dropdown-menu {
    position: absolute;
    z-index: 1300;
    top: calc(100% + 4px);
    right: 0;
    min-width: 190px;
    padding: 7px;
    background: #fff;
    border: 1px solid #e8edf4;
    border-radius: 9px;
    box-shadow: 0 15px 40px rgba(30,50,90,.13);
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    transition: .18s ease;
}

.vs-secondary-dropdown:hover .vs-secondary-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.vs-secondary-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    color: #4d5b71 !important;
    font-size: 11px;
    text-decoration: none !important;
}

.vs-secondary-dropdown-item:hover {
    background: #F3EAF9;
    color: #16042C !important;
}

.vs-mobile-toggle {
    display: none;
}

.vs-mobile-auth {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.vs-mobile-login,
.vs-mobile-register {
    flex: 1;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
}

.vs-mobile-login {
    border: 1px solid #dce4f2;
    background: #fff;
    color: #27344d !important;
}

.vs-mobile-register {
    background: #16042C;
    color: #fff !important;
}

@media (max-width: 1200px) {
    .vs-navbar-container,
    .vs-secondary-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .vs-nav-link {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 12px;
    }
    .vs-phone {
        display: none;
    }
}

@media (max-width: 991px) {
    .vs-main-nav {
        display: none;
    }
    .vs-header-right {
        margin-left: auto;
    }
    .vs-login-btn,
    .vs-register-btn {
        display: none;
    }
    .vs-mobile-toggle {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #e2e8f0;
        border-radius: 7px;
        background: #fff;
        color: #27344d;
    }
    .vs-secondary-navbar {
        display: none;
    }
}

@media (max-width: 575px) {
    .vs-navbar-container {
        min-height: 64px;
        padding: 0 14px;
    }
    .vs-logo {
        max-width: 145px;
        max-height: 40px;
    }
    .vs-quote-btn {
        display: none;
    }
}


/* ============================================================
   VSupport24x7 - HOMEPAGE ONLY
   Scoped to .vs-home. Does not change other WHMCS pages.
   ============================================================ */

.vs-home {
    --vs-blue: #16042C;
    --vs-blue-dark: #250747;
    --vs-text: #10245a;
    --vs-muted: #667085;
    --vs-border: #e3eaf5;
    --vs-shadow: 0 8px 28px rgba(25,55,105,.06);

    position: relative;
    isolation: isolate;

    /* Break out of the WHMCS content container so this page
       uses the available browser width. */
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;

    padding: 26px max(24px, calc((100vw - 1200px) / 2)) 40px;

    color: var(--vs-text);
}

/* Full background, but ONLY behind this homepage */
.vs-home:before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 4%, rgba(22, 4, 44,.14), transparent 27%),
        radial-gradient(circle at 92% 10%, rgba(74, 20, 124,.12), transparent 28%),
        radial-gradient(circle at 75% 90%, rgba(22, 4, 44,.08), transparent 31%),
        linear-gradient(135deg, #FAF7FC 0%, #F5F0F9 50%, #FCF9FE 100%);
}

.vs-home:after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background:
        linear-gradient(125deg, transparent 0 28%, rgba(22, 4, 44,.025) 28% 29%, transparent 29%),
        linear-gradient(35deg, transparent 0 67%, rgba(74, 20, 124,.025) 67% 68%, transparent 68%);
}

/* ============================================================
   SECTION SHELL
   ============================================================ */

.vs-home-section {
    position: relative;
    width: 100%;
    margin: 0 0 22px;
    padding: 24px;
    box-sizing: border-box;

    background: rgba(255,255,255,.96);
    border: 1px solid var(--vs-border);
    border-radius: 14px;
    box-shadow: var(--vs-shadow);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.vs-home-section:last-child {
    margin-bottom: 0;
}

.vs-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
}

.vs-section-heading-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg,#F4ECFA,#E9DDF5);
    color: var(--vs-blue);
    font-size: 17px;
}

.vs-section-heading h2 {
    margin: 0;
    color: var(--vs-text);
    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
}

.vs-section-heading p {
    margin: 4px 0 0;
    color: var(--vs-muted);
    font-size: 11px;
    line-height: 1.5;
}

/* ============================================================
   SUPPORT SERVICES
   ============================================================ */

.vs-support-services-section {
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(22, 4, 44,.13), transparent 30%),
        radial-gradient(circle at 0% 100%, rgba(74, 20, 124,.09), transparent 32%),
        rgba(247,250,255,.97);
}

.vs-support-services-section:before {
    content: "";
    position: absolute;
    width: 390px;
    height: 390px;
    right: -170px;
    top: -230px;
    border-radius: 50%;
    background: rgba(22, 4, 44,.08);
    pointer-events: none;
}

.vs-support-services-section:after {
    content: "";
    position: absolute;
    width: 310px;
    height: 310px;
    left: -170px;
    bottom: -220px;
    border-radius: 50%;
    background: rgba(74, 20, 124,.07);
    pointer-events: none;
}

.vs-support-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background:
        linear-gradient(145deg,transparent 0 46%,rgba(22, 4, 44,.025) 46% 48%,transparent 48%),
        linear-gradient(35deg,transparent 0 66%,rgba(74, 20, 124,.025) 66% 68%,transparent 68%);
}

.vs-support-heading {
    position: relative;
    z-index: 2;
}

.vs-support-all-btn {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid #cbd9f3;
    border-radius: 8px;
    background: rgba(255,255,255,.86);
    color: #16042C !important;
    font-size: 10px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
    transition: .2s ease;
}

.vs-support-all-btn:hover {
    background: #16042C;
    border-color: #16042C;
    color: #fff !important;
    transform: translateY(-1px);
}

.vs-support-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
}

.vs-support-card {
    position: relative;
    min-width: 0;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    padding: 17px;
    box-sizing: border-box;
    overflow: hidden;

    border: 1px solid #e0e7f2;
    border-radius: 11px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 4px 15px rgba(25,55,105,.045);

    text-decoration: none !important;
    transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.vs-support-card:hover {
    transform: translateY(-3px);
    border-color: #bfd1f4;
    box-shadow: 0 12px 26px rgba(25,55,105,.10);
}

.vs-support-card:after {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    right: -45px;
    top: -50px;
    border-radius: 50%;
    background: rgba(22, 4, 44,.055);
}

.vs-support-icon {
    position: relative;
    z-index: 1;
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    border-radius: 10px;
    background: #F4ECFA;
    color: #16042C;
    font-size: 15px;
}

.vs-support-card:nth-child(3n+2) .vs-support-icon {
    background: #f1edff;
    color: #7055e7;
}

.vs-support-card:nth-child(3n+3) .vs-support-icon {
    background: #eafaf5;
    color: #10a77b;
}

.vs-support-card:nth-child(4n+4) .vs-support-icon {
    background: #fff4e8;
    color: #f28a25;
}

.vs-support-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 5px;
    color: var(--vs-text);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
}

.vs-support-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--vs-muted);
    font-size: 10px;
    line-height: 1.5;
}

.vs-support-link {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: auto;
    padding-top: 10px;
    color: #16042C;
    font-size: 9px;
    font-weight: 600;
}

/* ============================================================
   HELP + ACCOUNT CARDS
   ============================================================ */

.vs-action-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 12px;
    width: 100%;
}

.vs-action-card {
    position: relative;
    min-width: 0;
    min-height: 145px;
    display: flex;
    flex-direction: column;
    padding: 17px;
    box-sizing: border-box;
    overflow: hidden;

    background: #fff;
    border: 1px solid var(--vs-border);
    border-radius: 11px;
    box-shadow: 0 3px 12px rgba(30,55,100,.035);

    text-decoration: none !important;
    transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.vs-action-card:hover {
    transform: translateY(-3px);
    border-color: #c8d7f3;
    box-shadow: 0 10px 24px rgba(25,55,105,.09);
}

.vs-action-card:after {
    content: "";
    position: absolute;
    width: 92px;
    height: 92px;
    right: -44px;
    top: -44px;
    border-radius: 50%;
    background: rgba(22, 4, 44,.045);
}

.vs-action-icon {
    position: relative;
    z-index: 1;
    width: 39px;
    height: 39px;
    min-width: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    border-radius: 10px;
    background: #F4ECFA;
    color: #16042C;
    font-size: 16px;
}

.vs-action-card:nth-child(5n+2) .vs-action-icon {
    background: #eafaf5;
    color: #10a77b;
}

.vs-action-card:nth-child(5n+3) .vs-action-icon {
    background: #fff4e8;
    color: #f28a25;
}

.vs-action-card:nth-child(5n+4) .vs-action-icon {
    background: #f1edff;
    color: #7055e7;
}

.vs-action-card:nth-child(5n+5) .vs-action-icon {
    background: #fff0f4;
    color: #e83d69;
}

.vs-action-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 5px;
    color: var(--vs-text);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
}

.vs-action-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--vs-muted);
    font-size: 10px;
    line-height: 1.5;
}

.vs-action-arrow {
    position: relative;
    z-index: 2;
    width: 28px;
    height: 28px;
    min-width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    margin-left: auto;
    border-radius: 50%;
    background: #F4ECFA;
    color: #16042C;
    font-size: 10px;
}

.vs-account-card {
    min-height: 140px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1199px) {
    .vs-home {
        padding-left: 20px;
        padding-right: 20px;
    }

    .vs-support-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .vs-action-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 767px) {
    .vs-home {
        width: 100%;
        margin-left: 0;
        padding: 14px;
    }

    .vs-home-section {
        padding: 16px;
        margin-bottom: 16px;
        border-radius: 12px;
    }

    .vs-section-heading {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .vs-section-heading h2 {
        font-size: 18px;
    }

    .vs-support-all-btn {
        width: 100%;
        margin-left: 54px;
    }

    .vs-support-grid,
    .vs-action-grid {
        grid-template-columns: 1fr;
    }

    .vs-support-card,
    .vs-action-card {
        min-height: 145px;
    }
}
section#main-body {
    padding: 0 !important;
}

/* =========================================================
   VSUPPORT HOMEPAGE
   ========================================================= */

.vs-homepage-shell {
    width: 100%;
    padding: 0 0 40px;
}


/* =========================================================
   STATISTICS
   ========================================================= */



.vs-stat-card {
    min-height: 92px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;

    background: #ffffff;
    border: 1px solid #e8edf5;
    border-radius: 14px;

    text-decoration: none !important;

    box-shadow: 0 4px 18px rgba(30, 64, 175, 0.04);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.vs-stat-card:hover {
    transform: translateY(-2px);
    border-color: #cbd8f5;
    box-shadow: 0 10px 28px rgba(30, 64, 175, 0.09);
}


.vs-stat-icon {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    font-size: 17px;
}


.vs-stat-icon.vs-blue {
    background: #edf4ff;
    color: #16042C;
}

.vs-stat-icon.vs-green {
    background: #edfdf5;
    color: #16a34a;
}

.vs-stat-icon.vs-purple {
    background: #f3efff;
    color: #4A147C;
}

.vs-stat-icon.vs-orange {
    background: #fff6e9;
    color: #ea580c;
}


.vs-stat-content {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
}


.vs-stat-number {
    color: #172033;
    font-size: 23px;
    line-height: 1.1;
    font-weight: 700;
}


.vs-stat-label {
    margin-top: 5px;

    color: #718096;
    font-size: 12px;
    font-weight: 500;
}


.vs-stat-arrow {
    color: #b5bfce;
    font-size: 11px;
}


/* =========================================================
   ADDON
   ========================================================= */

.vs-addon-html {
    margin-bottom: 18px;
}


/* =========================================================
   ALERT
   ========================================================= */

.vs-alert {
    border-radius: 10px;
    margin-bottom: 20px;
}


/* =========================================================
   SECURITY CARD
   ========================================================= */

.vs-security-card {
    display: flex;
    align-items: center;
    gap: 16px;

    margin-bottom: 22px;
    padding: 20px 22px;

    background: linear-gradient(
        135deg,
        #f3f8ff 0%,
        #ffffff 100%
    );

    border: 1px solid #dce8fb;
    border-radius: 15px;
}


.vs-security-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #e8f1ff;
    color: #16042C;

    font-size: 18px;
}


.vs-security-content {
    flex: 1;
}


.vs-security-content h3 {
    margin: 0 0 4px;

    color: #182337;
    font-size: 15px;
    font-weight: 700;
}


.vs-security-content p {
    margin: 0;

    color: #718096;
    font-size: 12px;
    line-height: 1.6;
}


.vs-security-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    min-height: 38px;
    padding: 0 14px;

    border-radius: 8px;

    background: #16042C;
    color: #ffffff !important;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none !important;
}

.vs-security-btn:hover {
    background: #2A0A52;
}


/* =========================================================
   HOME PANELS
   ========================================================= */

.vs-home-panels {
    width: 100%;
}


.vs-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


.vs-panel-column {
    min-width: 0;
}


.vs-panel {
    margin-bottom: 18px;

    background: #ffffff;

    border: 1px solid #e7ecf3;
    border-radius: 15px;

    overflow: hidden;

    box-shadow: 0 4px 18px rgba(30, 64, 175, 0.035);
}


.vs-panel-header {
    min-height: 62px;
    padding: 14px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    border-bottom: 1px solid #edf0f5;
}


.vs-panel-title {
    display: flex;
    align-items: center;
    gap: 10px;

    color: #172033;

    font-size: 14px;
    font-weight: 700;
}


.vs-panel-icon {
    width: 32px;
    height: 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #edf4ff;
    color: #16042C;

    font-size: 13px;
}


.vs-panel-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 22px;
    height: 22px;

    padding: 0 6px;

    border-radius: 20px;

    background: #edf4ff;
    color: #16042C;

    font-size: 10px;
    font-weight: 700;
}


.vs-panel-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #16042C !important;

    font-size: 11px;
    font-weight: 600;

    text-decoration: none !important;
}


.vs-panel-action:hover {
    color: #2A0A52 !important;
}


.vs-panel-body {
    padding: 18px;

    color: #667085;
    font-size: 13px;
    line-height: 1.7;
}


.vs-panel-links {
    width: 100%;
}


.vs-panel-link {
    min-height: 52px;
    padding: 10px 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    color: #475467 !important;

    border-bottom: 1px solid #f0f2f5;

    text-decoration: none !important;

    transition:
        background .15s ease,
        color .15s ease;
}


.vs-panel-link:last-child {
    border-bottom: 0;
}


.vs-panel-link:hover,
.vs-panel-link.active {
    background: #FAF7FC;
    color: #16042C !important;
}


.vs-panel-link-left {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 10px;

    font-size: 12px;
    font-weight: 500;
}


.vs-child-icon {
    width: 28px;
    height: 28px;

    flex: 0 0 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    background: #f4f7fb;
    color: #64748b;

    font-size: 11px;
}


.vs-panel-link:hover .vs-child-icon,
.vs-panel-link.active .vs-child-icon {
    background: #edf4ff;
    color: #16042C;
}


.vs-child-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 20px;
    height: 20px;

    padding: 0 6px;

    border-radius: 20px;

    background: #f2f4f7;
    color: #667085;

    font-size: 10px;
}


.vs-child-arrow {
    color: #b6bfcc;
    font-size: 9px;
}


.vs-panel-footer {
    padding: 14px 18px;

    border-top: 1px solid #edf0f5;

    color: #667085;
    font-size: 12px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199px) {

    .vs-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    .vs-panel-grid {
        grid-template-columns: 1fr;
    }

    .vs-security-card {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .vs-security-content {
        min-width: calc(100% - 70px);
    }

    .vs-security-btn {
        margin-left: 64px;
    }

}


@media (max-width: 575px) {

    .vs-stat-grid {
        grid-template-columns: 1fr;
    }

    .vs-stat-card {
        min-height: 82px;
    }

    .vs-security-card {
        padding: 16px;
    }

    .vs-security-content {
        min-width: 0;
    }

    .vs-security-btn {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }

    .vs-panel-header {
        padding: 13px 14px;
    }

    .vs-panel-link {
        padding: 10px 13px;
    }

}/* =========================================================
   FULL WIDTH CLIENT AREA
   Navbar + Body + Footer
   ========================================================= */

/* Main WHMCS page wrapper */
#main-body,
section#main-body {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box;

    /* One continuous background for sidebar + content */
    background:
        radial-gradient(
            700px circle at 5% 0%,
            rgba(22, 4, 44, 0.08),
            transparent 60%
        ),
        radial-gradient(
            600px circle at 95% 5%,
            rgba(96, 165, 250, 0.06),
            transparent 60%
        ),
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #f5f8fd 50%,
            #f3f6fb 100%
        ) !important;
}


/* Remove Bootstrap container limitation */
#main-body > .container,
section#main-body > .container,
#main-body .container,
section#main-body .container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Main row uses the complete available width without changing
   Bootstrap/WHMCS column sizing. */
#main-body > .container > .row,
section#main-body > .container > .row {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

#main-body .sidebar,
#main-body .client-sidebar,
#main-body [class*="sidebar"] {
    box-sizing: border-box;
}


/* =========================================================
   MAIN CONTENT COLUMN
   ========================================================= */

#main-body .main-content,
#main-body .col-md-9,
#main-body .col-lg-9,
#main-body .col-xl-9 {
    box-sizing: border-box;
}


/* =========================================================
   HOMEPAGE
   ========================================================= */

.vs-homepage-shell {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box;

    padding: 28px 32px 50px;

    min-height: 100%;

    /* The page background belongs to #main-body.
       Keep the homepage transparent so sidebar + content share it. */
    background: transparent !important;
}


/* =========================================================
   MAKE CONTENT COLUMN USE ALL REMAINING WIDTH
   ========================================================= */

.vs-homepage-shell {
    flex: 1 1 auto;
}


/* =========================================================
   STATISTICS
   ========================================================= */

.vs-stat-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 0 24px !important;
}

.vs-stat-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}


.vs-stat-card {
    min-width: 0;
    min-height: 100px;

    padding: 19px;

    display: flex;
    align-items: center;

    gap: 15px;

    background: #ffffff;

    border: 1px solid #e5ebf4;

    border-radius: 16px;

    box-shadow:
        0 5px 20px rgba(30, 64, 175, .045);

    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


.vs-stat-card:hover {
    transform: translateY(-3px);

    border-color: #cfdbef;

    box-shadow:
        0 12px 30px rgba(30, 64, 175, .085);
}


.vs-stat-icon {
    width: 50px;
    height: 50px;

    flex: 0 0 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    font-size: 17px;
}


.vs-stat-icon.vs-blue {
    color: #16042C;
    background: #edf4ff;
}

.vs-stat-icon.vs-green {
    color: #16a34a;
    background: #ecfdf3;
}

.vs-stat-icon.vs-purple {
    color: #4A147C;
    background: #f3efff;
}

.vs-stat-icon.vs-orange {
    color: #ea580c;
    background: #fff5e8;
}


.vs-stat-content {
    min-width: 0;
    flex: 1;

    display: flex;
    flex-direction: column;
}


.vs-stat-number {
    color: #172033;

    font-size: 24px;
    font-weight: 700;
}


.vs-stat-label {
    margin-top: 5px;

    color: #718096;

    font-size: 12px;
    font-weight: 500;
}


.vs-stat-arrow {
    color: #b8c2d1;
    font-size: 10px;
}


/* =========================================================
   SECURITY
   ========================================================= */

.vs-security-card {
    width: 100% !important;

    box-sizing: border-box;

    margin-bottom: 24px;

    padding: 21px 23px;

    display: flex;
    align-items: center;

    gap: 17px;

    background:
        linear-gradient(
            135deg,
            #eef5ff,
            #ffffff
        );

    border: 1px solid #dce8fa;

    border-radius: 16px;
}


.vs-security-icon {
    width: 50px;
    height: 50px;

    flex: 0 0 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #e6f0ff;

    color: #16042C;

    font-size: 18px;
}


.vs-security-content {
    flex: 1;
}


.vs-security-content h3 {
    margin: 0 0 5px;

    color: #f8fafc;

    font-size: 15px;
    font-weight: 700;
}


.vs-security-content p {
    margin: 0;

    color: #718096;

    font-size: 12px;
}


.vs-security-btn {
    min-height: 39px;

    padding: 0 16px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    background: #16042C;

    border-radius: 8px;

    color: #ffffff !important;

    font-size: 11px;
    font-weight: 600;

    text-decoration: none !important;
}


/* =========================================================
   PANELS
   ========================================================= */

.vs-home-panels {
    width: 100% !important;
}


.vs-panel-grid {
    width: 100% !important;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}


.vs-panel-column {
    min-width: 0;
}


.vs-panel {
    width: 100% !important;

    margin-bottom: 20px;

    background: #ffffff;

    border: 1px solid #e5eaf2;

    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 5px 20px rgba(30, 64, 175, .04);
}


.vs-panel-header {
    min-height: 62px;

    padding: 14px 19px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #edf0f5;
}


.vs-panel-title {
    display: flex;
    align-items: center;

    gap: 10px;

    color: #172033;

    font-size: 14px;
    font-weight: 700;
}


.vs-panel-icon {
    width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #edf4ff;

    color: #16042C;

    font-size: 12px;
}


.vs-panel-action {
    color: #16042C !important;

    font-size: 11px;
    font-weight: 600;

    text-decoration: none !important;
}


.vs-panel-body {
    padding: 20px;

    color: #667085;

    font-size: 12px;

    line-height: 1.7;
}


.vs-panel-links {
    width: 100%;
}


.vs-panel-link {
    width: 100%;
    box-sizing: border-box;

    min-height: 52px;

    padding: 10px 17px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #ffffff;

    border-bottom: 1px solid #f0f2f5;

    color: #475467 !important;

    text-decoration: none !important;

    transition: background .18s ease;
}


.vs-panel-link:last-child {
    border-bottom: 0;
}


.vs-panel-link:hover,
.vs-panel-link.active {
    background: #FAF7FC;

    color: #16042C !important;
}


.vs-panel-link-left {
    display: flex;
    align-items: center;

    gap: 10px;

    font-size: 12px;
}


.vs-child-icon {
    width: 29px;
    height: 29px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f4f7fb;

    color: #64748b;

    font-size: 10px;
}


/* =========================================================
   NAVBAR FULL WIDTH
   ========================================================= */

.vs-header,
.vs-navbar,
.vs-secondary-navbar {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


.vs-navbar-container,
.vs-secondary-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


/* =========================================================
   FOOTER FULL WIDTH
   ========================================================= */

footer,
#footer,
.footer {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


footer .container,
#footer .container,
.footer .container {
    width: 100% !important;
    max-width: none !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199px) {

    .vs-stat-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    .vs-panel-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767px) {

    .vs-homepage-shell {
        padding: 20px 18px 35px;
    }

    .vs-stat-grid {
        grid-template-columns: 1fr;
    }

    .vs-security-card {
        flex-wrap: wrap;
    }

    .vs-security-content {
        min-width: 0;
    }

    .vs-security-btn {
        width: 100%;
    }

}


@media (max-width: 575px) {

    .vs-homepage-shell {
        padding-left: 12px;
        padding-right: 12px;
    }

}/* =========================================================
   MAIN CLIENT AREA BACKGROUND
   ========================================================= */

/* The same background must remain visible behind the default WHMCS sidebar
   and the homepage content. Do not create a second background on the
   homepage itself. */
#main-body,
section#main-body,
#main-body > .container,
section#main-body > .container,
#main-body > .container > .row,
section#main-body > .container > .row {
    background: transparent;
}

/* Restore the single background on the actual WHMCS body wrapper. */
#main-body,
section#main-body {
    background:
        radial-gradient(
            700px circle at 5% 0%,
            rgba(22, 4, 44, 0.08),
            transparent 60%
        ),
        radial-gradient(
            600px circle at 95% 5%,
            rgba(96, 165, 250, 0.06),
            transparent 60%
        ),
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #f5f8fd 50%,
            #f3f6fb 100%
        ) !important;
}

/* Keep the homepage transparent over the main body background. */
.vs-homepage-shell {
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    box-sizing: border-box;
    padding: 30px 32px 50px;
    background: transparent !important;
}

/* Default WHMCS sidebar: keep it visible and let it share the same
   page background. No custom sidebar is created here. */
#main-body .sidebar,
#main-body .client-sidebar,
#main-body [class*="sidebar"] {
    background: transparent !important;
    box-shadow: none;
}

/* Make sure normal WHMCS content columns do not get a fixed/max width. */
#main-body .main-content,
#main-body .col-md-9,
#main-body .col-lg-9,
#main-body .col-xl-9 {
    max-width: none;
    box-sizing: border-box;
}

/* Full-width Bootstrap containers inside the client-area body. */
#main-body > .container,
section#main-body > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Keep the default WHMCS sidebar/content grid intact. */
#main-body > .container > .row,
section#main-body > .container > .row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* =========================================================
   END
   =========================================================
*/
/* =========================================================
   VSUPPORT24X7 LIGHT SIDEBAR
   ========================================================= */

.vs-sidebar-card {
    width: 100%;
    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e4eaf3;

    border-radius: 16px;

    box-shadow:
        0 6px 24px rgba(30, 64, 175, 0.06);

    color: #172033;
}


/* =========================================================
   HEADER
   ========================================================= */

.vs-sidebar-header {
    min-height: 62px;

    padding: 13px 16px;

    display: flex;
    align-items: center;

    background: #ffffff;

    border-bottom: 1px solid #edf1f6;
}


.vs-sidebar-title {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 10px;

    color: #172033;

    font-size: 13px;
    font-weight: 700;
}


.vs-sidebar-title-icon {
    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #edf4ff;

    color: #16042C;

    font-size: 12px;
}


.vs-sidebar-title-text {
    flex: 1;

    min-width: 0;

    overflow: hidden;

    text-overflow: ellipsis;
}


.vs-sidebar-badge {
    min-width: 21px;
    height: 21px;

    padding: 0 6px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background: #edf4ff;

    color: #16042C;

    font-size: 10px;
    font-weight: 700;
}


.vs-sidebar-chevron {
    margin-left: auto;

    color: #94a3b8;

    font-size: 10px;

    cursor: pointer;

    transition: transform .2s ease;
}


/* =========================================================
   BODY
   ========================================================= */

.vs-sidebar-body {
    background: #ffffff;
}


.vs-sidebar-content {
    padding: 16px;

    color: #667085;

    font-size: 12px;

    line-height: 1.7;
}


/* =========================================================
   MENU
   ========================================================= */

.vs-sidebar-menu {
    background: #ffffff !important;
}


.vs-sidebar-menu-item {
    position: relative;

    width: 100%;

    min-height: 50px;

    padding: 8px 14px !important;

    display: flex !important;
    align-items: center;

    border: 0 !important;
    border-bottom: 1px solid #f0f3f7 !important;

    background: #ffffff !important;

    color: #667085 !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        color .2s ease;
}


.vs-sidebar-menu-item:last-child {
    border-bottom: 0 !important;
}


/* Hover */

.vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;

    color: #16042C !important;
}


/* Active */

.vs-sidebar-menu-item.active {
    background:
        linear-gradient(
            90deg,
            #eef5ff 0%,
            #FAF7FC 100%
        ) !important;

    color: #16042C !important;
}


/* Active blue line */

.vs-sidebar-menu-item.active::before {
    content: "";

    position: absolute;

    left: 0;
    top: 9px;
    bottom: 9px;

    width: 3px;

    border-radius: 0 5px 5px 0;

    background: #16042C;
}


/* =========================================================
   MENU INNER
   ========================================================= */

.vs-sidebar-menu-inner {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 11px;
}


.vs-sidebar-icon {
    width: 31px;
    height: 31px;

    flex: 0 0 31px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f4f7fb;

    color: #64748b;

    font-size: 11px;

    transition:
        background .2s ease,
        color .2s ease;
}


/* Hover icon */

.vs-sidebar-menu-item:hover .vs-sidebar-icon {
    background: #edf4ff;

    color: #16042C;
}


/* Active icon */

.vs-sidebar-menu-item.active .vs-sidebar-icon {
    background: #e5efff;

    color: #16042C;
}


/* Label */

.vs-sidebar-label {
    min-width: 0;

    flex: 1;

    color: inherit;

    font-size: 12px;
    font-weight: 500;

    line-height: 1.4;
}


.vs-sidebar-menu-item.active .vs-sidebar-label {
    font-weight: 600;
}


/* =========================================================
   BADGES
   ========================================================= */

.vs-sidebar-item-badge {
    margin-left: auto;
}


.vs-sidebar-item-badge span {
    min-width: 20px;
    height: 20px;

    padding: 0 6px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background: #f1f5f9;

    color: #64748b;

    font-size: 9px;
    font-weight: 700;
}


.vs-sidebar-menu-item.active .vs-sidebar-item-badge span {
    background: #dceaff;

    color: #16042C;
}


/* =========================================================
   RIGHT ARROW
   ========================================================= */

.vs-sidebar-arrow {
    width: 18px;

    text-align: right;

    color: #c0cad8;

    font-size: 8px;

    transition:
        transform .2s ease,
        color .2s ease;
}


.vs-sidebar-menu-item:hover .vs-sidebar-arrow {
    color: #16042C;

    transform: translateX(2px);
}


.vs-sidebar-menu-item.active .vs-sidebar-arrow {
    color: #16042C;
}


/* =========================================================
   FOOTER
   ========================================================= */

.vs-sidebar-footer {
    padding: 13px 16px;

    background: #fafcff;

    border-top: 1px solid #edf1f6;

    color: #718096;

    font-size: 11px;
}


/* =========================================================
   STATIC ITEMS
   ========================================================= */

.vs-sidebar-static-item {
    cursor: default;
}


/* =========================================================
   MOBILE
   ========================================================= */

.vs-sidebar-mobile {
    width: 100%;

    margin-bottom: 15px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e4eaf3;

    border-radius: 14px;

    box-shadow:
        0 6px 20px rgba(30, 64, 175, 0.06);
}


.vs-sidebar-mobile-body {
    padding: 14px;
}


.vs-sidebar-select {
    height: 44px !important;

    background: #ffffff !important;

    border: 1px solid #dbe3ef !important;

    border-radius: 9px !important;

    color: #344054 !important;

    font-size: 12px !important;
}


.vs-sidebar-select:focus {
    border-color: #70a1f8 !important;

    box-shadow:
        0 0 0 3px rgba(22, 4, 44, 0.10) !important;
}


/* =========================================================
   COLLAPSE
   ========================================================= */

.vs-sidebar-card.collapsed .vs-sidebar-chevron {
    transform: rotate(180deg);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767px) {

    .vs-sidebar-card {
        border-radius: 13px;
    }

    .vs-sidebar-header {
        min-height: 56px;

        padding: 11px 13px;
    }

    .vs-sidebar-menu-item {
        min-height: 48px;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }

}/* =========================================================
   SIDEBAR CARD - PURE WHITE BACKGROUND
   ========================================================= */

.vs-sidebar-card,
.vs-sidebar-card .vs-sidebar-header,
.vs-sidebar-card .vs-sidebar-body,
.vs-sidebar-card .vs-sidebar-menu,
.vs-sidebar-card .vs-sidebar-menu-item {
    background: #ffffff !important;
}


/* Keep sidebar card clean and premium */
.vs-sidebar-card {
    border: 1px solid #e4eaf3 !important;
    border-radius: 16px !important;

    box-shadow:
        0 6px 24px rgba(30, 64, 175, 0.06) !important;
}


/* Header */
.vs-sidebar-card .vs-sidebar-header {
    background: #ffffff !important;
    border-bottom: 1px solid #edf1f6 !important;
}


/* Menu items */
.vs-sidebar-card .vs-sidebar-menu-item {
    background: #ffffff !important;
    color: #667085 !important;
}


/* Hover */
.vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}


/* Active */
.vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}


/* Footer */
.vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

.vs-sidebar-card {
    margin-top: 24px !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
}
.vs-sidebar-body {
    padding: 12px 16px !important;
}/* =========================================================
   VSUPPORT24X7 - GLOBAL TYPOGRAPHY
   ========================================================= */

body {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 400;
    letter-spacing: -0.01em;
}


/* =========================================================
   HEADINGS
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 700;
    letter-spacing: -0.025em;
}


/* =========================================================
   CARDS / CONTENT
   ========================================================= */

.vs-sidebar-title,
.vs-stat-card,
.vs-panel,
.vs-security-card {
    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   FRONTEND-STYLE NAVIGATION
   Equivalent to:
   .text-ink-700
   .font-medium
   ========================================================= */

.vs-navbar,
.vs-navbar a,
.vs-navbar .nav-link,
.vs-secondary-navbar,
.vs-secondary-navbar a,
.vs-sidebar-card .vs-sidebar-menu-item,
.vs-sidebar-card .vs-sidebar-label {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 500 !important;
    color: #344054 !important;
}


/* =========================================================
   NAVIGATION HOVER
   ========================================================= */

.vs-navbar a:hover,
.vs-navbar .nav-link:hover,
.vs-secondary-navbar a:hover,
.vs-sidebar-card .vs-sidebar-menu-item:hover {
    color: #16042C !important;
}


/* =========================================================
   ACTIVE SIDEBAR ITEM
   ========================================================= */

.vs-sidebar-card .vs-sidebar-menu-item.active,
.vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-label {
    font-weight: 600 !important;
    color: #16042C !important;
}


/* =========================================================
   SIDEBAR TITLE
   ========================================================= */

.vs-sidebar-title {
    font-weight: 600 !important;
    color: #172033 !important;
    letter-spacing: -0.015em;
}


/* =========================================================
   STAT CARD / PANEL TITLES
   ========================================================= */

.vs-stat-card h1,
.vs-stat-card h2,
.vs-stat-card h3,
.vs-stat-card h4,
.vs-stat-card h5,
.vs-stat-card h6,
.vs-panel h1,
.vs-panel h2,
.vs-panel h3,
.vs-panel h4,
.vs-panel h5,
.vs-panel h6 {
    font-weight: 600 !important;
    letter-spacing: -0.02em;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.vs-navbar a,
.vs-secondary-navbar a,
.vs-sidebar-card a,
button,
.btn {
    font-family: 'Manrope', sans-serif !important;
}

/* =========================================================
   VSUPPORT24X7 - FINAL UI / TYPOGRAPHY / RESPONSIVE OVERRIDES
   Added without removing or replacing the original CSS above.
   ========================================================= */

/* ---------- Font ---------- */
body {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em;
}

/* Font Awesome
   Do not override the icon font here.
   WHMCS loads and assigns the correct Font Awesome families
   from head.tpl. Overriding them causes missing-glyph squares. */

/* ---------- Headings ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em;
}

/* ---------- Frontend-style navigation ---------- */
.vs-navbar,
.vs-navbar a,
.vs-navbar .nav-link,
.vs-secondary-navbar,
.vs-secondary-navbar a,
.vs-sidebar-card .vs-sidebar-menu-item,
.vs-sidebar-card .vs-sidebar-label {
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #344054 !important;
}

.vs-navbar a:hover,
.vs-navbar .nav-link:hover,
.vs-secondary-navbar a:hover,
.vs-sidebar-card .vs-sidebar-menu-item:hover {
    color: #16042C !important;
}

/* ---------- Main body ---------- */
html,
body,
#main-body,
section#main-body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}

#main-body,
section#main-body {
    box-sizing: border-box;
    background:
        radial-gradient(
            700px circle at 5% 0%,
            rgba(22, 4, 44, 0.08),
            transparent 60%
        ),
        radial-gradient(
            600px circle at 95% 5%,
            rgba(96, 165, 250, 0.06),
            transparent 60%
        ),
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #f5f8fd 50%,
            #f3f6fb 100%
        ) !important;
}

/* ---------- Full-width header/footer ---------- */
.vs-header,
.vs-navbar,
.vs-navbar-container,
.vs-secondary-navbar,
.vs-secondary-container,
footer,
#footer,
.footer {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.vs-navbar-container,
.vs-secondary-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

/* ---------- Homepage ---------- */
.vs-homepage-shell {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    background: transparent !important;
}

/* ---------- Sidebar ---------- */
.vs-sidebar-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 24px !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    background: #ffffff !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 24px rgba(30, 64, 175, 0.06) !important;
}

.vs-sidebar-card .vs-sidebar-header,
.vs-sidebar-card .vs-sidebar-body,
.vs-sidebar-card .vs-sidebar-menu,
.vs-sidebar-card .vs-sidebar-menu-item,
.vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

.vs-sidebar-title {
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #172033 !important;
    letter-spacing: -0.015em;
}

.vs-sidebar-menu-item {
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #344054 !important;
}

.vs-sidebar-label {
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.vs-sidebar-menu-item.active,
.vs-sidebar-menu-item.active .vs-sidebar-label {
    color: #16042C !important;
    font-weight: 600 !important;
}

.vs-sidebar-content {
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
}

.vs-sidebar-footer {
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
}

/* ---------- Cards / panels ---------- */
.vs-stat-card,
.vs-panel,
.vs-security-card {
    font-family: 'Manrope', sans-serif !important;
}

.vs-stat-number {
    font-size: 28px !important;
    font-weight: 700 !important;
}

.vs-stat-label {
    font-size: 14px !important;
    font-weight: 500 !important;
}

.vs-panel-title {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.vs-panel-body {
    font-size: 14px !important;
}

.vs-security-content h3 {
    font-size: 17px !important;
}

.vs-security-content p {
    font-size: 14px !important;
}

/* ---------- Logo ---------- */
.vs-navbar-brand img,
.vs-navbar .navbar-brand img {
    max-width: 120px;
    max-height: 30px;
    width: auto;
    height: auto;
}

/* ---------- Footer ---------- */
footer,
#footer,
.footer {
    background: #0b1630 !important;
}

footer .container,
#footer .container,
.footer .container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* ---------- Responsive media ---------- */
img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img {
    height: auto;
}

.table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1199.98px) {
    .vs-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .vs-navbar-container,
    .vs-secondary-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 991.98px) {
    .vs-panel-grid {
        grid-template-columns: 1fr !important;
    }

    .vs-homepage-shell {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .vs-sidebar-card {
        margin-left: 10px !important;
        margin-right: 10px !important;
        margin-top: 20px !important;
    }

    .vs-navbar-container,
    .vs-secondary-container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
    html,
    body {
        overflow-x: hidden !important;
    }

    #main-body,
    section#main-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .vs-homepage-shell {
        width: 100% !important;
        padding: 18px 14px 32px !important;
    }

    .vs-navbar-container,
    .vs-secondary-container {
        width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .vs-sidebar-card {
        width: 100% !important;
        margin-top: 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 14px !important;
    }

    .vs-sidebar-title {
        font-size: 14px !important;
    }

    .vs-sidebar-menu-item,
    .vs-sidebar-label {
        font-size: 13px !important;
    }

    .vs-stat-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .vs-panel-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .vs-stat-card,
    .vs-panel,
    .vs-security-card {
        width: 100% !important;
        max-width: 100% !important;
    }

    .vs-security-card {
        flex-wrap: wrap;
    }

    footer .container,
    #footer .container,
    .footer .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */
@media (max-width: 480px) {
    .vs-homepage-shell {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .vs-navbar-container,
    .vs-secondary-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .vs-sidebar-card {
        border-radius: 12px !important;
    }

    .vs-stat-grid,
    .vs-panel-grid {
        gap: 10px !important;
    }

    footer .container,
    #footer .container,
    .footer .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* =========================================================
   NAVBAR MENU — MATCH FRONTEND MENU STYLE
   Equivalent to:
   px-3 py-2 text-sm font-medium text-ink-700
   hover:text-brand-600 rounded-md
   ========================================================= */

.vs-navbar a,
.vs-navbar .nav-link,
.vs-navbar .navbar-nav > li > a {
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #344054 !important;

    padding: 8px 12px !important;
    border-radius: 6px !important;

    line-height: 20px !important;
    text-decoration: none !important;

    transition:
        color 0.2s ease,
        background-color 0.2s ease !important;
}

/* Hover */
.vs-navbar a:hover,
.vs-navbar .nav-link:hover,
.vs-navbar .navbar-nav > li > a:hover {
    color: #16042C !important;
    background: transparent !important;
}

/* Active menu */
.vs-navbar .active > a,
.vs-navbar .nav-link.active,
.vs-navbar .navbar-nav > li.active > a {
    color: #16042C !important;
    font-weight: 600 !important;
}

/* Dropdown arrow/icon */
.vs-navbar .dropdown-toggle::after {
    vertical-align: middle;
    margin-left: 5px;
}
/* Hide Order New Services */
.vs-sidebar-card a[href*="cart.php"] {
    display: none !important;
}

/* Hide Register a New Domain */
.vs-sidebar-card a[href*="domain"] {
    display: none !important;
}
/* =========================================================
   VNET / VSUPPORT24X7
   DARK THEME — ONLY:
   • My Products / Services
   • My Domains
   • My Tickets
   • My Invoices

   IMPORTANT:
   This file does NOT make the entire WHMCS client area dark.
   It detects the specific page by its WHMCS table.
   ========================================================= */


/* =========================================================
   1. PAGE DETECTION
   ========================================================= */

body:has(#tableServicesList),
body:has(#tableDomainsList),
body:has(#tableDomainList),
body:has(#tableDomains),
body:has(#tableTicketsList),
body:has(#tableTickets),
body:has(#tableInvoicesList),
body:has(#tableInvoices) {
    background: #16042B!important;
}


/* Main body ONLY on these four pages */
body:has(#tableServicesList) #main-body,
body:has(#tableServicesList) section#main-body,

body:has(#tableDomainsList) #main-body,
body:has(#tableDomainsList) section#main-body,

body:has(#tableDomainList) #main-body,
body:has(#tableDomainList) section#main-body,

body:has(#tableDomains) #main-body,
body:has(#tableDomains) section#main-body,

body:has(#tableTicketsList) #main-body,
body:has(#tableTicketsList) section#main-body,

body:has(#tableTickets) #main-body,
body:has(#tableTickets) section#main-body,

body:has(#tableInvoicesList) #main-body,
body:has(#tableInvoicesList) section#main-body,

body:has(#tableInvoices) #main-body,
body:has(#tableInvoices) section#main-body {
    background: #16042B !important;
    color: #CBD5E1 !important;
}


/* Keep the normal navbar/header/footer unchanged */
body:has(#tableServicesList) .vs-navbar,
body:has(#tableDomainsList) .vs-navbar,
body:has(#tableTicketsList) .vs-navbar,
body:has(#tableInvoicesList) .vs-navbar {
    background: inherit;
}


/* =========================================================
   2. COMMON CARD / PANEL
   ONLY THESE FOUR PAGES
   ========================================================= */

body:has(#tableServicesList) .card,
body:has(#tableServicesList) .panel,
body:has(#tableDomainsList) .card,
body:has(#tableDomainsList) .panel,
body:has(#tableTicketsList) .card,
body:has(#tableTicketsList) .panel,
body:has(#tableInvoicesList) .card,
body:has(#tableInvoicesList) .panel {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border: 1px solid #24324A !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 35px rgba(0,0,0,.20) !important;
}

body:has(#tableServicesList) .card-header,
body:has(#tableServicesList) .panel-heading,
body:has(#tableDomainsList) .card-header,
body:has(#tableDomainsList) .panel-heading,
body:has(#tableTicketsList) .card-header,
body:has(#tableTicketsList) .panel-heading,
body:has(#tableInvoicesList) .card-header,
body:has(#tableInvoicesList) .panel-heading {
    background: #162238 !important;
    color: #F8FAFC !important;
    border-color: #26354D !important;
}

body:has(#tableServicesList) .card-body,
body:has(#tableServicesList) .panel-body,
body:has(#tableDomainsList) .card-body,
body:has(#tableDomainsList) .panel-body,
body:has(#tableTicketsList) .card-body,
body:has(#tableTicketsList) .panel-body,
body:has(#tableInvoicesList) .card-body,
body:has(#tableInvoicesList) .panel-body {
    background: #111C31 !important;
    color: #CBD5E1 !important;
}


/* =========================================================
   3. SERVICES / MY PRODUCTS
   ========================================================= */

body:has(#tableServicesList) .vs-services-page {
    width: 100%;
    margin: 24px 0;
    background: transparent !important;
}

body:has(#tableServicesList) #tableServicesList {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #111C31 !important;
    border: 1px solid #24324A !important;
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
}

body:has(#tableServicesList) #tableServicesList thead,
body:has(#tableServicesList) #tableServicesList thead tr,
body:has(#tableServicesList) #tableServicesList thead th {
    background: #162238 !important;
}

body:has(#tableServicesList) #tableServicesList thead th {
    padding: 16px 18px !important;
    color: #94A3B8 !important;
    border: 0 !important;
    border-bottom: 1px solid #26354D !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}

body:has(#tableServicesList) #tableServicesList tbody,
body:has(#tableServicesList) #tableServicesList tbody tr,
body:has(#tableServicesList) #tableServicesList tbody td {
    background: #111C31 !important;
}

body:has(#tableServicesList) #tableServicesList tbody td {
    padding: 18px !important;
    color: #CBD5E1 !important;
    border: 0 !important;
    border-bottom: 1px solid #202D43 !important;
    font-size: 14px !important;
}

body:has(#tableServicesList) #tableServicesList tbody tr:hover td {
    background: #16243A !important;
    color: #F8FAFC !important;
}

body:has(#tableServicesList) .vs-service-product {
    color: #F8FAFC !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body:has(#tableServicesList) .vs-service-domain {
    color: #7B4BA8 !important;
    text-decoration: none !important;
}

body:has(#tableServicesList) .vs-service-domain:hover {
    color: #93C5FD !important;
    text-decoration: underline !important;
}

body:has(#tableServicesList) .vs-service-price {
    color: #F8FAFC !important;
    font-weight: 700 !important;
}

body:has(#tableServicesList) .vs-service-price small {
    display: block;
    color: #64748B !important;
    font-size: 11px !important;
}

body:has(#tableServicesList) .vs-service-due-date {
    color: #CBD5E1 !important;
}


/* =========================================================
   4. DOMAINS
   ========================================================= */

body:has(#tableDomainsList) #tableDomainsList,
body:has(#tableDomainList) #tableDomainList,
body:has(#tableDomains) #tableDomains {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border: 1px solid #24324A !important;
    border-radius: 16px !important;
    overflow: hidden;
}

body:has(#tableDomainsList) #tableDomainsList thead,
body:has(#tableDomainList) #tableDomainList thead,
body:has(#tableDomains) #tableDomains thead {
    background: #162238 !important;
}

body:has(#tableDomainsList) #tableDomainsList th,
body:has(#tableDomainList) #tableDomainList th,
body:has(#tableDomains) #tableDomains th {
    background: #162238 !important;
    color: #94A3B8 !important;
    border-bottom: 1px solid #26354D !important;
}

body:has(#tableDomainsList) #tableDomainsList td,
body:has(#tableDomainList) #tableDomainList td,
body:has(#tableDomains) #tableDomains td {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border-bottom: 1px solid #202D43 !important;
}

body:has(#tableDomainsList) #tableDomainsList tr:hover td,
body:has(#tableDomainList) #tableDomainList tr:hover td,
body:has(#tableDomains) #tableDomains tr:hover td {
    background: #16243A !important;
}

body:has(#tableDomainsList) #tableDomainsList a,
body:has(#tableDomainList) #tableDomainList a,
body:has(#tableDomains) #tableDomains a {
    color: #7B4BA8 !important;
}


/* =========================================================
   5. TICKETS
   ========================================================= */

body:has(#tableTicketsList) #tableTicketsList,
body:has(#tableTickets) #tableTickets {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border: 1px solid #24324A !important;
    border-radius: 16px !important;
    overflow: hidden;
}

body:has(#tableTicketsList) #tableTicketsList thead,
body:has(#tableTickets) #tableTickets thead {
    background: #162238 !important;
}

body:has(#tableTicketsList) #tableTicketsList th,
body:has(#tableTickets) #tableTickets th {
    background: #162238 !important;
    color: #94A3B8 !important;
    border-bottom: 1px solid #26354D !important;
}

body:has(#tableTicketsList) #tableTicketsList td,
body:has(#tableTickets) #tableTickets td {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border-bottom: 1px solid #202D43 !important;
}

body:has(#tableTicketsList) #tableTicketsList tr:hover td,
body:has(#tableTickets) #tableTickets tr:hover td {
    background: #16243A !important;
}

body:has(#tableTicketsList) #tableTicketsList a,
body:has(#tableTickets) #tableTickets a {
    color: #7B4BA8 !important;
}


/* Ticket detail */
body:has(#tableTicketsList) .ticket-reply,
body:has(#tableTicketsList) .ticket-replies .reply,
body:has(#tableTicketsList) .ticket-view,
body:has(#tableTickets) .ticket-reply,
body:has(#tableTickets) .ticket-replies .reply,
body:has(#tableTickets) .ticket-view {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border-color: #26354D !important;
}


/* =========================================================
   6. INVOICES
   ========================================================= */

body:has(#tableInvoicesList) #tableInvoicesList,
body:has(#tableInvoices) #tableInvoices {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border: 1px solid #24324A !important;
    border-radius: 16px !important;
    overflow: hidden;
}

body:has(#tableInvoicesList) #tableInvoicesList thead,
body:has(#tableInvoices) #tableInvoices thead {
    background: #162238 !important;
}

body:has(#tableInvoicesList) #tableInvoicesList th,
body:has(#tableInvoices) #tableInvoices th {
    background: #162238 !important;
    color: #94A3B8 !important;
    border-bottom: 1px solid #26354D !important;
}

body:has(#tableInvoicesList) #tableInvoicesList td,
body:has(#tableInvoices) #tableInvoices td {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border-bottom: 1px solid #202D43 !important;
}

body:has(#tableInvoicesList) #tableInvoicesList tr:hover td,
body:has(#tableInvoices) #tableInvoices tr:hover td {
    background: #16243A !important;
}

body:has(#tableInvoicesList) #tableInvoicesList a,
body:has(#tableInvoices) #tableInvoices a {
    color: #7B4BA8 !important;
}


/* Invoice detail */
body:has(#tableInvoicesList) .invoice-summary,
body:has(#tableInvoicesList) .invoice-summary-box,
body:has(#tableInvoicesList) .invoice-container,
body:has(#tableInvoices) .invoice-summary,
body:has(#tableInvoices) .invoice-summary-box,
body:has(#tableInvoices) .invoice-container {
    background: #111C31 !important;
    color: #CBD5E1 !important;
    border: 1px solid #24324A !important;
    border-radius: 16px !important;
}


/* =========================================================
   7. STATUS BADGES
   ========================================================= */

body:has(#tableServicesList) .status,
body:has(#tableDomainsList) .status,
body:has(#tableTicketsList) .status,
body:has(#tableInvoicesList) .status {
    border-radius: 999px !important;
    font-weight: 700 !important;
}

body:has(#tableServicesList) .status-active,
body:has(#tableDomainsList) .status-active,
body:has(#tableTicketsList) .status-active,
body:has(#tableInvoicesList) .status-active {
    background:#16042B !important;
    color: #4ADE80 !important;
    border-color: rgba(74,222,128,.20) !important;
}

body:has(#tableServicesList) .status-pending,
body:has(#tableDomainsList) .status-pending,
body:has(#tableTicketsList) .status-pending,
body:has(#tableInvoicesList) .status-pending {
    background: rgba(245,158,11,.12) !important;
    color: #FBBF24 !important;
}

body:has(#tableServicesList) .status-suspended,
body:has(#tableServicesList) .status-terminated,
body:has(#tableDomainsList) .status-suspended,
body:has(#tableTicketsList) .status-suspended,
body:has(#tableInvoicesList) .status-suspended {
    background: rgba(239,68,68,.12) !important;
    color: #F87171 !important;
}


/* =========================================================
   8. DATATABLES — ONLY THESE PAGES
   ========================================================= */

body:has(#tableServicesList) .dataTables_wrapper,
body:has(#tableDomainsList) .dataTables_wrapper,
body:has(#tableTicketsList) .dataTables_wrapper,
body:has(#tableInvoicesList) .dataTables_wrapper {
    color: #CBD5E1 !important;
}

body:has(#tableServicesList) .dataTables_wrapper input,
body:has(#tableServicesList) .dataTables_wrapper select,
body:has(#tableDomainsList) .dataTables_wrapper input,
body:has(#tableDomainsList) .dataTables_wrapper select,
body:has(#tableTicketsList) .dataTables_wrapper input,
body:has(#tableTicketsList) .dataTables_wrapper select,
body:has(#tableInvoicesList) .dataTables_wrapper input,
body:has(#tableInvoicesList) .dataTables_wrapper select {
    background: #111C31 !important;
    color: #F8FAFC !important;
    border: 1px solid #2A3952 !important;
    border-radius: 8px !important;
}

body:has(#tableServicesList) .dataTables_wrapper .paginate_button,
body:has(#tableDomainsList) .dataTables_wrapper .paginate_button,
body:has(#tableTicketsList) .dataTables_wrapper .paginate_button,
body:has(#tableInvoicesList) .dataTables_wrapper .paginate_button {
    color: #94A3B8 !important;
    background: #111C31 !important;
    border: 1px solid #27364E !important;
    border-radius: 7px !important;
}

body:has(#tableServicesList) .dataTables_wrapper .paginate_button:hover,
body:has(#tableServicesList) .dataTables_wrapper .paginate_button.current,
body:has(#tableDomainsList) .dataTables_wrapper .paginate_button:hover,
body:has(#tableDomainsList) .dataTables_wrapper .paginate_button.current,
body:has(#tableTicketsList) .dataTables_wrapper .paginate_button:hover,
body:has(#tableTicketsList) .dataTables_wrapper .paginate_button.current,
body:has(#tableInvoicesList) .dataTables_wrapper .paginate_button:hover,
body:has(#tableInvoicesList) .dataTables_wrapper .paginate_button.current {
    color: #FFFFFF !important;
    background: #16042C !important;
    border-color: #16042C !important;
}


/* =========================================================
   9. MOBILE
   ========================================================= */

body:has(#tableServicesList) .table-responsive,
body:has(#tableDomainsList) .table-responsive,
body:has(#tableTicketsList) .table-responsive,
body:has(#tableInvoicesList) .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 767.98px) {

    body:has(#tableServicesList) #tableServicesList {
        min-width: 760px !important;
    }

    body:has(#tableServicesList) #tableServicesList td,
    body:has(#tableServicesList) #tableServicesList th {
        padding: 13px 14px !important;
    }

    body:has(#tableServicesList) .vs-services-page {
        margin: 16px 0;
    }
}


/* =========================================================
   10. IMPORTANT
   Other WHMCS pages are intentionally NOT targeted.

   Dashboard
   Cart
   Checkout
   Profile
   Support home
   Knowledgebase
   Announcements
   Affiliates
   etc.

   remain with your existing theme background.
   ========================================================= */


/* =========================================================
   DARK PAGES — SIDEBAR CARD
   Keep the WHMCS/default sidebar WHITE on:
   Services / Domains / Tickets / Invoices only.
   ========================================================= */

body:has(#tableServicesList) .vs-sidebar-card,
body:has(#tableDomainsList) .vs-sidebar-card,
body:has(#tableDomainList) .vs-sidebar-card,
body:has(#tableDomains) .vs-sidebar-card,
body:has(#tableTicketsList) .vs-sidebar-card,
body:has(#tableTickets) .vs-sidebar-card,
body:has(#tableInvoicesList) .vs-sidebar-card,
body:has(#tableInvoices) .vs-sidebar-card {
    background: #ffffff !important;
    color: #344054 !important;
    border: 1px solid #e4eaf3 !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18) !important;
}

/* White sidebar sections */
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-header,
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-body,
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-menu,
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-footer,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
    color: #344054 !important;
}

/* Sidebar title */
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-title,
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-title-text,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-title-text {
    color: #101828 !important;
}

/* Sidebar menu text */
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-menu-item,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-menu-item {
    background: #ffffff !important;
    color: #667085 !important;
}

/* Sidebar hover */
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-menu-item:hover,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}

/* Active sidebar item */
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-menu-item.active,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}

/* =========================================================
   SIDEBAR ICONS
   Keep the icon wrapper styled, but DO NOT set a font-family.
   WHMCS Font Awesome CSS loaded by head.tpl controls the icon font.
   ========================================================= */

body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-icon,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    margin-right: 0 !important;
    color: #667085 !important;
    font-style: normal !important;
    line-height: 1 !important;
}

body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-menu-item:hover .vs-sidebar-icon,
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-menu-item.active .vs-sidebar-icon {
    color: #16042C !important;
}

/* Sidebar arrows/chevrons: show them when WHMCS provides them. */
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-chevron,
body:has(#tableServicesList) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableDomainsList) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableDomainList) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableDomains) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableTicketsList) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableTickets) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableInvoicesList) .vs-sidebar-card .vs-sidebar-arrow,
body:has(#tableInvoices) .vs-sidebar-card .vs-sidebar-arrow {
    color: #98a2b3 !important;
}

/* Preserve sidebar layout on mobile */
@media (max-width: 767.98px) {
    body:has(#tableServicesList) .vs-sidebar-card,
    body:has(#tableDomainsList) .vs-sidebar-card,
    body:has(#tableDomainList) .vs-sidebar-card,
    body:has(#tableDomains) .vs-sidebar-card,
    body:has(#tableTicketsList) .vs-sidebar-card,
    body:has(#tableTickets) .vs-sidebar-card,
    body:has(#tableInvoicesList) .vs-sidebar-card,
    body:has(#tableInvoices) .vs-sidebar-card {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* =========================================================
   VSupport24x7 - Modern Client Product Details
   Scoped to the product details page only.
   ========================================================= */

#tabOverview,
#tabDownloads,
#tabAddons,
#tabChangepw {
    font-family: 'Manrope', sans-serif !important;
    color: #344054;
}

#tabOverview > .card,
#tabChangepw > .card {
    border: 1px solid #e5eaf2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 35px rgba(30, 64, 175, .07) !important;
    overflow: hidden;
}

#tabOverview > .card .card-body,
#tabChangepw > .card .card-body {
    padding: 28px !important;
}

#tabOverview .product-details {
    position: relative;
}

#tabOverview .product-status {
    border: 1px solid #e4eaf3 !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #f8fbff 0%, #eef5ff 100%) !important;
    padding: 26px 20px !important;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

#tabOverview .product-icon .fa-stack {
    width: 72px !important;
    height: 72px !important;
    line-height: 72px !important;
    font-size: 30px !important;
    margin-bottom: 12px;
}

#tabOverview .product-icon .fa-circle {
    color: #16042C !important;
}

#tabOverview .product-icon .fa-inverse {
    color: #fff !important;
}

#tabOverview .product-icon h3 {
    margin: 6px 0 3px !important;
    color: #101828 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

#tabOverview .product-icon h4 {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

#tabOverview .product-status-text {
    margin-top: 16px !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: #dcfce7 !important;
    color: #15803d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}

#tabOverview .product-status-pending,
#tabOverview .product-status-suspended,
#tabOverview .product-status-terminated,
#tabOverview .product-status-cancelled {
    background: #fff7ed !important;
}

#tabOverview .product-actions-wrapper {
    margin-top: 14px !important;
}

#tabOverview .product-actions-wrapper .col-12 {
    margin-bottom: 10px;
}

#tabOverview .product-actions-wrapper .btn {
    min-height: 44px;
    border: 0 !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

#tabOverview .product-actions-wrapper .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(16,24,40,.10) !important;
}

#tabOverview .product-actions-wrapper .btn-success {
    background: #16042C !important;
}

#tabOverview .product-actions-wrapper .btn-primary {
    background: #6B3FA0 !important;
}

#tabOverview .product-actions-wrapper .btn-danger {
    background: #ef4444 !important;
}

#tabOverview .product-details > .row > .col-md-6:last-child {
    padding: 12px 28px !important;
}

#tabOverview .product-details > .row > .col-md-6:last-child h4 {
    margin: 0 0 3px !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .035em;
}

#tabOverview .product-details > .row > .col-md-6:last-child h4:not(:first-child) {
    margin-top: 17px !important;
}

#tabOverview .product-details > .row > .col-md-6:last-child h4 + * {
    color: #101828 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

#tabOverview .nav-tabs {
    margin-top: 24px !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 13px !important;
    background: #fff !important;
    padding: 6px !important;
    box-shadow: 0 6px 22px rgba(30,64,175,.05);
}

#tabOverview .nav-tabs .nav-link {
    border: 0 !important;
    border-radius: 9px !important;
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    transition: all .18s ease;
}

#tabOverview .nav-tabs .nav-link:hover {
    background: #F7F2FB !important;
    color: #16042C !important;
}

#tabOverview .nav-tabs .nav-link.active {
    background: #eef5ff !important;
    color: #16042C !important;
    box-shadow: 0 2px 8px rgba(22, 4, 44,.08);
}

#tabOverview .product-details-tab-container {
    margin-top: 14px !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 16px !important;
    padding: 24px !important;
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(30,64,175,.05);
}

#tabOverview .product-details-tab-container .row {
    padding: 11px 0;
    border-bottom: 1px solid #f0f2f5;
}

#tabOverview .product-details-tab-container .row:last-child {
    border-bottom: 0;
}

#tabOverview .product-details-tab-container strong {
    color: #475467 !important;
    font-size: 13px !important;
}

#tabOverview .product-details-tab-container .text-left,
#tabOverview .product-details-tab-container .text-center {
    color: #101828;
    font-size: 14px;
}

#tabOverview .product-details-tab-container .btn {
    border-radius: 9px !important;
    font-weight: 600 !important;
    padding: 9px 15px !important;
}

#tabOverview .module-client-area {
    padding: 8px;
}

#tabDownloads,
#tabAddons {
    padding: 8px 0 20px;
}

#tabDownloads > h3,
#tabAddons > h3 {
    margin: 0 0 18px !important;
    color: #101828 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

#tabDownloads .row,
#tabAddons .row {
    margin-left: -8px;
    margin-right: -8px;
}

#tabDownloads .col-10,
#tabAddons .col-10 {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

#tabDownloads .col-10 {
    background: #fff;
    border: 1px solid #e4eaf3;
    border-radius: 15px;
    padding: 20px 22px !important;
    box-shadow: 0 7px 24px rgba(30,64,175,.05);
}

#tabDownloads .col-10 h4 {
    margin: 0 0 8px !important;
    color: #101828 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

#tabDownloads .col-10 p {
    color: #667085 !important;
    font-size: 13px;
    line-height: 1.65;
}

#tabDownloads .btn-default {
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #16042C !important;
    font-weight: 600 !important;
}

#tabDownloads .btn-default:hover {
    background: #eef5ff !important;
    border-color: #b9d0ff !important;
}

#tabAddons .card {
    border: 1px solid #e4eaf3 !important;
    border-radius: 15px !important;
    overflow: hidden;
    background: #fff !important;
    box-shadow: 0 7px 24px rgba(30,64,175,.05);
}

#tabAddons .card-header {
    padding: 16px 18px !important;
    border-bottom: 1px solid #edf1f6 !important;
    background: #f8fbff !important;
    color: #101828 !important;
    font-weight: 700 !important;
}

#tabAddons .card-body {
    padding: 18px !important;
}

#tabAddons .card-body p {
    color: #667085 !important;
    font-size: 13px;
}

#tabAddons .card-body p:first-child {
    color: #101828 !important;
    font-size: 16px;
    font-weight: 700;
}

#tabAddons .card-footer {
    padding: 13px 18px !important;
    border-top: 1px solid #edf1f6 !important;
    background: #fff !important;
}

#tabAddons .label {
    border-radius: 999px !important;
    padding: 5px 9px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

#tabChangepw .card-title {
    margin-bottom: 22px !important;
    color: #101828 !important;
    font-size: 21px !important;
    font-weight: 700 !important;
}

#tabChangepw .form-group {
    margin-bottom: 18px !important;
}

#tabChangepw .col-form-label {
    color: #475467 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

#tabChangepw .form-control {
    min-height: 44px;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

#tabChangepw .form-control:focus {
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44,.10) !important;
}

#tabChangepw .btn {
    min-height: 42px;
    border-radius: 9px !important;
    font-weight: 600 !important;
}

#tabChangepw .btn-primary {
    background: #16042C !important;
    border-color: #16042C !important;
}

#tabChangepw .btn-default {
    border-color: #d0d5dd !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    #tabOverview > .card .card-body,
    #tabChangepw > .card .card-body {
        padding: 18px !important;
    }

    #tabOverview .product-status {
        min-height: 190px;
        padding: 22px 15px !important;
    }

    #tabOverview .product-details > .row > .col-md-6:last-child {
        padding: 22px 4px 5px !important;
        text-align: left !important;
    }

    #tabOverview .nav-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    #tabOverview .nav-tabs .nav-link {
        padding: 9px 11px !important;
    }

    #tabOverview .product-details-tab-container {
        padding: 15px !important;
    }

    #tabOverview .product-details-tab-container .row {
        padding: 12px 0;
    }

    #tabOverview .product-details-tab-container .col-sm-5,
    #tabOverview .product-details-tab-container .col-sm-7 {
        text-align: left !important;
    }

    #tabDownloads .col-10,
    #tabAddons .col-10 {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #tabChangepw .form-group.row {
        display: block;
    }

    #tabChangepw .form-group.row > [class*="col-"],
    #tabChangepw .form-group.row > [class*="offset-"] {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }

    #tabChangepw .generate-password {
        margin-top: 10px;
    }
}

/* VSupport24x7 Modern WHMCS Register Page */
#registration {
    font-family: 'Manrope', sans-serif !important;
    color: #344054;
    max-width: 1100px;
    margin: 0 auto;
}
#registration .card {
    border: 1px solid #e4eaf3 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 32px rgba(30,64,175,.06) !important;
    overflow: hidden;
    margin-bottom: 20px !important;
}
#registration .card-body { padding: 26px !important; }
#registration .card-title {
    color: #101828 !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 0 0 22px !important;
    letter-spacing: -.02em;
}
#registration .card-title small {
    color: #98a2b3 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}
#registration .form-group { margin-bottom: 16px !important; }
#registration .prepend-icon { position: relative; }
#registration .field-icon {
    color: #98a2b3 !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%);
    z-index: 3;
}
#registration .field,
#registration .form-control,
#registration select,
#registration input[type="text"],
#registration input[type="email"],
#registration input[type="tel"],
#registration input[type="password"] {
    width: 100%;
    min-height: 46px;
    border: 1px solid #d9e0ea !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #101828 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease;
}
#registration .prepend-icon .field,
#registration .prepend-icon .form-control,
#registration .prepend-icon select { padding-left: 42px !important; }
#registration .field::placeholder,
#registration .form-control::placeholder { color: #98a2b3 !important; opacity: 1; }
#registration .field:hover,
#registration .form-control:hover,
#registration select:hover { border-color: #b9c5d6 !important; }
#registration .field:focus,
#registration .form-control:focus,
#registration select:focus {
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44,.10) !important;
    outline: none !important;
}
#registration .prepend-icon:focus-within .field-icon { color: #16042C !important; }
#registration .row { margin-left: -8px; margin-right: -8px; }
#registration .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }
#registration #personalInformation::before,
#registration #containerNewUserSecurity .card-body::before {
    content: "";
    display: block;
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: #16042C;
    margin-bottom: 16px;
}
#registration .field-help-text {
    display: block;
    margin-top: 6px;
    color: #98a2b3 !important;
    font-size: 11px !important;
    line-height: 1.5;
}
#registration .password-strength-meter { padding-top: 8px; }
#registration .password-strength-meter .progress {
    height: 7px !important;
    border-radius: 999px !important;
    overflow: hidden;
    background: #edf2f7 !important;
}
#registration .password-strength-meter .progress-bar { border-radius: 999px !important; }
#registration #passwordStrengthTextLabel {
    color: #667085 !important;
    margin-top: 8px;
    font-size: 11px !important;
}
#registration .generate-password {
    min-height: 42px;
    width: 100%;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #344054 !important;
    font-weight: 600 !important;
}
#registration .generate-password:hover {
    border-color: #16042C !important;
    background: #eef5ff !important;
    color: #16042C !important;
}
#registration .alert {
    border-radius: 10px !important;
    font-size: 13px;
}
#registration .card p {
    color: #667085;
    font-size: 13px;
    line-height: 1.65;
}
#registration .accepttos {
    width: 17px;
    height: 17px;
    vertical-align: -3px;
    margin-right: 6px;
    accent-color: #16042C;
}
#registration .form-check {
    color: #667085 !important;
    font-size: 13px !important;
}
#registration .form-check a,
#registration a { color: #16042C; font-weight: 600; }
#registration .captcha-container,
#registration .g-recaptcha { margin: 18px auto !important; }
#registration > form > p.text-center:last-child { margin: 24px 0 10px !important; }
#registration > form > p.text-center:last-child .btn,
#registration input[type="submit"].btn {
    min-height: 48px;
    padding: 11px 28px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #16042C !important;
    color: #fff !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 20px rgba(22, 4, 44,.18) !important;
    transition: transform .18s ease, box-shadow .18s ease;
}
#registration > form > p.text-center:last-child .btn:hover,
#registration input[type="submit"].btn:hover {
    background: #2A0A52 !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(22, 4, 44,.22) !important;
}
@media (max-width: 991.98px) {
    #registration { max-width: 100%; }
    #registration .card-body { padding: 22px !important; }
}
@media (max-width: 767.98px) {
    #registration { padding: 0 2px; }
    #registration .card { border-radius: 14px !important; margin-bottom: 15px !important; }
    #registration .card-body { padding: 18px !important; }
    #registration .card-title { font-size: 17px !important; margin-bottom: 18px !important; }
    #registration .row > [class*="col-"] {
        width: 100%; max-width: 100%; flex: 0 0 100%;
    }
    #registration > form > p.text-center:last-child .btn,
    #registration input[type="submit"].btn { width: 100%; }
}
@media (max-width: 480px) {
    #registration .card-body { padding: 15px !important; }
    #registration .card-title { font-size: 16px !important; }
}
/* =========================================================
   CLIENT AREA — CONSISTENT TOP SPACING
   Products / Services / Domains / Tickets / Invoices
   ========================================================= */

#main-body,
section#main-body {
    padding-top: 28px !important;
}

/* Main client-area content */
#main-body .container,
section#main-body .container {
    padding-top: 0 !important;
}

/* Keep sidebar aligned with the same top spacing */
#main-body .vs-sidebar-card,
section#main-body .vs-sidebar-card {
    margin-top: 0 !important;
}

/* Page content spacing */
.vs-services-page,
.vs-domains-page,
.vs-tickets-page,
.vs-invoices-page {
    margin-top: 0 !important;
}

/* WHMCS cards/tables on these pages */
#tableServicesList,
#tableDomainsList,
#tableDomainList,
#tableDomains,
#tableTicketsList,
#tableTickets,
#tableInvoicesList,
#tableInvoices {
    margin-top: 0 !important;
}

/* Tablet */
@media (max-width: 991.98px) {
    #main-body,
    section#main-body {
        padding-top: 24px !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    #main-body,
    section#main-body {
        padding-top: 18px !important;
    }
}


/* =========================================================
   VNET — INVOICES PAGE
   Match My Products / Services dark UI
   ========================================================= */

.vs-invoices-page {
    width: 100%;
    font-family: 'Manrope', sans-serif !important;
    color: #f8fafc;
}

/* Main invoice table shell */
.vs-invoices-page .table-container {
    width: 100%;
    margin-top: 0;
    overflow: hidden;
}

/* DataTables wrapper */
.vs-invoices-page .dataTables_wrapper {
    width: 100%;
    color: #f8fafc !important;
}

/* Table */
.vs-invoices-page .vs-invoices-table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #111c31 !important;
}

.vs-invoices-page .vs-invoices-table thead th {
    padding: 15px 18px !important;
    background: #162238 !important;
    color: #9fb0c8 !important;
    border-bottom: 1px solid #243652 !important;
    border-top: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    white-space: nowrap;
}

.vs-invoices-page .vs-invoices-table tbody td {
    padding: 18px 18px !important;
    background: #111c31 !important;
    color: #f8fafc !important;
    border-top: 1px solid #1f3150 !important;
    border-bottom: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
}

/* Row hover */
.vs-invoices-page .vs-invoices-table tbody tr {
    cursor: pointer;
    transition: background-color .18s ease;
}

.vs-invoices-page .vs-invoices-table tbody tr:hover td {
    background: #162238 !important;
}

/* Invoice number */
.vs-invoices-page .vs-invoice-number {
    color: #f8fafc !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

/* Dates */
.vs-invoices-page .vs-invoice-date {
    color: #d7e0ec !important;
    white-space: nowrap;
}

/* Total */
.vs-invoices-page .vs-invoice-total {
    color: #f8fafc !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

/* Status badge */
.vs-invoices-page .vs-invoice-status {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-transform: capitalize;
}

/* Dark status colours */
.vs-invoices-page .vs-invoice-status.status-paid,
.vs-invoices-page .status-paid {
    background: rgba(16, 185, 129, .14) !important;
    color: #22c55e !important;
    border-color: rgba(34, 197, 94, .12) !important;
}

.vs-invoices-page .vs-invoice-status.status-unpaid,
.vs-invoices-page .status-unpaid {
    background: rgba(245, 158, 11, .14) !important;
    color: #fbbf24 !important;
    border-color: rgba(251, 191, 36, .12) !important;
}

.vs-invoices-page .vs-invoice-status.status-overdue,
.vs-invoices-page .status-overdue {
    background: rgba(239, 68, 68, .14) !important;
    color: #f87171 !important;
    border-color: rgba(248, 113, 113, .12) !important;
}

.vs-invoices-page .vs-invoice-status.status-cancelled,
.vs-invoices-page .status-cancelled {
    background: rgba(148, 163, 184, .12) !important;
    color: #cbd5e1 !important;
    border-color: rgba(203, 213, 225, .10) !important;
}

.vs-invoices-page .vs-invoice-status.status-refunded,
.vs-invoices-page .status-refunded {
    background: rgba(22, 4, 44, .14) !important;
    color: #7B4BA8 !important;
    border-color: rgba(96, 165, 250, .12) !important;
}

.vs-invoices-page .vs-invoice-status.status-collections,
.vs-invoices-page .status-collections {
    background: rgba(239, 68, 68, .14) !important;
    color: #f87171 !important;
    border-color: rgba(248, 113, 113, .12) !important;
}

/* DataTables search */
.vs-invoices-page .dataTables_wrapper .dataTables_filter {
    padding: 0 0 8px !important;
    color: #aab8cc !important;
}

.vs-invoices-page .dataTables_wrapper .dataTables_filter input {
    min-height: 36px !important;
    width: 190px;
    margin-left: 8px !important;
    border: 1px solid #263a59 !important;
    border-radius: 8px !important;
    background: #111c31 !important;
    color: #f8fafc !important;
    outline: none !important;
}

.vs-invoices-page .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #16042C !important;
    box-shadow: 0 0 0 2px rgba(22, 4, 44, .15) !important;
}

/* Length selector */
.vs-invoices-page .dataTables_wrapper .dataTables_length {
    padding: 8px 0 !important;
    color: #aab8cc !important;
}

.vs-invoices-page .dataTables_wrapper .dataTables_length select {
    min-height: 34px !important;
    margin: 0 5px !important;
    padding: 4px 25px 4px 8px !important;
    border: 1px solid #263a59 !important;
    border-radius: 8px !important;
    background: #111c31 !important;
    color: #f8fafc !important;
}

/* Information text */
.vs-invoices-page .dataTables_wrapper .dataTables_info {
    padding: 12px 0 !important;
    color: #aab8cc !important;
}

/* Pagination */
.vs-invoices-page .dataTables_wrapper .dataTables_paginate {
    padding: 8px 0 12px !important;
}

.vs-invoices-page .dataTables_wrapper .dataTables_paginate .paginate_button {
    border: 1px solid #263a59 !important;
    background: #111c31 !important;
    color: #d7e0ec !important;
    border-radius: 6px !important;
    margin-left: 3px !important;
}

.vs-invoices-page .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #1b2b45 !important;
    border-color: #315071 !important;
    color: #ffffff !important;
}

.vs-invoices-page .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.vs-invoices-page .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #ffffff !important;
}

/* Loading */
.vs-invoices-page #tableLoading {
    padding: 24px !important;
    color: #aab8cc !important;
    background: #111c31 !important;
}

.vs-invoices-page #tableLoading i {
    margin-right: 6px;
}

/* Override old WHMCS table/card styling inside this page only */
.vs-invoices-page .table,
.vs-invoices-page .table > :not(caption) > * > * {
    --bs-table-bg: transparent !important;
    --bs-table-color: inherit !important;
    box-shadow: none !important;
}

/* Keep the dark table readable if DataTables adds sorting classes */
.vs-invoices-page .vs-invoices-table thead .sorting,
.vs-invoices-page .vs-invoices-table thead .sorting_asc,
.vs-invoices-page .vs-invoices-table thead .sorting_desc {
    color: #9fb0c8 !important;
    background-color: #162238 !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .vs-invoices-page .table-container {
        border-radius: 10px !important;
        overflow-x: auto;
    }

    .vs-invoices-page .vs-invoices-table {
        min-width: 720px;
    }

    .vs-invoices-page .vs-invoices-table thead th,
    .vs-invoices-page .vs-invoices-table tbody td {
        padding: 13px 14px !important;
    }

    .vs-invoices-page .dataTables_wrapper .dataTables_filter input {
        width: 150px;
    }
}
/* Center invoice table items */
.vs-invoices-page .vs-invoices-table thead th,
.vs-invoices-page .vs-invoices-table tbody td {
    text-align: center !important;
    vertical-align: middle !important;
}

.vs-invoices-page .vs-invoice-number,
.vs-invoices-page .vs-invoice-date,
.vs-invoices-page .vs-invoice-total,
.vs-invoices-page .vs-invoice-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center !important;
}

.vs-invoices-page .vs-invoice-number,
.vs-invoices-page .vs-invoice-date,
.vs-invoices-page .vs-invoice-total {
    width: 100%;
}

/* =========================================================
   SERVICES TABLE — CENTER ALIGN WITHOUT BREAKING LAYOUT
   ========================================================= */

/* Center table columns */
.vs-services-page .vs-services-table thead th,
.vs-services-page .vs-services-table tbody td {
    text-align: center !important;
    vertical-align: middle !important;
}


/* Product / Service */
.vs-services-page .vs-service-product {
    text-align: center !important;
}

/* Domain */
.vs-services-page .vs-service-domain,
.vs-services-page .vs-service-no-domain {
    text-align: center !important;
}

/* Pricing
   IMPORTANT: Do not use display:flex or width:100%
   because WHMCS puts amount + billing cycle inside here.
*/
.vs-services-page .vs-service-price {
    text-align: center !important;
}

/* Due date */
.vs-services-page .vs-service-due-date {
    text-align: center !important;
}

/* Status */
.vs-services-page td .label {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================================
   SERVICES — PAGINATION SPACING
   ========================================================= */

.vs-services-page .dataTables_wrapper .dataTables_paginate {
    margin-top: 18px !important;
    padding-top: 0 !important;
}

.vs-services-page .dataTables_wrapper .dataTables_info {
    margin-top: 18px !important;
}


/* Keep bottom spacing */
.vs-services-page .dataTables_wrapper {
    padding-bottom: 10px !important;
}


/* Mobile */
@media (max-width: 767.98px) {

    .vs-services-page .dataTables_wrapper .dataTables_paginate {
        margin-top: 14px !important;
    }

    .vs-services-page .dataTables_wrapper .dataTables_info {
        margin-top: 14px !important;
    }
}
/* Space above "Show 10 entries" */
.vs-services-page .dataTables_wrapper .dataTables_length {
    margin-top: 18px !important;
    padding-top: 0 !important;
}

/* Keep pagination spacing as well */
.vs-services-page .dataTables_wrapper .dataTables_paginate {
    margin-top: 18px !important;
}

/* Info text */
.vs-services-page .dataTables_wrapper .dataTables_info {
    margin-top: 18px !important;
}


/* =========================================================
   VNET — TICKETS PAGE
   Same UI style as Services page
   ========================================================= */

.vs-tickets-page {
    width: 100%;
    font-family: 'Manrope', sans-serif !important;
    color: #344054;
}

.vs-tickets-page .table-container {
    width: 100%;
    margin-top: 0;
    overflow: hidden;
}

.vs-tickets-page .vs-tickets-table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: #16032B;
}

.vs-tickets-page .vs-tickets-table thead th {
    padding: 15px 18px !important;
    background: #182640 !important;
    color: #8ea5c8 !important;
    border-bottom: 1px solid #263a5a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-align: center !important;
    white-space: nowrap;
}

.vs-tickets-page .vs-tickets-table tbody td {
    padding: 17px 18px !important;
    background: #111d33 !important;
    color: #d8e2f0 !important;
    border-top: 1px solid #1d2d49 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
    text-align: center !important;
}

.vs-tickets-page .vs-tickets-table tbody tr {
    cursor: pointer;
    transition: background-color .18s ease;
}

.vs-tickets-page .vs-tickets-table tbody tr:hover td {
    background: #16243d !important;
}

/* Department */
.vs-tickets-page .vs-ticket-department {
    color: #d8e2f0 !important;
    font-weight: 500 !important;
}

/* Subject / ticket number */
.vs-tickets-page .vs-ticket-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #dbe7f7 !important;
    text-decoration: none !important;
    border-left: 0 !important;
}

.vs-tickets-page .vs-ticket-number {
    color: #7B4BA8 !important;
    font-weight: 700 !important;
}

.vs-tickets-page .vs-ticket-subject {
    color: #dbe7f7 !important;
    font-weight: 600 !important;
}

.vs-tickets-page .vs-ticket-subject.unread {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Status */
.vs-tickets-page .vs-ticket-status {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 6px 11px !important;
    border-radius: 999px !important;
    border: 1px solid transparent;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Common WHMCS ticket statuses */
.vs-tickets-page .status-open,
.vs-tickets-page .status-answered,
.vs-tickets-page .status-customer-reply {
    background: #064e3b !important;
    color: #6ee7b7 !important;
    border-color: #065f46 !important;
}

.vs-tickets-page .status-closed {
    background: #263244 !important;
    color: #b8c4d6 !important;
    border-color: #3a4960 !important;
}

.vs-tickets-page .status-pending,
.vs-tickets-page .status-in-progress {
    background: #4a3208 !important;
    color: #fbbf24 !important;
    border-color: #73500c !important;
}

/* Last reply */
.vs-tickets-page .vs-ticket-lastreply {
    color: #b9c7da !important;
    white-space: nowrap;
}

/* DataTables */
.vs-tickets-page .dataTables_wrapper {
    width: 100%;
    padding-bottom: 10px !important;
}

.vs-tickets-page .dataTables_wrapper .dataTables_filter,
.vs-tickets-page .dataTables_wrapper .dataTables_length {
    padding: 16px 18px 0 !important;
}

.vs-tickets-page .dataTables_wrapper .dataTables_info {
    padding: 0 18px !important;
    margin-top: 18px !important;
    color: #c1cee0 !important;
}

.vs-tickets-page .dataTables_wrapper .dataTables_paginate {
    padding: 0 18px !important;
    margin-top: 18px !important;
}

.vs-tickets-page .dataTables_wrapper input,
.vs-tickets-page .dataTables_wrapper select {
    border: 1px solid #2b405f !important;
    border-radius: 8px !important;
    background: #111d33 !important;
    color: #dbe7f7 !important;
    min-height: 38px;
}

.vs-tickets-page .dataTables_wrapper input:focus,
.vs-tickets-page .dataTables_wrapper select:focus {
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .15) !important;
    outline: none !important;
}

.vs-tickets-page .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 6px !important;
}

.vs-tickets-page #tableLoading {
    padding: 24px !important;
    color: #9fb0c8;
}

.vs-tickets-page #tableLoading i {
    margin-right: 6px;
}

/* Prevent Bootstrap/WHMCS table shadows */
.vs-tickets-page .table > :not(caption) > * > * {
    box-shadow: none !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .vs-tickets-page .table-container {
        border-radius: 12px;
        overflow-x: auto;
    }

    .vs-tickets-page .vs-tickets-table {
        min-width: 760px;
    }

    .vs-tickets-page .vs-tickets-table thead th,
    .vs-tickets-page .vs-tickets-table tbody td {
        padding: 13px 14px !important;
    }

    .vs-tickets-page .dataTables_wrapper .dataTables_paginate,
    .vs-tickets-page .dataTables_wrapper .dataTables_info {
        margin-top: 14px !important;
    }
}
/* Remove white line above ticket table */
.vs-tickets-page .table-container,
.vs-tickets-page .vs-tickets-table {
    border-top: 0 !important;
}

.vs-tickets-page .vs-tickets-table thead th {
    border-top: 0 !important;
}

.vs-tickets-page .table-container {
    outline: none !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .10) !important;
}


/* =========================================================
   CREATE SUPPORT REQUEST — VNET MODERN THEME
   ========================================================= */

.vs-support-request {
    width: 100%;
    font-family: 'Manrope', sans-serif !important;
}

.vs-support-request-card {
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12) !important;
    overflow: hidden;
}

.vs-support-request-body {
    padding: 30px !important;
}

/* Header */
.vs-support-request-header {
    margin-bottom: 28px;
}

.vs-support-request-title {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em;
}

.vs-support-request-description {
    margin: 0 !important;
    color: #94a8c5 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* Department list */
.vs-support-departments {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

/* Department card */
.vs-support-department {
    display: block;
    padding: 20px !important;
    background: #16243d !important;
    border: 1px solid #263a5a !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    transition:
        border-color .2s ease,
        background-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.vs-support-department:hover {
    background: #1a2b48 !important;
    border-color: #16042C !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .15);
    text-decoration: none !important;
}

/* Icon */
.vs-support-department-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 11px;
    background: rgba(22, 4, 44, .12);
    color: #7B4BA8;
    font-size: 17px;
    transition: background-color .2s ease, color .2s ease;
}

.vs-support-department:hover .vs-support-department-icon {
    background: #16042C;
    color: #ffffff;
}

/* Department name */
.vs-support-department-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4;
}

.vs-support-department-arrow {
    color: #64748b;
    font-size: 12px;
    transition: transform .2s ease, color .2s ease;
}

.vs-support-department:hover .vs-support-department-arrow {
    color: #7B4BA8;
    transform: translateX(3px);
}

/* Description */
.vs-support-department-description {
    margin: 8px 0 0 !important;
    color: #8fa3bf !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* Empty state */
.vs-support-request .alert {
    margin-bottom: 0 !important;
    border-radius: 12px !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {

    .vs-support-request-body {
        padding: 20px !important;
    }

    .vs-support-request-title {
        font-size: 19px !important;
    }

    .vs-support-departments {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .vs-support-department {
        padding: 17px !important;
    }
}

/* =========================================================
   VNET — CREATE SUPPORT TICKET
   Modern dark theme matching Services / Tickets
   ========================================================= */

.vs-ticket-form {
    width: 100%;
    font-family: 'Manrope', sans-serif !important;
}

.vs-ticket-form-card {
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12) !important;
    overflow: hidden;
}

.vs-ticket-form-body {
    padding: 30px !important;
}

/* Heading */
.vs-ticket-form-title {
    margin: 0 0 26px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.02em;
}

/* Error */
.vs-ticket-form .alert {
    border-radius: 10px !important;
    margin-bottom: 22px !important;
}


/* =========================================================
   FORM LABELS
   ========================================================= */

.vs-ticket-form label {
    display: block;
    margin-bottom: 7px !important;
    color: #b8c7da !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}


/* =========================================================
   INPUTS / SELECTS / TEXTAREA
   ========================================================= */

.vs-ticket-form .form-control,
.vs-ticket-form select.form-control,
.vs-ticket-form textarea.form-control {
    min-height: 44px;
    padding: 10px 13px !important;

    background: #0f1a2d !important;
    color: #e2eaf5 !important;

    border: 1px solid #2b405f !important;
    border-radius: 9px !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;

    box-shadow: none !important;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.vs-ticket-form textarea.form-control {
    min-height: 220px;
    resize: vertical;
    line-height: 1.6;
}

.vs-ticket-form .form-control::placeholder {
    color: #64748b !important;
}

.vs-ticket-form .form-control:focus,
.vs-ticket-form select.form-control:focus,
.vs-ticket-form textarea.form-control:focus {
    background: #111d33 !important;
    color: #ffffff !important;
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
    outline: none !important;
}


/* Disabled fields */
.vs-ticket-form .form-control:disabled,
.vs-ticket-form .form-control.disabled {
    background: #17243a !important;
    color: #7f91aa !important;
    opacity: 1 !important;
    cursor: not-allowed;
}


/* =========================================================
   FORM GROUP SPACING
   ========================================================= */

.vs-ticket-form .form-group {
    margin-bottom: 20px !important;
}

.vs-ticket-form .row {
    margin-bottom: 0;
}


/* =========================================================
   FILE UPLOAD
   ========================================================= */

.vs-ticket-form .custom-file {
    min-height: 44px;
}

.vs-ticket-form .custom-file-label {
    height: 44px !important;
    padding: 11px 13px !important;

    background: #0f1a2d !important;
    color: #8fa3bf !important;

    border: 1px solid #2b405f !important;
    border-radius: 9px 0 0 9px !important;

    font-size: 13px !important;
}

.vs-ticket-form .custom-file-label::after {
    height: 42px !important;
    padding: 11px 14px !important;

    background: #182640 !important;
    color: #b8c7da !important;

    border-left: 1px solid #2b405f !important;
}

.vs-ticket-form .input-group-append .btn {
    height: 44px !important;
    border: 1px solid #2b405f !important;
    background: #182640 !important;
    color: #7B4BA8 !important;
    border-radius: 0 9px 9px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.vs-ticket-form .input-group-append .btn:hover {
    background: #16042C !important;
    color: #ffffff !important;
    border-color: #16042C !important;
}


/* File information */
.vs-ticket-form .text-muted {
    color: #71839d !important;
}

.vs-ticket-form small {
    font-size: 11px !important;
}


/* =========================================================
   CAPTCHA
   ========================================================= */

.vs-ticket-form #customFieldsContainer {
    margin-top: 6px;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.vs-ticket-form-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
}

.vs-ticket-form .btn {
    min-height: 42px;
    padding: 9px 20px !important;
    border-radius: 9px !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


/* Submit */
.vs-ticket-form .btn-primary {
    background: #16042C !important;
    border-color: #16042C !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(22, 4, 44, .20);
}

.vs-ticket-form .btn-primary:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(22, 4, 44, .28);
}


/* Cancel */
.vs-ticket-form .btn-default {
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #b8c7da !important;
}

.vs-ticket-form .btn-default:hover {
    background: #223453 !important;
    border-color: #3a5377 !important;
    color: #ffffff !important;
}


/* =========================================================
   MARKDOWN EDITOR / EDITOR WRAPPER
   ========================================================= */

.vs-ticket-form .markdown-editor,
.vs-ticket-form .markdown-editor-wrapper,
.vs-ticket-form .tox-tinymce {
    border-radius: 9px !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {

    .vs-ticket-form-body {
        padding: 20px !important;
    }

    .vs-ticket-form-title {
        font-size: 19px !important;
        margin-bottom: 20px !important;
    }

    .vs-ticket-form .row {
        margin-left: -5px;
        margin-right: -5px;
    }

    .vs-ticket-form .row > [class*="col-"] {
        padding-left: 5px;
        padding-right: 5px;
    }

    .vs-ticket-form-actions {
        flex-direction: column;
    }

    .vs-ticket-form-actions .btn {
        width: 100%;
    }

    .vs-ticket-form .custom-file-label {
        font-size: 12px !important;
    }
}
/* =========================================================
   VNET / VSUPPORT24X7 — VIEW TICKET THEME UI
   Right side only — left WHMCS sidebar remains untouched
   Font: Times New Roman / 12px
   ========================================================= */

.vs-ticket-view-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
color: #d8e2f0 !important;
    background: #0b1427 !important;
    border-radius: 16px !important;
}

.vs-ticket-view-page,
.vs-ticket-view-page * {
box-sizing: border-box;
}

/* Main ticket */
.vs-ticket-view-page .vs-ticket-thread-card,
.vs-ticket-view-page .vs-ticket-reply-card {
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.14) !important;
    overflow: hidden !important;
    color: #d8e2f0 !important;
}

/* Header */
.vs-ticket-view-page .vs-ticket-header {
    background: #111d33 !important;
    color: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #263a5a !important;
    padding: 18px 20px !important;
}

.vs-ticket-view-page .vs-ticket-header .card-title,
.vs-ticket-view-page .vs-ticket-header .card-title strong,
.vs-ticket-view-page .vs-ticket-header h3 {
    color: #fff !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.vs-ticket-view-page .vs-ticket-header p {
    color: #91a4bd !important;
    margin: 9px 0 0 !important;
}

.vs-ticket-view-page .vs-ticket-header p strong {
    color: #e2eaf5 !important;
}

/* Buttons */
.vs-ticket-view-page .vs-ticket-actions .btn {
    min-height: 34px !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}

.vs-ticket-view-page .vs-ticket-actions .btn-default {
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #fff !important;
}

.vs-ticket-view-page .vs-ticket-actions .btn-default:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
}

.vs-ticket-view-page .vs-ticket-actions .btn-danger {
    background: rgba(239,68,68,.10) !important;
    border: 1px solid rgba(239,68,68,.35) !important;
    color: #f87171 !important;
}

/* Ticket message */
.vs-ticket-view-page .vs-ticket-message {
    padding: 0 !important;
    background: #111d33 !important;
    border: 0 !important;
    border-bottom: 1px solid #263a5a !important;
    color: #d8e2f0 !important;
}

.vs-ticket-view-page .vs-ticket-message .posted-by {
    padding: 10px 14px !important;
    background: #0f1a2d !important;
    border-bottom: 1px solid #1f3150 !important;
    color: #71839d !important;
}

.vs-ticket-view-page .vs-ticket-message .posted-by-name {
    color: #dbe7f5 !important;
    font-weight: 600 !important;
}

.vs-ticket-view-page .vs-ticket-message .posted-on {
    color: #71839d !important;
}

.vs-ticket-view-page .vs-ticket-message .requestor-badge {
    background: #1b3154 !important;
    color: #8db9ee !important;
    border: 0 !important;
    border-radius: 5px !important;
    padding: 3px 7px !important;
}

.vs-ticket-view-page .vs-ticket-message-body {
    padding: 16px !important;
    background: #111d33 !important;
    color: #d8e2f0 !important;
    border: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.vs-ticket-view-page .vs-ticket-message-body a {
    color: #7B4BA8 !important;
}

.vs-ticket-view-page .vs-ticket-message-body hr {
    border: 0 !important;
    border-top: 1px solid #263a5a !important;
    margin: 14px 0 !important;
}

/* Attachments */
.vs-ticket-view-page .vs-ticket-attachments {
    padding: 14px 16px !important;
    background: #0f1a2d !important;
    border-top: 1px solid #1f3150 !important;
    color: #b8c7da !important;
}

.vs-ticket-view-page .vs-ticket-attachments strong {
    color: #d8e2f0 !important;
}

.vs-ticket-view-page .attachment-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.vs-ticket-view-page .attachment-list li {
    margin: 0 !important;
    background: #14233a !important;
    border: 1px solid #293e5d !important;
    border-radius: 8px !important;
}

.vs-ticket-view-page .attachment-list a,
.vs-ticket-view-page .attachment-list span {
    color: #b8c7da !important;
}

/* Reply */
.vs-ticket-view-page .vs-ticket-reply-card {
    margin-top: 18px !important;
}

.vs-ticket-view-page .vs-ticket-reply-body {
    padding: 24px !important;
    background: #111d33 !important;
}

.vs-ticket-view-page .vs-ticket-reply-title {
    margin: 0 0 20px !important;
    color: #fff !important;
    font-weight: 700 !important;
}

.vs-ticket-view-page label {
    display: block !important;
    margin-bottom: 6px !important;
    color: #b8c7da !important;
    font-weight: 600 !important;
}

/* Inputs */
.vs-ticket-view-page .form-control {
    min-height: 40px !important;
    padding: 8px 11px !important;
    background: #0f1a2d !important;
    color: #e2eaf5 !important;
    border: 1px solid #2b405f !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.vs-ticket-view-page .form-control:focus {
    background: #0f1a2d !important;
    color: #fff !important;
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44,.14) !important;
    outline: none !important;
}

.vs-ticket-view-page .form-control:disabled {
    background: #17243a !important;
    color: #8fa3bf !important;
    opacity: 1 !important;
}

/* Markdown editor */
.vs-ticket-view-page .md-editor {
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    overflow: hidden !important;
}

.vs-ticket-view-page .md-editor > .md-header,
.vs-ticket-view-page .md-editor .md-footer {
    background: #111d33 !important;
    border-color: #2b405f !important;
}

.vs-ticket-view-page .md-editor textarea,
.vs-ticket-view-page .md-editor .md-input {
    background: #0f1a2d !important;
    color: #e2eaf5 !important;
    border-color: #2b405f !important;
}

.vs-ticket-view-page .md-editor .btn {
    background: transparent !important;
    color: #9fb0c5 !important;
    border-color: transparent !important;
}

.vs-ticket-view-page .md-editor .btn:hover {
    background: #182640 !important;
    color: #fff !important;
}

/* Upload */
.vs-ticket-view-page .custom-file-label {
    height: 40px !important;
    padding: 9px 11px !important;
    background: #0f1a2d !important;
    color: #8fa3bf !important;
    border: 1px solid #2b405f !important;
    border-radius: 8px 0 0 8px !important;
}

.vs-ticket-view-page .custom-file-label::after {
    height: 38px !important;
    padding: 9px 12px !important;
    background: #182640 !important;
    color: #b8c7da !important;
    border-left: 1px solid #2b405f !important;
}

.vs-ticket-view-page #btnTicketAttachmentsAdd {
    height: 40px !important;
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #7B4BA8 !important;
}

.vs-ticket-view-page #btnTicketAttachmentsAdd:hover {
    background: #16042C !important;
    border-color: #16042C !important;
    color: #fff !important;
}

.vs-ticket-view-page .text-muted,
.vs-ticket-view-page small {
    color: #71839d !important;
}

/* Reply actions */
.vs-ticket-view-page .vs-ticket-reply-actions {
    margin-top: 24px !important;
}

.vs-ticket-view-page .vs-ticket-reply-actions .btn {
    min-height: 38px !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
}

.vs-ticket-view-page .vs-ticket-reply-actions .btn-primary {
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #fff !important;
}

.vs-ticket-view-page .vs-ticket-reply-actions .btn-primary:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
}

.vs-ticket-view-page .vs-ticket-reply-actions .btn-default {
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #b8c7da !important;
}

.vs-ticket-view-page .vs-ticket-reply-actions .btn-default:hover {
    background: #223453 !important;
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .vs-ticket-view-page .vs-ticket-reply-body {
        padding: 18px !important;
    }

    .vs-ticket-view-page .vs-ticket-header {
        padding: 16px !important;
    }
}

/* =========================================================
   VNET — SUPPORT TICKET MESSAGE EDITOR ONLY
   ========================================================= */

.vs-ticket-form .markdown-editor,
.vs-ticket-form .md-editor {
    width: 100% !important;
    background: #0f1a2d !important;
    border: 1px solid #29415f !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

/* Markdown toolbar */
.vs-ticket-form .md-editor > .md-header {
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 5px 8px !important;

    background: #111d33 !important;
    border: 0 !important;
    border-bottom: 1px solid #29415f !important;

    box-shadow: none !important;
}

/* Toolbar buttons */
.vs-ticket-form .md-editor > .md-header .btn,
.vs-ticket-form .md-editor > .md-header button {
    min-width: 34px !important;
    height: 32px !important;

    margin: 0 2px !important;
    padding: 5px 9px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 6px !important;

    color: #cbd5e1 !important;
    font-size: 13px !important;

    box-shadow: none !important;
}

/* Toolbar hover */
.vs-ticket-form .md-editor > .md-header .btn:hover,
.vs-ticket-form .md-editor > .md-header button:hover {
    background: #1e3554 !important;
    color: #ffffff !important;
}

/* Preview button */
.vs-ticket-form .md-editor > .md-header .btn-primary,
.vs-ticket-form .md-editor > .md-header .btn-info {
    background: #16042C !important;
    border-color: #16042C !important;
    color: #ffffff !important;
}

.vs-ticket-form .md-editor > .md-header .btn-primary:hover,
.vs-ticket-form .md-editor > .md-header .btn-info:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
}

/* Actual writing area */
.vs-ticket-form .md-editor .md-input,
.vs-ticket-form .md-editor textarea,
.vs-ticket-form .md-editor .md-editor-area {
    width: 100% !important;
    min-height: 235px !important;

    background: #0f1a2d !important;
    color: #e2eaf5 !important;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    padding: 14px !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;

    resize: vertical !important;
}

/* Placeholder */
.vs-ticket-form .md-editor .md-input::placeholder,
.vs-ticket-form .md-editor textarea::placeholder {
    color: #64748b !important;
}

/* Focus */
.vs-ticket-form .md-editor:focus-within {
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .12) !important;
}

/* Remove the unwanted white footer area */
.vs-ticket-form .md-editor .md-footer {
    min-height: 26px !important;
    height: auto !important;

    padding: 4px 10px !important;

    background: #111d33 !important;
    border: 0 !important;
    border-top: 1px solid #243a59 !important;

    color: #64748b !important;
}

/* Footer text */
.vs-ticket-form .md-editor .md-footer *,
.vs-ticket-form .md-editor .md-footer span {
    color: #64748b !important;
    background: transparent !important;
}

/* Remove unwanted white background from editor internals */
.vs-ticket-form .md-editor *,
.vs-ticket-form .md-editor .md-header *,
.vs-ticket-form .md-editor .md-footer * {
    box-shadow: none !important;
}

/* Fullscreen icon */
.vs-ticket-form .md-editor .md-header .fullscreen,
.vs-ticket-form .md-editor .md-header .btn-fullscreen {
    margin-left: auto !important;
    color: #94a3b8 !important;
    background: transparent !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .vs-ticket-form .md-editor > .md-header {
        flex-wrap: wrap !important;
        min-height: 42px !important;
        padding: 4px !important;
    }

    .vs-ticket-form .md-editor > .md-header .btn,
    .vs-ticket-form .md-editor > .md-header button {
        min-width: 30px !important;
        height: 30px !important;
        padding: 4px 7px !important;
    }

    .vs-ticket-form .md-editor .md-input,
    .vs-ticket-form .md-editor textarea,
    .vs-ticket-form .md-editor .md-editor-area {
        min-height: 180px !important;
        padding: 12px !important;
    }
}

/* =========================================================
   VNET HOMEPAGE — TOP 3 STAT CARDS
   SERVICES / TICKETS / INVOICES
   ========================================================= */

/* Main 3-card grid */
.vs-stat-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Base card */
.vs-stat-grid .vs-stat-card {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 136px !important;
    padding: 18px 18px 18px 18px !important;
    box-sizing: border-box !important;

    border-radius: 15px !important;
    border: 1px solid transparent !important;

    text-decoration: none !important;
    overflow: hidden !important;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease !important;
}

/* Soft decorative circle */
.vs-stat-grid .vs-stat-card::after {
    content: "" !important;
    position: absolute !important;
    width: 105px !important;
    height: 105px !important;
    right: -28px !important;
    top: -30px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.38) !important;
    pointer-events: none !important;
}

/* Hover */
.vs-stat-grid .vs-stat-card:hover {
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

/* =========================================================
   SERVICES — BLUE
   ========================================================= */

.vs-stat-grid .vs-stat-services {
    background:
        linear-gradient(
            135deg,
            #dff0ff 0%,
            #c8e5ff 48%,
            #b9dcff 100%
        ) !important;

    border-color: #86c5ff !important;
    box-shadow:
        0 7px 20px rgba(22, 4, 44, .10) !important;
}

.vs-stat-grid .vs-stat-services:hover {
    border-color: #7B4BA8 !important;
    box-shadow:
        0 10px 26px rgba(22, 4, 44, .16) !important;
}

.vs-stat-grid .vs-stat-services .vs-stat-icon {
    background: #4A147C !important;
    color: #ffffff !important;
}

/* =========================================================
   TICKETS — GREEN
   ========================================================= */

.vs-stat-grid .vs-stat-tickets {
    background:
        linear-gradient(
            135deg,
            #e1faeb 0%,
            #ccf4db 48%,
            #bceecf 100%
        ) !important;

    border-color: #9bddb5 !important;
    box-shadow:
        0 7px 20px rgba(22, 163, 74, .09) !important;
}

.vs-stat-grid .vs-stat-tickets:hover {
    border-color: #6dcc92 !important;
    box-shadow:
        0 10px 26px rgba(22, 163, 74, .14) !important;
}

.vs-stat-grid .vs-stat-tickets .vs-stat-icon {
    background: #22a957 !important;
    color: #ffffff !important;
}

/* =========================================================
   INVOICES — GREEN TONE
   ========================================================= */

.vs-stat-grid .vs-stat-invoices {
  background: linear-gradient(135deg, #ffbf80 0%, #ffdb93 48%, #ffcd91 100%) !important;


    border-color: #ffc5a4 !important;
    box-shadow:
        0 7px 20px rgba(22, 163, 74, .09) !important;
}

.vs-stat-grid .vs-stat-invoices:hover {
    border-color: #6fc58d !important;
    box-shadow:
        0 10px 26px rgba(22, 163, 74, .15) !important;
}

.vs-stat-grid .vs-stat-invoices .vs-stat-icon {
   background: #d1802c !important;
    color: #ffffff !important;
}

/* =========================================================
   ICON
   ========================================================= */

.vs-stat-grid .vs-stat-icon {
    position: relative !important;
    z-index: 2 !important;

    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin-right: 14px !important;

    border-radius: 12px !important;

    font-size: 19px !important;
    line-height: 1 !important;

    box-shadow:
        0 5px 12px rgba(15, 23, 42, .10) !important;
}

.vs-stat-grid .vs-stat-icon i {
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Override old generic icon colors */
.vs-stat-grid .vs-stat-services .vs-stat-icon,
.vs-stat-grid .vs-stat-tickets .vs-stat-icon,
.vs-stat-grid .vs-stat-invoices .vs-stat-icon {
    opacity: 1 !important;
}

/* =========================================================
   CONTENT
   ========================================================= */

.vs-stat-grid .vs-stat-content {
    position: relative !important;
    z-index: 2 !important;

    min-width: 0 !important;
    flex: 1 1 auto !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.vs-stat-grid .vs-stat-number {
    display: block !important;
    margin: 0 !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;

    color: #10233f !important;
}

.vs-stat-grid .vs-stat-label {
    display: block !important;
    margin-top: 4px !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;

    color: #18304f !important;
}

.vs-stat-grid .vs-stat-description {
    display: block !important;
    margin-top: 2px !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;

    color: #64748b !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Invoice/ticket descriptions */
.vs-stat-grid .vs-stat-invoices .vs-stat-description,
.vs-stat-grid .vs-stat-tickets .vs-stat-description {
    color: #52715e !important;
}

/* =========================================================
   ARROW
   ========================================================= */

.vs-stat-grid .vs-stat-arrow {
    position: relative !important;
    z-index: 3 !important;

    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin-left: 10px !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,.90) !important;

    font-size: 12px !important;
    color: #16042C !important;

    box-shadow:
        0 3px 10px rgba(15, 23, 42, .08) !important;
}

.vs-stat-grid .vs-stat-arrow i {
    font-size: 11px !important;
}

.vs-stat-grid .vs-stat-tickets .vs-stat-arrow,
.vs-stat-grid .vs-stat-invoices .vs-stat-arrow {
    color: #16a34a !important;
}

/* =========================================================
   REMOVE OLD STAT CARD COLOR OVERRIDES
   These selectors are intentionally scoped to the new cards.
   ========================================================= */

.vs-stat-grid .vs-stat-services,
.vs-stat-grid .vs-stat-tickets,
.vs-stat-grid .vs-stat-invoices {
    background-image: none !important;
}

/* Re-apply the intended gradients after generic background rules */
.vs-stat-grid .vs-stat-services {
    background:
        linear-gradient(135deg, #dff0ff 0%, #c8e5ff 48%, #b9dcff 100%) !important;
}

.vs-stat-grid .vs-stat-tickets {
    background:
        linear-gradient(135deg, #e1faeb 0%, #ccf4db 48%, #bceecf 100%) !important;
}

.vs-stat-grid .vs-stat-invoices {
    background:
      linear-gradient(135deg, #ff7f00 0%, #ffc85b 48%, #ffcd91 100%) !important
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {
    .vs-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    .vs-stat-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .vs-stat-grid .vs-stat-card {
        min-height: 112px !important;
        padding: 16px !important;
    }

    .vs-stat-grid .vs-stat-icon {
        flex-basis: 44px !important;
        width: 44px !important;
        height: 44px !important;
        margin-right: 12px !important;
    }

    .vs-stat-grid .vs-stat-number {
        font-size: 20px !important;
    }

    .vs-stat-grid .vs-stat-label {
        font-size: 12px !important;
    }

    .vs-stat-grid .vs-stat-description {
        font-size: 9px !important;
    }
}

@media (max-width: 420px) {
    .vs-stat-grid .vs-stat-card {
        min-height: 104px !important;
        padding: 14px !important;
    }

    .vs-stat-grid .vs-stat-arrow {
        flex-basis: 30px !important;
        width: 30px !important;
        height: 30px !important;
    }
}


/* Hide Domains card only */
.vs-stat-card[href*="action=domains"] {
    display: none !important;
}

/* =========================================================
   VNET ANNOUNCEMENTS PAGE
   Modern Blue / White Theme
   ========================================================= */

.vs-announcements-page {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px 0 30px;
    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.vs-announcements-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.vs-announcements-header-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: linear-gradient(
        135deg,
        #16042C,
        #16042C
    ) !important;

    color: #ffffff !important;

    font-size: 17px;

    box-shadow:
        0 7px 18px rgba(22, 4, 44, .18);
}

.vs-announcements-title {
    margin: 0 !important;

    color: #16042B!important;

    font-size: 23px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;

    letter-spacing: -.025em;
}

.vs-announcements-subtitle {
    margin: 4px 0 0 !important;

    color: #64748b !important;

    font-size: 13px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   ANNOUNCEMENT LIST
   ========================================================= */

.vs-announcements-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}


/* =========================================================
   ANNOUNCEMENT CARD
   ========================================================= */

.vs-announcement-card {
    position: relative;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;
    border-radius: 16px !important;

    overflow: hidden;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .055);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.vs-announcement-card:hover {
    transform: translateY(-2px);

    border-color: #cbdcf5 !important;

    box-shadow:
        0 12px 30px rgba(30, 64, 175, .09);
}


/* =========================================================
   CARD HEADER
   ========================================================= */

.vs-announcement-card-header {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 17px 20px;

    background: #fbfdff !important;

    border-bottom: 1px solid #edf1f6 !important;
}

.vs-announcement-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 14px;
}

.vs-announcement-meta {
    display: flex;
    flex-direction: column;

    gap: 3px;

    min-width: 0;
}

.vs-announcement-label {
    color: #344054 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

.vs-announcement-date {
    display: flex;
    align-items: center;
    gap: 5px;

    color: #98a2b3 !important;

    font-size: 11px !important;
    font-weight: 500 !important;
}

.vs-announcement-date i {
    color: #16042C !important;
}


/* =========================================================
   EDIT BUTTON
   ========================================================= */

.vs-announcement-edit {
    margin-left: auto;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    color: #667085 !important;
    background: #f5f7fa !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        color .2s ease;
}

.vs-announcement-edit:hover {
    background: #eef5ff !important;
    color: #16042C !important;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.vs-announcement-content {
    padding: 20px;
}

.vs-announcement-title {
    margin: 0 0 11px !important;

    font-size: 18px !important;
    line-height: 1.4 !important;

    font-weight: 700 !important;

    letter-spacing: -.015em;
}

.vs-announcement-title a {
    color: #101828 !important;

    text-decoration: none !important;

    transition: color .2s ease;
}

.vs-announcement-title a:hover {
    color: #16042C !important;
}


/* =========================================================
   ANNOUNCEMENT TEXT
   ========================================================= */

.vs-announcement-text {
    color: #667085 !important;

    font-size: 13px !important;
    line-height: 1.75 !important;

    max-width: none !important;
}

.vs-announcement-text p {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.vs-announcement-text p:last-child {
    margin-bottom: 0 !important;
}

.vs-announcement-text a {
    color: #16042C !important;
}


/* =========================================================
   FOOTER / READ MORE
   ========================================================= */

.vs-announcement-footer {
    display: flex;
    align-items: center;

    margin-top: 18px;
    padding-top: 15px;

    border-top: 1px solid #edf1f6 !important;
}

.vs-announcement-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    min-height: 36px;

    padding: 8px 14px;

    border-radius: 8px;

    background: #16042C !important;
    color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    box-shadow:
        0 4px 10px rgba(22, 4, 44, .16);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.vs-announcement-read-more:hover {
    background: #2A0A52 !important;
    color: #ffffff !important;

    transform: translateY(-1px);

    box-shadow:
        0 6px 15px rgba(22, 4, 44, .22);
}

.vs-announcement-read-more i {
    font-size: 10px;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.vs-announcements-empty {
    padding: 55px 25px;

    text-align: center;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;
    border-radius: 16px !important;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);
}

.vs-announcements-empty-icon {
    width: 56px;
    height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 14px;

    border-radius: 15px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 20px;
}

.vs-announcements-empty h3 {
    margin: 0 0 5px !important;

    color: #101828 !important;

    font-size: 16px !important;
    font-weight: 700 !important;
}

.vs-announcements-empty p {
    margin: 0 !important;

    color: #98a2b3 !important;

    font-size: 12px !important;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.vs-announcements-pagination {
    margin-top: 22px !important;

    display: flex;
    justify-content: center;
}

.vs-announcements-pagination .pagination {
    display: flex;

    align-items: center;

    gap: 5px;

    margin: 0 !important;
}

.vs-announcements-pagination .page-item {
    margin: 0 !important;
}

.vs-announcements-pagination .page-link {
    min-width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 7px 11px;

    border: 1px solid #e0e7f0 !important;

    border-radius: 8px !important;

    background: #ffffff !important;

    color: #475467 !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;

    box-shadow: none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.vs-announcements-pagination .page-link:hover {
    background: #eef5ff !important;

    border-color: #c7daf8 !important;

    color: #16042C !important;
}

.vs-announcements-pagination .page-item.active .page-link {
    background: #16042C !important;

    border-color: #16042C !important;

    color: #ffffff !important;
}

.vs-announcements-pagination .page-item.disabled .page-link {
    opacity: .5;

    cursor: not-allowed;

    background: #f8fafc !important;
}


/* =========================================================
   REMOVE OLD WHMCS ANNOUNCEMENT CARD STYLING
   ONLY INSIDE THIS PAGE
   ========================================================= */

.vs-announcements-page > .card,
.vs-announcements-page .card,
.vs-announcements-page .announcements,
.vs-announcements-page .announcement {
    box-shadow: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {

    .vs-announcements-page {
        padding: 5px 0 20px;
    }

    .vs-announcements-header {
        margin-bottom: 16px;
    }

    .vs-announcements-header-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;

        border-radius: 11px;

        font-size: 14px;
    }

    .vs-announcements-title {
        font-size: 19px !important;
    }

    .vs-announcements-subtitle {
        font-size: 11px !important;
    }

    .vs-announcement-card {
        border-radius: 13px !important;
    }

    .vs-announcement-card-header {
        padding: 14px;
    }

    .vs-announcement-content {
        padding: 16px;
    }

    .vs-announcement-title {
        font-size: 16px !important;
    }

    .vs-announcement-text {
        font-size: 12px !important;
        line-height: 1.65 !important;
    }

    .vs-announcement-footer {
        margin-top: 15px;
        padding-top: 13px;
    }

    .vs-announcement-read-more {
        width: 100%;
        justify-content: center;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .vs-announcements-header {
        align-items: flex-start;
    }

    .vs-announcement-card-header {
        gap: 9px;
    }

    .vs-announcement-icon {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .vs-announcement-label {
        font-size: 12px !important;
    }

    .vs-announcement-date {
        font-size: 10px !important;
    }

}
/* =========================================================
   VNET — SINGLE ANNOUNCEMENT VIEW
   Modern Blue / White Theme
   FULL WIDTH
   ========================================================= */

.vs-announcement-view {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px 0 35px !important;

    font-family: 'Manrope', sans-serif !important;

    box-sizing: border-box !important;
}


/* =========================================================
   MAIN ANNOUNCEMENT CARD
   ========================================================= */

.vs-announcement-view-card {
    width: 100% !important;
    max-width: none !important;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;
    border-radius: 18px !important;

    overflow: hidden;

    box-sizing: border-box !important;

    box-shadow:
        0 8px 28px rgba(30, 64, 175, .06);
}


/* =========================================================
   HEADER
   ========================================================= */

.vs-announcement-view-header {
    width: 100% !important;

    display: flex;
    align-items: center;

    gap: 15px;

    padding: 24px 26px;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #ffffff 100%
        ) !important;

    border-bottom: 1px solid #edf1f6 !important;

    box-sizing: border-box !important;
}

.vs-announcement-view-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #16042C,
            #16042C
        ) !important;

    color: #ffffff !important;

    font-size: 18px;

    box-shadow:
        0 7px 18px rgba(22, 4, 44, .18);
}

.vs-announcement-view-heading {
    min-width: 0;
    flex: 1;
}

.vs-announcement-view-title {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 24px !important;
    line-height: 1.35 !important;

    font-weight: 700 !important;

    letter-spacing: -.025em;
}

.vs-announcement-view-meta {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 8px;

    color: #98a2b3 !important;

    font-size: 12px !important;
    font-weight: 500 !important;
}

.vs-announcement-view-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vs-announcement-view-meta i {
    color: #16042C !important;
}

.vs-announcement-meta-divider {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #cbd5e1 !important;
}


/* =========================================================
   TWITTER
   ========================================================= */

.vs-announcement-twitter {
    margin-left: auto;

    flex-shrink: 0;
}


/* =========================================================
   CONTENT
   ========================================================= */

.vs-announcement-view-content {
    width: 100% !important;
    max-width: none !important;

    padding: 32px 34px;

    box-sizing: border-box !important;
}

.vs-announcement-article {
    width: 100% !important;
    max-width: none !important;

    color: #475467 !important;

    font-size: 14px !important;
    line-height: 1.85 !important;

    word-break: break-word;

    box-sizing: border-box !important;
}

.vs-announcement-article p {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

.vs-announcement-article p:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   ARTICLE HEADINGS
   ========================================================= */

.vs-announcement-article h1,
.vs-announcement-article h2,
.vs-announcement-article h3,
.vs-announcement-article h4,
.vs-announcement-article h5,
.vs-announcement-article h6 {
    color: #101828 !important;

    font-family: 'Manrope', sans-serif !important;

    font-weight: 700 !important;

    line-height: 1.4 !important;

    margin-top: 25px !important;
    margin-bottom: 12px !important;
}

.vs-announcement-article h2 {
    font-size: 21px !important;
}

.vs-announcement-article h3 {
    font-size: 18px !important;
}

.vs-announcement-article h4 {
    font-size: 16px !important;
}


/* =========================================================
   ARTICLE LINKS
   ========================================================= */

.vs-announcement-article a {
    color: #16042C !important;

    text-decoration: none !important;
}

.vs-announcement-article a:hover {
    color: #2A0A52 !important;

    text-decoration: underline !important;
}


/* =========================================================
   ARTICLE IMAGES
   ========================================================= */

.vs-announcement-article img {
    max-width: 100% !important;
    height: auto !important;

    border-radius: 12px !important;

    margin-top: 8px;
    margin-bottom: 15px;

    box-shadow:
        0 6px 20px rgba(15, 23, 42, .07);
}


/* =========================================================
   ARTICLE LISTS
   ========================================================= */

.vs-announcement-article ul,
.vs-announcement-article ol {
    padding-left: 24px !important;

    margin-bottom: 18px !important;
}

.vs-announcement-article li {
    margin-bottom: 7px;
}


/* =========================================================
   BLOCKQUOTE
   ========================================================= */

.vs-announcement-article blockquote {
    margin: 20px 0 !important;

    padding: 15px 18px !important;

    border-left: 4px solid #16042C !important;

    border-radius: 0 9px 9px 0;

    background: #F7F2FB !important;

    color: #475467 !important;
}


/* =========================================================
   CODE
   ========================================================= */

.vs-announcement-article pre {
    padding: 16px !important;

    overflow-x: auto;

    border-radius: 10px;

    background: #16042B!important;

    color: #e2e8f0 !important;

    font-size: 12px !important;
}

.vs-announcement-article code {
    padding: 2px 5px;

    border-radius: 5px;

    background: #f1f5f9;

    color: #16042C;
}


/* =========================================================
   SOCIAL RECOMMEND
   ========================================================= */

.vs-announcement-social {
    width: 100% !important;

    margin-top: 28px;

    padding-top: 20px;

    border-top: 1px solid #edf1f6 !important;
}


/* =========================================================
   COMMENTS CARD
   ========================================================= */

.vs-announcement-comments {
    width: 100% !important;
    max-width: none !important;

    margin-top: 18px;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;
    border-radius: 16px !important;

    overflow: hidden;

    box-sizing: border-box !important;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);
}

.vs-announcement-comments-header {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 17px 20px;

    border-bottom: 1px solid #edf1f6 !important;

    background: #fbfdff !important;
}

.vs-announcement-comments-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;
}

.vs-announcement-comments-header h3 {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 14px !important;
    font-weight: 700 !important;
}

.vs-announcement-comments-header p {
    margin: 3px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}

.vs-announcement-comments-body {
    width: 100% !important;

    padding: 24px !important;

    overflow-x: auto;

    box-sizing: border-box !important;
}


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.vs-announcement-actions {
    width: 100% !important;

    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-top: 20px;

    box-sizing: border-box !important;
}

.vs-announcement-back,
.vs-announcement-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 40px;

    padding: 9px 16px;

    border-radius: 9px;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}


/* =========================================================
   BACK BUTTON
   ========================================================= */

.vs-announcement-back {
    background: #ffffff !important;

    border: 1px solid #dfe6ef !important;

    color: #475467 !important;
}

.vs-announcement-back:hover {
    background: #FAF7FC !important;

    border-color: #c7d8ef !important;

    color: #16042C !important;

    transform: translateX(-1px);
}


/* =========================================================
   EDIT BUTTON
   ========================================================= */

.vs-announcement-edit-btn {
    background: #16042C !important;

    border: 1px solid #16042C !important;

    color: #ffffff !important;

    box-shadow:
        0 4px 10px rgba(22, 4, 44, .15);
}

.vs-announcement-edit-btn:hover {
    background: #2A0A52 !important;

    border-color: #2A0A52 !important;

    color: #ffffff !important;

    transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE — TABLET / MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .vs-announcement-view {
        width: 100% !important;
        max-width: none !important;

        padding: 5px 0 25px !important;
    }

    .vs-announcement-view-card {
        width: 100% !important;

        border-radius: 13px !important;
    }

    .vs-announcement-view-header {
        width: 100% !important;

        align-items: flex-start;

        padding: 18px;
    }

    .vs-announcement-view-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;

        border-radius: 11px;

        font-size: 15px;
    }

    .vs-announcement-view-title {
        font-size: 19px !important;
    }

    .vs-announcement-view-meta {
        flex-wrap: wrap;

        font-size: 10px !important;
    }

    .vs-announcement-twitter {
        display: none;
    }

    .vs-announcement-view-content {
        width: 100% !important;

        padding: 22px 18px;
    }

    .vs-announcement-article {
        width: 100% !important;

        font-size: 13px !important;

        line-height: 1.75 !important;
    }

    .vs-announcement-comments {
        width: 100% !important;

        border-radius: 13px !important;
    }

    .vs-announcement-comments-body {
        width: 100% !important;

        padding: 16px !important;
    }

    .vs-announcement-actions {
        width: 100% !important;

        gap: 10px;
    }

    .vs-announcement-back,
    .vs-announcement-edit-btn {
        flex: 1;

        padding-left: 10px;
        padding-right: 10px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .vs-announcement-view {
        width: 100% !important;
        max-width: none !important;
    }

    .vs-announcement-view-header {
        gap: 10px;
    }

    .vs-announcement-view-title {
        font-size: 17px !important;
    }

    .vs-announcement-view-content {
        width: 100% !important;

        padding: 18px 15px;
    }

    .vs-announcement-comments-header {
        padding: 14px;
    }

    .vs-announcement-comments-body {
        width: 100% !important;

        padding: 12px !important;
    }

}

/* =========================================================
   VNET KNOWLEDGEBASE
   Modern Blue / White Theme
   FULL WIDTH
   ========================================================= */

.vs-kb-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 10px 0 35px !important;

    box-sizing: border-box !important;

    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   HEADER
   ========================================================= */

.vs-kb-header {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 15px;

    margin-bottom: 22px;

    box-sizing: border-box;
}

.vs-kb-header-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #16042C,
            #16042C
        ) !important;

    color: #ffffff !important;

    font-size: 18px;

    box-shadow:
        0 7px 18px rgba(22, 4, 44, .18);
}

.vs-kb-header-content {
    min-width: 0;
}

.vs-kb-title {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 24px !important;
    line-height: 1.35 !important;

    font-weight: 700 !important;

    letter-spacing: -.025em;
}

.vs-kb-subtitle {
    margin: 5px 0 0 !important;

    color: #667085 !important;

    font-size: 13px !important;
    line-height: 1.5 !important;

    font-weight: 400 !important;
}


/* =========================================================
   SEARCH CARD
   ========================================================= */

.vs-kb-search-card {
    width: 100% !important;

    padding: 24px 26px;

    margin-bottom: 30px;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #ffffff 100%
        ) !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .055);

    box-sizing: border-box;
}

.vs-kb-search-heading {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 17px;
}

.vs-kb-search-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 15px;
}

.vs-kb-search-heading h2 {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 15px !important;

    line-height: 1.4 !important;

    font-weight: 700 !important;
}

.vs-kb-search-heading p {
    margin: 3px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}


/* =========================================================
   SEARCH INPUT
   ========================================================= */

.vs-kb-search-form {
    width: 100% !important;

    margin: 0 !important;
}

.vs-kb-search-input {
    position: relative;

    width: 100%;

    display: flex;
    align-items: center;

    box-sizing: border-box;
}

.vs-kb-search-input > i {
    position: absolute;

    left: 16px;

    z-index: 3;

    color: #98a2b3 !important;

    font-size: 14px;
}

.vs-kb-search-input .form-control {
    width: 100% !important;

    height: 48px !important;

    padding: 10px 125px 10px 43px !important;

    background: #ffffff !important;

    border: 1px solid #d9e2ef !important;

    border-radius: 10px !important;

    color: #344054 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 13px !important;

    box-shadow: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.vs-kb-search-input .form-control::placeholder {
    color: #98a2b3 !important;
}

.vs-kb-search-input .form-control:focus {
    border-color: #16042C !important;

    box-shadow:
        0 0 0 3px rgba(22, 4, 44, .10) !important;

    outline: none !important;
}


/* =========================================================
   SEARCH BUTTON
   ========================================================= */

.vs-kb-search-button {
    position: absolute;

    right: 5px;
    top: 5px;

    height: 38px;

    padding: 0 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    border: 0 !important;

    border-radius: 7px !important;

    background: #16042C !important;

    color: #ffffff !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.vs-kb-search-button:hover {
    background: #2A0A52 !important;

    color: #ffffff !important;

    transform: translateY(-1px);

    box-shadow:
        0 5px 12px rgba(22, 4, 44, .18);
}


/* =========================================================
   SECTION HEADER
   ========================================================= */

.vs-kb-section-header {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 16px;
}

.vs-kb-section-title {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 18px !important;

    line-height: 1.4 !important;

    font-weight: 700 !important;

    letter-spacing: -.015em;
}

.vs-kb-section-subtitle {
    margin: 4px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}

.vs-kb-section-count {
    min-width: 38px;
    height: 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    padding: 0 10px;

    border-radius: 8px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 11px !important;

    font-weight: 700 !important;
}

.vs-kb-section-count i {
    font-size: 11px;
}


/* =========================================================
   CATEGORY GRID
   ========================================================= */

.vs-kb-category-grid {
    width: 100% !important;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    margin-bottom: 32px;
}


/* =========================================================
   CATEGORY CARD
   ========================================================= */

.vs-kb-category-card {
    position: relative;

    width: 100%;

    min-width: 0;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    overflow: hidden;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;

    box-sizing: border-box;
}

.vs-kb-category-card:hover {
    transform: translateY(-2px);

    border-color: #cbdcf5 !important;

    box-shadow:
        0 12px 30px rgba(30, 64, 175, .09);
}

.vs-kb-category-link {
    display: block;

    width: 100%;

    padding: 20px;

    color: inherit !important;

    text-decoration: none !important;

    box-sizing: border-box;
}

.vs-kb-category-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 16px;
}

.vs-kb-category-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 16px;
}

.vs-kb-category-count {
    display: inline-flex;
    align-items: center;

    min-height: 26px;

    padding: 5px 9px;

    border-radius: 7px;

    background: #F7F2FB !important;

    color: #667085 !important;

    font-size: 10px !important;

    font-weight: 600 !important;
}

.vs-kb-category-content h3 {
    margin: 0 0 7px !important;

    color: #101828 !important;

    font-size: 16px !important;

    line-height: 1.4 !important;

    font-weight: 700 !important;

    transition: color .2s ease;
}

.vs-kb-category-card:hover
.vs-kb-category-content h3 {
    color: #16042C !important;
}

.vs-kb-category-content p {
    margin: 0 !important;

    color: #667085 !important;

    font-size: 12px !important;

    line-height: 1.7 !important;
}

.vs-kb-category-footer {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-top: 18px;

    padding-top: 14px;

    border-top: 1px solid #edf1f6 !important;

    color: #16042C !important;

    font-size: 11px !important;

    font-weight: 600 !important;
}

.vs-kb-category-footer i {
    font-size: 10px;

    transition: transform .2s ease;
}

.vs-kb-category-card:hover
.vs-kb-category-footer i {
    transform: translateX(3px);
}


/* =========================================================
   EDIT CATEGORY
   ========================================================= */

.vs-kb-edit-button {
    position: absolute;

    top: 14px;
    right: 52px;

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #f5f7fa !important;

    color: #667085 !important;

    font-size: 11px !important;

    opacity: 0;

    cursor: pointer;

    transition:
        opacity .2s ease,
        background .2s ease,
        color .2s ease;
}

.vs-kb-category-card:hover .vs-kb-edit-button {
    opacity: 1;
}

.vs-kb-edit-button:hover {
    background: #eef5ff !important;

    color: #16042C !important;
}


/* =========================================================
   POPULAR ARTICLES
   ========================================================= */

.vs-kb-popular-section {
    width: 100%;
}

.vs-kb-popular-card {
    width: 100%;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    overflow: hidden;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);
}

.vs-kb-article-list {
    width: 100%;
}

.vs-kb-article-item {
    position: relative;

    width: 100%;

    border-bottom: 1px solid #edf1f6 !important;

    box-sizing: border-box;
}

.vs-kb-article-item:last-child {
    border-bottom: 0 !important;
}

.vs-kb-article-link {
    width: 100%;

    min-width: 0;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 17px 20px;

    color: inherit !important;

    text-decoration: none !important;

    box-sizing: border-box;

    transition:
        background .2s ease;
}

.vs-kb-article-link:hover {
    background: #f8fbff !important;
}

.vs-kb-article-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 14px;
}

.vs-kb-article-content {
    min-width: 0;

    flex: 1;
}

.vs-kb-article-content h3 {
    margin: 0 0 5px !important;

    color: #344054 !important;

    font-size: 13px !important;

    line-height: 1.45 !important;

    font-weight: 700 !important;

    transition: color .2s ease;
}

.vs-kb-article-link:hover
.vs-kb-article-content h3 {
    color: #16042C !important;
}

.vs-kb-article-content p {
    margin: 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;

    line-height: 1.6 !important;
}

.vs-kb-article-arrow {
    width: 30px;
    height: 30px;
    min-width: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    color: #98a2b3 !important;

    background: #f8fafc !important;

    font-size: 10px;

    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.vs-kb-article-link:hover
.vs-kb-article-arrow {
    color: #16042C !important;

    background: #eef5ff !important;

    transform: translateX(2px);
}


/* =========================================================
   EDIT ARTICLE
   ========================================================= */

.vs-kb-article-edit {
    position: absolute;

    right: 62px;
    top: 50%;

    transform: translateY(-50%);

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #f5f7fa !important;

    color: #667085 !important;

    font-size: 10px !important;

    opacity: 0;

    cursor: pointer;

    transition:
        opacity .2s ease,
        background .2s ease,
        color .2s ease;
}

.vs-kb-article-item:hover
.vs-kb-article-edit {
    opacity: 1;
}

.vs-kb-article-edit:hover {
    background: #eef5ff !important;

    color: #16042C !important;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.vs-kb-empty {
    width: 100%;

    padding: 55px 25px;

    text-align: center;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);

    box-sizing: border-box;
}

.vs-kb-empty-icon {
    width: 56px;
    height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 14px;

    border-radius: 15px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 20px;
}

.vs-kb-empty h3 {
    margin: 0 0 5px !important;

    color: #101828 !important;

    font-size: 16px !important;

    font-weight: 700 !important;
}

.vs-kb-empty p {
    margin: 0 !important;

    color: #98a2b3 !important;

    font-size: 12px !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .vs-kb-category-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 14px;
    }

}


@media (max-width: 767.98px) {

    .vs-kb-page {
        padding: 5px 0 25px !important;
    }

    .vs-kb-header {
        margin-bottom: 17px;
    }

    .vs-kb-header-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;

        border-radius: 11px;

        font-size: 15px;
    }

    .vs-kb-title {
        font-size: 19px !important;
    }

    .vs-kb-subtitle {
        font-size: 11px !important;
    }

    .vs-kb-search-card {
        padding: 18px;

        margin-bottom: 24px;

        border-radius: 13px !important;
    }

    .vs-kb-search-heading {
        margin-bottom: 14px;
    }

    .vs-kb-search-input .form-control {
        height: 46px !important;

        padding-left: 40px !important;
        padding-right: 105px !important;
    }

    .vs-kb-search-button {
        height: 36px;

        padding: 0 12px;
    }

    .vs-kb-search-button i {
        display: none;
    }

    .vs-kb-section-title {
        font-size: 16px !important;
    }

    .vs-kb-section-subtitle {
        font-size: 10px !important;
    }

    .vs-kb-category-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .vs-kb-category-card {
        border-radius: 13px !important;
    }

    .vs-kb-category-link {
        padding: 17px;
    }

    .vs-kb-popular-card {
        border-radius: 13px !important;
    }

    .vs-kb-article-link {
        padding: 15px;
    }

    .vs-kb-article-arrow {
        display: none;
    }

    .vs-kb-article-edit {
        right: 15px;
    }

}


@media (max-width: 480px) {

    .vs-kb-header {
        align-items: flex-start;
    }

    .vs-kb-title {
        font-size: 17px !important;
    }

    .vs-kb-search-card {
        padding: 15px;
    }

    .vs-kb-search-heading h2 {
        font-size: 13px !important;
    }

    .vs-kb-search-input .form-control {
        font-size: 12px !important;
    }

    .vs-kb-search-button span {
        font-size: 11px;
    }

    .vs-kb-section-header {
        align-items: flex-start;
    }

    .vs-kb-section-count {
        min-width: 32px;
        height: 28px;
    }

    .vs-kb-category-link {
        padding: 15px;
    }

    .vs-kb-category-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .vs-kb-category-content h3 {
        font-size: 14px !important;
    }

    .vs-kb-article-link {
        gap: 10px;

        padding: 13px;
    }

    .vs-kb-article-icon {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .vs-kb-article-content h3 {
        font-size: 12px !important;
    }

}

/* =========================================================
   VNET KNOWLEDGEBASE ARTICLE
   Modern Blue / White Theme
   FULL WIDTH
   ========================================================= */

.vs-kb-article-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 10px 0 35px !important;

    box-sizing: border-box !important;

    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   VOTED ALERT
   ========================================================= */

.vs-kb-voted-alert {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 18px;

    padding: 13px 16px;

    background: #f0fdf4 !important;

    border: 1px solid #bbf7d0 !important;

    border-left: 4px solid #22c55e !important;

    border-radius: 10px !important;

    color: #166534 !important;

    box-sizing: border-box;
}

.vs-kb-voted-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #dcfce7 !important;

    color: #16a34a !important;

    font-size: 12px;
}


/* =========================================================
   MAIN ARTICLE CARD
   ========================================================= */

.vs-kb-article-card {
    width: 100% !important;
    max-width: none !important;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 18px !important;

    overflow: hidden;

    box-shadow:
        0 8px 28px rgba(30, 64, 175, .06);

    box-sizing: border-box;
}


/* =========================================================
   ARTICLE HEADER
   ========================================================= */

.vs-kb-article-header {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 24px 28px;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #ffffff 100%
        ) !important;

    border-bottom: 1px solid #edf1f6 !important;

    box-sizing: border-box;
}

.vs-kb-article-heading {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 14px;

    flex: 1;
}

.vs-kb-article-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #16042C,
            #16042C
        ) !important;

    color: #ffffff !important;

    font-size: 18px;

    box-shadow:
        0 7px 18px rgba(22, 4, 44, .18);
}

.vs-kb-article-heading-content {
    min-width: 0;
}

.vs-kb-article-title {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 24px !important;

    line-height: 1.35 !important;

    font-weight: 700 !important;

    letter-spacing: -.025em;

    word-break: break-word;
}

.vs-kb-article-meta {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 9px;
}


/* =========================================================
   TAG
   ========================================================= */

.vs-kb-article-tag {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    min-height: 25px;

    padding: 5px 9px;

    border-radius: 7px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 10px !important;

    font-weight: 600 !important;
}

.vs-kb-article-tag i {
    font-size: 9px;
}


/* =========================================================
   USEFUL COUNT
   ========================================================= */

.vs-kb-article-useful {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #98a2b3 !important;

    font-size: 11px !important;

    font-weight: 500 !important;
}

.vs-kb-article-useful i {
    color: #16042C !important;
}


/* =========================================================
   PRINT BUTTON
   ========================================================= */

.vs-kb-print-button {
    flex-shrink: 0;

    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 9px 15px;

    border: 1px solid #dfe6ef !important;

    border-radius: 9px !important;

    background: #ffffff !important;

    color: #475467 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.vs-kb-print-button:hover {
    background: #FAF7FC !important;

    border-color: #c7d8ef !important;

    color: #16042C !important;

    transform: translateY(-1px);
}


/* =========================================================
   ARTICLE BODY
   ========================================================= */

.vs-kb-article-body {
    width: 100%;

    padding: 32px 36px;

    box-sizing: border-box;
}

.vs-kb-article-content {
    width: 100% !important;
    max-width: none !important;

    color: #475467 !important;

    font-size: 14px !important;

    line-height: 1.85 !important;

    word-break: break-word;
}


/* =========================================================
   ARTICLE TYPOGRAPHY
   ========================================================= */

.vs-kb-article-content p {
    margin-top: 0 !important;

    margin-bottom: 18px !important;
}

.vs-kb-article-content p:last-child {
    margin-bottom: 0 !important;
}

.vs-kb-article-content h1,
.vs-kb-article-content h2,
.vs-kb-article-content h3,
.vs-kb-article-content h4,
.vs-kb-article-content h5,
.vs-kb-article-content h6 {
    color: #101828 !important;

    font-family: 'Manrope', sans-serif !important;

    font-weight: 700 !important;

    line-height: 1.4 !important;

    margin-top: 28px !important;

    margin-bottom: 13px !important;
}

.vs-kb-article-content h1 {
    font-size: 25px !important;
}

.vs-kb-article-content h2 {
    font-size: 21px !important;
}

.vs-kb-article-content h3 {
    font-size: 18px !important;
}

.vs-kb-article-content h4 {
    font-size: 16px !important;
}

.vs-kb-article-content a {
    color: #16042C !important;

    text-decoration: none !important;
}

.vs-kb-article-content a:hover {
    color: #2A0A52 !important;

    text-decoration: underline !important;
}


/* =========================================================
   ARTICLE IMAGES
   ========================================================= */

.vs-kb-article-content img {
    max-width: 100% !important;

    height: auto !important;

    border-radius: 12px !important;

    margin-top: 8px;

    margin-bottom: 18px;

    box-shadow:
        0 6px 20px rgba(15, 23, 42, .07);
}


/* =========================================================
   LISTS
   ========================================================= */

.vs-kb-article-content ul,
.vs-kb-article-content ol {
    padding-left: 25px !important;

    margin-bottom: 20px !important;
}

.vs-kb-article-content li {
    margin-bottom: 7px;
}


/* =========================================================
   BLOCKQUOTE
   ========================================================= */

.vs-kb-article-content blockquote {
    margin: 22px 0 !important;

    padding: 16px 20px !important;

    border-left: 4px solid #16042C !important;

    border-radius: 0 9px 9px 0;

    background: #F7F2FB !important;

    color: #475467 !important;
}


/* =========================================================
   TABLES INSIDE ARTICLES
   ========================================================= */

.vs-kb-article-content table {
    width: 100% !important;

    max-width: 100% !important;

    margin: 20px 0 !important;

    border-collapse: collapse !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 10px;

    overflow: hidden;
}

.vs-kb-article-content th {
    padding: 11px 13px !important;

    background: #F7F2FB !important;

    border: 1px solid #e3eaf4 !important;

    color: #344054 !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    text-align: left;
}

.vs-kb-article-content td {
    padding: 11px 13px !important;

    border: 1px solid #e3eaf4 !important;

    color: #667085 !important;

    font-size: 12px !important;
}


/* =========================================================
   CODE
   ========================================================= */

.vs-kb-article-content pre {
    max-width: 100%;

    padding: 16px !important;

    overflow-x: auto;

    border-radius: 10px;

    background: #16042B!important;

    color: #e2e8f0 !important;

    font-size: 12px !important;
}

.vs-kb-article-content code {
    padding: 2px 5px;

    border-radius: 5px;

    background: #f1f5f9;

    color: #16042C;

    font-size: 12px;
}


/* =========================================================
   RATING SECTION
   ========================================================= */

.vs-kb-rating {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 32px;

    padding: 20px;

    background:
        linear-gradient(
            135deg,
            #f8fbff,
            #ffffff
        ) !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 13px !important;

    box-sizing: border-box;
}

.vs-kb-rating-content {
    display: flex;
    align-items: center;

    gap: 12px;
}

.vs-kb-rating-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 15px;
}

.vs-kb-rating h3 {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 14px !important;

    font-weight: 700 !important;
}

.vs-kb-rating p {
    margin: 3px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}

.vs-kb-rating-form {
    display: flex;

    align-items: center;

    gap: 8px;

    margin: 0 !important;
}

.vs-kb-vote-button {
    min-height: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 8px 14px;

    border-radius: 8px !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 11px !important;

    font-weight: 600 !important;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.vs-kb-vote-yes {
    background: #16042C !important;

    border: 1px solid #16042C !important;

    color: #ffffff !important;
}

.vs-kb-vote-yes:hover {
    background: #2A0A52 !important;

    border-color: #2A0A52 !important;

    transform: translateY(-1px);
}

.vs-kb-vote-no {
    background: #ffffff !important;

    border: 1px solid #dfe6ef !important;

    color: #667085 !important;
}

.vs-kb-vote-no:hover {
    background: #f8fafc !important;

    border-color: #cbd5e1 !important;

    color: #344054 !important;

    transform: translateY(-1px);
}


/* =========================================================
   RELATED ARTICLES
   ========================================================= */

.vs-kb-related-section {
    width: 100% !important;

    margin-top: 24px;
}

.vs-kb-related-heading {
    width: 100%;

    margin-bottom: 14px;
}

.vs-kb-related-heading-left {
    display: flex;
    align-items: center;

    gap: 12px;
}

.vs-kb-related-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 14px;
}

.vs-kb-related-heading h2 {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 18px !important;

    font-weight: 700 !important;
}

.vs-kb-related-heading p {
    margin: 3px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}


/* =========================================================
   RELATED CARD
   ========================================================= */

.vs-kb-related-card {
    width: 100%;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    overflow: hidden;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);
}

.vs-kb-related-item {
    position: relative;

    width: 100%;

    border-bottom: 1px solid #edf1f6 !important;

    box-sizing: border-box;
}

.vs-kb-related-item:last-child {
    border-bottom: 0 !important;
}

.vs-kb-related-link {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 17px 20px;

    text-decoration: none !important;

    box-sizing: border-box;

    transition: background .2s ease;
}

.vs-kb-related-link:hover {
    background: #f8fbff !important;
}

.vs-kb-related-file-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 14px;
}

.vs-kb-related-content {
    min-width: 0;

    flex: 1;
}

.vs-kb-related-content h3 {
    margin: 0 0 5px !important;

    color: #344054 !important;

    font-size: 13px !important;

    line-height: 1.45 !important;

    font-weight: 700 !important;
}

.vs-kb-related-link:hover
.vs-kb-related-content h3 {
    color: #16042C !important;
}

.vs-kb-related-content p {
    margin: 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;

    line-height: 1.6 !important;
}

.vs-kb-related-arrow {
    width: 30px;
    height: 30px;
    min-width: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f8fafc !important;

    color: #98a2b3 !important;

    font-size: 10px;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.vs-kb-related-link:hover
.vs-kb-related-arrow {
    background: #eef5ff !important;

    color: #16042C !important;

    transform: translateX(2px);
}


/* =========================================================
   RELATED EDIT BUTTON
   ========================================================= */

.vs-kb-related-edit {
    position: absolute;

    right: 62px;

    top: 50%;

    transform: translateY(-50%);

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #f5f7fa !important;

    color: #667085 !important;

    font-size: 10px !important;

    opacity: 0;

    cursor: pointer;

    transition:
        opacity .2s ease,
        background .2s ease,
        color .2s ease;
}

.vs-kb-related-item:hover
.vs-kb-related-edit {
    opacity: 1;
}

.vs-kb-related-edit:hover {
    background: #eef5ff !important;

    color: #16042C !important;
}


/* =========================================================
   RELATED EMPTY
   ========================================================= */

.vs-kb-related-empty {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 30px;

    color: #98a2b3 !important;

    font-size: 12px;
}


/* =========================================================
   PAGE ACTIONS
   ========================================================= */

.vs-kb-article-actions {
    width: 100%;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-top: 20px;
}

.vs-kb-back-button,
.vs-kb-edit-button {
    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 9px 16px;

    border-radius: 9px !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}


/* Back */

.vs-kb-back-button {
    background: #ffffff !important;

    border: 1px solid #dfe6ef !important;

    color: #475467 !important;
}

.vs-kb-back-button:hover {
    background: #FAF7FC !important;

    border-color: #c7d8ef !important;

    color: #16042C !important;

    transform: translateX(-1px);
}


/* Edit */

.vs-kb-edit-button {
    background: #16042C !important;

    border: 1px solid #16042C !important;

    color: #ffffff !important;
}

.vs-kb-edit-button:hover {
    background: #2A0A52 !important;

    border-color: #2A0A52 !important;

    color: #ffffff !important;

    transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {

    .vs-kb-article-page {
        padding: 5px 0 25px !important;
    }

    .vs-kb-article-card {
        border-radius: 13px !important;
    }

    .vs-kb-article-header {
        align-items: flex-start;

        padding: 18px;

        gap: 12px;
    }

    .vs-kb-article-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;

        border-radius: 11px;

        font-size: 15px;
    }

    .vs-kb-article-title {
        font-size: 19px !important;
    }

    .vs-kb-print-button {
        min-height: 36px;

        padding: 8px 11px;
    }

    .vs-kb-print-button span {
        display: none;
    }

    .vs-kb-article-body {
        padding: 22px 18px;
    }

    .vs-kb-article-content {
        font-size: 13px !important;

        line-height: 1.75 !important;
    }

    .vs-kb-rating {
        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

        padding: 16px;
    }

    .vs-kb-rating-form {
        width: 100%;
    }

    .vs-kb-vote-button {
        flex: 1;
    }

    .vs-kb-related-card {
        border-radius: 13px !important;
    }

    .vs-kb-related-link {
        padding: 15px;
    }

    .vs-kb-related-arrow {
        display: none;
    }

    .vs-kb-related-edit {
        right: 15px;
    }

}


@media (max-width: 480px) {

    .vs-kb-article-header {
        padding: 15px;
    }

    .vs-kb-article-heading {
        gap: 10px;
    }

    .vs-kb-article-icon {
        width: 36px;
        height: 36px;
        min-width: 36px;

        border-radius: 9px;
    }

    .vs-kb-article-title {
        font-size: 17px !important;
    }

    .vs-kb-article-body {
        padding: 18px 15px;
    }

    .vs-kb-article-content {
        font-size: 12px !important;
    }

    .vs-kb-article-meta {
        gap: 5px;
    }

    .vs-kb-rating-content {
        align-items: flex-start;
    }

    .vs-kb-rating-form {
        flex-direction: column;

        width: 100%;
    }

    .vs-kb-vote-button {
        width: 100%;
    }

    .vs-kb-related-heading h2 {
        font-size: 16px !important;
    }

    .vs-kb-related-link {
        gap: 10px;

        padding: 13px;
    }

    .vs-kb-related-file-icon {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .vs-kb-related-content h3 {
        font-size: 12px !important;
    }

    .vs-kb-article-actions {
        gap: 8px;
    }

    .vs-kb-back-button,
    .vs-kb-edit-button {
        flex: 1;

        padding-left: 10px;
        padding-right: 10px;
    }

}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .vs-kb-article-page {
        width: 100% !important;

        padding: 0 !important;
    }

    .vs-kb-print-button,
    .vs-kb-rating,
    .vs-kb-related-section,
    .vs-kb-article-actions,
    .vs-kb-voted-alert {
        display: none !important;
    }

    .vs-kb-article-card {
        border: 0 !important;

        box-shadow: none !important;

        border-radius: 0 !important;
    }

    .vs-kb-article-header {
        padding: 0 0 15px !important;

        background: #ffffff !important;

        border-bottom: 1px solid #ddd !important;
    }

    .vs-kb-article-body {
        padding: 20px 0 !important;
    }

    .vs-kb-article-content {
        color: #000000 !important;
    }

}

/* =========================================================
   VNET KNOWLEDGEBASE RESULTS / SEARCH PAGE
   Full Width
   Modern Blue / White Theme
   ========================================================= */

.vs-kb-results-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 10px 0 35px !important;

    box-sizing: border-box !important;

    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   SEARCH CARD
   ========================================================= */

.vs-kb-results-search {
    width: 100%;

    margin-bottom: 30px;

    padding: 24px 26px;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #ffffff 100%
        ) !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .055);

    box-sizing: border-box;
}

.vs-kb-results-search-heading {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 17px;
}

.vs-kb-results-search-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 15px;
}

.vs-kb-results-search-heading h2 {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 15px !important;

    font-weight: 700 !important;
}

.vs-kb-results-search-heading p {
    margin: 3px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}


/* =========================================================
   SEARCH FORM
   ========================================================= */

.vs-kb-results-search-form {
    width: 100% !important;

    margin: 0 !important;
}

.vs-kb-results-search-input {
    position: relative;

    width: 100%;

    display: flex;
    align-items: center;
}

.vs-kb-results-search-input > i {
    position: absolute;

    left: 16px;

    z-index: 3;

    color: #98a2b3 !important;

    font-size: 14px;
}

.vs-kb-results-search-input .form-control {
    width: 100% !important;

    height: 48px !important;

    padding: 10px 125px 10px 43px !important;

    background: #ffffff !important;

    border: 1px solid #d9e2ef !important;

    border-radius: 10px !important;

    color: #344054 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 13px !important;

    box-shadow: none !important;
}

.vs-kb-results-search-input .form-control:focus {
    border-color: #16042C !important;

    box-shadow:
        0 0 0 3px rgba(22, 4, 44, .10) !important;

    outline: none !important;
}

.vs-kb-results-search-input .form-control::placeholder {
    color: #98a2b3 !important;
}


/* =========================================================
   SEARCH BUTTON
   ========================================================= */

.vs-kb-results-search-button {
    position: absolute;

    top: 5px;
    right: 5px;

    height: 38px;

    padding: 0 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    border: 0 !important;

    border-radius: 7px !important;

    background: #16042C !important;

    color: #ffffff !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.vs-kb-results-search-button:hover {
    background: #2A0A52 !important;

    color: #ffffff !important;

    transform: translateY(-1px);

    box-shadow:
        0 5px 12px rgba(22, 4, 44, .18);
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.vs-kb-results-section-heading {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 16px;
}

.vs-kb-results-section-heading h2 {
    margin: 0 !important;

    color: #101828 !important;

    font-size: 18px !important;

    font-weight: 700 !important;

    letter-spacing: -.015em;
}

.vs-kb-results-section-heading p {
    margin: 4px 0 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}

.vs-kb-results-count {
    min-width: 38px;
    height: 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    padding: 0 10px;

    border-radius: 8px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 11px !important;

    font-weight: 700 !important;
}

.vs-kb-results-heading-left {
    display: flex;
    align-items: center;

    gap: 12px;
}

.vs-kb-results-heading-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;
}


/* =========================================================
   CATEGORY GRID
   ========================================================= */

.vs-kb-results-category-grid {
    width: 100% !important;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    margin-bottom: 32px;
}


/* =========================================================
   CATEGORY CARD
   ========================================================= */

.vs-kb-results-category {
    position: relative;

    width: 100%;

    min-width: 0;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    overflow: hidden;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.vs-kb-results-category:hover {
    transform: translateY(-2px);

    border-color: #cbdcf5 !important;

    box-shadow:
        0 12px 30px rgba(30, 64, 175, .09);
}

.vs-kb-results-category-link {
    display: block;

    width: 100%;

    padding: 20px;

    color: inherit !important;

    text-decoration: none !important;

    box-sizing: border-box;
}

.vs-kb-results-category-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 16px;
}

.vs-kb-results-category-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 16px;
}

.vs-kb-results-category-count {
    display: inline-flex;
    align-items: center;

    min-height: 26px;

    padding: 5px 9px;

    border-radius: 7px;

    background: #F7F2FB !important;

    color: #667085 !important;

    font-size: 10px !important;

    font-weight: 600 !important;
}

.vs-kb-results-category h3 {
    margin: 0 0 7px !important;

    color: #101828 !important;

    font-size: 16px !important;

    font-weight: 700 !important;

    transition: color .2s ease;
}

.vs-kb-results-category:hover h3 {
    color: #16042C !important;
}

.vs-kb-results-category p {
    margin: 0 !important;

    color: #667085 !important;

    font-size: 12px !important;

    line-height: 1.7 !important;
}

.vs-kb-results-category-footer {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-top: 18px;

    padding-top: 14px;

    border-top: 1px solid #edf1f6 !important;

    color: #16042C !important;

    font-size: 11px !important;

    font-weight: 600 !important;
}

.vs-kb-results-category-footer i {
    font-size: 10px;

    transition: transform .2s ease;
}

.vs-kb-results-category:hover
.vs-kb-results-category-footer i {
    transform: translateX(3px);
}


/* =========================================================
   CATEGORY EDIT
   ========================================================= */

.vs-kb-results-edit {
    position: absolute;

    top: 14px;
    right: 14px;

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #f5f7fa !important;

    color: #667085 !important;

    font-size: 10px !important;

    opacity: 0;

    cursor: pointer;

    transition:
        opacity .2s ease,
        background .2s ease,
        color .2s ease;
}

.vs-kb-results-category:hover .vs-kb-results-edit {
    opacity: 1;
}

.vs-kb-results-edit:hover {
    background: #eef5ff !important;

    color: #16042C !important;
}


/* =========================================================
   ARTICLES SECTION
   ========================================================= */

.vs-kb-results-articles-section {
    width: 100% !important;

    margin-top: 4px;
}

.vs-kb-results-articles-card {
    width: 100%;

    background: #ffffff !important;

    border: 1px solid #e3eaf4 !important;

    border-radius: 16px !important;

    overflow: hidden;

    box-shadow:
        0 6px 22px rgba(30, 64, 175, .05);
}


/* =========================================================
   ARTICLE ROW
   ========================================================= */

.vs-kb-results-article {
    position: relative;

    width: 100%;

    border-bottom: 1px solid #edf1f6 !important;
}

.vs-kb-results-article:last-child {
    border-bottom: 0 !important;
}

.vs-kb-results-article-link {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 17px 20px;

    text-decoration: none !important;

    box-sizing: border-box;

    transition: background .2s ease;
}

.vs-kb-results-article-link:hover {
    background: #f8fbff !important;
}

.vs-kb-results-article-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 14px;
}

.vs-kb-results-article-content {
    flex: 1;

    min-width: 0;
}

.vs-kb-results-article-content h3 {
    margin: 0 0 5px !important;

    color: #344054 !important;

    font-size: 13px !important;

    line-height: 1.45 !important;

    font-weight: 700 !important;

    transition: color .2s ease;
}

.vs-kb-results-article-link:hover
.vs-kb-results-article-content h3 {
    color: #16042C !important;
}

.vs-kb-results-article-content p {
    margin: 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;

    line-height: 1.6 !important;
}

.vs-kb-results-article-arrow {
    width: 30px;
    height: 30px;
    min-width: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #f8fafc !important;

    color: #98a2b3 !important;

    font-size: 10px;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.vs-kb-results-article-link:hover
.vs-kb-results-article-arrow {
    background: #eef5ff !important;

    color: #16042C !important;

    transform: translateX(2px);
}


/* =========================================================
   ARTICLE EDIT
   ========================================================= */

.vs-kb-results-article-edit {
    position: absolute;

    right: 62px;
    top: 50%;

    transform: translateY(-50%);

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #f5f7fa !important;

    color: #667085 !important;

    font-size: 10px !important;

    opacity: 0;

    cursor: pointer;

    transition:
        opacity .2s ease,
        background .2s ease,
        color .2s ease;
}

.vs-kb-results-article:hover
.vs-kb-results-article-edit {
    opacity: 1;
}

.vs-kb-results-article-edit:hover {
    background: #eef5ff !important;

    color: #16042C !important;
}


/* =========================================================
   EMPTY RESULTS
   ========================================================= */

.vs-kb-results-empty {
    width: 100%;

    padding: 50px 25px;

    text-align: center;

    box-sizing: border-box;
}

.vs-kb-results-empty-icon {
    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 13px;

    border-radius: 14px;

    background: #eef5ff !important;

    color: #16042C !important;

    font-size: 19px;
}

.vs-kb-results-empty h3 {
    margin: 0 0 5px !important;

    color: #101828 !important;

    font-size: 15px !important;

    font-weight: 700 !important;
}

.vs-kb-results-empty p {
    margin: 0 !important;

    color: #98a2b3 !important;

    font-size: 11px !important;
}


/* =========================================================
   PAGE ACTIONS
   ========================================================= */

.vs-kb-results-actions {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-top: 20px;
}

.vs-kb-results-back,
.vs-kb-results-edit-category {
    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 9px 16px;

    border-radius: 9px !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.vs-kb-results-back {
    background: #ffffff !important;

    border: 1px solid #dfe6ef !important;

    color: #475467 !important;
}

.vs-kb-results-back:hover {
    background: #FAF7FC !important;

    border-color: #c7d8ef !important;

    color: #16042C !important;
}

.vs-kb-results-edit-category {
    background: #16042C !important;

    border: 1px solid #16042C !important;

    color: #ffffff !important;
}

.vs-kb-results-edit-category:hover {
    background: #2A0A52 !important;

    border-color: #2A0A52 !important;

    color: #ffffff !important;

    transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 767.98px) {

    .vs-kb-results-page {
        padding: 5px 0 25px !important;
    }

    .vs-kb-results-search {
        padding: 18px;

        margin-bottom: 24px;

        border-radius: 13px !important;
    }

    .vs-kb-results-search-input .form-control {
        height: 46px !important;

        padding-left: 40px !important;

        padding-right: 105px !important;
    }

    .vs-kb-results-search-button {
        height: 36px;

        padding: 0 12px;
    }

    .vs-kb-results-search-button i {
        display: none;
    }

    .vs-kb-results-category-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .vs-kb-results-category {
        border-radius: 13px !important;
    }

    .vs-kb-results-category-link {
        padding: 17px;
    }

    .vs-kb-results-articles-card {
        border-radius: 13px !important;
    }

    .vs-kb-results-article-link {
        padding: 15px;
    }

    .vs-kb-results-article-arrow {
        display: none;
    }

    .vs-kb-results-article-edit {
        right: 15px;
    }

}


@media (max-width: 480px) {

    .vs-kb-results-search {
        padding: 15px;
    }

    .vs-kb-results-search-heading h2 {
        font-size: 13px !important;
    }

    .vs-kb-results-search-input .form-control {
        font-size: 12px !important;
    }

    .vs-kb-results-search-button span {
        font-size: 11px;
    }

    .vs-kb-results-section-heading h2 {
        font-size: 16px !important;
    }

    .vs-kb-results-category-link {
        padding: 15px;
    }

    .vs-kb-results-category-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .vs-kb-results-category h3 {
        font-size: 14px !important;
    }

    .vs-kb-results-article-link {
        gap: 10px;

        padding: 13px;
    }

    .vs-kb-results-article-icon {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .vs-kb-results-article-content h3 {
        font-size: 12px !important;
    }

    .vs-kb-results-actions {
        gap: 8px;
    }

    .vs-kb-results-back,
    .vs-kb-results-edit-category {
        flex: 1;

        padding-left: 10px;
        padding-right: 10px;
    }

}
/* =========================================================
   VNET CONTACT MANAGEMENT - DARK THEME
   Sidebar remains WHITE
   ========================================================= */

body.vs-contact-page #main-body,
body.vs-contact-page section#main-body {
    background: #0b1427 !important;
    color: #e2e8f0 !important;
}

body.vs-contact-page #main-body {
    padding-top: 28px !important;
    padding-bottom: 35px !important;
}


/* Keep default WHMCS sidebar white */

body.vs-contact-page .vs-sidebar-card,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-header,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-body,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu-item,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}


/* =========================================================
   PAGE
   ========================================================= */

.vs-contact-page {
    width: 100% !important;
    max-width: none !important;

    color: #e2e8f0 !important;

    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   CONTACT SELECTOR
   ========================================================= */

.vs-contact-selector {
    display: flex;
    align-items: center;

    gap: 15px;

    width: 100%;

    margin-bottom: 20px;

    padding: 20px 22px;

    background: #111d33 !important;

    border: 1px solid #263a5a !important;

    border-radius: 16px !important;

    box-shadow: 0 8px 28px rgba(0, 0, 0, .10);

    box-sizing: border-box;
}

.vs-contact-selector-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: rgba(22, 4, 44, .14) !important;

    color: #7B4BA8 !important;

    font-size: 15px;
}

.vs-contact-selector-content {
    flex: 1;

    min-width: 0;
}

.vs-contact-selector-title {
    margin-bottom: 9px;

    color: #e2e8f0 !important;

    font-size: 13px;

    font-weight: 600;
}

.vs-contact-selector-form {
    width: 100%;

    margin: 0 !important;
}

.vs-contact-selector-input {
    display: flex;

    align-items: center;

    gap: 8px;

    max-width: 700px;
}

.vs-contact-selector-input select {
    flex: 1;

    height: 42px !important;

    padding: 8px 12px !important;

    background: #0f1a2d !important;

    border: 1px solid #2b405f !important;

    border-radius: 8px !important;

    color: #dbe5f1 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    box-shadow: none !important;
}

.vs-contact-selector-input select:focus {
    border-color: #16042C !important;

    box-shadow:
        0 0 0 3px rgba(22, 4, 44, .12) !important;

    outline: none !important;
}

.vs-contact-go-button {
    height: 42px;

    padding: 0 16px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    border: 1px solid #16042C !important;

    border-radius: 8px !important;

    background: #16042C !important;

    color: #ffffff !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600;

    cursor: pointer;
}

.vs-contact-go-button:hover {
    background: #2A0A52 !important;

    border-color: #2A0A52 !important;

    color: #ffffff !important;
}


/* =========================================================
   MAIN CONTACT CARD
   ========================================================= */

.vs-contact-card {
    width: 100%;

    margin-bottom: 20px;

    background: #111d33 !important;

    border: 1px solid #263a5a !important;

    border-radius: 18px !important;

    overflow: hidden;

    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
}

.vs-contact-card-header {
    display: flex;

    align-items: center;

    gap: 13px;

    padding: 22px 26px;

    background: #14213a !important;

    border-bottom: 1px solid #263a5a !important;
}

.vs-contact-card-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: rgba(22, 4, 44, .14) !important;

    color: #7B4BA8 !important;
}

.vs-contact-card-header h2 {
    margin: 0 !important;

    color: #ffffff !important;

    font-size: 18px !important;

    font-weight: 700 !important;
}

.vs-contact-card-header p {
    margin: 3px 0 0 !important;

    color: #8193ad !important;

    font-size: 11px !important;
}

.vs-contact-card-body {
    padding: 26px !important;
}


/* =========================================================
   FORM GRID
   ========================================================= */

.vs-contact-form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 35px;
}

.vs-contact-form-column {
    min-width: 0;
}

.vs-contact-section-label {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 20px;

    padding-bottom: 12px;

    border-bottom: 1px solid #263a5a !important;

    color: #b8c7da !important;

    font-size: 12px;

    font-weight: 700;
}

.vs-contact-section-label i {
    color: #7B4BA8 !important;

    font-size: 12px;
}


/* =========================================================
   FORM FIELDS
   ========================================================= */

.vs-contact-field {
    margin-bottom: 18px !important;
}

.vs-contact-field label,
.vs-contact-label {
    display: block;

    margin-bottom: 7px !important;

    color: #b8c7da !important;

    font-size: 12px !important;

    font-weight: 600 !important;
}

.vs-contact-field .form-control,
.vs-contact-field select,
.vs-contact-field input {
    width: 100%;

    min-height: 42px;

    padding: 9px 12px !important;

    background: #0f1a2d !important;

    border: 1px solid #2b405f !important;

    border-radius: 8px !important;

    color: #e2e8f0 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    box-shadow: none !important;

    box-sizing: border-box;
}

.vs-contact-field .form-control::placeholder {
    color: #61738d !important;
}

.vs-contact-field .form-control:focus,
.vs-contact-field select:focus,
.vs-contact-field input:focus {
    background: #111d33 !important;

    border-color: #16042C !important;

    color: #ffffff !important;

    box-shadow:
        0 0 0 3px rgba(22, 4, 44, .12) !important;

    outline: none !important;
}

.vs-contact-field select option {
    background: #111d33 !important;

    color: #e2e8f0 !important;
}


/* WHMCS country dropdown */

.vs-contact-field .custom-select {
    background-color: #0f1a2d !important;

    color: #e2e8f0 !important;

    border-color: #2b405f !important;
}


/* =========================================================
   EMAIL PREFERENCES
   ========================================================= */

.vs-contact-preferences {
    margin-top: 25px;

    padding: 20px;

    background: #0f1a2d !important;

    border: 1px solid #263a5a !important;

    border-radius: 12px !important;
}

.vs-contact-preferences-header {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 18px;
}

.vs-contact-preferences-icon {
    width: 36px;
    height: 36px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(22, 4, 44, .13) !important;

    color: #7B4BA8 !important;
}

.vs-contact-preferences-header h3 {
    margin: 0 !important;

    color: #e2e8f0 !important;

    font-size: 14px !important;

    font-weight: 700 !important;
}

.vs-contact-preferences-header p {
    margin: 3px 0 0 !important;

    color: #71839d !important;

    font-size: 10px !important;
}

.vs-contact-preferences-list {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 9px;
}

.vs-contact-checkbox {
    position: relative;

    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 42px;

    padding: 9px 12px;

    background: #111d33 !important;

    border: 1px solid #263a5a !important;

    border-radius: 8px !important;

    color: #aebdd0 !important;

    cursor: pointer;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.vs-contact-checkbox:hover {
    background: #14213a !important;

    border-color: #36547b !important;
}

.vs-contact-checkbox input[type="checkbox"] {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}

.vs-contact-checkbox-box {
    width: 17px;
    height: 17px;
    min-width: 17px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #3b5270 !important;

    border-radius: 5px;

    background: #0b1427 !important;

    transition: .2s ease;
}

.vs-contact-checkbox-box::after {
    content: "\f00c";

    font-family: "Font Awesome 5 Free";

    font-weight: 900;

    font-size: 8px;

    color: #ffffff;

    opacity: 0;
}

.vs-contact-checkbox
input[type="checkbox"]:checked
+ .vs-contact-checkbox-box {
    background: #16042C !important;

    border-color: #16042C !important;
}

.vs-contact-checkbox
input[type="checkbox"]:checked
+ .vs-contact-checkbox-box::after {
    opacity: 1;
}

.vs-contact-checkbox-label {
    color: #b8c7da !important;

    font-size: 11px;

    line-height: 1.4;
}


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.vs-contact-actions {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 25px;

    padding-top: 20px;

    border-top: 1px solid #263a5a !important;
}

.vs-contact-actions button {
    min-height: 40px;

    padding: 8px 17px;

    border-radius: 8px !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.vs-contact-save {
    background: #16042C !important;

    border: 1px solid #16042C !important;

    color: #ffffff !important;
}

.vs-contact-save:hover {
    background: #2A0A52 !important;

    border-color: #2A0A52 !important;

    transform: translateY(-1px);
}

.vs-contact-cancel {
    background: #182640 !important;

    border: 1px solid #2b405f !important;

    color: #b8c7da !important;
}

.vs-contact-cancel:hover {
    background: #20304d !important;

    color: #ffffff !important;
}

.vs-contact-delete {
    background: rgba(239, 68, 68, .10) !important;

    border: 1px solid rgba(239, 68, 68, .35) !important;

    color: #f87171 !important;
}

.vs-contact-delete:hover {
    background: rgba(239, 68, 68, .18) !important;

    border-color: rgba(239, 68, 68, .55) !important;

    color: #fca5a5 !important;
}


/* =========================================================
   DELETE MODAL
   ========================================================= */

.vs-contact-delete-modal .modal-dialog {
    max-width: 480px;
}

.vs-contact-delete-modal .modal-content {
    background: #111d33 !important;

    border: 1px solid #2b405f !important;

    border-radius: 14px !important;

    overflow: hidden;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, .35);
}

.vs-contact-delete-modal .modal-header {
    background: #14213a !important;

    border-bottom: 1px solid #263a5a !important;

    padding: 17px 20px;
}

.vs-delete-modal-title {
    display: flex;

    align-items: center;

    gap: 10px;
}

.vs-delete-modal-icon {
    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: rgba(239, 68, 68, .12) !important;

    color: #f87171 !important;
}

.vs-contact-delete-modal .modal-title {
    color: #ffffff !important;

    font-size: 15px !important;

    font-weight: 700 !important;
}

.vs-contact-delete-modal .close {
    color: #94a3b8 !important;

    opacity: 1 !important;

    text-shadow: none !important;
}

.vs-contact-delete-modal .close:hover {
    color: #ffffff !important;
}

.vs-contact-delete-modal .modal-body {
    padding: 22px 20px !important;

    background: #111d33 !important;
}

.vs-contact-delete-modal .modal-body p {
    margin: 0 !important;

    color: #b8c7da !important;

    font-size: 12px !important;

    line-height: 1.7;
}

.vs-contact-delete-modal .modal-footer {
    padding: 14px 20px !important;

    background: #0f1a2d !important;

    border-top: 1px solid #263a5a !important;
}

.vs-modal-cancel,
.vs-modal-confirm {
    min-height: 38px;

    padding: 8px 15px;

    border-radius: 8px !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 11px !important;

    font-weight: 600 !important;
}

.vs-modal-cancel {
    background: #182640 !important;

    border: 1px solid #2b405f !important;

    color: #b8c7da !important;
}

.vs-modal-confirm {
    background: #dc2626 !important;

    border: 1px solid #dc2626 !important;

    color: #ffffff !important;
}

.vs-modal-confirm:hover {
    background: #b91c1c !important;

    border-color: #b91c1c !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .vs-contact-form-grid {
        grid-template-columns: 1fr;

        gap: 5px;
    }

    .vs-contact-preferences-list {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767.98px) {

    .vs-contact-selector {
        align-items: flex-start;

        padding: 17px;
    }

    .vs-contact-selector-input {
        flex-direction: column;

        align-items: stretch;

        max-width: none;
    }

    .vs-contact-go-button {
        width: 100%;
    }

    .vs-contact-card-header {
        padding: 18px;
    }

    .vs-contact-card-body {
        padding: 18px !important;
    }

    .vs-contact-actions {
        align-items: stretch;

        flex-direction: column;
    }

    .vs-contact-actions button {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .vs-contact-selector {
        gap: 10px;
    }

    .vs-contact-selector-icon {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }

    .vs-contact-card {
        border-radius: 13px !important;
    }

    .vs-contact-card-header {
        padding: 15px;
    }

    .vs-contact-card-body {
        padding: 15px !important;
    }

    .vs-contact-preferences {
        padding: 15px;
    }

}
.vs-add-contact-page .vs-contact-card {
    margin-bottom: 20px;
}

.vs-add-contact-page .vs-contact-save i,
.vs-add-contact-page .vs-contact-cancel i {
    margin-right: 5px;
}

/* =========================================================
   FINAL SAFE SCOPING OVERRIDES
   No :has() selectors.
   Sidebar ALWAYS stays in the original light/white style.
   ========================================================= */

/* Main dark content */
body.vs-contact-page #main-body,
body.vs-contact-page section#main-body,
.vs-contact-page {
    box-sizing: border-box;
}

/* Keep WHMCS default sidebar exactly light */
body.vs-contact-page .vs-sidebar-card,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-header,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-body,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-content,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu-inner,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu-item,
body.vs-contact-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

body.vs-contact-page .vs-sidebar-card {
    border: 1px solid #e4eaf3 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 24px rgba(30, 64, 175, 0.06) !important;
}

body.vs-contact-page .vs-sidebar-card .vs-sidebar-header {
    border-bottom: 1px solid #edf1f6 !important;
}

body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu-item {
    color: #667085 !important;
}

body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}

body.vs-contact-page .vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}

/* Add-contact page uses the same safe scope */
body.vs-add-contact-page #main-body,
body.vs-add-contact-page section#main-body {
    background: #0b1427 !important;
    color: #e2e8f0 !important;
}

body.vs-add-contact-page .vs-sidebar-card,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-header,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-body,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-content,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-menu,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-menu-inner,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-menu-item,
body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-menu-item {
    color: #667085 !important;
}

body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}

body.vs-add-contact-page .vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}

/* =========================================================
   VNET USER MANAGEMENT - DARK THEME
   Main content: DARK
   Default WHMCS sidebar: LIGHT / WHITE
   No :has() selectors used
   ========================================================= */

.vs-user-management-page {
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    box-sizing: border-box;
    padding: 28px 0 36px !important;
    
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vs-user-management-page *,
.vs-user-management-page *::before,
.vs-user-management-page *::after {
    box-sizing: border-box;
}

.vs-user-management-card {
    width: 100% !important;
    margin: 0 0 22px !important;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .12) !important;
    overflow: hidden;
}

.vs-user-management-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 26px !important;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-user-management-card-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(22, 4, 44, .14) !important;
    color: #7B4BA8 !important;
    font-size: 18px;
}

.vs-user-management-title {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.02em;
}

.vs-user-management-subtitle {
    margin: 4px 0 0 !important;
    color: #8193ad !important;
    font-size: 13px !important;
    line-height: 1.55;
}

.vs-user-management-card-body {
    padding: 24px 26px !important;
    background: #111d33 !important;
}

.vs-user-management-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #263a5a;
    border-radius: 12px;
    background: #0f1a2d;
}

.vs-user-management-table {
    width: 100% !important;
    min-width: 760px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: transparent !important;
    color: #e2e8f0 !important;
}

.vs-user-management-table thead th {
    padding: 14px 16px !important;
    background: #14213a !important;
    color: #9fb1c8 !important;
    border: 0 !important;
    border-bottom: 1px solid #263a5a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .045em;
    vertical-align: middle !important;
}

.vs-user-management-table thead th:first-child {
    border-top-left-radius: 12px;
}

.vs-user-management-table thead th:last-child {
    border-top-right-radius: 12px;
}

.vs-user-management-actions-heading {
    width: 360px;
}

.vs-user-management-table tbody td {
    padding: 17px 16px !important;
    background: #0f1a2d !important;
    color: #e2e8f0 !important;
    border: 0 !important;
    border-bottom: 1px solid #223552 !important;
    vertical-align: middle !important;
}

.vs-user-management-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.vs-user-management-table tbody tr:hover td {
    background: #111f36 !important;
}

.vs-user-management-user {
    min-width: 0;
}

.vs-user-management-email {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5;
}

.vs-user-management-owner,
.vs-user-management-pending {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(22, 4, 44, .13) !important;
    color: #7B4BA8 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.vs-user-management-pending {
    background: rgba(245, 158, 11, .12) !important;
    color: #fbbf24 !important;
}

.vs-user-management-security {
    margin-left: 2px;
    font-size: 13px !important;
}

.vs-security-enabled {
    color: #34d399 !important;
}

.vs-security-disabled {
    color: #64748b !important;
}

.vs-user-management-login {
    margin-top: 5px;
    color: #71839d !important;
    font-size: 12px !important;
    line-height: 1.5;
}

.vs-user-management-login span {
    color: #a8b7ca !important;
}

.vs-user-management-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

.vs-user-management-inline-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
}

.vs-user-management-btn {
    min-height: 38px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    transition: all .2s ease;
    box-shadow: none !important;
}

.vs-user-management-btn-secondary {
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #c5d3e4 !important;
}

.vs-user-management-btn-secondary:hover,
.vs-user-management-btn-secondary:focus {
    background: #1e3150 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
}

.vs-user-management-btn-danger {
    background: rgba(239, 68, 68, .08) !important;
    border: 1px solid rgba(239, 68, 68, .30) !important;
    color: #f87171 !important;
}

.vs-user-management-btn-danger:hover,
.vs-user-management-btn-danger:focus {
    background: rgba(239, 68, 68, .14) !important;
    border-color: rgba(239, 68, 68, .55) !important;
    color: #fca5a5 !important;
}

.vs-user-management-btn.disabled,
.vs-user-management-btn[disabled] {
    opacity: .45 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.vs-user-management-section-row td {
    padding: 0 !important;
    background: #14213a !important;
    border-top: 1px solid #263a5a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-user-management-section-title {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 16px;
    color: #b8c7da !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.vs-user-management-section-title i {
    color: #7B4BA8 !important;
}

.vs-user-management-owner-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 15px;
    color: #71839d !important;
    font-size: 12px !important;
    line-height: 1.55;
}

.vs-user-management-owner-note i {
    margin-top: 2px;
    color: #7B4BA8 !important;
}

/* Invite form */

.vs-user-management-form {
    width: 100%;
    margin: 0 !important;
}

.vs-user-management-field {
    margin-bottom: 20px !important;
}

.vs-user-management-field > label {
    display: block;
    margin-bottom: 8px !important;
    color: #b8c7da !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.vs-user-management-form .form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px !important;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

.vs-user-management-form .form-control::placeholder {
    color: #62748d !important;
}

.vs-user-management-form .form-control:focus {
    background: #111d33 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
}

.vs-user-management-radio-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.vs-user-management-radio {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    margin: 0 !important;
    padding: 10px 13px;
    border: 1px solid #2b405f;
    border-radius: 9px;
    background: #0f1a2d;
    color: #c5d3e4 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all .2s ease;
}

.vs-user-management-radio:hover {
    border-color: #16042C;
    background: #12203a;
}

.vs-user-management-radio input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.vs-user-management-radio-box {
    width: 15px;
    height: 15px;
    min-width: 15px;
    border: 2px solid #536783;
    border-radius: 50%;
    position: relative;
}

.vs-user-management-radio input:checked + .vs-user-management-radio-box {
    border-color: #16042C;
}

.vs-user-management-radio input:checked + .vs-user-management-radio-box::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    top: 2px;
    left: 2px;
    border-radius: 50%;
    background: #16042C;
}

.vs-user-management-permissions {
    margin: 4px 0 22px !important;
    padding: 18px !important;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 12px !important;
}

.vs-user-management-permissions-header {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #263a5a;
}

.vs-user-management-permissions-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(22, 4, 44, .13);
    color: #7B4BA8;
}

.vs-user-management-permissions-header strong {
    display: block;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.vs-user-management-permissions-header p {
    margin: 3px 0 0 !important;
    color: #71839d !important;
    font-size: 11px !important;
    line-height: 1.5;
}

.vs-user-management-permission-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.vs-user-management-permission {
    position: relative;
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 0 !important;
    padding: 12px;
    background: #111d33;
    border: 1px solid #263a5a;
    border-radius: 9px;
    cursor: pointer;
    transition: all .2s ease;
}

.vs-user-management-permission:hover {
    border-color: #36557d;
    background: #14213a;
}

.vs-user-management-permission input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.vs-user-management-checkbox {
    width: 17px;
    height: 17px;
    min-width: 17px;
    margin-top: 1px;
    border: 2px solid #536783;
    border-radius: 4px;
    position: relative;
}

.vs-user-management-permission input:checked + .vs-user-management-checkbox {
    border-color: #16042C;
    background: #16042C;
}

.vs-user-management-permission input:checked + .vs-user-management-checkbox::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.vs-user-management-permission-content {
    display: block;
    min-width: 0;
}

.vs-user-management-permission-content strong {
    display: block;
    color: #e2e8f0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.45;
}

.vs-user-management-permission-content span {
    display: block;
    margin-top: 3px;
    color: #71839d !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.45;
}

.vs-user-management-form-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 4px;
}

.vs-user-management-send {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px !important;
    border-radius: 9px !important;
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #ffffff !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: 0 5px 16px rgba(22, 4, 44, .18) !important;
}

.vs-user-management-send:hover,
.vs-user-management-send:focus {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    color: #ffffff !important;
}

/* Modals */

.vs-user-management-modal .modal-dialog {
    max-width: 520px;
}

.vs-user-management-modal .modal-content {
    background: #111d33 !important;
    border: 1px solid #2b405f !important;
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35) !important;
}

.vs-user-management-modal .modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px !important;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-user-management-modal .modal-title {
    flex: 1;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.vs-user-management-modal .close {
    color: #94a3b8 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-size: 24px;
}

.vs-user-management-modal .close:hover {
    color: #ffffff !important;
}

.vs-user-management-modal-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.vs-modal-danger-icon {
    background: rgba(239, 68, 68, .12);
    color: #f87171;
}

.vs-modal-warning-icon {
    background: rgba(245, 158, 11, .12);
    color: #fbbf24;
}

.vs-user-management-modal .modal-body {
    padding: 22px 20px !important;
    background: #111d33 !important;
    color: #b8c7da !important;
    font-size: 13px !important;
    line-height: 1.65;
}

.vs-user-management-modal .modal-body p {
    margin: 0 0 10px !important;
}

.vs-user-management-modal .modal-body p:last-child {
    margin-bottom: 0 !important;
    color: #71839d !important;
}

.vs-user-management-modal .modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 15px 20px !important;
    background: #0f1a2d !important;
    border-top: 1px solid #263a5a !important;
}

.vs-user-management-modal-cancel {
    min-height: 38px;
    padding: 8px 14px !important;
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    border-radius: 8px !important;
    color: #b8c7da !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.vs-user-management-modal-confirm {
    min-height: 38px;
    padding: 8px 15px !important;
    border-radius: 8px !important;
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #ffffff !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.vs-user-management-modal-confirm:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
}

/* Keep the default sidebar light */

.vs-user-management-page ~ .vs-sidebar-card,
.vs-user-management-page .vs-sidebar-card {
    background: #ffffff !important;
}

/* Responsive */

@media (max-width: 991.98px) {
    .vs-user-management-page {
        padding: 22px 0 30px !important;
    }

    .vs-user-management-card-header {
        padding: 20px !important;
    }

    .vs-user-management-card-body {
        padding: 20px !important;
    }

    .vs-user-management-permission-list {
        grid-template-columns: 1fr;
    }

    .vs-user-management-actions-heading {
        width: 320px;
    }
}

@media (max-width: 767.98px) {
    .vs-user-management-page {
        padding: 16px 0 24px !important;
    }

    .vs-user-management-card {
        border-radius: 14px !important;
        margin-bottom: 16px !important;
    }

    .vs-user-management-card-header {
        align-items: flex-start;
        padding: 18px !important;
    }

    .vs-user-management-card-body {
        padding: 16px !important;
    }

    .vs-user-management-title {
        font-size: 18px !important;
    }

    .vs-user-management-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .vs-user-management-inline-form {
        flex-direction: column;
        align-items: stretch;
    }

    .vs-user-management-btn {
        width: 100%;
    }

    .vs-user-management-radio-group {
        flex-direction: column;
        align-items: stretch;
    }

    .vs-user-management-radio {
        width: 100%;
    }

    .vs-user-management-modal .modal-dialog {
        margin: 12px;
    }
}

@media (max-width: 480px) {
    .vs-user-management-card-header {
        gap: 10px;
        padding: 15px !important;
    }

    .vs-user-management-card-body {
        padding: 12px !important;
    }

    .vs-user-management-card-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 15px;
    }

    .vs-user-management-title {
        font-size: 16px !important;
    }

    .vs-user-management-subtitle {
        font-size: 11px !important;
    }

    .vs-user-management-permissions {
        padding: 13px !important;
    }

    .vs-user-management-modal .modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .vs-user-management-modal-cancel,
    .vs-user-management-modal-confirm {
        width: 100%;
    }
}

/* =========================================================
   VNET USER PROFILE - DARK THEME
   Main content: DARK
   Default WHMCS sidebar: LIGHT / WHITE
   No :has() selectors
   ========================================================= */

.vs-user-profile-page {
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    padding: 28px 0 36px !important;
    box-sizing: border-box;
    
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vs-user-profile-page *,
.vs-user-profile-page *::before,
.vs-user-profile-page *::after {
    box-sizing: border-box;
}

.vs-user-profile-card {
    width: 100% !important;
    margin: 0 0 22px !important;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .12) !important;
    overflow: hidden;
}

.vs-user-profile-card:last-child {
    margin-bottom: 0 !important;
}

.vs-user-profile-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 26px !important;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-user-profile-card-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(22, 4, 44, .14) !important;
    color: #7B4BA8 !important;
    font-size: 18px;
}

.vs-user-profile-email-icon {
    background: rgba(96, 165, 250, .12) !important;
    color: #7B4BA8 !important;
}

.vs-user-profile-title {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.02em;
}

.vs-user-profile-subtitle {
    margin: 4px 0 0 !important;
    color: #8193ad !important;
    font-size: 13px !important;
    line-height: 1.55;
}

.vs-user-profile-card-body {
    padding: 26px !important;
    background: #111d33 !important;
}

.vs-user-profile-form {
    width: 100%;
    margin: 0 !important;
}

.vs-user-profile-grid,
.vs-user-profile-email-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.vs-user-profile-email-fields {
    max-width: 760px;
}

.vs-user-profile-field {
    min-width: 0;
    margin: 0 !important;
}

.vs-user-profile-field label {
    display: block;
    margin: 0 0 8px !important;
    color: #b8c7da !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.45;
}

.vs-user-profile-field .form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px !important;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.vs-user-profile-field .form-control::placeholder {
    color: #62748d !important;
}

.vs-user-profile-field .form-control:focus {
    background: #111d33 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
}

.vs-user-profile-field .form-control:disabled,
.vs-user-profile-field .form-control[disabled] {
    background: #17243a !important;
    border-color: #263a5a !important;
    color: #71839d !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

.vs-user-profile-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.vs-user-profile-save,
.vs-user-profile-cancel {
    min-height: 42px;
    padding: 9px 18px !important;
    border-radius: 9px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
}

.vs-user-profile-save {
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #ffffff !important;
    box-shadow: 0 5px 16px rgba(22, 4, 44, .18) !important;
}

.vs-user-profile-save:hover,
.vs-user-profile-save:focus {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    color: #ffffff !important;
}

.vs-user-profile-cancel {
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #b8c7da !important;
}

.vs-user-profile-cancel:hover,
.vs-user-profile-cancel:focus {
    background: #1e3150 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
}

.vs-user-profile-status {
    margin: 0 0 20px !important;
}

.vs-user-profile-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
}

.vs-status-verified {
    background: rgba(52, 211, 153, .10) !important;
    border: 1px solid rgba(52, 211, 153, .25) !important;
    color: #34d399 !important;
}

.vs-status-pending {
    background: rgba(245, 158, 11, .10) !important;
    border: 1px solid rgba(245, 158, 11, .25) !important;
    color: #fbbf24 !important;
}

.vs-user-profile-status-badge i {
    font-size: 12px;
}

/* Keep default WHMCS sidebar light */

.vs-user-profile-page .vs-sidebar-card,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-header,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-body,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-content,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-menu,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-menu-inner,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-menu-item,
.vs-user-profile-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

.vs-user-profile-page .vs-sidebar-card {
    border-color: #e4eaf3 !important;
    box-shadow: 0 6px 24px rgba(30, 64, 175, .06) !important;
}

.vs-user-profile-page .vs-sidebar-card .vs-sidebar-menu-item {
    color: #667085 !important;
}

.vs-user-profile-page .vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}

.vs-user-profile-page .vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}

/* Responsive */

@media (max-width: 991.98px) {
    .vs-user-profile-page {
        padding: 22px 0 30px !important;
    }

    .vs-user-profile-card-header {
        padding: 20px !important;
    }

    .vs-user-profile-card-body {
        padding: 20px !important;
    }
}

@media (max-width: 767.98px) {
    .vs-user-profile-page {
        padding: 16px 0 24px !important;
    }

    .vs-user-profile-card {
        border-radius: 14px !important;
        margin-bottom: 16px !important;
    }

    .vs-user-profile-card-header {
        align-items: flex-start;
        padding: 18px !important;
    }

    .vs-user-profile-card-body {
        padding: 16px !important;
    }

    .vs-user-profile-title {
        font-size: 18px !important;
    }

    .vs-user-profile-grid,
    .vs-user-profile-email-fields {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .vs-user-profile-email-fields {
        max-width: none;
    }

    .vs-user-profile-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .vs-user-profile-save,
    .vs-user-profile-cancel {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .vs-user-profile-card-header {
        gap: 10px;
        padding: 15px !important;
    }

    .vs-user-profile-card-body {
        padding: 13px !important;
    }

    .vs-user-profile-card-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 15px;
    }

    .vs-user-profile-title {
        font-size: 16px !important;
    }

    .vs-user-profile-subtitle {
        font-size: 11px !important;
    }
}
/* =========================================================
   VNET CHANGE PASSWORD - DARK THEME
   Main content: DARK
   Default WHMCS sidebar: LIGHT / WHITE
   No :has() selectors
   ========================================================= */

.vs-change-password-page {
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    padding: 28px 0 36px !important;
    box-sizing: border-box;
   
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vs-change-password-page *,
.vs-change-password-page *::before,
.vs-change-password-page *::after {
    box-sizing: border-box;
}

.vs-change-password-card {
    width: 100% !important;
    margin: 0 !important;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .12) !important;
    overflow: hidden;
}

.vs-change-password-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 26px !important;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-change-password-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(22, 4, 44, .14) !important;
    color: #7B4BA8 !important;
    font-size: 18px;
}

.vs-change-password-title {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.02em;
}

.vs-change-password-subtitle {
    margin: 4px 0 0 !important;
    color: #8193ad !important;
    font-size: 13px !important;
    line-height: 1.55;
}

.vs-change-password-body {
    padding: 28px 26px !important;
    background: #111d33 !important;
}

.vs-change-password-form {
    width: 100%;
    margin: 0 !important;
}

.vs-change-password-field-row {
    display: grid;
    grid-template-columns: minmax(190px, 0.9fr) minmax(300px, 1.25fr);
    gap: 22px;
    align-items: start;
    margin: 0 0 20px !important;
    max-width: 900px;
}

.vs-password-strength-row {
    grid-template-columns: minmax(190px, 0.9fr) minmax(300px, 1.25fr) minmax(170px, .65fr);
    max-width: 1120px;
}

.vs-change-password-label {
    padding-top: 11px;
}

.vs-change-password-label label {
    display: block;
    margin: 0 !important;
    color: #b8c7da !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.45;
}

.vs-change-password-input {
    min-width: 0;
}

.vs-change-password-input .form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px !important;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.vs-change-password-input .form-control::placeholder {
    color: #62748d !important;
}

.vs-change-password-input .form-control:focus {
    background: #111d33 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
}

.vs-change-password-input .form-control:disabled,
.vs-change-password-input .form-control[disabled] {
    background: #17243a !important;
    border-color: #263a5a !important;
    color: #71839d !important;
    opacity: 1 !important;
}

.vs-password-strength-box {
    margin-top: 8px;
    color: #8193ad !important;
    font-size: 11px !important;
}

.vs-change-password-generate {
    min-width: 0;
}

.vs-change-password-generate .generate-password {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 10px 13px !important;
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #b8c7da !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: all .2s ease;
}

.vs-change-password-generate .generate-password:hover,
.vs-change-password-generate .generate-password:focus {
    background: #1e3150 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
    outline: none !important;
}

.vs-change-password-generate .generate-password i {
    color: #7B4BA8 !important;
}

.vs-password-confirm-message {
    margin-top: 6px;
    color: #8193ad !important;
    font-size: 11px !important;
}

.vs-change-password-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid #263a5a;
}

.vs-change-password-save,
.vs-change-password-cancel {
    min-height: 42px;
    padding: 9px 18px !important;
    border-radius: 9px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
}

.vs-change-password-save {
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #ffffff !important;
    box-shadow: 0 5px 16px rgba(22, 4, 44, .18) !important;
}

.vs-change-password-save:hover,
.vs-change-password-save:focus {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    color: #ffffff !important;
}

.vs-change-password-cancel {
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #b8c7da !important;
}

.vs-change-password-cancel:hover,
.vs-change-password-cancel:focus {
    background: #1e3150 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
}

/* Password strength plugin compatibility */

.vs-change-password-page .password-strength {
    margin-top: 7px;
}

.vs-change-password-page .progress {
    background: #182640 !important;
    border-radius: 999px !important;
    overflow: hidden;
}

.vs-change-password-page .progress-bar {
    border-radius: 999px !important;
}

/* Flash messages inside the page */

.vs-change-password-page .alert {
    margin-bottom: 22px !important;
    border-radius: 9px !important;
}

/* Keep default WHMCS sidebar light */

.vs-change-password-page .vs-sidebar-card,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-header,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-body,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-content,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-menu,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-menu-inner,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-menu-item,
.vs-change-password-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

.vs-change-password-page .vs-sidebar-card {
    border-color: #e4eaf3 !important;
    box-shadow: 0 6px 24px rgba(30, 64, 175, .06) !important;
}

.vs-change-password-page .vs-sidebar-card .vs-sidebar-menu-item {
    color: #667085 !important;
}

.vs-change-password-page .vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}

.vs-change-password-page .vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}

/* Responsive */

@media (max-width: 991.98px) {
    .vs-change-password-page {
        padding: 22px 0 30px !important;
    }

    .vs-change-password-header {
        padding: 20px !important;
    }

    .vs-change-password-body {
        padding: 20px !important;
    }

    .vs-change-password-field-row,
    .vs-password-strength-row {
        grid-template-columns: 180px minmax(0, 1fr);
        max-width: 100%;
    }

    .vs-password-strength-row .vs-change-password-generate {
        grid-column: 2;
    }
}

@media (max-width: 767.98px) {
    .vs-change-password-page {
        padding: 16px 0 24px !important;
    }

    .vs-change-password-card {
        border-radius: 14px !important;
    }

    .vs-change-password-header {
        align-items: flex-start;
        padding: 18px !important;
    }

    .vs-change-password-body {
        padding: 16px !important;
    }

    .vs-change-password-title {
        font-size: 18px !important;
    }

    .vs-change-password-field-row,
    .vs-password-strength-row {
        display: block;
        max-width: none;
        margin-bottom: 18px !important;
    }

    .vs-change-password-label {
        padding-top: 0;
        margin-bottom: 8px;
    }

    .vs-change-password-generate {
        margin-top: 10px;
    }

    .vs-change-password-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .vs-change-password-save,
    .vs-change-password-cancel {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .vs-change-password-header {
        gap: 10px;
        padding: 15px !important;
    }

    .vs-change-password-body {
        padding: 13px !important;
    }

    .vs-change-password-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 15px;
    }

    .vs-change-password-title {
        font-size: 16px !important;
    }

    .vs-change-password-subtitle {
        font-size: 11px !important;
    }
}
/* =========================================================
   VNET ACCOUNT SECURITY - DARK THEME
   Main content: DARK
   Default WHMCS sidebar: LIGHT / WHITE
   No :has() selectors
   ========================================================= */

.vs-security-page {
    width: 100% !important;
    max-width: none !important;
    min-height: 100%;
    padding: 28px 0 36px !important;
    box-sizing: border-box;
   
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
}

.vs-security-page *,
.vs-security-page *::before,
.vs-security-page *::after {
    box-sizing: border-box;
}

/* Intro */

.vs-security-intro {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin-bottom: 22px;
    padding: 20px 24px;
    background: #111d33;
    border: 1px solid #263a5a;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .10);
}

.vs-security-intro-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(22, 4, 44, .14);
    color: #7B4BA8;
    font-size: 18px;
}

.vs-security-intro h3 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.35;
}

.vs-security-intro p {
    margin: 4px 0 0 !important;
    color: #8193ad !important;
    font-size: 12px !important;
    line-height: 1.55;
}

/* Cards */

.vs-security-card {
    width: 100% !important;
    margin: 0 0 22px !important;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .12) !important;
    overflow: hidden;
}

.vs-security-card:last-child {
    margin-bottom: 0 !important;
}

.vs-security-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 26px !important;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-security-card-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(22, 4, 44, .14) !important;
    color: #7B4BA8 !important;
    font-size: 18px;
}

.vs-security-2fa-icon {
    background: rgba(52, 211, 153, .10) !important;
    color: #34d399 !important;
}

.vs-security-card-title {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.02em;
}

.vs-security-card-subtitle {
    margin: 4px 0 0 !important;
    color: #8193ad !important;
    font-size: 13px !important;
    line-height: 1.55;
}

.vs-security-card-body {
    padding: 26px !important;
    background: #111d33 !important;
}

/* Linked accounts */

.vs-security-linked-accounts {
    width: 100%;
}

.vs-security-divider {
    height: 1px;
    margin: 20px 0;
    background: #263a5a;
}

.vs-security-linked-accounts .table,
.vs-security-linked-accounts table {
    background: transparent !important;
    color: #e2e8f0 !important;
}

.vs-security-linked-accounts .btn,
.vs-security-linked-accounts a.btn {
    border-radius: 8px !important;
    font-family: 'Manrope', sans-serif !important;
}

/* Forms */

.vs-security-form {
    width: 100%;
    margin: 0 !important;
}

.vs-security-field {
    margin: 0 0 20px !important;
}

.vs-security-field label {
    display: block;
    margin: 0 0 8px !important;
    color: #b8c7da !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.45;
}

.vs-security-field .form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px !important;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.vs-security-field .form-control::placeholder {
    color: #62748d !important;
}

.vs-security-field .form-control:focus {
    background: #111d33 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
}

.vs-security-field .form-control:disabled,
.vs-security-field .form-control[disabled] {
    background: #17243a !important;
    border-color: #263a5a !important;
    color: #71839d !important;
    opacity: 1 !important;
}

.vs-security-field select.form-control {
    cursor: pointer;
}

.vs-security-field select.form-control option {
    background: #111d33 !important;
    color: #e2e8f0 !important;
}

.vs-security-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.vs-security-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #263a5a;
}

.vs-security-save,
.vs-security-cancel {
    min-height: 42px;
    padding: 9px 18px !important;
    border-radius: 9px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
}

.vs-security-save {
    background: #16042C !important;
    border: 1px solid #16042C !important;
    color: #ffffff !important;
    box-shadow: 0 5px 16px rgba(22, 4, 44, .18) !important;
}

.vs-security-save:hover,
.vs-security-save:focus {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    color: #ffffff !important;
}

.vs-security-cancel {
    background: #182640 !important;
    border: 1px solid #2b405f !important;
    color: #b8c7da !important;
}

.vs-security-cancel:hover,
.vs-security-cancel:focus {
    background: #1e3150 !important;
    border-color: #16042C !important;
    color: #ffffff !important;
}

/* 2FA status */

.vs-security-status-row {
    margin-bottom: 18px;
}

.vs-security-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 !important;
    padding: 8px 12px;
    border-radius: 9px;
    font-size: 12px !important;
    line-height: 1.45;
}

.vs-security-status strong {
    font-weight: 700 !important;
}

.vs-security-status-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
}

.vs-security-status-enabled {
    background: rgba(52, 211, 153, .09) !important;
    border: 1px solid rgba(52, 211, 153, .22);
    color: #34d399 !important;
}

.vs-security-status-enabled .vs-security-status-icon {
    background: rgba(52, 211, 153, .13);
}

.vs-security-status-disabled {
    background: rgba(148, 163, 184, .08) !important;
    border: 1px solid rgba(148, 163, 184, .18);
    color: #94a3b8 !important;
}

.vs-security-status-disabled .vs-security-status-icon {
    background: rgba(148, 163, 184, .10);
}

/* 2FA alert */

.vs-security-alert {
    margin-bottom: 20px;
}

.vs-security-alert .alert {
    margin: 0 !important;
    border-radius: 10px !important;
}

/* 2FA buttons */

.vs-security-2fa-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.vs-security-2fa-actions .btn {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 17px !important;
    border-radius: 9px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.vs-security-2fa-disable {
    background: rgba(239, 68, 68, .09) !important;
    border: 1px solid rgba(239, 68, 68, .32) !important;
    color: #f87171 !important;
}

.vs-security-2fa-disable:hover,
.vs-security-2fa-disable:focus {
    background: rgba(239, 68, 68, .15) !important;
    border-color: rgba(239, 68, 68, .55) !important;
    color: #fca5a5 !important;
}

.vs-security-2fa-enable {
    background: rgba(52, 211, 153, .09) !important;
    border: 1px solid rgba(52, 211, 153, .28) !important;
    color: #34d399 !important;
}

.vs-security-2fa-enable:hover,
.vs-security-2fa-enable:focus {
    background: rgba(52, 211, 153, .15) !important;
    border-color: rgba(52, 211, 153, .50) !important;
    color: #6ee7b7 !important;
}

/* Keep default WHMCS sidebar light */

.vs-security-page .vs-sidebar-card,
.vs-security-page .vs-sidebar-card .vs-sidebar-header,
.vs-security-page .vs-sidebar-card .vs-sidebar-body,
.vs-security-page .vs-sidebar-card .vs-sidebar-content,
.vs-security-page .vs-sidebar-card .vs-sidebar-menu,
.vs-security-page .vs-sidebar-card .vs-sidebar-menu-inner,
.vs-security-page .vs-sidebar-card .vs-sidebar-menu-item,
.vs-security-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

.vs-security-page .vs-sidebar-card {
    border-color: #e4eaf3 !important;
    box-shadow: 0 6px 24px rgba(30, 64, 175, .06) !important;
}

.vs-security-page .vs-sidebar-card .vs-sidebar-menu-item {
    color: #667085 !important;
}

.vs-security-page .vs-sidebar-card .vs-sidebar-menu-item:hover {
    background: #FAF7FC !important;
    color: #16042C !important;
}

.vs-security-page .vs-sidebar-card .vs-sidebar-menu-item.active {
    background: #eef5ff !important;
    color: #16042C !important;
}

/* Responsive */

@media (max-width: 991.98px) {
    .vs-security-page {
        padding: 22px 0 30px !important;
    }

    .vs-security-card-header {
        padding: 20px !important;
    }

    .vs-security-card-body {
        padding: 20px !important;
    }
}

@media (max-width: 767.98px) {
    .vs-security-page {
        padding: 16px 0 24px !important;
    }

    .vs-security-card {
        border-radius: 14px !important;
        margin-bottom: 16px !important;
    }

    .vs-security-intro {
        align-items: flex-start;
        padding: 17px;
    }

    .vs-security-card-header {
        align-items: flex-start;
        padding: 18px !important;
    }

    .vs-security-card-body {
        padding: 16px !important;
    }

    .vs-security-card-title {
        font-size: 18px !important;
    }

    .vs-security-form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .vs-security-actions,
    .vs-security-2fa-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .vs-security-save,
    .vs-security-cancel,
    .vs-security-2fa-actions .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .vs-security-intro {
        gap: 10px;
        padding: 14px;
    }

    .vs-security-intro-icon,
    .vs-security-card-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 15px;
    }

    .vs-security-intro h3 {
        font-size: 16px !important;
    }

    .vs-security-intro p,
    .vs-security-card-subtitle {
        font-size: 11px !important;
    }

    .vs-security-card-header {
        gap: 10px;
        padding: 15px !important;
    }

    .vs-security-card-body {
        padding: 13px !important;
    }
}
/* =========================================================
   VNET EMAIL VIEW / EMAIL POPUP
   Modern WHMCS email preview
   No :has() selectors
   ========================================================= */

.vs-email-popup-body {
    margin: 0 !important;
    padding: 24px !important;
    min-height: 100vh;
    box-sizing: border-box;
    background:
        radial-gradient(
            700px circle at 0% 0%,
            rgba(22, 4, 44, 0.10),
            transparent 58%
        ),
        radial-gradient(
            600px circle at 100% 0%,
            rgba(96, 165, 250, 0.08),
            transparent 58%
        ),
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #f3f6fb 100%
        ) !important;
    font-family: 'Manrope', sans-serif !important;
    color: #344054;
}

.vs-email-popup,
.vs-email-popup * {
    box-sizing: border-box;
}

.vs-email-popup {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.vs-email-popup-card {
    width: 100%;
    overflow: hidden;
    background: #ffffff !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 45px rgba(30, 64, 175, 0.10) !important;
}

/* Header */

.vs-email-popup-header {
    padding: 24px 26px;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fbff 100%
        ) !important;
    border-bottom: 1px solid #e8edf4 !important;
}

.vs-email-popup-title-row {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
}

.vs-email-popup-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #eef5ff !important;
    color: #16042C !important;
    font-size: 20px;
}

.vs-email-popup-heading {
    min-width: 0;
}

.vs-email-popup-label {
    margin-bottom: 4px;
    color: #667085;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.vs-email-popup-title {
    margin: 0 !important;
    color: #172033 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    word-break: break-word;
}

/* Attachments */

.vs-email-popup-attachments {
    margin-top: 20px;
    padding: 14px 16px;
    background: #f8fafc !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 12px;
}

.vs-email-popup-attachments-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #344054;
    font-size: 13px;
    font-weight: 700;
}

.vs-email-popup-attachments-title i {
    color: #16042C;
}

.vs-email-popup-attachments-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vs-email-popup-attachment {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid #dfe7f2;
    border-radius: 8px;
    background: #ffffff;
    color: #667085;
    font-size: 12px;
    line-height: 18px;
    word-break: break-word;
}

.vs-email-popup-attachment i {
    flex: 0 0 auto;
    color: #16042C;
}

/* Message */

.vs-email-popup-body {
    padding: 20px 22px;
    background: #f5f8fc !important;
}

.vs-email-popup-message {
    width: 100%;
    overflow: hidden;
    background: #ffffff !important;
    border: 1px solid #dfe6ef !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.vs-email-popup-message iframe {
    display: block;
    width: 100% !important;
    height: 380px;
    min-height: 300px;
    border: 0 !important;
    background: #ffffff !important;
}

/* Footer */

.vs-email-popup-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 22px;
    background: #ffffff !important;
    border-top: 1px solid #e8edf4 !important;
}

.vs-email-popup-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 17px;
    border: 1px solid #16042C !important;
    border-radius: 8px !important;
    background: #16042C !important;
    color: #ffffff !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.vs-email-popup-close:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(22, 4, 44, 0.22);
    transform: translateY(-1px);
}

.vs-email-popup-close:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, 0.18);
}

/* Responsive */

@media (max-width: 767.98px) {
    .vs-email-popup-body {
        padding: 14px !important;
    }

    .vs-email-popup-header {
        padding: 20px;
    }

    .vs-email-popup-title {
        font-size: 18px !important;
    }

    .vs-email-popup-body {
        padding: 16px;
    }

    .vs-email-popup-message iframe {
        height: 360px;
    }

    .vs-email-popup-footer {
        padding: 14px 16px;
    }
}

@media (max-width: 479.98px) {
    .vs-email-popup-body {
        padding: 10px !important;
    }

    .vs-email-popup-card {
        border-radius: 13px !important;
    }

    .vs-email-popup-header {
        padding: 16px;
    }

    .vs-email-popup-title-row {
        align-items: flex-start;
        gap: 11px;
    }

    .vs-email-popup-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        border-radius: 11px;
        font-size: 17px;
    }

    .vs-email-popup-title {
        font-size: 16px !important;
    }

    .vs-email-popup-attachments {
        padding: 12px;
    }

    .vs-email-popup-attachments-list {
        display: block;
    }

    .vs-email-popup-attachment {
        width: 100%;
        margin-bottom: 7px;
    }

    .vs-email-popup-attachment:last-child {
        margin-bottom: 0;
    }

    .vs-email-popup-body {
        padding: 10px;
    }

    .vs-email-popup-message {
        border-radius: 9px !important;
    }

    .vs-email-popup-message iframe {
        height: 330px;
        min-height: 260px;
    }

    .vs-email-popup-footer {
        padding: 12px;
    }

    .vs-email-popup-close {
        width: 100%;
    }
}

/* Popup/window safety */

#popup-backdrop .card,
#popup-backdrop .card-header,
#popup-backdrop .card-body,
#popup-backdrop .card-footer {
    box-shadow: none;
}
/* =========================================================
   VNET ACCOUNT DETAILS
   Modern dark account-details page
   Default WHMCS sidebar remains light/white
   No :has() selectors
   ========================================================= */

.vs-account-details-page,
.vs-account-details-page * {
    box-sizing: border-box;
}

.vs-account-details-page {
    width: 100%;
    max-width: none;
    padding: 8px 0 35px;
    font-family: 'Manrope', sans-serif !important;
    color: #e2e8f0;
}

.vs-account-details-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.vs-account-details-header-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(22, 4, 44, .16);
    border: 1px solid rgba(96, 165, 250, .18);
    color: #7B4BA8;
    font-size: 20px;
}

.vs-account-details-eyebrow {
    margin-bottom: 3px;
    color: #71839d;
    font-size: 11px;
    font-weight: 700;
    line-height: 17px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vs-account-details-title {
    margin: 0 !important;
    color: #f8fafc !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.vs-account-details-subtitle {
    margin: 5px 0 0;
    color: #8193ad;
    font-size: 13px;
    line-height: 20px;
}

/* Cards */

.vs-account-details-card {
    margin-bottom: 20px;
    overflow: hidden;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
}

.vs-account-details-card-header {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 19px 22px;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-account-details-card-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(22, 4, 44, .15);
    color: #7B4BA8;
    font-size: 16px;
}

.vs-account-details-card-header h2 {
    margin: 0 !important;
    color: #f1f5f9 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 21px !important;
}

.vs-account-details-card-header p {
    margin: 3px 0 0;
    color: #8193ad;
    font-size: 12px;
    line-height: 18px;
}

.vs-account-details-card-body {
    padding: 22px;
    background: #111d33 !important;
}

.vs-account-details-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
}

.vs-account-details-column {
    min-width: 0;
}

/* Section labels */

.vs-account-section-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding-bottom: 9px;
    color: #b8c7da;
    border-bottom: 1px solid #263a5a;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.vs-account-section-label i {
    color: #7B4BA8;
    font-size: 12px;
}

.vs-account-section-label-spaced {
    margin-top: 27px;
}

/* Fields */

.vs-account-field {
    margin-bottom: 16px;
}

.vs-account-field > label {
    display: block;
    margin: 0 0 7px;
    color: #b8c7da;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

.vs-account-required {
    margin-left: 3px;
    color: #f87171;
}

.vs-account-input,
.vs-account-custom-control input,
.vs-account-custom-control select,
.vs-account-custom-control textarea {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    line-height: 21px;
    box-shadow: none !important;
    outline: none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.vs-account-input::placeholder,
.vs-account-custom-control input::placeholder,
.vs-account-custom-control textarea::placeholder {
    color: #61728b !important;
}

.vs-account-input:focus,
.vs-account-custom-control input:focus,
.vs-account-custom-control select:focus,
.vs-account-custom-control textarea:focus {
    background: #101d32 !important;
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
}

.vs-account-input:disabled,
.vs-account-custom-control input:disabled,
.vs-account-custom-control select:disabled,
.vs-account-custom-control textarea:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.vs-account-select,
.vs-account-custom-control select {
    appearance: auto;
    cursor: pointer;
}

.vs-account-custom-control {
    width: 100%;
}

.vs-account-custom-control .form-control {
    width: 100%;
}

.vs-account-field-help {
    margin-top: 5px;
    color: #71839d;
    font-size: 11px;
    line-height: 17px;
}

/* Country dropdown and WHMCS-generated controls */

.vs-account-custom-control .form-control,
.vs-account-custom-control .custom-select {
    background: #0f1a2d !important;
    color: #e2e8f0 !important;
    border-color: #2b405f !important;
    border-radius: 9px !important;
}

.vs-account-custom-control .form-control:focus,
.vs-account-custom-control .custom-select:focus {
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .14) !important;
}

/* Custom field content */

.vs-account-custom-control label {
    color: #b8c7da;
}

.vs-account-custom-control .form-check,
.vs-account-custom-control .form-group {
    margin-bottom: 0;
}

/* Email preferences */

.vs-account-email-preferences {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.vs-account-email-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    margin: 0;
    padding: 10px 12px;
    background: #0f1a2d;
    border: 1px solid #2b405f;
    border-radius: 9px;
    cursor: pointer;
    color: #cbd5e1;
    transition:
        border-color .2s ease,
        background-color .2s ease;
}

.vs-account-email-option:hover {
    background: #12213a;
    border-color: #36577e;
}

.vs-account-checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.vs-account-checkbox-box {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #49617f;
    border-radius: 5px;
    background: #0b1427;
}

.vs-account-checkbox:checked + .vs-account-checkbox-box {
    background: #16042C;
    border-color: #16042C;
}

.vs-account-checkbox:checked + .vs-account-checkbox-box::after {
    content: '';
    width: 8px;
    height: 4px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateY(-1px);
}

.vs-account-email-option-text {
    min-width: 0;
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

/* Marketing */

.vs-account-marketing-card .vs-account-details-card-header p {
    max-width: 760px;
}

.vs-account-marketing-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.vs-account-marketing-toggle input {
    margin: 0;
}

/* Actions */

.vs-account-details-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 5px;
}

.vs-account-save,
.vs-account-cancel {
    min-height: 42px;
    padding: 9px 17px;
    border-radius: 9px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px;
    cursor: pointer;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.vs-account-save {
    border: 1px solid #16042C !important;
    background: #16042C !important;
    color: #fff !important;
}

.vs-account-save:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    box-shadow: 0 7px 18px rgba(22, 4, 44, .22);
    transform: translateY(-1px);
}

.vs-account-cancel {
    border: 1px solid #334b6d !important;
    background: #14213a !important;
    color: #b8c7da !important;
}

.vs-account-cancel:hover {
    background: #1a2b48 !important;
    border-color: #456486 !important;
    color: #f1f5f9 !important;
}

/* WHMCS alerts */

.vs-account-details-page + .alert,
.vs-account-details-page .alert {
    border-radius: 10px;
}

/* Keep default sidebar light if the sidebar is rendered around this page */

.vs-account-details-page .vs-sidebar-card,
.vs-account-details-page .vs-sidebar-card .vs-sidebar-header,
.vs-account-details-page .vs-sidebar-card .vs-sidebar-body,
.vs-account-details-page .vs-sidebar-card .vs-sidebar-content,
.vs-account-details-page .vs-sidebar-card .vs-sidebar-menu,
.vs-account-details-page .vs-sidebar-card .vs-sidebar-menu-item,
.vs-account-details-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

/* Responsive */

@media (max-width: 991.98px) {
    .vs-account-details-page {
        padding-bottom: 25px;
    }

    .vs-account-details-grid {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .vs-account-email-preferences {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .vs-account-details-header {
        align-items: flex-start;
        gap: 11px;
        margin-bottom: 17px;
    }

    .vs-account-details-header-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-radius: 12px;
        font-size: 18px;
    }

    .vs-account-details-title {
        font-size: 21px !important;
    }

    .vs-account-details-subtitle {
        font-size: 12px;
    }

    .vs-account-details-card {
        border-radius: 14px !important;
    }

    .vs-account-details-card-header {
        padding: 16px;
    }

    .vs-account-details-card-body {
        padding: 16px;
    }

    .vs-account-details-actions {
        justify-content: stretch;
    }

    .vs-account-save,
    .vs-account-cancel {
        flex: 1 1 0;
    }
}

@media (max-width: 479.98px) {
    .vs-account-details-page {
        padding-bottom: 18px;
    }

    .vs-account-details-title {
        font-size: 19px !important;
    }

    .vs-account-details-card-header {
        gap: 10px;
        padding: 14px;
    }

    .vs-account-details-card-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 9px;
        font-size: 14px;
    }

    .vs-account-details-card-body {
        padding: 14px;
    }

    .vs-account-section-label {
        font-size: 11px;
    }

    .vs-account-email-preferences {
        gap: 8px;
    }

    .vs-account-details-actions {
        flex-direction: column;
    }

    .vs-account-save,
    .vs-account-cancel {
        width: 100%;
        flex: none;
    }
}
/* =========================================================
   FINAL ACCOUNT PAGE HEADER OVERRIDE
   ========================================================= */

.vs-account-details-page .vs-account-details-header {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
    margin: 0 0 20px 20px !important;
    padding: 18px 20px !important;
    background: #111d33 !important;
    background-color: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10) !important;
}

.vs-account-details-page .vs-account-details-header-icon {
    background: rgba(22, 4, 44, 0.18) !important;
    background-color: rgba(22, 4, 44, 0.18) !important;
    border: 1px solid rgba(96, 165, 250, 0.20) !important;
    color: #7B4BA8 !important;
}

.vs-account-details-page .vs-account-details-eyebrow {
    color: #7fa8d8 !important;
}

.vs-account-details-page .vs-account-details-title {
    color: #f8fafc !important;
}

.vs-account-details-page .vs-account-details-subtitle {
    color: #8193ad !important;
}

@media (max-width: 767.98px) {
    .vs-account-details-page .vs-account-details-header {
        padding: 15px 16px !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 479.98px) {
    .vs-account-details-page .vs-account-details-header {
        padding: 13px 14px !important;
        border-radius: 12px !important;
    }
}


/* =========================================================
   FINAL ALIGNMENT FIX
   Account header must align exactly with the content cards
   ========================================================= */

.vs-account-details-page .vs-account-details-header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding: 18px 20px !important;
    transform: none !important;
    position: relative !important;
    left: 0 !important;
    right: auto !important;
}

.vs-account-details-page .vs-account-details-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 767.98px) {
    .vs-account-details-page .vs-account-details-header {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 15px 16px !important;
    }
}
/* =========================================================
   VNET ACCOUNT SECURITY
   Modern dark security page
   Default WHMCS sidebar remains light/white
   No :has() selectors
   ========================================================= */

.vs-security-page,
.vs-security-page * {
    box-sizing: border-box;
}

.vs-security-page {
    width: 100%;
    max-width: none;
    padding: 8px 0 35px;
    font-family: 'Manrope', sans-serif !important;
    color: #e2e8f0;
}

/* Header */

.vs-security-header {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin: 0 0 20px;
    padding: 18px 20px;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.10);
}

.vs-security-header-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(22, 4, 44,.18) !important;
    border: 1px solid rgba(96,165,250,.20);
    color: #7B4BA8;
    font-size: 20px;
}

.vs-security-eyebrow {
    margin-bottom: 3px;
    color: #7fa8d8;
    font-size: 11px;
    font-weight: 700;
    line-height: 17px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vs-security-title {
    margin: 0 !important;
    color: #f8fafc !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.vs-security-subtitle {
    margin: 5px 0 0;
    color: #8193ad;
    font-size: 13px;
    line-height: 20px;
}

/* Cards */

.vs-security-card {
    width: 100%;
    margin-bottom: 20px;
    overflow: hidden;
    background: #111d33 !important;
    border: 1px solid #263a5a !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
}

.vs-security-card-header {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 19px 22px;
    background: #14213a !important;
    border-bottom: 1px solid #263a5a !important;
}

.vs-security-card-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(22, 4, 44,.15);
    color: #7B4BA8;
    font-size: 16px;
}

.vs-security-card-header h2 {
    margin: 0 !important;
    color: #f1f5f9 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 21px !important;
}

.vs-security-card-header p {
    margin: 3px 0 0;
    color: #8193ad;
    font-size: 12px;
    line-height: 18px;
}

.vs-security-card-body {
    padding: 22px;
    background: #111d33 !important;
}

/* Linked accounts */

.vs-security-linked-section {
    width: 100%;
}

.vs-security-linked-section .card,
.vs-security-linked-section .panel {
    background: #0f1a2d !important;
    border-color: #2b405f !important;
    color: #cbd5e1 !important;
}

.vs-security-linked-section a {
    color: #7B4BA8;
}

.vs-security-linked-section a:hover {
    color: #93c5fd;
}

.vs-security-divider {
    height: 1px;
    margin: 20px 0;
    background: #263a5a;
}

/* Security form */

.vs-security-form {
    width: 100%;
}

.vs-security-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.vs-security-field {
    margin-bottom: 17px;
}

.vs-security-field > label {
    display: block;
    margin: 0 0 7px;
    color: #b8c7da;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

.vs-security-input {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    background: #0f1a2d !important;
    border: 1px solid #2b405f !important;
    border-radius: 9px !important;
    color: #e2e8f0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    line-height: 21px;
    outline: none;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.vs-security-input::placeholder {
    color: #61728b !important;
}

.vs-security-input:focus {
    background: #101d32 !important;
    border-color: #16042C !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44,.14) !important;
}

.vs-security-select {
    appearance: auto;
    cursor: pointer;
}

.vs-security-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 4px;
}

/* Buttons */

.vs-security-primary-btn,
.vs-security-secondary-btn,
.vs-security-danger-btn,
.vs-security-success-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 17px;
    border-radius: 9px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.vs-security-primary-btn {
    border: 1px solid #16042C !important;
    background: #16042C !important;
    color: #fff !important;
}

.vs-security-primary-btn:hover {
    background: #2A0A52 !important;
    border-color: #2A0A52 !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(22, 4, 44,.22);
    transform: translateY(-1px);
}

.vs-security-secondary-btn {
    border: 1px solid #334b6d !important;
    background: #14213a !important;
    color: #b8c7da !important;
}

.vs-security-secondary-btn:hover {
    background: #1a2b48 !important;
    border-color: #456486 !important;
    color: #f1f5f9 !important;
}

.vs-security-danger-btn {
    border: 1px solid #dc2626 !important;
    background: #dc2626 !important;
    color: #fff !important;
}

.vs-security-danger-btn:hover {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(220,38,38,.18);
    transform: translateY(-1px);
}

.vs-security-success-btn {
    border: 1px solid #16a34a !important;
    background: #16a34a !important;
    color: #fff !important;
}

.vs-security-success-btn:hover {
    background: #15803d !important;
    border-color: #15803d !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(22,163,74,.18);
    transform: translateY(-1px);
}

/* 2FA */

.vs-security-2fa-status {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
    padding: 15px;
    background: #0f1a2d;
    border: 1px solid #2b405f;
    border-radius: 11px;
}

.vs-security-status-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(22, 4, 44,.14);
    color: #7B4BA8;
}

.vs-security-status-content {
    min-width: 0;
}

.vs-security-status-content p {
    margin: 0 !important;
    color: #b8c7da;
    font-size: 13px;
    line-height: 20px;
}

.vs-security-status-content strong {
    color: #f1f5f9;
}

.vs-security-2fa-description {
    margin-top: 3px;
    color: #71839d;
    font-size: 11px;
    line-height: 17px;
}

.vs-security-alert {
    margin-bottom: 17px;
}

.vs-security-alert .alert {
    margin-bottom: 0 !important;
    background: rgba(245,158,11,.09) !important;
    border: 1px solid rgba(245,158,11,.25) !important;
    border-radius: 9px !important;
    color: #fcd34d !important;
}

.vs-security-2fa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Preserve WHMCS hidden state */

.vs-security-page .w-hidden {
    display: none !important;
}

/* Keep default sidebar white */

.vs-security-page .vs-sidebar-card,
.vs-security-page .vs-sidebar-card .vs-sidebar-header,
.vs-security-page .vs-sidebar-card .vs-sidebar-body,
.vs-security-page .vs-sidebar-card .vs-sidebar-content,
.vs-security-page .vs-sidebar-card .vs-sidebar-menu,
.vs-security-page .vs-sidebar-card .vs-sidebar-menu-item,
.vs-security-page .vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}

/* Responsive */

@media (max-width: 991.98px) {
    .vs-security-form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

@media (max-width: 767.98px) {
    .vs-security-page {
        padding-bottom: 25px;
    }

    .vs-security-header {
        align-items: flex-start;
        gap: 11px;
        padding: 15px 16px;
        border-radius: 14px !important;
    }

    .vs-security-header-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-radius: 12px;
        font-size: 18px;
    }

    .vs-security-title {
        font-size: 21px !important;
    }

    .vs-security-subtitle {
        font-size: 12px;
    }

    .vs-security-card {
        border-radius: 14px !important;
    }

    .vs-security-card-header {
        padding: 16px;
    }

    .vs-security-card-body {
        padding: 16px;
    }

    .vs-security-actions {
        justify-content: stretch;
    }

    .vs-security-primary-btn,
    .vs-security-secondary-btn {
        flex: 1 1 0;
    }

    .vs-security-2fa-actions {
        flex-direction: column;
    }

    .vs-security-danger-btn,
    .vs-security-success-btn {
        width: 100%;
    }
}

@media (max-width: 479.98px) {
    .vs-security-page {
        padding-bottom: 18px;
    }

    .vs-security-header {
        padding: 13px 14px;
        border-radius: 12px !important;
    }

    .vs-security-title {
        font-size: 19px !important;
    }

    .vs-security-card-header {
        gap: 10px;
        padding: 14px;
    }

    .vs-security-card-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 9px;
        font-size: 14px;
    }

    .vs-security-card-body {
        padding: 14px;
    }

    .vs-security-actions {
        flex-direction: column;
    }

    .vs-security-primary-btn,
    .vs-security-secondary-btn {
        width: 100%;
        flex: none;
    }

    .vs-security-2fa-status {
        align-items: flex-start;
    }
}
/* =========================================================
   VNET SINGLE SIGN-ON SETTINGS
   Dark modern account/security theme
   WHMCS compatible
   No :has()
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

.vs-sso-card,
.vs-sso-card *,
.vs-sso-card *::before,
.vs-sso-card *::after {
    box-sizing: border-box;
}


.vs-sso-card {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 20px 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #111d33 !important;
    background-color: #111d33 !important;

    border: 1px solid #263a5a !important;
    border-radius: 17px !important;

    box-shadow: 0 8px 28px rgba(0, 0, 0, .12) !important;

    color: #e2e8f0 !important;

    font-family: 'Manrope', sans-serif !important;
}


/* =========================================================
   HEADER
   ========================================================= */

.vs-sso-card-header {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;

    gap: 13px !important;

    padding: 19px 22px !important;

    background: #14213a !important;
    background-color: #14213a !important;

    border: 0 !important;
    border-bottom: 1px solid #263a5a !important;
}


.vs-sso-card-icon {
    width: 40px !important;
    height: 40px !important;

    min-width: 40px !important;
    flex: 0 0 40px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 11px !important;

    background: rgba(22, 4, 44, .15) !important;

    border: 1px solid rgba(96, 165, 250, .10) !important;

    color: #7B4BA8 !important;

    font-size: 16px !important;

    line-height: 1 !important;
}


.vs-sso-card-icon i {
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1 !important;
}


.vs-sso-card-heading {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}


.vs-sso-card-heading h2 {
    margin: 0 !important;
    padding: 0 !important;

    color: #f1f5f9 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    line-height: 21px !important;
}


.vs-sso-card-heading p {
    margin: 3px 0 0 0 !important;
    padding: 0 !important;

    color: #8193ad !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;

    line-height: 18px !important;
}


/* =========================================================
   BODY
   ========================================================= */

.vs-sso-card-body {
    width: 100% !important;

    margin: 0 !important;

    padding: 22px !important;

    background: #111d33 !important;
    background-color: #111d33 !important;

    color: #e2e8f0 !important;
}


/* =========================================================
   ALERT
   ========================================================= */

.vs-sso-alert {
    width: 100% !important;

    margin: 0 0 18px 0 !important;
    padding: 0 !important;
}


.vs-sso-alert .alert {
    width: 100% !important;

    margin: 0 !important;

    padding: 12px 14px !important;

    background: rgba(34, 197, 94, .09) !important;
    background-color: rgba(34, 197, 94, .09) !important;

    border: 1px solid rgba(34, 197, 94, .25) !important;

    border-radius: 10px !important;

    color: #86efac !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 12px !important;

    line-height: 19px !important;
}


.vs-sso-alert .alert *,
.vs-sso-alert .alert strong {
    color: inherit !important;
}


.vs-sso-alert .alert a {
    color: #bbf7d0 !important;
}


/* =========================================================
   FORM
   ========================================================= */

.vs-sso-card form#frmSingleSignOn {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   SETTING ROW
   ========================================================= */

.vs-sso-setting {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;

    gap: 14px !important;

    padding: 16px !important;

    background: #0f1a2d !important;
    background-color: #0f1a2d !important;

    border: 1px solid #2b405f !important;

    border-radius: 11px !important;

    color: #e2e8f0 !important;
}


/* =========================================================
   SETTING ICON
   ========================================================= */

.vs-sso-setting-icon {
    width: 40px !important;
    height: 40px !important;

    min-width: 40px !important;
    flex: 0 0 40px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 10px !important;

    background: rgba(22, 4, 44, .14) !important;

    border: 1px solid rgba(96, 165, 250, .08) !important;

    color: #7B4BA8 !important;

    font-size: 15px !important;

    line-height: 1 !important;
}


.vs-sso-setting-icon i {
    color: inherit !important;
    font-size: inherit !important;
}


/* =========================================================
   SETTING CONTENT
   ========================================================= */

.vs-sso-setting-content {
    min-width: 0 !important;

    flex: 1 1 auto !important;
}


.vs-sso-setting-title {
    margin: 0 !important;
    padding: 0 !important;

    color: #f1f5f9 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    line-height: 19px !important;
}


.vs-sso-setting-status {
    margin: 3px 0 0 0 !important;
    padding: 0 !important;
}


.vs-sso-status {
    display: inline-flex !important;

    align-items: center !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    line-height: 17px !important;
}


.vs-sso-status i {
    font-size: 11px !important;
    line-height: 1 !important;
}


.vs-sso-status-enabled {
    color: #4ade80 !important;
}


.vs-sso-status-disabled {
    color: #94a3b8 !important;
}


.vs-sso-description {
    margin: 4px 0 0 0 !important;
    padding: 0 !important;

    color: #71839d !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 11px !important;
    font-weight: 400 !important;

    line-height: 17px !important;
}


/* =========================================================
   IMPORTANT WHMCS TOGGLE
   ========================================================= */

/*
   The label remains clickable.
   The REAL checkbox remains active.

   Do NOT use:
       pointer-events: none;

   on the checkbox.
*/

.vs-sso-switch {
    position: relative !important;

    display: block !important;

    width: 48px !important;
    height: 26px !important;

    min-width: 48px !important;

    flex: 0 0 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    cursor: pointer !important;

    line-height: 0 !important;

    z-index: 5 !important;
}


/*
   Actual WHMCS checkbox.

   It remains a real checkbox so WHMCS JavaScript can detect
   the change event from:

       .toggle-switch-success

   and:

       #inputAllowSso
*/

.vs-sso-switch input#inputAllowSso {
    position: absolute !important;

    display: block !important;

    width: 48px !important;
    height: 26px !important;

    min-width: 48px !important;

    top: 0 !important;
    left: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;

    cursor: pointer !important;

    z-index: 3 !important;

    pointer-events: auto !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    outline: none !important;
}


/*
   Visual switch background.
*/

.vs-sso-slider {
    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    display: block !important;

    width: 48px !important;
    height: 26px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #334155 !important;

    border: 1px solid #475569 !important;

    border-radius: 999px !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;

    pointer-events: none !important;

    z-index: 1 !important;
}


/*
   Switch knob.
*/

.vs-sso-slider::before {
    content: "" !important;

    position: absolute !important;

    width: 20px !important;
    height: 20px !important;

    top: 2px !important;
    left: 2px !important;

    margin: 0 !important;

    border-radius: 50% !important;

    background: #f8fafc !important;

    box-shadow: 0 2px 5px rgba(0, 0, 0, .25) !important;

    transform: translateX(0) !important;

    transition:
        transform .2s ease !important;
}


/*
   ENABLED
*/

.vs-sso-switch input#inputAllowSso:checked + .vs-sso-slider {
    background: #16a34a !important;

    border-color: #22c55e !important;

    box-shadow:
        0 0 0 3px rgba(34, 197, 94, .10) !important;
}


.vs-sso-switch input#inputAllowSso:checked + .vs-sso-slider::before {
    transform: translateX(22px) !important;
}


/*
   Hover
*/

.vs-sso-switch:hover .vs-sso-slider {
    border-color: #7B4BA8 !important;
}


/*
   Keyboard focus
*/

.vs-sso-switch input#inputAllowSso:focus-visible + .vs-sso-slider {
    border-color: #7B4BA8 !important;

    box-shadow:
        0 0 0 3px rgba(96, 165, 250, .20) !important;
}


/* =========================================================
   NOTICE
   ========================================================= */

.vs-sso-notice {
    display: flex !important;

    align-items: flex-start !important;

    width: 100% !important;

    gap: 9px !important;

    margin: 17px 0 0 0 !important;

    padding: 13px 14px !important;

    background: rgba(96, 165, 250, .055) !important;

    border: 1px solid rgba(96, 165, 250, .14) !important;

    border-radius: 9px !important;
}


.vs-sso-notice-icon {
    width: 16px !important;
    min-width: 16px !important;

    flex: 0 0 16px !important;

    color: #7B4BA8 !important;

    font-size: 14px !important;

    line-height: 19px !important;
}


.vs-sso-notice-icon i {
    color: inherit !important;
}


.vs-sso-notice p {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #8193ad !important;

    font-family: 'Manrope', sans-serif !important;

    font-size: 11px !important;
    font-weight: 400 !important;

    line-height: 18px !important;
}


/* =========================================================
   WHMCS HIDDEN STATE
   ========================================================= */

.vs-sso-card .w-hidden {
    display: none !important;
}


/* =========================================================
   DEFAULT SIDEBAR
   ========================================================= */

.vs-sidebar-card {
    background: #ffffff !important;
    color: #344054 !important;
}


.vs-sidebar-card .vs-sidebar-header,
.vs-sidebar-card .vs-sidebar-body,
.vs-sidebar-card .vs-sidebar-content,
.vs-sidebar-card .vs-sidebar-menu,
.vs-sidebar-card .vs-sidebar-menu-item,
.vs-sidebar-card .vs-sidebar-footer {
    background: #ffffff !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .vs-sso-card-header {
        padding: 18px !important;
    }

    .vs-sso-card-body {
        padding: 18px !important;
    }

}


@media (max-width: 767.98px) {

    .vs-sso-card {
        border-radius: 14px !important;
    }

    .vs-sso-card-header {
        gap: 11px !important;
        padding: 16px !important;
    }

    .vs-sso-card-body {
        padding: 16px !important;
    }

    .vs-sso-setting {
        gap: 11px !important;
        padding: 14px !important;
    }

    .vs-sso-setting-icon {
        width: 38px !important;
        height: 38px !important;

        min-width: 38px !important;
        flex-basis: 38px !important;
    }

}


@media (max-width: 479.98px) {

    .vs-sso-card {
        border-radius: 12px !important;
    }

    .vs-sso-card-header {
        gap: 10px !important;
        padding: 14px !important;
    }

    .vs-sso-card-icon {
        width: 36px !important;
        height: 36px !important;

        min-width: 36px !important;
        flex-basis: 36px !important;

        border-radius: 9px !important;
    }

    .vs-sso-card-heading h2 {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .vs-sso-card-heading p {
        font-size: 11px !important;
        line-height: 16px !important;
    }

    .vs-sso-card-body {
        padding: 14px !important;
    }

    .vs-sso-setting {
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 13px !important;
    }

    .vs-sso-setting-icon {
        width: 36px !important;
        height: 36px !important;

        min-width: 36px !important;
        flex-basis: 36px !important;

        border-radius: 9px !important;
    }

    .vs-sso-setting-title {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    .vs-sso-description {
        font-size: 10px !important;
        line-height: 16px !important;
    }

    .vs-sso-switch {
        width: 48px !important;
        height: 26px !important;

        min-width: 48px !important;
        flex-basis: 48px !important;

        margin-top: 5px !important;
    }

    .vs-sso-notice {
        gap: 7px !important;

        margin-top: 14px !important;

        padding: 11px !important;
    }

}
/* =========================================================
   VSupport24x7 FRONTEND FOOTER
   FULL-BLEED VERSION FOR WHMCS
   This intentionally breaks the footer out of any Bootstrap
   .container/.row parent so it reaches the browser edges.
   ========================================================= */

/* IMPORTANT:
   Do not apply width/overflow rules to body, .container,
   .row, #main-body or the WHMCS sidebar here.
*/

#footer.vs-footer {
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;

    /* Break out of WHMCS's constrained parent */
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;

    overflow: hidden !important;

    background: #16042B!important;
    background-color: #16042B!important;

    border: 0 !important;
    border-top: 1px solid rgba(148, 163, 184, 0.16) !important;

    color: #cbd5e1 !important;

    font-family: 'Manrope', sans-serif !important;
    box-sizing: border-box !important;
}

/* Keep the footer's own elements isolated */
#footer.vs-footer,
#footer.vs-footer * {
    box-sizing: border-box !important;
}

#footer.vs-footer .vs-footer-inner {
    display: block !important;

    width: 100% !important;
    max-width: 1775px !important;

    margin: 0 auto !important;

    padding: 62px 64px 0 !important;

    background: transparent !important;
}

/* Main footer grid */
#footer.vs-footer .vs-footer-grid {
    display: grid !important;

    width: 100% !important;

    grid-template-columns:
        270px
        minmax(420px, 1fr)
        165px
        185px
        270px !important;

    column-gap: 36px !important;
    row-gap: 35px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: start !important;
}

/* =========================================================
   BRAND
   ========================================================= */

#footer.vs-footer .vs-footer-brand {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#footer.vs-footer .vs-footer-logo {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 0 17px !important;
    padding: 0 !important;

    color: #f8fafc !important;
    text-decoration: none !important;
}

#footer.vs-footer .vs-footer-logo:hover {
    color: #f8fafc !important;
    text-decoration: none !important;
}

#footer.vs-footer .vs-footer-logo-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 37px !important;
    height: 37px !important;
    min-width: 37px !important;

    margin-right: 9px !important;

    border-radius: 8px !important;

    background: #16042C !important;
    color: #ffffff !important;

    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

#footer.vs-footer .vs-footer-logo-name {
    color: #f8fafc !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 20px !important;

    letter-spacing: -0.035em !important;
}

#footer.vs-footer .vs-footer-logo-name span {
    color: #7B4BA8 !important;
}

#footer.vs-footer .vs-footer-description {
    width: 245px !important;
    max-width: 100% !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #a7b1c3 !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
}

#footer.vs-footer .vs-footer-contact-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#footer.vs-footer .vs-footer-contact-row {
    display: flex !important;
    align-items: center !important;

    gap: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #c2cad8 !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 18px !important;
}

#footer.vs-footer .vs-footer-contact-row i {
    width: 14px !important;
    min-width: 14px !important;

    color: #cbd5e1 !important;

    font-size: 11px !important;
    text-align: center !important;
}

/* =========================================================
   HEADINGS
   ========================================================= */

#footer.vs-footer .vs-footer-heading {
    display: block !important;

    margin: 2px 0 17px !important;
    padding: 0 !important;

    color: #f8fafc !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
}

/* =========================================================
   LINKS
   ========================================================= */

#footer.vs-footer .vs-footer-grid a {
    color: #c5cedc !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 18px !important;

    text-decoration: none !important;
}

#footer.vs-footer .vs-footer-grid a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* =========================================================
   SERVICES
   ========================================================= */

#footer.vs-footer .vs-footer-service-columns {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr) !important;

    column-gap: 34px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#footer.vs-footer .vs-footer-service-columns a,
#footer.vs-footer .vs-footer-company > a,
#footer.vs-footer .vs-footer-industries > a {
    display: block !important;

    width: fit-content !important;

    margin: 0 0 11px !important;
    padding: 0 !important;
}

/* =========================================================
   GET STARTED
   ========================================================= */

#footer.vs-footer .vs-footer-started p {
    width: 255px !important;
    max-width: 100% !important;

    margin: 0 0 17px !important;
    padding: 0 !important;

    color: #a7b1c3 !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 18px !important;
}

#footer.vs-footer .vs-footer-contact-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 107px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    border: 0 !important;
    border-radius: 6px !important;

    background: #16042C !important;
    color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 18px !important;

    text-decoration: none !important;
}

#footer.vs-footer .vs-footer-contact-button:hover {
    background: #2A0A52 !important;
    color: #ffffff !important;
}

/* =========================================================
   BOTTOM
   ========================================================= */

#footer.vs-footer .vs-footer-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;

    gap: 30px !important;

    margin: 40px 0 0 !important;
    padding: 25px 0 0 !important;

    border-top: 1px solid rgba(148, 163, 184, 0.17) !important;

    color: #9ca8bb !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
}

#footer.vs-footer .vs-footer-bottom-left,
#footer.vs-footer .vs-footer-bottom-right {
    margin: 0 !important;
    padding: 0 !important;
}

#footer.vs-footer .vs-footer-bottom-right {
    text-align: right !important;
}

/* =========================================================
   WATERMARK
   ========================================================= */

#footer.vs-footer .vs-footer-watermark {
    display: block !important;

    width: 100% !important;

    margin: 52px 0 -31px !important;
    padding: 0 !important;

    color: rgba(71, 85, 105, 0.23) !important;

    font-family: 'Manrope', sans-serif !important;
    font-size: clamp(90px, 13vw, 205px) !important;
    font-weight: 800 !important;
    line-height: 0.72 !important;
    letter-spacing: -0.08em !important;
    text-align: center !important;

    white-space: nowrap !important;

    pointer-events: none !important;
    user-select: none !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1500px) {
    #footer.vs-footer .vs-footer-inner {
        padding-left: 50px !important;
        padding-right: 50px !important;
    }

    #footer.vs-footer .vs-footer-grid {
        grid-template-columns:
            240px
            minmax(350px, 1fr)
            150px
            165px
            230px !important;

        column-gap: 27px !important;
    }
}

@media (max-width: 1200px) {
    #footer.vs-footer .vs-footer-inner {
        padding: 50px 35px 0 !important;
    }

    #footer.vs-footer .vs-footer-grid {
        grid-template-columns:
            240px
            minmax(0, 1fr)
            160px !important;

        column-gap: 30px !important;
    }

    #footer.vs-footer .vs-footer-started {
        grid-column: 3 !important;
    }
}

@media (max-width: 992px) {
    #footer.vs-footer .vs-footer-inner {
        padding: 45px 28px 0 !important;
    }

    #footer.vs-footer .vs-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        column-gap: 30px !important;
        row-gap: 35px !important;
    }

    #footer.vs-footer .vs-footer-brand {
        grid-column: 1 / -1 !important;
    }

    #footer.vs-footer .vs-footer-started {
        grid-column: auto !important;
    }

    #footer.vs-footer .vs-footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    #footer.vs-footer .vs-footer-bottom-right {
        text-align: left !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {
    #footer.vs-footer .vs-footer-inner {
        padding: 38px 20px 0 !important;
    }

    #footer.vs-footer .vs-footer-grid {
        grid-template-columns: 1fr !important;
        row-gap: 30px !important;
    }

    #footer.vs-footer .vs-footer-brand {
        grid-column: auto !important;
    }

    #footer.vs-footer .vs-footer-service-columns {
        grid-template-columns: 1fr !important;
        row-gap: 0 !important;
    }

    #footer.vs-footer .vs-footer-description {
        width: 100% !important;
        max-width: 330px !important;
    }

    #footer.vs-footer .vs-footer-bottom {
        align-items: flex-start !important;
        margin-top: 30px !important;
        padding-top: 20px !important;
    }

    #footer.vs-footer .vs-footer-watermark {
        margin-top: 40px !important;
        margin-bottom: -10px !important;
        font-size: 23vw !important;
    }
}

@media (max-width: 480px) {
    #footer.vs-footer .vs-footer-inner {
        padding: 32px 16px 0 !important;
    }

    #footer.vs-footer .vs-footer-bottom {
        gap: 5px !important;
    }

    #footer.vs-footer .vs-footer-bottom-left,
    #footer.vs-footer .vs-footer-bottom-right {
        font-size: 10px !important;
    }
}
/* =========================================================
   VSUPPORT24X7 CONTACT PAGE
   Matches the frontend contact-page layout.
   Scoped only to .vs-contact-page.
   ========================================================= */

.vs-contact-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Manrope', sans-serif !important;
    color: #344054 !important;
    box-sizing: border-box !important;
}

.vs-contact-page,
.vs-contact-page * {
    box-sizing: border-box !important;
}

/* Hero */
.vs-contact-hero {
    width: 100% !important;
    margin: 0 !important;
    padding: 52px 24px 50px !important;
    background:
        linear-gradient(
            110deg,
            #edf8ff 0%,
            #f5faff 48%,
            #f8f5ff 100%
        ) !important;
    border-top: 1px solid #e8eef6 !important;
    border-bottom: 1px solid #edf1f6 !important;
}

.vs-contact-hero-inner {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.vs-contact-eyebrow {
    margin: 0 0 13px !important;
    color: #16042C !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
    letter-spacing: .06em !important;
}

.vs-contact-hero-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 17px !important;
    margin: 0 !important;
}

.vs-contact-hero-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #d9fff2, #e9d9ff) !important;
    color: #16042C !important;
    font-size: 22px !important;
    transform: rotate(-5deg) !important;
}

.vs-contact-hero-title {
    margin: 0 !important;
    color: #101828 !important;
    font-size: clamp(30px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -.045em !important;
}

.vs-contact-hero-subtitle {
    max-width: 650px !important;
    margin: 19px auto 0 !important;
    color: #52627a !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 22px !important;
}

/* Main area */
.vs-contact-content {
    width: 100% !important;
    padding: 42px 0 44px !important;
    background: #ffffff !important;
}

.vs-contact-layout {
    width: calc(100% - 84px) !important;
    max-width: 1195px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.58fr) minmax(300px, .92fr) !important;
    gap: 26px !important;
    align-items: start !important;
}

/* Cards */
.vs-contact-form-card,
.vs-contact-info-card {
    background: #ffffff !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, .025) !important;
}

.vs-contact-form-card {
    padding: 25px 22px 21px !important;
}

.vs-contact-info-card {
    padding: 22px 20px !important;
}

.vs-contact-form {
    width: 100% !important;
    margin: 0 !important;
}

.vs-contact-form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 13px !important;
    margin: 0 !important;
}

.vs-contact-field {
    width: 100% !important;
    margin: 0 0 17px !important;
}

.vs-contact-field-full {
    width: 100% !important;
}

.vs-contact-field label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    text-align: left !important;
}

.vs-contact-field label span {
    color: #ef4444 !important;
}

.vs-contact-field .form-control {
    display: block !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 9px 11px !important;
    border: 1px solid #dce4ee !important;
    border-radius: 6px !important;
   
    color: #344054 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    outline: none !important;
}

.vs-contact-field .form-control:focus {
    border-color: #6ea2ff !important;
    box-shadow: 0 0 0 3px rgba(22, 4, 44, .09) !important;
}

.vs-contact-field select.form-control {
    height: 40px !important;
    cursor: pointer !important;
}

.vs-contact-field textarea.form-control {
    min-height: 112px !important;
    resize: vertical !important;
    line-height: 20px !important;
}

/* Captcha */
.vs-contact-captcha {
    margin: 2px 0 18px !important;
    text-align: left !important;
}

/* Submit */
.vs-contact-submit-row {
    margin: 0 !important;
    text-align: left !important;
}

.vs-contact-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 100px !important;
    min-height: 40px !important;
    padding: 9px 17px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #16042C !important;
    color: #ffffff !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.vs-contact-submit:hover {
    background: #2A0A52 !important;
    color: #ffffff !important;
}

/* Alerts */
.vs-contact-alert {
    margin: 0 0 18px !important;
}

.vs-contact-alert .alert {
    margin-bottom: 0 !important;
}

/* Sidebar cards */
.vs-contact-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 17px !important;
}

.vs-contact-card-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    margin: 0 0 17px !important;
}

.vs-contact-card-heading h2,
.vs-contact-info-card h2 {
    margin: 0 !important;
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
}

.vs-contact-card-icon {
    color: #0891b2 !important;
    font-size: 18px !important;
}

.vs-contact-info-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
}

.vs-contact-info-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #52627a !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 18px !important;
}

.vs-contact-info-row i {
    width: 14px !important;
    min-width: 14px !important;
    color: #16042C !important;
    font-size: 11px !important;
    text-align: center !important;
}

.vs-contact-next-card h2 {
    margin-bottom: 13px !important;
}

.vs-contact-next-card ol {
    margin: 0 !important;
    padding-left: 20px !important;
    color: #52627a !important;
}

.vs-contact-next-card li {
    margin: 0 0 9px !important;
    padding-left: 2px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 19px !important;
}

.vs-contact-next-card li:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {
    .vs-contact-layout {
        width: calc(100% - 40px) !important;
        grid-template-columns: 1fr !important;
    }

    .vs-contact-sidebar {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 767.98px) {
    .vs-contact-hero {
        padding: 40px 18px 38px !important;
    }

    .vs-contact-hero-title-row {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .vs-contact-hero-title {
        font-size: 30px !important;
    }

    .vs-contact-content {
        padding: 25px 0 32px !important;
    }

    .vs-contact-layout {
        width: calc(100% - 28px) !important;
        grid-template-columns: 1fr !important;
    }

    .vs-contact-form-grid,
    .vs-contact-sidebar {
        grid-template-columns: 1fr !important;
    }

    .vs-contact-form-card,
    .vs-contact-info-card {
        padding: 18px !important;
    }
}

@media (max-width: 480px) {
    .vs-contact-hero-title {
        font-size: 27px !important;
    }

    .vs-contact-hero-subtitle {
        font-size: 13px !important;
    }

    .vs-contact-form-card {
        padding: 16px !important;
    }
}
/* Hide Downloads from left sidebar */
.vs-sidebar-menu-item a[href*="download"],
.vs-sidebar-menu-item[href*="download"],
.sidebar a[href*="download"],
.sidebar li a[href*="download"] {
    display: none !important;
}

/* Hide the sidebar row containing Downloads */
.vs-sidebar-menu-item:has(a[href*="download"]),
.sidebar li:has(a[href*="download"]) {
    display: none !important;
}

/* Hide Downloads from Support dropdown */
.vs-dropdown-item[href*="download"] {
    display: none !important;
}





/* =========================================================
   HIDE DOWNLOADS
   ========================================================= */

.vs-sidebar-menu-item a[href*="download"] {
    display: none !important;
}

.vs-dropdown-item[href*="download"] {
    display: none !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

    #main-body .card-body,
    #main-body .panel-body {
        padding: 17px !important;
    }

}

@media (max-width: 767px) {

    #main-body,
    section#main-body {
        min-height: 450px !important;
    }

    #main-body .card,
    #main-body .panel {
        border-radius: 12px !important;
    }

    #main-body .card-body,
    #main-body .panel-body {
        padding: 15px !important;
    }

    #main-body .table-responsive {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

}

@media (max-width: 480px) {

    #main-body .alert-success {
        font-size: 11px !important;
        padding: 9px 11px !important;
    }

    #main-body .btn {
        font-size: 10px !important;
    }

}