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

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

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

/* Custom CSS for Nexus Theme
 *
 * This file allows you to customize the theme colors and styles for the entire Nexus 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.
 */

: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: #111827;
    --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: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* 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%;
}

/* =========================================================
   JVP Hosting visual alignment for Nexus
   Added by Mateo 2026-06-09
   Goal: bring RackHost/JVP Hosting visual cues into WHMCS
   without changing WHMCS template logic or checkout behavior.
   ========================================================= */

:root {
    --jvp-yellow: #fed327;
    --jvp-gold: #fea611;
    --jvp-charcoal: #222222;
    --jvp-black: #060606;
    --jvp-ink: #111827;
    --jvp-muted: #6b7280;
    --jvp-border: #e4e4e7;
    --jvp-soft: #fbf9fa;

    /* Shift Nexus brand variables toward the JVP Hosting palette. */
    --primary: var(--jvp-charcoal);
    --primary-lifted: #333333;
    --primary-accented: var(--jvp-black);
    --secondary: var(--jvp-gold);
    --secondary-lifted: var(--jvp-yellow);
    --secondary-accented: #d98a00;
    --info: #333333;
    --info-lifted: #222222;
    --info-accented: #111111;
    --warning: var(--jvp-gold);
    --warning-lifted: #e69500;
    --warning-accented: #b87300;
    --border-accented: #444444;
    --bg-muted: #f7f5ef;
    --letter-spacing: 0.01em;
}

html,
body {
    font-family: "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    background: #f7f5ef;
}

body a {
    color: #b87300;
}

body a:hover,
body a:focus {
    color: #8a5a00;
}

/* Header: keep Nexus structure, but give it the JVP dark textured hosting feel. */
header,
.header,
.navbar,
.navbar-main,
.main-navbar,
.primary-navbar,
section#header,
#header {
    background-color: var(--jvp-charcoal) !important;
    background-image: url("../img/jvp/siteHeaderPattern.png") !important;
    color: #ffffff !important;
    border-bottom: 3px solid var(--jvp-yellow) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.navbar a,
.navbar-main a,
.main-navbar a,
.primary-navbar a,
section#header a,
#header a,
.navbar .nav-link,
.navbar-main .nav-link,
.main-navbar .nav-link,
.primary-navbar .nav-link {
    color: #ffffff !important;
}

.navbar a:hover,
.navbar a:focus,
.navbar-main a:hover,
.navbar-main a:focus,
.main-navbar a:hover,
.main-navbar a:focus,
.primary-navbar a:hover,
.primary-navbar a:focus,
section#header a:hover,
#header a:hover,
.navbar .active > a,
.navbar .nav-link.active {
    color: var(--jvp-yellow) !important;
}

