@charset "UTF-8";
/* Volyte look for WHMCS (child theme of Twenty-One).
   Matches volyte.com: Inter, navy + orange, rounded cards. Loaded after the Twenty-One and Standard Cart CSS. */

:root { --vt-orange:#f1722f; --vt-orange-dark:#d95d1c; --vt-orange-soft:#fff7f2; --vt-navy:#0f172a; --vt-slate:#475569; --vt-muted:#64748b; --vt-line:#e2e8f0; --vt-bg:#f8fafc; }

/* ===== Base ===== */
body.vt-body, .vt-body { font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; color:var(--vt-navy); }
.vt-body.primary-bg-color { background:var(--vt-bg); }
.vt-body a { color:var(--vt-orange-dark); }
.vt-body a:hover { color:var(--vt-orange); }
.vt-body h1, .vt-body h2, .vt-body h3, .vt-body h4, .vt-body h5 { font-family:inherit; color:var(--vt-navy); letter-spacing:-.01em; }
.vt-body section#main-body { padding:32px 0 64px; }
.vt-body .text-muted { color:var(--vt-muted) !important; }

/* ===== Header (same design as the website) ===== */
.vh { position:sticky; top:0; z-index:1030; background:#fff; border-bottom:1px solid #f1f5f9; box-shadow:0 1px 2px rgba(15,23,42,.05); }
.vh-bar { background:#fff; }
/* header + footer width: same steps as the website's Tailwind .container (640/768/1024/1280/1536) */
.vh-in, .vf-in { width:100%; margin-left:auto; margin-right:auto; }
@media (min-width:640px)  { .vh-in, .vf-in { max-width:640px; } }
@media (min-width:768px)  { .vh-in, .vf-in { max-width:768px; } }
@media (min-width:1024px) { .vh-in, .vf-in { max-width:1024px; } }
@media (min-width:1280px) { .vh-in, .vf-in { max-width:1280px; } }
@media (min-width:1536px) { .vh-in, .vf-in { max-width:1536px; } }
.vh-in { margin:0 auto; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.vh-logo { display:block; flex-shrink:0; }
.vh-logo img { height:64px; width:auto; display:block; }
.vh-nav { display:flex; align-items:center; gap:30px; }
.vh-dd { position:relative; }
.vh-link { position:relative; display:flex; align-items:center; gap:4px; padding:0 0 4px; background:none; border:0; outline:none; cursor:pointer; color:#4b5563 !important; font:500 16px/1.5 'Inter',sans-serif; white-space:nowrap; text-decoration:none !important; }
.vh-link::after { content:''; position:absolute; left:0; bottom:0; height:2px; width:100%; background:var(--vt-orange); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.vh-link:hover { color:var(--vt-orange) !important; }
.vh-link:hover::after { transform:scaleX(1); }
.vh-link:focus { outline:none; }
.vh-cart { position:relative; display:inline-flex; align-items:center; color:#4b5563 !important; padding:4px; }
.vh-cart:hover { color:var(--vt-orange) !important; }
.vh-cart-count { position:absolute; top:-6px; right:-8px; min-width:19px; height:19px; padding:0 5px; border-radius:999px; background:var(--vt-orange); color:#fff; font-size:11px; font-weight:700; line-height:19px; text-align:center; }
.vh .nav-cta { display:inline-flex; align-items:center; gap:8px; padding:10px 22px; border:0; border-radius:14px; background:linear-gradient(135deg,#f1722f,#d9601f); color:#fff !important; font:700 14.5px/1.4 'Inter',sans-serif; box-shadow:0 4px 12px rgba(241,114,47,.25); transition:transform .2s, box-shadow .2s; text-decoration:none !important; white-space:nowrap; cursor:pointer; }
.vh .nav-cta:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(241,114,47,.4); }
.vh-mob { display:none; align-items:center; gap:18px; }
.vh-burger { background:none; border:0; padding:0; color:#4b5563; cursor:pointer; }
.vh-burger:hover { color:var(--vt-orange); }
@media (max-width:1439.98px) { .vh-nav { gap:22px; } }   /* logged-in menu (cart + My Account) is wider */
@media (max-width:1279.98px) { .vh-nav { display:none; } .vh-mob { display:flex; } }

/* Logged-in strip (notifications + credit) */
.vt-body .vh .topbar { background:var(--vt-navy) !important; padding:4px 0; }
.vh .topbar .btn { color:#cbd5e1; font-size:13px; padding:4px 0; }
.vh .topbar .btn:hover { color:#fff; }
.vh-topbar-right { display:flex; align-items:center; gap:16px; font-size:13px; }
.vh-topbar-credit { color:#cbd5e1; }
.vh-topbar-link { color:#fdba74 !important; }

/* Dropdown panels */
.cd-panel.hidden { display:none !important; }
.cd-panel { position:absolute; left:0; top:100%; margin-top:10px; width:280px; background:#fff; border:1px solid #f3f4f6; border-radius:16px; padding:16px; overflow:hidden; box-shadow:0 20px 40px rgba(0,0,0,.08); z-index:1040; animation:cdDropIn .22s ease-out both; }
.cd-panel-right { left:auto; right:0; width:230px; padding:10px; }
@keyframes cdDropIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.cd-panel-glow { position:absolute; top:-100px; right:-80px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(241,114,47,.1) 0%,rgba(241,114,47,0) 70%); pointer-events:none; }
.cd-item { position:relative; display:flex; align-items:center; gap:12px; padding:14px; background:#fff; border:1px solid #f3f4f6; border-radius:12px; margin-bottom:10px; text-decoration:none !important; color:inherit !important; transition:border-color .15s, background .15s; }
.cd-item:last-child { margin-bottom:0; }
.cd-item:hover { border-color:var(--vt-orange); background:#fff8f5; }
.cd-icon { width:38px; height:38px; border-radius:10px; background:rgba(241,114,47,.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cd-item-title { display:block; font-size:14.5px; font-weight:600; color:#1f2937; }
.cd-item-desc { display:block; font-size:12px; color:#6b7280; margin-top:2px; }
.cd-mini { display:block; padding:9px 12px; border-radius:10px; color:#1f2937 !important; font-size:14px; font-weight:500; text-decoration:none !important; }
.cd-mini:hover { background:#fff8f5; color:var(--vt-orange-dark) !important; }
.cd-mini-out { margin-top:6px; border-top:1px solid #f1f5f9; border-radius:0 0 10px 10px; color:#dc2626 !important; }

/* Mobile menu */
.cd-mobile-overlay.hidden { display:none !important; }
.cd-mobile-overlay { position:fixed; inset:0; z-index:2147483647; background:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch; font-family:'Inter',sans-serif; }
.cd-mobile-glow-1 { position:fixed; top:-120px; right:-100px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(241,114,47,.12) 0%,rgba(241,114,47,0) 70%); pointer-events:none; }
.cd-mobile-glow-2 { position:fixed; bottom:-140px; left:-110px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(241,114,47,.08) 0%,rgba(241,114,47,0) 70%); pointer-events:none; }
.cd-mobile-view.hidden { display:none !important; }
.cd-mobile-view { position:relative; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; padding-bottom:calc(24px + env(safe-area-inset-bottom)); animation:cdFadeIn .25s ease-out both; }
@keyframes cdFadeIn { from { opacity:0; } to { opacity:1; } }
.cd-mobile-topbar { display:flex; align-items:center; justify-content:space-between; padding:20px 20px 0; }
.cd-mobile-logo { display:flex; align-items:center; }
.cd-close-btn, .cd-back-btn { width:44px; height:44px; border-radius:12px; background:#f3f4f6; border:1px solid #e5e7eb; display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; outline:none; }
.cd-mobile-label { padding:28px 20px 0; color:#6b7280; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.cd-tile-grid { padding:12px 20px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cd-tile { display:block; text-align:left; padding:18px 16px; background:#fff; border:1px solid #e5e7eb; border-radius:16px; box-shadow:0 2px 8px rgba(0,0,0,.02); cursor:pointer; text-decoration:none !important; color:inherit !important; outline:none; font-family:inherit; animation:cdRiseIn .4s ease-out both; }
.cd-tile-grid .cd-tile:nth-child(2) { animation-delay:.06s; } .cd-tile-grid .cd-tile:nth-child(3) { animation-delay:.12s; } .cd-tile-grid .cd-tile:nth-child(4) { animation-delay:.18s; }
@keyframes cdRiseIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.cd-tile:active { border-color:var(--vt-orange); background:#fff8f5; }
.cd-tile-icon { width:40px; height:40px; border-radius:10px; background:rgba(241,114,47,.1); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.cd-tile-title { display:block; color:#1f2937; font-size:15px; font-weight:600; }
.cd-tile-sub { display:block; color:#6b7280; font-size:12px; margin-top:3px; }
.cd-secondary-row { padding:22px 20px 0; display:flex; align-items:center; gap:22px; }
.cd-sec-link { color:#4b5563 !important; font-size:14px; font-weight:500; background:none; border:0; padding:0; cursor:pointer; text-decoration:none !important; font-family:inherit; }
.cd-spacer { flex-grow:1; min-height:24px; }
.cd-account-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 20px 14px; }
.cd-account-links a { padding:12px; border:1px solid #e5e7eb; border-radius:12px; text-align:center; color:#1f2937 !important; font-size:14px; font-weight:600; text-decoration:none !important; }
.cd-login-btn { margin:0 20px; padding:16px; border-radius:14px; background:linear-gradient(135deg,#f1722f,#d9601f); display:flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 8px 24px rgba(241,114,47,.28); text-decoration:none !important; color:#fff !important; }
.cd-login-btn span { color:#fff; font-size:15px; font-weight:700; }
.cd-subview-title { padding:4px 20px 0; color:#1f2937; font-size:24px; font-weight:700; letter-spacing:-.02em; }
.cd-card-list { padding:20px 20px 0; display:flex; flex-direction:column; gap:12px; }
.cd-card { display:flex; align-items:center; gap:16px; padding:18px; background:#fff; border:1px solid #e5e7eb; border-radius:16px; text-decoration:none !important; color:inherit !important; }
.cd-card:active { border-color:var(--vt-orange); background:#fff8f5; }
.cd-card-text { display:flex; flex-direction:column; }
.cd-card-title { color:#1f2937; font-size:16px; font-weight:600; }
.cd-card-desc { color:#6b7280; font-size:13px; margin-top:3px; }
.cd-animate-out-left, .cd-animate-out-right { position:absolute !important; top:0; left:0; width:100%; }
.cd-animate-in-right { animation:cdSlideInRight .25s forwards cubic-bezier(.2,.8,.2,1); }
.cd-animate-out-left { animation:cdSlideOutLeft .25s forwards cubic-bezier(.2,.8,.2,1); }
.cd-animate-in-left { animation:cdSlideInLeft .25s forwards cubic-bezier(.2,.8,.2,1); }
.cd-animate-out-right { animation:cdSlideOutRight .25s forwards cubic-bezier(.2,.8,.2,1); }
@keyframes cdSlideInRight { 0% { transform:translateX(40%); opacity:0; } 100% { transform:translateX(0); opacity:1; } }
@keyframes cdSlideOutLeft { 0% { transform:translateX(0); opacity:1; } 100% { transform:translateX(-40%); opacity:0; pointer-events:none; } }
@keyframes cdSlideInLeft { 0% { transform:translateX(-40%); opacity:0; } 100% { transform:translateX(0); opacity:1; } }
@keyframes cdSlideOutRight { 0% { transform:translateX(0); opacity:1; } 100% { transform:translateX(40%); opacity:0; pointer-events:none; } }

/* ===== Breadcrumb ===== */
.vt-body .master-breadcrumb { background:#fff; border-bottom:1px solid var(--vt-line); }
.vt-body .master-breadcrumb .breadcrumb { background:none; padding:10px 0; font-size:13px; }
.vt-body .master-breadcrumb .breadcrumb-item, .vt-body .master-breadcrumb .breadcrumb-item a { color:var(--vt-muted); }
.vt-body .master-breadcrumb .breadcrumb-item.active { color:var(--vt-navy); font-weight:600; }

/* ===== Buttons, forms, cards (all WHMCS pages) ===== */
.vt-body .btn { border-radius:10px; font-weight:600; transition:background .15s, border-color .15s, box-shadow .15s, transform .15s; }
.vt-body .btn-primary, .vt-body .btn-success, .vt-body .btn-checkout { background:var(--vt-orange) !important; border-color:var(--vt-orange) !important; color:#fff !important; }
.vt-body .btn-primary:hover, .vt-body .btn-success:hover, .vt-body .btn-checkout:hover { background:var(--vt-orange-dark) !important; border-color:var(--vt-orange-dark) !important; box-shadow:0 8px 20px -8px rgba(241,114,47,.6); }
.vt-body .btn-primary:focus, .vt-body .btn-success:focus { box-shadow:0 0 0 3px rgba(241,114,47,.3) !important; }
.vt-body .btn-default, .vt-body .btn-secondary, .vt-body .btn-light { background:#fff !important; border:1px solid var(--vt-line) !important; color:var(--vt-navy) !important; }
.vt-body .btn-default:hover, .vt-body .btn-secondary:hover, .vt-body .btn-light:hover { border-color:var(--vt-orange) !important; color:var(--vt-orange-dark) !important; }
.vt-body .btn-info { background:var(--vt-navy); border-color:var(--vt-navy); color:#fff; }
.vt-body .btn-info:hover { background:#1e293b; border-color:#1e293b; }
.vt-body .btn-link { color:var(--vt-orange-dark); }

.vt-body .form-control, .vt-body .custom-select { border:1px solid var(--vt-line); border-radius:10px; color:var(--vt-navy); min-height:44px; box-shadow:none; }
.vt-body textarea.form-control { min-height:110px; }
.vt-body .form-control:focus, .vt-body .custom-select:focus { border-color:var(--vt-orange) !important; box-shadow:0 0 0 3px rgba(241,114,47,.15) !important; outline:none; }
.vt-body .form-control::placeholder { color:#94a3b8; }
.vt-body label { color:var(--vt-slate); }

.vt-body .card { border:1px solid var(--vt-line); border-radius:16px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.vt-body .card-header { background:#fff; border-bottom:1px solid var(--vt-line); border-radius:16px 16px 0 0 !important; }
.vt-body .card-header .card-title, .vt-body .card-header h3 { font-weight:700; color:var(--vt-navy); }
.vt-body .list-group-item { border-color:#f1f5f9; color:var(--vt-slate); }
.vt-body .list-group-item-action:hover { background:var(--vt-orange-soft); color:var(--vt-orange-dark); }
.vt-body .list-group-item.active { background:var(--vt-orange-soft) !important; border-color:#f1f5f9 !important; color:var(--vt-orange-dark) !important; font-weight:600; box-shadow:inset 3px 0 0 var(--vt-orange); }
.vt-body .alert { border-radius:12px; }
.vt-body .alert-warning { background:#fffbeb; border-color:#fde68a; color:#92400e; }
.vt-body .alert-success { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.vt-body .alert-info { background:#eff6ff; border-color:#bfdbfe; color:#1e40af; }
.vt-body .nav-tabs .nav-link { color:var(--vt-slate); border-radius:10px 10px 0 0; }
.vt-body .nav-tabs .nav-link.active { color:var(--vt-navy); font-weight:600; }
.vt-body .modal-content { border:0; border-radius:16px; }

/* Blue radio/checkbox sprites (iCheck) → Volyte orange */
.vt-body .iradio_square-blue, .vt-body .icheckbox_square-blue { filter:hue-rotate(178deg) saturate(1.6) brightness(1.08); }

/* ===== Shopping cart (Standard Cart order form) ===== */
.vt-body #order-standard_cart { font-family:inherit; }
.vt-body #order-standard_cart .header-lined h1, .vt-body #order-standard_cart h1 { font-size:34px; font-weight:800; letter-spacing:-.025em; color:var(--vt-navy); margin:0 0 6px; }
.vt-body #order-standard_cart .header-lined p { color:var(--vt-muted); font-size:15px; }
.vt-body #order-standard_cart label { color:var(--vt-slate); font-weight:500; }

/* category sidebar */
.vt-body #order-standard_cart .cart-sidebar .card, .vt-body .sidebar .card { overflow:hidden; }
.vt-body #order-standard_cart .cart-sidebar .card-header, .vt-body .sidebar .card-header { padding:14px 18px; }
.vt-body #order-standard_cart .cart-sidebar h3, .vt-body .sidebar .card-title { font-size:15px; font-weight:700; color:var(--vt-navy); }
.vt-body #order-standard_cart .cart-sidebar .card-header i, .vt-body .sidebar .card-header i { color:var(--vt-orange); }
.vt-body #order-standard_cart .cart-sidebar .list-group-item { padding:10px 18px; font-size:14px; }

/* section titles with a line ("Personal Information", "Configurable Options") */
.vt-body #order-standard_cart .sub-heading, .vt-body #order-standard_cart .sub-heading-borderless { border-top-color:var(--vt-line); margin-top:34px; }
.vt-body #order-standard_cart .sub-heading span, .vt-body #order-standard_cart .sub-heading-borderless span { background:var(--vt-bg); color:var(--vt-navy); font-weight:700; font-size:15px; }

/* product list */
.vt-body #order-standard_cart .products .product { background:#fff; border:1px solid var(--vt-line); border-radius:16px; padding:0 0 16px; overflow:hidden; box-shadow:0 1px 2px rgba(15,23,42,.04); transition:border-color .2s, box-shadow .2s; }
.vt-body #order-standard_cart .products .product:hover { border-color:#fdba74; box-shadow:0 18px 40px -22px rgba(15,23,42,.3); }
.vt-body #order-standard_cart .products .product header { margin:0; padding:16px 22px; background:#fff; border-bottom:1px solid #f1f5f9; border-radius:0; }
.vt-body #order-standard_cart .products .product header span { color:var(--vt-navy); font-weight:700; font-size:18px; }
.vt-body #order-standard_cart .products .product div.product-desc { padding:16px 22px 0; color:var(--vt-slate); font-size:14px; }
.vt-body #order-standard_cart .products .product div.product-pricing span.price { color:var(--vt-navy); font-weight:800; font-size:22px; letter-spacing:-.02em; white-space:nowrap; }
.vt-body #order-standard_cart .products .product footer { padding-right:22px; }

/* product configure page */
.vt-body #order-standard_cart .product-info { background:#fff; border:1px solid var(--vt-line); border-radius:14px; padding:16px 20px; font-size:14px; color:var(--vt-slate); }
.vt-body #order-standard_cart .product-info .product-title { font-size:20px; font-weight:800; color:var(--vt-navy); margin-bottom:6px; }
.vt-body #order-standard_cart .panel-addon { border:1px solid var(--vt-line); border-radius:14px; overflow:hidden; }
.vt-body #order-standard_cart .panel-addon .panel-price { background:#f1f5f9; }
.vt-body #order-standard_cart .panel-addon .panel-add, .vt-body #order-standard_cart .panel-addon-selected .panel-add { background:var(--vt-orange); }
.vt-body #order-standard_cart .panel-addon-selected { border-color:var(--vt-orange); }

/* choose a domain */
.vt-body #order-standard_cart .domain-selection-options .option { background:#fff; border:1px solid var(--vt-line); border-radius:12px; padding:12px 20px; margin-bottom:10px; }
.vt-body #order-standard_cart .domain-selection-options .option-selected { border-color:var(--vt-orange); background:#fff; box-shadow:0 0 0 3px rgba(241,114,47,.1); }
.vt-body #order-standard_cart .domain-selection-options .option label { color:var(--vt-navy); font-size:14px; }
.vt-body #order-standard_cart .domain-checker-available { color:#16a34a; }
.vt-body #order-standard_cart .domain-checker-container, .domain-checker-container { background:linear-gradient(135deg,#0f172a,#1e293b); border-radius:20px; position:relative; overflow:hidden; }
.vt-body .domain-checker-container::after { content:""; position:absolute; width:420px; height:420px; right:-120px; top:-200px; background:radial-gradient(circle,rgba(241,114,47,.3),transparent 65%); pointer-events:none; }
.vt-body .domain-checker-bg { background-image:none !important; position:relative; z-index:1; }
.vt-body .domain-checker-container .input-group-box { border-radius:14px; }
.vt-body #order-standard_cart .domain-checker-result-headline { color:var(--vt-navy); }

/* review & checkout */
.vt-body #order-standard_cart .view-cart-items-header { background:var(--vt-navy); border-radius:14px 14px 0 0; padding:12px 18px; font-weight:600; font-size:13px; letter-spacing:.02em; }
.vt-body #order-standard_cart .view-cart-items { background:#fff; border:1px solid var(--vt-line); border-top:0; border-radius:0 0 14px 14px; overflow:hidden; border-bottom:0; }
.vt-body #order-standard_cart .view-cart-items .item { padding:16px 18px; border-bottom:1px solid #f1f5f9; }
.vt-body #order-standard_cart .view-cart-items .item:nth-child(even) { background:#fff; }
.vt-body #order-standard_cart .view-cart-items .item-title { font-weight:700; color:var(--vt-navy); font-size:16px; }
.vt-body #order-standard_cart .view-cart-items .item-group { color:var(--vt-muted); }
.vt-body #order-standard_cart .view-cart-items .item-domain { color:var(--vt-orange-dark); }
.vt-body #order-standard_cart .view-cart-items .item-price span:first-child { font-weight:700; color:var(--vt-navy); }
.vt-body #order-standard_cart .btn-remove-from-cart { color:#94a3b8; }
.vt-body #order-standard_cart .btn-remove-from-cart:hover { color:#dc2626; }
.vt-body #order-standard_cart .empty-cart .btn { background:#fff; color:var(--vt-muted); border:1px solid var(--vt-line); border-top:0; border-radius:0 0 10px 10px; font-weight:500; }
.vt-body #order-standard_cart .empty-cart .btn:hover { color:#dc2626; }
.vt-body #order-standard_cart .view-cart-tabs .nav-tabs { border-bottom:0; }
.vt-body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected=true], .vt-body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-expanded=true] { background:#fff; border-color:var(--vt-line) var(--vt-line) #fff; }
.vt-body #order-standard_cart .view-cart-tabs .tab-content { background:#fff; border:1px solid var(--vt-line); border-radius:0 12px 12px 12px; padding:18px; }
.vt-body #order-standard_cart .view-cart-promotion-code { border-radius:10px; border-color:#fdba74; background:var(--vt-orange-soft); }

/* order summary box */
.vt-body #order-standard_cart .order-summary { background:var(--vt-navy); border:0; border-radius:18px; overflow:hidden; box-shadow:0 24px 50px -28px rgba(15,23,42,.6); }
.vt-body #order-standard_cart .order-summary h2 { color:#fff; font-size:17px; font-weight:700; padding:16px; letter-spacing:.01em; }
.vt-body #order-standard_cart .summary-container { background:#fff; border-radius:16px 16px 0 0; padding:18px; font-size:13.5px; color:var(--vt-slate); min-height:0; }
.vt-body #order-standard_cart .order-summary .summary-totals { border-color:var(--vt-line); }
.vt-body #order-standard_cart .order-summary .total-due-today .amt, .vt-body #order-standard_cart .order-summary #totalDueToday { color:var(--vt-navy); font-weight:800; font-size:34px; letter-spacing:-.03em; }
.vt-body #order-standard_cart .order-summary .total-due-today span:last-child { color:var(--vt-muted); font-size:12.5px; }
.vt-body #order-standard_cart .order-summary .btn-checkout { width:100%; padding:14px; font-size:17px; border-radius:12px; }
.vt-body #order-standard_cart .order-summary .btn-continue-shopping { color:var(--vt-muted); }
.vt-body #order-standard_cart .order-summary .btn-continue-shopping:hover { color:var(--vt-orange-dark); }
.vt-body #order-standard_cart .secondary-cart-sidebar .btn-checkout, .vt-body #order-standard_cart #btnCompleteProductConfig { padding:13px 34px; font-size:16px; border-radius:12px; }

/* checkout form */
.vt-body #order-standard_cart .field, .vt-body #order-standard_cart .form-control { border-color:var(--vt-line); border-radius:10px; color:var(--vt-navy); }
.vt-body #order-standard_cart .form-control:focus, .vt-body #order-standard_cart .field:focus { border-color:var(--vt-orange); box-shadow:0 0 0 3px rgba(241,114,47,.15); }
.vt-body #order-standard_cart .prepend-icon .field-icon { color:#94a3b8; }
.vt-body #order-standard_cart .apply-credit-container { background:var(--vt-orange-soft); border:1px solid #fde0cf; border-radius:12px; }
.vt-body #order-standard_cart .alert#totalDueToday { border-radius:12px; font-size:16px; padding:14px; }
.vt-body #order-standard_cart #btnCompleteOrder { padding:15px 44px; font-size:18px; border-radius:14px; box-shadow:0 14px 30px -12px rgba(241,114,47,.7); }
.vt-body #order-standard_cart .checkout-security-msg { background:#f1f5f9; border:1px solid var(--vt-line); color:var(--vt-slate); border-radius:12px; }
.vt-body #order-standard_cart .checkout-security-msg i { color:#16a34a; }
.vt-body #order-standard_cart .account-select-container div.account { background:#fff; border-color:var(--vt-line); }

/* ===== Login (login.tpl) ===== */
.vt-auth { max-width:1040px; margin:8px auto 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); background:#fff; border:1px solid var(--vt-line); border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -36px rgba(15,23,42,.35); }
.vt-auth-side { position:relative; overflow:hidden; background:linear-gradient(160deg,#0f172a 0%,#1e293b 100%); color:#cbd5e1; padding:48px 44px; display:flex; flex-direction:column; }
.vt-auth-side::after { content:""; position:absolute; width:460px; height:460px; right:-200px; top:-200px; background:radial-gradient(circle,rgba(241,114,47,.35),transparent 65%); pointer-events:none; }
.vt-auth-side::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:36px 36px; pointer-events:none; }
.vt-auth-side > * { position:relative; z-index:1; }
.vt-auth-pill { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; font-size:13px; font-weight:600; padding:6px 14px; border-radius:999px; }
.vt-auth-pill .dot { width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.2); }
.vt-body .vt-auth-side h2 { color:#fff; font-size:30px; line-height:1.2; font-weight:800; letter-spacing:-.02em; margin:22px 0 26px; }
.vt-auth-list { list-style:none; padding:0; margin:0; display:grid; gap:16px; font-size:15px; }
.vt-auth-list li { display:flex; gap:12px; align-items:flex-start; line-height:1.45; }
.vt-auth-list svg { flex-shrink:0; margin-top:1px; color:#fff; background:var(--vt-orange); border-radius:50%; padding:3px; width:22px; height:22px; }
.vt-auth-help { margin-top:auto; padding-top:32px; font-size:14px; color:#94a3b8; }
.vt-body .vt-auth-help a { color:#fdba74; font-weight:600; }
.vt-auth-main { padding:40px 44px 32px; }
.vt-auth-main .card { border:0; box-shadow:none; border-radius:0; }
.vt-auth-main .card-body { padding:0; overflow:visible; }
.vt-auth-main .card-body > .row { margin-left:0; margin-right:0; }   /* captcha row: no negative margins (caused a sideways scrollbar) */
.vt-body .vt-auth-title { font-size:30px; font-weight:800; letter-spacing:-.025em; margin:0 0 4px; }
.vt-auth-main .form-control-label { font-weight:600; color:var(--vt-navy); font-size:14px; }
.vt-auth-main .input-group-text { background:#f8fafc; border-color:var(--vt-line); color:#94a3b8; border-radius:10px 0 0 10px; }
.vt-auth-main .input-group .form-control { border-left:0; }
.vt-auth-main .input-group-append .btn { border-radius:0 10px 10px 0 !important; border-left:0 !important; color:#94a3b8 !important; }
.vt-auth-main .input-group:focus-within .input-group-text, .vt-auth-main .input-group:focus-within .btn-reveal-pw { border-color:var(--vt-orange) !important; }
.vt-auth-main .input-group .form-control:focus { box-shadow:none !important; }
.vt-auth-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:8px; }
.vt-auth-remember { display:flex; align-items:center; gap:8px; margin:0; padding-left:20px; color:var(--vt-slate); font-size:14px; cursor:pointer; }
.vt-body .vt-auth-submit { min-width:150px; padding:12px 28px; font-size:16px; border-radius:12px; }
.vt-auth-main .card-footer { background:none; border-top:1px solid #f1f5f9; padding:18px 0 0; margin-top:26px; font-size:14px; color:var(--vt-muted); }
.vt-auth-main .social-signin-btns, .vt-auth-main .providerPreLinking { margin-top:18px; }
.vt-auth-main .sub-heading { margin-top:26px; }
@media (max-width:991.98px) {
  .vt-auth { grid-template-columns:1fr; }
  .vt-auth-side { order:2; padding:32px 24px; }
  .vt-body .vt-auth-side h2 { font-size:22px; margin:16px 0 18px; }
  .vt-auth-main { padding:28px 22px 24px; }
}

/* ===== Register (clientregister.tpl) ===== */
.vt-reg-intro { margin:0 0 22px; }
.vt-body .vt-reg-intro h1 { font-size:34px; font-weight:800; letter-spacing:-.025em; margin:0 0 6px; }
.vt-reg-intro p { color:var(--vt-slate); font-size:16px; margin:0; }
.vt-reg-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.vt-reg-chips span { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--vt-line); border-radius:999px; padding:6px 13px; font-size:13px; font-weight:600; color:var(--vt-navy); }
.vt-reg-chips i { color:var(--vt-orange); }
.vt-body #registration .card { border-radius:18px; }
.vt-body #registration .card-body { padding:26px 28px !important; }
.vt-body #registration .card-title { font-size:17px; font-weight:800; margin-bottom:18px; padding-left:12px; border-left:3px solid var(--vt-orange); line-height:1.2; }
.vt-body #registration .field, .vt-body #registration .form-control { border:1px solid var(--vt-line); border-radius:10px; min-height:46px; }
.vt-body #registration .prepend-icon .field-icon { color:#94a3b8; }
.vt-body #registration .progress { border-radius:999px; height:8px; background:#f1f5f9; }
.vt-body #registration input[type=submit] { padding:14px 48px; font-size:17px; border-radius:14px; box-shadow:0 14px 30px -12px rgba(241,114,47,.7); }
.vt-body .sidebar .card-body .btn { border-radius:10px; }

/* Password reset & other single-card pages */
.vt-body .mw-540 { border-radius:20px; box-shadow:0 30px 60px -36px rgba(15,23,42,.35); }

/* ===== Client area dashboard (clientareahome.tpl) ===== */
.vt-welcome { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; background:linear-gradient(135deg,#0f172a,#1e293b); border-radius:20px; padding:28px 32px; margin-bottom:22px; color:#cbd5e1; }
.vt-welcome::after { content:""; position:absolute; width:420px; height:420px; right:-140px; top:-220px; background:radial-gradient(circle,rgba(241,114,47,.35),transparent 65%); pointer-events:none; }
.vt-welcome > * { position:relative; z-index:1; }
.vt-welcome-kicker { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fdba74; }
.vt-body .vt-welcome h1 { color:#fff; font-size:28px; font-weight:800; letter-spacing:-.02em; margin:4px 0 4px; }
.vt-welcome p { margin:0; font-size:15px; }
.vt-welcome-actions { display:flex; gap:10px; flex-wrap:wrap; }
.vt-welcome-actions .btn { padding:10px 18px; display:inline-flex; align-items:center; gap:8px; }
.vt-body .vt-btn-light { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff !important; }
.vt-body .vt-btn-light:hover { background:rgba(255,255,255,.18); color:#fff !important; }

.vt-body .tiles { margin-left:-6px; margin-right:-6px; }
.vt-body .tiles .row > div { padding:6px; }
.vt-body .tiles .tile { position:relative; display:block; height:100%; padding:20px 22px; background:#fff; border:1px solid var(--vt-line); border-radius:16px; box-shadow:0 1px 2px rgba(15,23,42,.04); color:var(--vt-navy); text-decoration:none; transition:transform .15s, box-shadow .15s, border-color .15s; overflow:hidden; }
.vt-body .tiles .tile:hover { transform:translateY(-2px); border-color:#fdba74; box-shadow:0 16px 30px -20px rgba(15,23,42,.35); background:#fff; }
.vt-body .tiles .tile i { position:absolute; top:18px; right:18px; width:42px; height:42px; border-radius:12px; background:var(--vt-orange-soft); color:var(--vt-orange); font-size:18px; display:flex; align-items:center; justify-content:center; opacity:1; }
.vt-body .tiles .tile .stat { font-size:34px; font-weight:800; letter-spacing:-.03em; color:var(--vt-navy); line-height:1.1; margin-top:0; }
.vt-body .tiles .tile .title { font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--vt-muted); margin-top:4px; }
.vt-body .tiles .tile .highlight { position:absolute; left:0; right:0; bottom:0; height:3px; width:auto; background:var(--vt-orange) !important; opacity:0; transition:opacity .15s; margin:0; }
.vt-body .tiles .tile:hover .highlight { opacity:1; }

.vt-body .client-home-cards .card { border:1px solid var(--vt-line) !important; border-radius:16px; overflow:hidden; margin-bottom:18px; }
.vt-body .client-home-cards .card-header { padding:14px 18px; }
.vt-body .client-home-cards .card-title { font-size:15.5px; font-weight:700; color:var(--vt-navy); line-height:30px; }
.vt-body .client-home-cards .card-title > i { color:var(--vt-orange); }
.vt-body .client-home-cards .card-header .btn { background:#fff !important; border:1px solid var(--vt-line) !important; color:var(--vt-navy) !important; border-radius:999px; padding:4px 12px; font-size:12.5px; line-height:1.6; }
.vt-body .client-home-cards .card-header .btn:hover { border-color:var(--vt-orange) !important; color:var(--vt-orange-dark) !important; }
.vt-body .client-home-cards .card-footer { background:#fff; border-top:1px solid #f1f5f9; padding:10px 18px; font-size:13px; }
.vt-body .client-home-cards .card-footer:empty { display:none; }
.vt-body .client-home-cards .list-group-item { padding:14px 18px; border-color:#f1f5f9 !important; color:var(--vt-slate); }
.vt-body .client-home-cards .list-group-item:hover { background:#fffaf7; }
.vt-body .client-home-cards .div-service-name .font-weight-bold { color:var(--vt-navy); }
.vt-body .div-service-status { width:auto !important; min-width:84px; }   /* WHMCS sets a fixed width that cut "Active" short */
.vt-body .label { border-radius:999px; padding:3px 10px; font-size:11.5px; font-weight:700; }
.vt-body .label-success, .vt-body .status-active { background:#dcfce7 !important; color:#15803d !important; }
.vt-body .label-warning, .vt-body .status-pending, .vt-body .status-unpaid { background:#fef3c7 !important; color:#b45309 !important; }
.vt-body .label-danger, .vt-body .status-suspended, .vt-body .status-overdue { background:#fee2e2 !important; color:#b91c1c !important; }
.vt-body .client-home-cards .input-group .form-control { border-radius:10px 0 0 10px; }

/* "Please verify your email" strip */
.vt-body .verification-banner { background:#fff7ed !important; border-bottom:1px solid #fde0cf; color:#7c2d12; padding:10px 0; }
.vt-body .verification-banner .text { color:#7c2d12; }
.vt-body .verification-banner i, .vt-body .verification-banner .fas { color:var(--vt-orange); }
.vt-body .verification-banner .btn { background:var(--vt-orange) !important; border-color:var(--vt-orange) !important; color:#fff !important; border-radius:10px; }
.vt-body .verification-banner .btn.close, .vt-body .verification-banner button.close { background:none !important; border:0 !important; color:#9a3412 !important; }

/* Client area sidebar */
.vt-body .sidebar .card { border-radius:16px; overflow:hidden; margin-bottom:16px; }
.vt-body .sidebar .card-footer { background:#fff; border-top:1px solid #f1f5f9; }
.vt-body .sidebar .card-body { color:var(--vt-slate); font-size:14px; }

/* ===== Service details page (clientarea.php?action=productdetails) ===== */
.vt-body .product-details .product-status { border-radius:18px; overflow:hidden; background:linear-gradient(160deg,#0f172a,#1e293b) !important; box-shadow:0 20px 40px -26px rgba(15,23,42,.6); }
.vt-body .product-details .product-status .product-icon { padding:26px 18px 18px; color:#fff; background:transparent !important; }
.vt-body .product-details .product-status .fa-stack .fa-circle { color:var(--vt-orange) !important; }
.vt-body .product-details .product-status h3 { color:#fff; font-weight:800; font-size:24px; margin-top:12px; }
.vt-body .product-details .product-status h4 { color:#cbd5e1; font-size:14px; font-weight:500; }
.vt-body .product-details .product-status-text { background:rgba(34,197,94,.18) !important; color:#86efac !important; font-weight:800; letter-spacing:.08em; padding:9px; }
.vt-body .product-details .product-status-suspended .product-status-text, .vt-body .product-details .product-status-terminated .product-status-text, .vt-body .product-details .product-status-cancelled .product-status-text { background:rgba(239,68,68,.2) !important; color:#fca5a5 !important; }
.vt-body .product-details .product-status-pending .product-status-text { background:rgba(245,158,11,.2) !important; color:#fcd34d !important; }
.vt-body .product-details .col-md-6.text-center h4 { font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--vt-muted); margin:16px 0 3px; }
.vt-body .product-details .col-md-6.text-center h4:first-child { margin-top:4px; }
.vt-body .product-details .col-md-6.text-center { color:var(--vt-navy); font-size:15.5px; font-weight:600; }
.vt-body #alertPendingCancellation + #alertPendingCancellation, .vt-body #alertPendingCancellation ~ .tab-content #alertPendingCancellation { display:none; }   /* WHMCS and the module both print it */
.vt-body .product-details .product-status + .btn, .vt-body .product-details .btn-block { margin-bottom:12px; border-radius:12px; }
/* Configurable Options list: always label | value (the module uses Bootstrap 3 col-xs-6, which Twenty-One lacks) */
.vt-body .footer-bg-sm .card-body > .row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:14px; margin:0; padding:9px 0; border-bottom:1px solid #f1f5f9; }
.vt-body .footer-bg-sm .card-body > .row:last-child { border-bottom:0; }
.vt-body .footer-bg-sm .card-body > .row > div { max-width:none; width:auto; flex:none; padding:0; text-align:left !important; color:var(--vt-navy); font-weight:600; }
.vt-body .footer-bg-sm .card-body > .row > div strong { color:var(--vt-muted); font-weight:500; }

/* Contabo VPS module panels (server info, power buttons, IPs, snapshots, activity) */
.vt-body .footer-bg, .vt-body .footer-bg-sm, .vt-body .footer-bg-lg { background:none !important; }
.vt-body .footer-bg > .card, .vt-body .footer-bg-sm > .card { border-radius:16px; }
.vt-body .bg-holder { display:none !important; }
.vt-body .footer-bg .card-header .card-title, .vt-body .footer-bg-sm .card-header .card-title, .vt-body .footer-bg .card-header { font-size:15.5px; font-weight:700; color:var(--vt-navy); }
.vt-body table.hcloud { border-radius:12px; overflow:hidden; border:1px solid var(--vt-line); margin-top:6px; }
.vt-body table.hcloud td, .vt-body table.hcloud th { border-color:#f1f5f9 !important; padding:11px 14px; font-size:14px; }
.vt-body table.hcloud.table-striped tbody tr:nth-of-type(odd) { background:#f8fafc; }
.vt-body table.hcloud td:nth-child(odd) { color:var(--vt-muted); }
.vt-body table.hcloud td:nth-child(even) { color:var(--vt-navy); font-weight:600; }
/* server card layout: OS logo + details side by side, stacked on phones (module markup nests rows oddly) */
.vt-body .footer-bg li.media { display:flex; flex-wrap:wrap; gap:22px; align-items:flex-start; list-style:none; text-align:left; }
.vt-body .footer-bg li.media .media-left { flex:none; }
.vt-body .footer-bg li.media .media-body { flex:1 1 320px; min-width:0; }
.vt-body .footer-bg .media-body > .row.hcloud { display:block; margin:0; padding:0; max-width:none; width:auto; flex:none; }
.vt-body .footer-bg .media-body > .row.hcloud > .row { margin:0 -8px 6px; }
.vt-body .footer-bg .media-body > .row.hcloud > .row > div { padding:0 8px 8px; }
.vt-body .footer-bg .media-body .text-left strong { font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--vt-muted); }
.vt-body .footer-bg .media-body .input-group .form-control { border-radius:10px 0 0 10px; min-height:40px; }
.vt-body .footer-bg .media-body .input-group-text { border-radius:0 10px 10px 0; background:#f8fafc; border-color:var(--vt-line); color:#94a3b8; }
.vt-body .footer-bg .btn-box { margin-top:14px; text-align:left; }
@media (max-width:575.98px) { .vt-body .footer-bg li.media .media-left { width:100%; text-align:center; } .vt-body table.hcloud td { padding:9px 8px; font-size:13px; } }
.vt-body .hcloud-img-thumbnail { border-radius:16px; border:1px solid var(--vt-line); padding:10px; background:#fff; }
.vt-body .btn-style { display:inline-flex; align-items:center; gap:8px; border:1px solid transparent; border-radius:10px; padding:10px 18px; margin:4px 6px 4px 0; font-weight:600; font-size:14px; color:#fff; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s; }
.vt-body .btn-style:hover { transform:translateY(-1px); }
.vt-body .btn-style i { margin:0 !important; color:inherit !important; }
.vt-body .btn-color-red-oranges { background:var(--vt-navy) !important; }                                            /* Reboot */
.vt-body .btn-color-red-oranges:hover { box-shadow:0 10px 20px -10px rgba(15,23,42,.6); }
.vt-body .btn-color-pink-red { background:#fff !important; color:#dc2626 !important; border:1px solid #fecaca !important; }  /* Power off */
.vt-body .btn-color-pink-red:hover { background:#fef2f2 !important; }
.vt-body .btn-color-green-cyan { background:#16a34a !important; }                                                    /* Power on */
.vt-body .btn-color-red-green { background:var(--vt-orange) !important; }                                            /* Snapshot */
.vt-body .btn-color-red-green:hover { box-shadow:0 10px 20px -10px rgba(241,114,47,.7); }
.vt-body .dataTables_wrapper .table { border-radius:12px; overflow:hidden; border:1px solid var(--vt-line) !important; }
.vt-body .dataTables_wrapper .table thead th { background:#f8fafc; color:var(--vt-slate); font-size:12.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; border-color:var(--vt-line) !important; }
.vt-body .dataTables_wrapper .table td { border-color:#f1f5f9 !important; font-size:14px; color:var(--vt-navy); }
.vt-body .dataTables_wrapper .page-item.active .page-link { background:var(--vt-orange); border-color:var(--vt-orange); }
.vt-body .dataTables_wrapper .page-link { color:var(--vt-navy); border-radius:8px; margin:0 2px; }

/* Service page tabs / sidebar actions */
.vt-body .product-details-tab-container .nav-link.active, .vt-body .nav-tabs-overflow .nav-link.active { color:var(--vt-orange-dark); border-bottom-color:var(--vt-orange); }

/* ===== Lists: services, invoices, domains, tickets (DataTables "table-list") ===== */
.vt-body .table-container { background:#fff; border:1px solid var(--vt-line); border-radius:16px; padding:16px 18px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.vt-body table.table-list { border-collapse:separate; border-spacing:0; }
.vt-body table.table-list thead th { background:#f8fafc !important; color:var(--vt-slate); font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid var(--vt-line) !important; border-top:0 !important; padding:12px 14px; }
.vt-body table.table-list thead th:first-child { border-radius:10px 0 0 10px; }
.vt-body table.table-list thead th:last-child { border-radius:0 10px 10px 0; }
.vt-body table.table-list tbody td { border-top:0 !important; border-bottom:1px solid #f1f5f9 !important; padding:14px; color:var(--vt-navy); font-size:14.5px; vertical-align:middle; background:#fff !important; }
.vt-body table.table-list tbody tr:hover td { background:#fffaf7 !important; cursor:pointer; }
.vt-body table.table-list tbody tr:last-child td { border-bottom:0 !important; }
.vt-body .dataTables_wrapper .dataTables_filter input { border-radius:10px; border:1px solid var(--vt-line); }
/* phones: wide tables scroll inside their card instead of pushing the whole page sideways */
.vt-body .table-container { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.vt-body .table-container .dataTables_wrapper > .row { margin-left:0; margin-right:0; }
@media (max-width:640px) {
  .vt-body .table-container { padding:12px 10px; }
  .vt-body table.table-list thead th { padding:10px 8px; font-size:11px; }
  .vt-body table.table-list tbody td { padding:11px 8px; font-size:13.5px; }
}
/* phones: on the dashboard show the welcome banner first, "Your Info" etc. after it */
@media (max-width:991.98px) {
  .vt-page-clientareahome #main-body .primary-content { order:-1; }
}
.vt-body .label.status { display:inline-block; border-radius:999px; padding:4px 11px; font-size:11.5px; font-weight:700; letter-spacing:.02em; border:0; }
.vt-body .status-paid, .vt-body .status-completed, .vt-body .status-answered { background:#dcfce7 !important; color:#15803d !important; }
.vt-body .status-cancelled, .vt-body .status-closed, .vt-body .status-terminated, .vt-body .status-expired, .vt-body .status-refunded { background:#f1f5f9 !important; color:#64748b !important; }
.vt-body .status-open, .vt-body .status-customer-reply, .vt-body .status-in-progress, .vt-body .status-onhold { background:#ffedd5 !important; color:#c2410c !important; }
.vt-body .status-fraud, .vt-body .status-collections { background:#fee2e2 !important; color:#b91c1c !important; }

/* ===== Ticket view (viewticket.php) ===== */
.vt-body .ticket-reply { border:1px solid var(--vt-line); border-radius:14px; overflow:hidden; margin-bottom:14px; background:#fff; }
.vt-body .ticket-reply .posted-by { background:#f8fafc; border-bottom:1px solid #f1f5f9; padding:10px 16px; font-size:13px; color:var(--vt-muted); }
.vt-body .ticket-reply .posted-by-name { color:var(--vt-navy); font-weight:700; }
.vt-body .ticket-reply.staff { border-left:4px solid var(--vt-orange); }
.vt-body .ticket-reply.staff .posted-by { background:var(--vt-orange-soft); }
.vt-body .ticket-reply .message { color:var(--vt-navy); font-size:15px; line-height:1.65; }
.vt-body .requestor-badge { border-radius:999px; padding:3px 10px; font-size:11px; font-weight:700; }
.vt-body .requestor-type-operator { background:var(--vt-orange) !important; color:#fff !important; }
.vt-body .requestor-type-owner, .vt-body .requestor-type-user { background:var(--vt-navy) !important; color:#fff !important; }
.vt-body .btn-danger.disabled, .vt-body .btn-danger:disabled { background:#f1f5f9 !important; border-color:var(--vt-line) !important; color:var(--vt-muted) !important; opacity:1; }

/* ===== Invoice page (viewinvoice.tpl) — screen only, print stays plain ===== */
@media screen {
  body.vt-invoice { background:var(--vt-bg); padding:0 12px 40px; }
  .vt-invoice-top { max-width:900px; margin:22px auto 12px; display:flex; justify-content:space-between; gap:12px; font-size:14px; font-weight:600; }
  .vt-invoice-top a { color:var(--vt-slate); text-decoration:none; }
  .vt-invoice-top a:hover { color:var(--vt-orange-dark); }
  .vt-invoice .invoice-container { max-width:900px; margin:0 auto 18px; background:#fff; border:1px solid var(--vt-line); border-radius:20px; padding:36px 40px; box-shadow:0 30px 60px -40px rgba(15,23,42,.4); }
  .vt-invoice .invoice-header { border-bottom:1px solid #f1f5f9; padding-bottom:18px; margin-bottom:18px; }
  .vt-invoice h2, .vt-invoice h3 { color:var(--vt-navy); }
  .vt-invoice .invoice-status span { display:inline-block; border-radius:999px; padding:6px 18px; font-size:15px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
  .vt-invoice .invoice-status .paid { background:#dcfce7; color:#15803d; }
  .vt-invoice .invoice-status .unpaid, .vt-invoice .invoice-status .collections { background:#fee2e2; color:#b91c1c; }
  .vt-invoice .invoice-status .cancelled, .vt-invoice .invoice-status .refunded, .vt-invoice .invoice-status .draft { background:#f1f5f9; color:#64748b; }
  .vt-invoice .payment-btn-container .btn, .vt-invoice .payment-btn-container input[type=submit], .vt-invoice .payment-btn-container button { background:var(--vt-orange) !important; border-color:var(--vt-orange) !important; color:#fff !important; border-radius:12px; padding:10px 24px; font-weight:700; }
  .vt-invoice .card { border-radius:14px; overflow:hidden; }
  .vt-invoice .card-header { background:var(--vt-navy) !important; border:0; }
  .vt-invoice .card-header .card-title, .vt-invoice .card-header .card-title strong { color:#fff; font-size:16px !important; }
  .vt-invoice .table thead td { background:#f8fafc; color:var(--vt-slate); font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; }
  .vt-invoice .table td { border-color:#f1f5f9; padding:10px 14px; }
  .vt-invoice .total-row { background:#fff !important; }
  .vt-invoice .table td.text-center { white-space:nowrap; }   /* keep "₹6,000 INR" on one line */
  .vt-invoice tr:last-child .total-row { font-size:17px; font-weight:800; color:var(--vt-navy); }
  .vt-invoice .transactions-container { border:1px solid var(--vt-line); border-radius:14px; overflow:hidden; margin-top:18px; }
  .vt-invoice .transactions-container .table { margin:0; }
  .vt-invoice .btn-group .btn { border-radius:10px !important; margin-left:6px; }
  .vt-invoice > p.text-center a { color:var(--vt-muted); font-weight:600; }
}
@media screen and (max-width:575.98px) { .vt-invoice .invoice-container { padding:22px 16px; } }

/* ===== Footer (same as the website) ===== */
.vf { background:#1f2937; color:#fff; font-family:'Inter',sans-serif; }
.vf-in { padding:64px 16px; }
.vf-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px; }
.vf-brand { grid-column:span 2; }
.vf-brand > a img { height:64px; width:auto; margin-bottom:16px; }   /* logo only, not the payment badges */
.vf p { color:#9ca3af; padding-right:16px; line-height:24px; margin:0; }
.vf h4 { color:#fff; font-size:18px; line-height:28px; font-weight:700; margin:0 0 16px; }
.vf-brand h4 { margin-top:32px; }
.vf ul { list-style:none; margin:0; padding:0; color:#9ca3af; }
.vf li { margin-bottom:12px; }
.vf a { color:#9ca3af; text-decoration:none; }
.vf a:hover { color:#fff; text-decoration:none; }
.vf-social { display:flex; gap:16px; margin-top:24px; }
.vf-social svg { width:24px; height:24px; }
/* payment badges: same compact size as the website footer */
.vf-pay { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.vf-pay span { padding:0 12px; background:#fff; border-radius:6px; display:flex; align-items:center; gap:6px; }
.vf-pay img { height:20px; width:auto; display:block; }
.vf-pay img.sm { height:16px; } .vf-pay img.lg { height:24px; }
.vf-pay .txt { color:#374151; font-size:12px; line-height:16px; font-weight:600; }
.vf-pay .txt svg { width:16px; height:16px; }
.vf-contact li { display:flex; align-items:flex-start; gap:12px; }
.vf-contact svg { flex-shrink:0; margin-top:2px; }
.vf-contact a { overflow-wrap:anywhere; }
.vf-bottom { background:#111827; padding:16px; text-align:center; color:#6b7280; font-size:16px; line-height:24px; }
@media (max-width:1023.98px) { .vf-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .vf-brand { grid-column:span 3; } }
@media (max-width:639.98px) { .vf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .vf-brand { grid-column:span 2; } }