.dropdown-menu,
.navbar .dropdown-menu,
.navbar-main .dropdown-menu {
    border-color: #383838;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.dropdown-menu a,
.navbar .dropdown-menu a,
.navbar-main .dropdown-menu a {
    color: #1f2937 !important;
}

.dropdown-menu a:hover,
.navbar .dropdown-menu a:hover,
.navbar-main .dropdown-menu a:hover {
    color: #111111 !important;
    background-color: #fff7cf !important;
}

/* Hero/domain search area: modern Nexus layout with JVP gold call-to-action cues. */
.hero,
.home-hero,
.domain-search,
.domain-search-container,
.domain-search-section,
section.domain-search,
section.home-banner,
.main-content > .container:first-child {
    border-radius: 14px;
}

.domain-search input,
.domain-search-container input,
.domain-search-section input,
input[type="search"],
input[type="text"],
.form-control {
    border-color: #d7d2c3;
}

.domain-search input:focus,
.domain-search-container input:focus,
.domain-search-section input:focus,
.form-control:focus {
    border-color: var(--jvp-gold);
    box-shadow: 0 0 0 0.2rem rgba(254, 211, 39, 0.22);
}

.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
.btn.btn-primary,
.domain-search button,
.domain-search-container button,
.domain-search-section button {
    color: #111111 !important;
    background: linear-gradient(180deg, var(--jvp-yellow) 0%, var(--jvp-gold) 100%) !important;
    border-color: #d98a00 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.18);
    font-weight: 700;
}

.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover,
.btn.btn-primary:hover,
.domain-search button:hover,
.domain-search-container button:hover,
.domain-search-section button:hover {
    color: #000000 !important;
    background: linear-gradient(180deg, #ffe45a 0%, #e69500 100%) !important;
    border-color: #b87300 !important;
}

.btn-outline-primary,
.btn.btn-outline-primary {
    color: #222222 !important;
    border-color: var(--jvp-gold) !important;
}

.btn-outline-primary:hover,
.btn.btn-outline-primary:hover {
    color: #111111 !important;
    background-color: var(--jvp-yellow) !important;
    border-color: var(--jvp-gold) !important;
}

/* Cards and panels: subtle warm background so WHMCS does not feel disconnected from the main site. */
.card,
.panel,
.tile,
.tiles .tile,
.product-group,
.list-group,
.sidebar .panel {
    border-color: #e5dec9 !important;
    box-shadow: 0 8px 22px rgba(17, 24, 39, 0.06);
}

.card-header,
.panel-heading,
.tile .header,
.sidebar .panel-heading {
    border-bottom-color: #e5dec9 !important;
}

/* Section headings and icons pick up the JVP accent without overwhelming the modern template. */
h1,
h2,
h3,
.h1,
.h2,
.h3 {
    letter-spacing: -0.015em;
}

.fa,
.fas,
.far,
.fab,
.icon,
figure {
    color: inherit;
}

/* Footer: align with the WordPress dark footer while keeping WHMCS footer links readable. */
footer,
.footer,
section#footer,
#footer {
    background-color: var(--jvp-charcoal) !important;
    background-image: url("../img/jvp/siteFooterPattern.png") !important;
    color: #d1d5db !important;
    border-top: 3px solid var(--jvp-yellow);
}

footer a,
.footer a,
section#footer a,
#footer a {
    color: var(--jvp-yellow) !important;
}

footer a:hover,
.footer a:hover,
section#footer a:hover,
#footer a:hover {
    color: #ffffff !important;
}

/* Keep content readable against the warmer page background. */
.main-content,
.content-area,
.client-home-panels,
.container-main {
    background-color: transparent;
}

/* Small-screen guardrails: preserve Nexus mobile layout and avoid oversized dark header spacing. */
@media (max-width: 767.98px) {
    header,
    .navbar,
    .navbar-main,
    section#header,
    #header {
        border-bottom-width: 2px !important;
    }

    .btn,
    button,
    input[type="submit"] {
        white-space: normal;
    }
}

/* =========================================================
   JVP Hosting visual alignment refinement
   Added by Mateo 2026-06-09 after live DOM verification.
   Targets actual Nexus header/navbar classes.
   ========================================================= */

#header.header {
    background: #222222 url("../img/jvp/siteHeaderPattern.png") left top repeat !important;
    border-bottom: 3px solid #fed327 !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20);
}

#header.header .navbar,
#header.header .navbar-light,
#header.header .main-navbar-wrapper {
    background: transparent !important;
}

#header.header .navbar-light .navbar-nav .nav-link,
#header.header .navbar-light .navbar-nav .nav-link:visited,
#header.header .navbar a,
#header.header .main-navbar-wrapper a,
#header.header .cart-btn,
#header.header .btn.nav-link {
    color: #ffffff !important;
}

#header.header .navbar-light .navbar-nav .nav-link:hover,
#header.header .navbar-light .navbar-nav .nav-link:focus,
#header.header .navbar a:hover,
#header.header .main-navbar-wrapper a:hover,
#header.header .cart-btn:hover,
#header.header .btn.nav-link:hover {
    color: #fed327 !important;
}

#header.header .form-control,
#header.header input[type="search"],
#header.header input[type="text"] {
    background-color: #ffffff !important;
    border-color: #444444 !important;
    color: #111827 !important;
}

#header.header .btn-default,
#header.header .cart-btn {
    border-color: #444444 !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
}

#header.header .badge,
#header.header .badge-pill {
    background-color: #fed327 !important;
    color: #111111 !important;
}

#btnDomainSearch,
#btnDomainSearch2,
.btn-primary,
.btn.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    color: #111111 !important;
    background: linear-gradient(180deg, #fed327 0%, #fea611 100%) !important;
    border-color: #d98a00 !important;
}

#btnTransfer,
#btnTransfer2,
.btn-success,
.btn.btn-success,
button.btn-success {
    color: #111111 !important;
    background: linear-gradient(180deg, #ffe45a 0%, #fed327 100%) !important;
    border-color: #d98a00 !important;
}

#btnDomainSearch:hover,
#btnDomainSearch2:hover,
#btnTransfer:hover,
#btnTransfer2:hover,
.btn-primary:hover,
.btn-success:hover {
    color: #000000 !important;
    background: linear-gradient(180deg, #fff085 0%, #fea611 100%) !important;
    border-color: #b87300 !important;
}

.master-breadcrumb {
    background-color: #f1ead7 !important;
    border-bottom: 1px solid #e5dec9;
}

#main-body {
    background-color: #f7f5ef;
}

#footer.footer {
    background: #222222 url("../img/jvp/siteFooterPattern.png") left top repeat !important;
    border-top: 3px solid #fed327 !important;
}

/* =========================================================
   JVP Hosting visual alignment refinement v2
   Added by Mateo 2026-06-09 from Jose screenshot feedback.
   Removes heavy full-width yellow bars and uses subtler RackHost cues.
   ========================================================= */

/* Header should feel like the WordPress/RackHost hero: dark, textured, subtle separators. */
#header.header {
    background: #1f1f1f url("../img/jvp/siteHeaderPattern.png") left top repeat !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22) !important;
}

#header.header .navbar,
#header.header .navbar-light,
#header.header .main-navbar-wrapper {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#header.header .main-navbar-wrapper {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#header.header .navbar-light .navbar-nav .nav-link,
#header.header .navbar-light .navbar-nav .nav-link:visited,
#header.header .navbar a,
#header.header .main-navbar-wrapper a,
#header.header .cart-btn,
#header.header .btn.nav-link {
    color: #f8f8f8 !important;
    font-weight: 700;
    text-transform: none;
}

#header.header .navbar-light .navbar-nav .nav-link:hover,
#header.header .navbar-light .navbar-nav .nav-link:focus,
#header.header .navbar a:hover,
#header.header .main-navbar-wrapper a:hover,
#header.header .cart-btn:hover,
#header.header .btn.nav-link:hover {
    color: #fed327 !important;
}

#header.header .form-control,
#header.header input[type="search"],
#header.header input[type="text"] {
    background-color: #ffffff !important;
    border-color: rgba(255,255,255,0.28) !important;
    color: #111827 !important;
}

#header.header .btn-default,
#header.header .cart-btn {
    border-color: rgba(255,255,255,0.18) !important;
    background-color: rgba(255,255,255,0.06) !important;
}

#header.header .badge,
#header.header .badge-pill {
    background-color: #fed327 !important;
    color: #111111 !important;
}

/* Breadcrumb should not look like a yellow banner. Keep it quiet and modern. */
.master-breadcrumb {
    background: #f5f5f5 !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: none !important;
}

.master-breadcrumb .breadcrumb,
.master-breadcrumb .container,
.master-breadcrumb li,
.master-breadcrumb a {
    background: transparent !important;
}

/* Remove any remaining full-width yellow stripe treatment from wrappers. */
#header.header,
#header.header .navbar,
#header.header .navbar-light,
#header.header .main-navbar-wrapper,
.master-breadcrumb,
#footer.footer,
footer,
.footer,
section#footer,
#footer {
    border-color: rgba(255, 255, 255, 0.10) !important;
}

/* Keep the yellow where it belongs: calls to action and small brand accents. */
#btnDomainSearch,
#btnDomainSearch2,
.btn-primary,
.btn.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    color: #111111 !important;
    background: linear-gradient(180deg, #fed327 0%, #fea611 100%) !important;
    border-color: #d98a00 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 2px 0 rgba(0,0,0,0.16) !important;
}

#btnTransfer,
#btnTransfer2,
.btn-success,
.btn.btn-success,
button.btn-success {
    color: #111111 !important;
    background: linear-gradient(180deg, #fff085 0%, #fed327 100%) !important;
    border-color: #d98a00 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 2px 0 rgba(0,0,0,0.16) !important;
}

.btn-outline-primary,
.btn.btn-outline-primary {
    color: #222222 !important;
    background: #ffffff !important;
    border-color: #d9a900 !important;
}

.btn-outline-primary:hover,
.btn.btn-outline-primary:hover {
    color: #111111 !important;
    background: #fff7cf !important;
    border-color: #fea611 !important;
}

/* Footer should be dark, but without a loud yellow top stripe. */
#footer.footer,
footer,
.footer,
section#footer,
#footer {
    background: #222222 url("../img/jvp/siteFooterPattern.png") left top repeat !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
}

#footer.footer a,
footer a,
.footer a,
section#footer a,
#footer a {
    color: #fed327 !important;
}

/* Let the content area breathe like Nexus, not the old theme. */
#main-body {
    background-color: #f7f7f7 !important;
}

/* =========================================================
   JVP invoice web view polish
   Added by Mateo 2026-06-09.
   CSS-only styling for active Nexus invoice pages.
   ========================================================= */

.invoice-container {
    background: #ffffff;
    border: 1px solid #e5dec9;
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(17, 24, 39, 0.08);
    padding: 28px;
}

.invoice-container .invoice-header {
    border-bottom: 1px solid #e5dec9;
    margin-bottom: 24px;
    padding-bottom: 18px;
}

.invoice-container .invoice-status span,
.invoice-container .status {
    border-radius: 999px;
    display: inline-block;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 8px 16px;
    text-transform: uppercase;
}

.invoice-container .invoice-status .paid,
.invoice-container .status-paid {
    background: #222222 !important;
    border: 1px solid #fed327 !important;
    color: #fed327 !important;
}

.invoice-container .invoice-status .unpaid,
.invoice-container .status-unpaid,
.invoice-container .invoice-status .collections {
    background: #fff7cf !important;
    border: 1px solid #fea611 !important;
    color: #5f3b00 !important;
}

.invoice-container .invoice-status .cancelled,
.invoice-container .invoice-status .refunded,
.invoice-container .invoice-status .draft {
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
}

.invoice-container .card {
    border-color: #e5dec9 !important;
}

.invoice-container .card-header,
.invoice-container .card-title,
.invoice-container .card-subtitle {
    color: #222222;
}

.invoice-container table.table thead,
.invoice-container table.table tr:first-child td {
    background: #222222;
    color: #ffffff;
}

.invoice-container table.table .total-row {
    background: #f7f5ef;
}

.invoice-container .btn-default,
.invoice-container .btn.btn-default {
    border-color: #d7d2c3;
}

@media print {
    #header,
    #footer,
    .master-breadcrumb,
    .d-print-none {
        display: none !important;
    }
    .invoice-container {
        border: 0;
        box-shadow: none;
        padding: 0;
    }
}

/* =========================================================
   JVP invoice light refinement
   Added by Mateo 2026-06-09 from Jose screenshot feedback.
   Removes heavy dark invoice blocks; keeps clean modern Nexus invoice.
   ========================================================= */

.invoice-container {
    background: #ffffff !important;
    border: 1px solid #e1d8bd !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 26px rgba(17, 24, 39, 0.07) !important;
    color: #222222 !important;
}

.invoice-container .invoice-header {
    border-bottom: 1px solid #e8e0c8 !important;
}

.invoice-container h1,
.invoice-container h2,
.invoice-container h3,
.invoice-container .card-title,
.invoice-container .card-subtitle {
    color: #232323 !important;
}

/* Softer status badge. Keep it visible, but not a heavy black block. */
.invoice-container .invoice-status span,
.invoice-container .status {
    background: #fff8d6 !important;
    border: 1px solid #e0ae10 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #2b2b2b !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    padding: 8px 18px !important;
    text-transform: uppercase !important;
}

.invoice-container .invoice-status .paid,
.invoice-container .status-paid {
    background: #fff8d6 !important;
    border-color: #e0ae10 !important;
    color: #2b2b2b !important;
}

.invoice-container .invoice-status .unpaid,
.invoice-container .status-unpaid,
.invoice-container .invoice-status .collections {
    background: #fff1e0 !important;
    border-color: #fea611 !important;
    color: #5f3b00 !important;
}

.invoice-container .invoice-status .cancelled,
.invoice-container .invoice-status .refunded,
.invoice-container .invoice-status .draft {
    background: #f3f4f6 !important;
    border-color: #d1d5db !important;
    color: #374151 !important;
}

.invoice-container .card,
.invoice-container .panel,
.invoice-container .table-responsive,
.invoice-container .transactions-container {
    background: #ffffff !important;
    border-color: #e5dec9 !important;
}

/* Remove the black invoice item/ledger bars. */
.invoice-container table.table,
.invoice-container table.table-sm {
    background: #ffffff !important;
    border-color: #e5dec9 !important;
    color: #222222 !important;
}

.invoice-container table.table thead,
.invoice-container table.table thead tr,
.invoice-container table.table thead th,
.invoice-container table.table tr:first-child,
.invoice-container table.table tr:first-child td,
.invoice-container table.table-sm tr:first-child,
.invoice-container table.table-sm tr:first-child td {
    background: #f7f5ef !important;
    border-color: #e5dec9 !important;
    color: #222222 !important;
}

.invoice-container table.table th,
.invoice-container table.table td,
.invoice-container table.table-sm th,
.invoice-container table.table-sm td {
    border-color: #e5dec9 !important;
}

.invoice-container table.table tbody tr,
.invoice-container table.table-sm tbody tr,
.invoice-container table.table tr {
    background: #ffffff !important;
    color: #222222 !important;
}

.invoice-container table.table tbody tr:nth-child(even),
.invoice-container table.table-sm tbody tr:nth-child(even) {
    background: #fbfaf6 !important;
}

.invoice-container table.table .total-row,
.invoice-container table.table-sm .total-row,
.invoice-container tr.total-row,
.invoice-container td.total-row {
    background: #f7f5ef !important;
    color: #222222 !important;
}

/* Ledger/transaction headers should be quiet and consistent, not teal or black. */
.invoice-container .transactions-container .card-header,
.invoice-container .transactions-container table tr:first-child,
.invoice-container .transactions-container table tr:first-child td {
    background: #f7f5ef !important;
    color: #222222 !important;
}

.invoice-container .btn-default,
.invoice-container .btn.btn-default {
    background: #ffffff !important;
    border-color: #d7d2c3 !important;
    color: #2b2b2b !important;
}

.invoice-container .btn-default:hover,
.invoice-container .btn.btn-default:hover {
    background: #fff8d6 !important;
    border-color: #e0ae10 !important;
}

@media print {
    .invoice-container table.table thead,
    .invoice-container table.table tr:first-child td,
    .invoice-container table.table-sm tr:first-child td,
    .invoice-container .total-row {
        background: #f7f7f7 !important;
        color: #000000 !important;
    }
}

/* =========================================================
   JVP invoice screen/print/PDF alignment
   Added by Mateo 2026-06-09 after Jose confirmed print/PDF look good
   but the regular client invoice screen still showed the old web design.
   ========================================================= */

.invoice-container .jvp-legacy-web-invoice,
.invoice-container .jvp-legacy-invoice-actions {
    display: none !important;
}

.invoice-container {
    overflow: hidden !important;
    padding: 0 !important;
}

.jvp-branded-invoice-sheet,
.jvp-print-invoice-sheet {
    background: #ffffff !important;
    box-sizing: border-box !important;
    color: #222222 !important;
    display: block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    min-height: 720px !important;
    overflow: hidden !important;
    padding: 112px 34px 30px 34px !important;
    position: relative !important;
    width: 100% !important;
}

.jvp-branded-invoice-sheet::before,
.jvp-print-invoice-sheet::before {
    background: #222222 !important;
    border-bottom: 4px solid #fed327 !important;
    content: "" !important;
    display: block !important;
    height: 72px !important;
    left: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 1 !important;
}

.jvp-print-ribbon {
    background: #222222 !important;
    border-bottom: 3px solid #fed327 !important;
    border-top: 3px solid #fed327 !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    display: block !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    padding: 12px 0 !important;
    position: absolute !important;
    right: -58px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    top: 10px !important;
    transform: rotate(40deg) !important;
    transform-origin: center center !important;
    width: 240px !important;
    z-index: 3 !important;
}

.jvp-print-header {
    align-items: flex-start !important;
    display: flex !important;
    justify-content: space-between !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

.jvp-print-logo {
    text-align: left !important;
    width: 45% !important;
}

.jvp-print-logo img {
    display: block !important;
    height: auto !important;
    max-height: 82px !important;
    max-width: 340px !important;
    object-fit: contain !important;
}

.jvp-print-company-name {
    color: #222222 !important;
    font-size: 26px !important;
    font-weight: 800 !important;
}

.jvp-print-payto {
    color: #111111 !important;
    font-size: 15px !important;
    line-height: 1.28 !important;
    margin-top: 18px !important;
    text-align: right !important;
    width: 45% !important;
}

.jvp-print-payto strong {
    display: block !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    margin-bottom: 4px !important;
}

.jvp-print-payto address,
.jvp-print-invoiced-to address {
    color: #222222 !important;
    font-style: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jvp-print-title {
    background: #fff7cf !important;
    border: 3px solid #e0ae10 !important;
    box-sizing: border-box !important;
    color: #222222 !important;
    display: block !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 8px 10px 7px 10px !important;
    width: 100% !important;
}

.jvp-print-dates {
    background: #f3f3f3 !important;
    color: #222222 !important;
    display: block !important;
    font-size: 15px !important;
    margin: 0 0 34px 0 !important;
    padding: 8px 10px 10px 10px !important;
    width: 100% !important;
}

.jvp-print-dates div + div {
    margin-top: 5px !important;
}

.jvp-print-invoiced-to {
    color: #222222 !important;
    font-size: 15px !important;
    margin: 0 0 34px 5px !important;
    max-width: 45% !important;
}

.jvp-print-invoiced-to strong,
.jvp-print-section-title {
    color: #222222 !important;
    display: block !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    margin: 0 0 5px 0 !important;
}

.jvp-print-section-title {
    font-size: 21px !important;
    margin: 38px 0 18px 5px !important;
}

.jvp-print-table {
    border-collapse: collapse !important;
    color: #222222 !important;
    font-size: 15px !important;
    margin: 0 0 18px 0 !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.jvp-print-table th,
.jvp-print-table td {
    border: 1px solid #e2dac3 !important;
    color: #222222 !important;
    padding: 10px 9px !important;
    vertical-align: top !important;
}

.jvp-print-table th {
    background: #f4f1e8 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.jvp-print-table td:first-child {
    text-align: left !important;
}

.jvp-print-items th:last-child,
.jvp-print-items td:last-child {
    text-align: center !important;
    width: 22% !important;
}

.jvp-print-transactions th,
.jvp-print-transactions td {
    text-align: center !important;
}

.jvp-print-total-row td {
    background: #f7f5ef !important;
    font-weight: 800 !important;
}

.jvp-print-total-row td:first-child {
    text-align: right !important;
}

.jvp-print-tax-note {
    color: #555555 !important;
    font-size: 13px !important;
    margin: -8px 0 18px 0 !important;
}

.jvp-screen-payment-actions,
.jvp-screen-invoice-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-end !important;
    margin-top: 18px !important;
}

.jvp-screen-payment-actions {
    background: #fffaf0 !important;
    border: 1px solid #e0ae10 !important;
    border-radius: 8px !important;
    justify-content: space-between !important;
    padding: 12px !important;
}

.jvp-screen-payment-due {
    color: #222222 !important;
    font-weight: 700 !important;
}

.jvp-screen-action-btn {
    background: #ffffff !important;
    border: 1px solid #d7d2c3 !important;
    border-radius: 6px !important;
    color: #222222 !important;
    display: inline-block !important;
    font-weight: 700 !important;
    padding: 8px 12px !important;
    text-decoration: none !important;
}

.jvp-screen-action-btn:hover {
    background: #fff8d6 !important;
    border-color: #e0ae10 !important;
    color: #222222 !important;
    text-decoration: none !important;
}

.jvp-branded-invoice-sheet a,
.jvp-branded-invoice-sheet a:visited,
.jvp-print-invoice-sheet a,
.jvp-print-invoice-sheet a:visited {
    color: #222222 !important;
}

@page {
    size: letter;
    margin: 0.28in;
}

@media print {
    html,
    body {
        background: #ffffff !important;
        color: #222222 !important;
        height: auto !important;
        margin: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        width: auto !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body * {
        visibility: hidden !important;
    }

    .invoice-container,
    .invoice-container *,
    .jvp-print-invoice-sheet,
    .jvp-print-invoice-sheet * {
        visibility: visible !important;
    }

    #header,
    #footer,
    .header,
    .footer,
    .navbar,
    .main-navbar-wrapper,
    .master-breadcrumb,
    .breadcrumb,
    .sidebar,
    .d-print-none,
    .btn,
    button,
    [role="button"],
    .modal,
    .modal-backdrop,
    .invoice-container > :not(.jvp-print-invoice-sheet):not(.jvp-branded-invoice-sheet) {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        visibility: hidden !important;
    }

    .container,
    .container-fluid,
    .main-content,
    .content-area,
    .primary-content,
    .client-home-panels,
    .row,
    .col,
    [class*="col-"] {
        display: block !important;
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .invoice-container {
        background: #ffffff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #222222 !important;
        display: block !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 10pt !important;
        left: 0 !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
    }

    .jvp-branded-invoice-sheet,
    .jvp-print-invoice-sheet {
        font-size: 10pt !important;
        line-height: 1.32 !important;
        margin: 0 !important;
        min-height: 9.9in !important;
        padding: 84pt 26pt 24pt 26pt !important;
        width: 100% !important;
    }

    .jvp-branded-invoice-sheet::before,
    .jvp-print-invoice-sheet::before {
        border-bottom-width: 3pt !important;
        height: 54pt !important;
    }

    .jvp-print-ribbon {
        border-bottom-width: 2pt !important;
        border-top-width: 2pt !important;
        font-size: 24pt !important;
        padding: 9pt 0 !important;
        right: -43pt !important;
        top: 7pt !important;
        width: 180pt !important;
    }

    .jvp-print-header {
        margin-bottom: 22pt !important;
    }

    .jvp-print-logo img {
        max-height: 0.62in !important;
        max-width: 2.55in !important;
    }

    .jvp-print-payto {
        font-size: 10.5pt !important;
        line-height: 1.22 !important;
        margin-top: 12pt !important;
    }

    .jvp-print-payto strong {
        font-size: 15pt !important;
        margin-bottom: 2pt !important;
    }

    .jvp-print-title {
        border-width: 2pt !important;
        font-size: 16pt !important;
        padding: 5pt 5pt 4pt 5pt !important;
    }

    .jvp-print-dates {
        font-size: 10.5pt !important;
        margin-bottom: 30pt !important;
        padding: 5pt 5pt 7pt 5pt !important;
    }

    .jvp-print-invoiced-to {
        font-size: 10pt !important;
        margin: 0 0 30pt 4pt !important;
        max-width: 42% !important;
    }

    .jvp-print-invoiced-to strong,
    .jvp-print-section-title {
        font-size: 12pt !important;
        margin-bottom: 3pt !important;
    }

    .jvp-print-section-title {
        font-size: 14pt !important;
        margin: 34pt 0 16pt 4pt !important;
    }

    .jvp-print-table {
        font-size: 10pt !important;
        margin-bottom: 16pt !important;
        page-break-inside: avoid !important;
    }

    .jvp-print-table th,
    .jvp-print-table td {
        border-width: 1pt !important;
        padding: 7pt 6pt !important;
    }

    .jvp-print-tax-note {
        font-size: 8.5pt !important;
        margin: -8pt 0 16pt 0 !important;
    }

    .jvp-screen-payment-actions,
    .jvp-screen-invoice-actions {
        display: none !important;
        visibility: hidden !important;
    }
}

