/* ============================================================
   TOP Vault — "Vault Dark" theme (overlay on app.css)
   Loaded ONLY when the Vault theme is active; every rule is
   scoped to body.theme-vault so the classic theme is untouched.
   Palette: #050814 / #0A0F1F / glass .06 / #3B82F6 / #38BDF8 /
            #10B981 / #8B5CF6 / text #F8FAFC / #94A3B8
   ============================================================ */
body.theme-vault{
  --v-bg0:#050814; --v-bg1:#0A0F1F; --v-bg2:#0B1220;
  --v-glass:rgba(255,255,255,.06); --v-glass2:rgba(255,255,255,.09);
  --v-line:rgba(255,255,255,.12); --v-line2:rgba(255,255,255,.22);
  --v-blue:#3B82F6; --v-cyan:#38BDF8; --v-green:#10B981; --v-purple:#8B5CF6;
  --v-t1:#F8FAFC; --v-t2:#94A3B8;
  --v-grad:linear-gradient(90deg,#3B82F6,#38BDF8);
  background:
    radial-gradient(46% 60% at 82% 4%,rgba(139,92,246,.13),transparent 60%),
    radial-gradient(50% 70% at 8% 16%,rgba(59,130,246,.15),transparent 60%),
    radial-gradient(42% 55% at 60% 100%,rgba(56,189,248,.07),transparent 60%),
    var(--v-bg0);
  color:var(--v-t1);
}
/* ---------- top bar ---------- */
body.theme-vault .topbar{background:rgba(5,8,20,.78);border-bottom:1px solid var(--v-line);backdrop-filter:blur(12px)}
body.theme-vault .nav-links{color:var(--v-t2)}
body.theme-vault .nav-links a.is-active,
body.theme-vault .nav-links a:hover{color:#fff}
body.theme-vault .mini-select{background:rgba(255,255,255,.05);border:1px solid var(--v-line2);color:#dbe7ff}
body.theme-vault .mini-select option{color:#0A0F1F}
/* ---------- buttons ---------- */
body.theme-vault .btn{background:var(--v-grad);color:#fff;border:0;box-shadow:0 8px 26px rgba(59,130,246,.32);border-radius:12px}
body.theme-vault .btn.light,
body.theme-vault .btn.secondary{background:var(--v-glass);color:var(--v-t1);border:1px solid var(--v-line2);box-shadow:none}
body.theme-vault .btn:hover{filter:brightness(1.08)}
body.theme-vault .cart-btn span{background:var(--v-green);color:#03271c;border-radius:999px;padding:1px 7px;font-weight:800}
/* ---------- generic surfaces ---------- */
body.theme-vault .card,
body.theme-vault .payment-method-card,
body.theme-vault .rating-card,
body.theme-vault .redot-card{background:var(--v-glass);border:1px solid var(--v-line);border-radius:16px;box-shadow:none;color:var(--v-t1);backdrop-filter:blur(12px)}
body.theme-vault .card h1,body.theme-vault .card h2,body.theme-vault .card h3{color:var(--v-t1)}
body.theme-vault .card p,body.theme-vault .card li,body.theme-vault .card span{color:var(--v-t2)}
body.theme-vault .card h3 a,body.theme-vault .card a{color:var(--v-t1)}
body.theme-vault .section-title h2,body.theme-vault h1,body.theme-vault h2{color:var(--v-t1)}
body.theme-vault .section-title p{color:var(--v-t2)}
body.theme-vault .link-arrow{color:var(--v-cyan)}
body.theme-vault .eyebrow{color:var(--v-cyan)}
/* ---------- badges / chips ---------- */
body.theme-vault .badge{border-radius:999px;font-weight:700}
body.theme-vault .badge.mint{background:rgba(16,185,129,.12);color:#34D399;border:1px solid rgba(16,185,129,.35)}
body.theme-vault .deal-badge{background:rgba(139,92,246,.16);color:#C4B5FD;border:1px solid rgba(139,92,246,.45);border-radius:999px}
body.theme-vault .compare{color:var(--v-t2)}
body.theme-vault .price,
body.theme-vault .home-price-row strong{color:#fff}
/* ---------- category & product cards ---------- */
body.theme-vault .category-card{background:var(--v-glass);border:1px solid var(--v-line)}
body.theme-vault .category-card:hover{border-color:rgba(56,189,248,.55);box-shadow:0 0 30px rgba(56,189,248,.12)}
body.theme-vault .category-card .arrow{color:var(--v-cyan)}
body.theme-vault .category-image{background:transparent;border:0;border-radius:14px}
body.theme-vault .category-image img{border-radius:14px}
body.theme-vault .product-card,
body.theme-vault .home-product-card{background:var(--v-glass);border:1px solid var(--v-line)}
body.theme-vault .product-card:hover,
body.theme-vault .home-product-card:hover{border-color:rgba(59,130,246,.55);transform:translateY(-2px);box-shadow:0 16px 44px rgba(2,6,18,.5)}
body.theme-vault .product-media,
body.theme-vault .home-product-media{background:linear-gradient(160deg,#0d1a36,#0A0F1F);border-radius:12px}
body.theme-vault .cart-square{background:var(--v-grad);color:#fff;border:0;border-radius:10px;font-weight:700}
body.theme-vault .icon-box{background:linear-gradient(140deg,rgba(59,130,246,.35),rgba(11,18,32,.9));color:#BFDBFE;border:1px solid var(--v-line2);border-radius:12px}
body.theme-vault .icon-box.m365{background:linear-gradient(140deg,rgba(139,92,246,.35),rgba(11,18,32,.9));color:#DDD6FE}
body.theme-vault .icon-box.ai{background:linear-gradient(140deg,rgba(16,185,129,.32),rgba(11,18,32,.9));color:#A7F3D0}
body.theme-vault .icon-box.office{background:linear-gradient(140deg,rgba(251,146,60,.3),rgba(11,18,32,.9));color:#FED7AA}
/* ---------- trust band (home) ---------- */
body.theme-vault .trust-band{background:rgba(255,255,255,.03);border-top:1px solid var(--v-line);border-bottom:1px solid var(--v-line)}
body.theme-vault .trust-item strong{color:var(--v-t1)}
body.theme-vault .trust-item span{color:var(--v-t2)}
body.theme-vault .line-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:rgba(16,185,129,.09);border:1px solid rgba(16,185,129,.35);color:#34D399;font-size:0}
body.theme-vault .line-icon svg{width:24px;height:24px}
/* ---------- how-it-works / steps ---------- */
body.theme-vault .how-card{background:var(--v-glass);border:1px solid var(--v-line)}
body.theme-vault .step{background:rgba(255,255,255,.035);border:1px solid var(--v-line);border-radius:14px}
body.theme-vault .step-num{background:var(--v-grad);color:#fff;box-shadow:0 6px 18px rgba(59,130,246,.35)}
body.theme-vault .step-symbol{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.4);color:var(--v-cyan);font-size:0}
body.theme-vault .step-symbol svg{width:22px;height:22px}
body.theme-vault .step strong{color:var(--v-t1)}
body.theme-vault .step p{color:var(--v-t2)}
/* cart icon inside product buttons */
body.theme-vault .i-cart{width:18px;height:18px;vertical-align:-4px;margin-inline-end:7px}
body.theme-vault .cart-square{display:grid;place-items:center}
body.theme-vault .cart-square .i-cart{width:22px;height:22px;margin:0}
/* How It Works — animated colour border running around the whole section */
@property --v-ang{syntax:"<angle>";initial-value:0deg;inherits:false}
body.theme-vault .how-card{--v-ang:0deg;position:relative;overflow:hidden;border-color:transparent}
body.theme-vault .how-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2.5px;z-index:0;pointer-events:none;
  background:conic-gradient(from var(--v-ang),#3B82F6,#38BDF8,#10B981,#8B5CF6,#F59E0B,#38BDF8,#3B82F6);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:v-rotate 5s linear infinite}
body.theme-vault .how-card::after{content:"";position:absolute;inset:2px;border-radius:inherit;z-index:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 42%,rgba(56,189,248,.08) 50%,rgba(139,92,246,.09) 58%,transparent 68%);
  background-size:260% 100%;animation:v-sheen 8s ease-in-out infinite}
body.theme-vault .how-card>*{position:relative;z-index:1}
@keyframes v-rotate{to{--v-ang:360deg}}
@keyframes v-sheen{0%{background-position:130% 0}100%{background-position:-50% 0}}
@media (prefers-reduced-motion:reduce){body.theme-vault .how-card::before,body.theme-vault .how-card::after{animation:none}}
/* ---------- reviews ---------- */
body.theme-vault .trusted-panel h2{color:var(--v-t1)}
body.theme-vault .rating-card{background:linear-gradient(150deg,rgba(59,130,246,.16),rgba(139,92,246,.1));border:1px solid var(--v-line2)}
body.theme-vault .review-card strong{color:var(--v-t1)}
body.theme-vault .stars{color:#FBBF24}
/* ---------- forms ---------- */
body.theme-vault .input,
body.theme-vault .textarea{background:rgba(255,255,255,.04);border:1px solid var(--v-line2);color:var(--v-t1);border-radius:12px}
body.theme-vault .input::placeholder,
body.theme-vault .textarea::placeholder{color:#5c6b85}
body.theme-vault .input:focus,
body.theme-vault .textarea:focus{border-color:var(--v-blue);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.2)}
body.theme-vault .field label{color:var(--v-t2)}
body.theme-vault .captcha-box{background:rgba(255,255,255,.04);border:1px solid var(--v-line);color:var(--v-t1)}
body.theme-vault .notice{background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.35);color:#BAE6FD;border-radius:12px}
body.theme-vault .alert{border-radius:12px;border:1px solid var(--v-line2);background:var(--v-glass2);color:var(--v-t1)}
/* ---------- checkout / payment ---------- */
body.theme-vault .payment-choice{background:rgba(255,255,255,.03);border:1px solid var(--v-line);border-radius:12px;color:var(--v-t1)}
body.theme-vault .payment-choice:hover{border-color:rgba(59,130,246,.6);background:rgba(59,130,246,.08)}
body.theme-vault .checkout-steps{color:var(--v-t2)}
body.theme-vault .mini-stat{background:rgba(255,255,255,.03);border:1px solid var(--v-line);border-radius:12px}
body.theme-vault .mini-stat strong{color:var(--v-t1)}
body.theme-vault .mini-stat span{color:var(--v-t2)}
/* ---------- tables ---------- */
body.theme-vault .table-wrap{border:1px solid var(--v-line);border-radius:14px;background:var(--v-glass)}
body.theme-vault table{color:var(--v-t1)}
body.theme-vault th{color:var(--v-cyan);border-bottom:1px solid var(--v-line2)}
body.theme-vault td{border-bottom:1px solid var(--v-line);color:var(--v-t2)}
/* ---------- filters / misc ---------- */
body.theme-vault .filters .input,
body.theme-vault .filters select{background:rgba(255,255,255,.04);border:1px solid var(--v-line2);color:var(--v-t1)}
body.theme-vault .detail-block ul li,
body.theme-vault .detail-block ol li{color:var(--v-t2)}
/* ---------- chat widget ---------- */
body.theme-vault .chat-toggle{background:var(--v-grad);color:#fff;border:0;box-shadow:0 10px 30px rgba(59,130,246,.4)}
body.theme-vault .chat-panel{background:#0B1220;border:1px solid var(--v-line2);color:var(--v-t1)}
body.theme-vault .chat-panel p{color:var(--v-t2)}
/* ---------- footer ---------- */
body.theme-vault .footer{background:#040712;border-top:1px solid var(--v-line);color:var(--v-t2)}
body.theme-vault .footer h4{color:#fff}
body.theme-vault .footer a,body.theme-vault .footer span,body.theme-vault .footer p{color:var(--v-t2)}
body.theme-vault .footer a:hover{color:var(--v-cyan)}
body.theme-vault .footer-bottom{border-top:1px solid var(--v-line);color:var(--v-t2)}
body.theme-vault .social-row{display:flex;gap:9px}
body.theme-vault .social-row span,
body.theme-vault .social-row a{width:34px;height:34px;border-radius:9px;border:1px solid var(--v-line2);display:grid;place-items:center;color:#cfe0ff;font-size:0}
body.theme-vault .social-row svg{width:15px;height:15px}
/* ============================================================
   Vault hero (new markup rendered only for this theme)
   ============================================================ */
body.theme-vault .v-hero{position:relative;overflow:hidden;padding:84px 0 72px}
body.theme-vault .v-hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}
body.theme-vault .v-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--v-cyan);background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.35);padding:7px 14px;border-radius:999px;margin-bottom:22px}
body.theme-vault .v-hero h1{font-size:44px;line-height:1.16;font-weight:900;letter-spacing:-.02em;color:#fff}
body.theme-vault .v-hero h1 em{font-style:normal;background:linear-gradient(90deg,#38BDF8,#8B5CF6);-webkit-background-clip:text;background-clip:text;color:transparent}
body.theme-vault .v-sub{margin:20px 0 30px;font-size:17px;line-height:1.75;color:var(--v-t2);max-width:56ch}
body.theme-vault .v-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px}
body.theme-vault .v-chips{display:flex;gap:12px;flex-wrap:wrap}
body.theme-vault .v-chip{display:inline-flex;align-items:center;gap:9px;background:var(--v-glass);border:1px solid var(--v-line);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;color:var(--v-t2)}
body.theme-vault .v-chip svg{width:16px;height:16px;color:#34D399;flex:none}
body.theme-vault .v-cluster{position:relative;min-height:440px}
body.theme-vault .v-fcard{position:absolute;padding:16px;width:246px;border-radius:16px;background:var(--v-glass);border:1px solid var(--v-line);backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(2,6,18,.55)}
body.theme-vault .v-fcard .r{display:flex;gap:12px;align-items:center}
body.theme-vault .v-fcard b{font-size:14.5px;line-height:1.35;display:block;color:#fff}
body.theme-vault .v-fcard .lt{font-size:12px;color:var(--v-t2);margin-top:3px;display:block}
body.theme-vault .v-fcard .pr{display:flex;align-items:baseline;gap:8px;margin-top:12px}
body.theme-vault .v-fcard .pr strong{font-size:19px;font-weight:800;color:#fff}
body.theme-vault .v-fcard .pr s{font-size:12px;color:var(--v-t2)}
body.theme-vault .v-fcard .dv{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#34D399;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.35);border-radius:999px;padding:3px 10px;margin-top:11px}
body.theme-vault .v-fcard .dv i{width:6px;height:6px;border-radius:50%;background:#34D399;font-style:normal}
body.theme-vault .v-tile{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;flex:none;border:1px solid var(--v-line2)}
body.theme-vault .v-tile svg{width:26px;height:26px}
body.theme-vault .v-tile.win{background:linear-gradient(140deg,rgba(59,130,246,.35),rgba(11,18,32,.9));box-shadow:0 0 22px rgba(59,130,246,.26)}
body.theme-vault .v-tile.off{background:linear-gradient(140deg,rgba(251,146,60,.3),rgba(11,18,32,.9))}
body.theme-vault .v-tile.m365{background:linear-gradient(140deg,rgba(139,92,246,.35),rgba(11,18,32,.9))}
body.theme-vault .v-tile.ai{background:linear-gradient(140deg,rgba(16,185,129,.3),rgba(11,18,32,.9))}
body.theme-vault .v-cluster{min-height:500px}
body.theme-vault .v-thumb{display:block;border-radius:10px;overflow:hidden;margin-bottom:12px;background:#0A0F1F}
body.theme-vault .v-thumb img{width:100%;height:auto;display:block}
body.theme-vault .v-f1{width:330px;top:60px;left:0;z-index:3;border-color:rgba(56,189,248,.4);box-shadow:0 24px 60px rgba(2,6,18,.55),0 0 44px rgba(59,130,246,.18)}
body.theme-vault .v-f1 .v-thumb{box-shadow:0 0 40px rgba(59,130,246,.25)}
body.theme-vault .v-f2{top:0;right:0;z-index:2;transform:rotate(3deg);opacity:.95}
body.theme-vault .v-f3{bottom:0;right:26px;z-index:2;transform:rotate(-2deg);opacity:.95;border-color:rgba(139,92,246,.4)}
body.theme-vault .v-f4{bottom:0;right:20px;z-index:3;border-color:rgba(16,185,129,.35)}
/* responsive */
@media(max-width:960px){
  body.theme-vault .v-hero .wrap{grid-template-columns:1fr}
  body.theme-vault .v-hero h1{font-size:34px}
  body.theme-vault .v-cluster{min-height:420px;margin-top:8px}
}
@media(max-width:560px){
  body.theme-vault .v-cluster{min-height:0;display:grid;gap:12px}
  body.theme-vault .v-fcard{position:static;width:100%}
}
/* ---------- light section wrappers from classic ---------- */
body.theme-vault .home-categories,
body.theme-vault .home-featured,
body.theme-vault .home-bottom,
body.theme-vault .section,
body.theme-vault .section.tight{background:transparent}
body.theme-vault .trust-band{background:rgba(255,255,255,.02)}
body.theme-vault .trust-grid{background:var(--v-glass);border:1px solid var(--v-line);box-shadow:none;border-radius:14px;backdrop-filter:blur(12px)}
body.theme-vault .compact-title h2,
body.theme-vault .how-card h2,
body.theme-vault .trusted-panel h2{color:var(--v-t1)}
body.theme-vault .home-categories .category-card{box-shadow:none}
body.theme-vault .rating-card{color:var(--v-t1)}
body.theme-vault .rating-card strong{color:var(--v-t1)}
body.theme-vault .rating-card span,
body.theme-vault .review-card span{color:var(--v-t2)}
body.theme-vault .review-card p{color:#cbd5e1}
body.theme-vault .nav-links a{white-space:nowrap}
/* ---------- vault product media: icon tile instead of image ---------- */
body.theme-vault .product-media,
body.theme-vault .home-product-media{display:grid;place-items:center;min-height:150px;background:
  radial-gradient(80% 120% at 20% 0%,rgba(59,130,246,.18),transparent 60%),
  linear-gradient(160deg,#0d1a36,#0A0F1F)}
body.theme-vault .product-media .v-tile{width:66px;height:66px;border-radius:16px}
body.theme-vault .product-media .v-tile svg{width:34px;height:34px}
/* ---------- checkout steps + secure row ---------- */
body.theme-vault .checkout-steps{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
body.theme-vault .checkout-steps span{background:var(--v-glass);border:1px solid var(--v-line);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--v-t2)}
body.theme-vault .v-secure-row{display:flex;gap:20px;justify-content:center;margin-top:16px;flex-wrap:wrap}
body.theme-vault .v-secure-row span{display:inline-flex;gap:8px;align-items:center;font-size:12.5px;font-weight:600;color:var(--v-t2)}
body.theme-vault .v-secure-row svg{width:16px;height:16px;color:var(--v-cyan);flex:none}
body.theme-vault .order-summary-card h2{margin-bottom:12px}
/* ---------- order confirmation (thank-you) ---------- */
body.theme-vault .v-confirm{max-width:780px;text-align:center}
body.theme-vault .v-check{width:92px;height:92px;margin:10px auto 26px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 25%,rgba(45,212,191,.5),rgba(16,185,129,.15) 60%,transparent);
  border:1.5px solid rgba(16,185,129,.55);box-shadow:0 0 60px rgba(16,185,129,.35),0 0 120px rgba(16,185,129,.12)}
body.theme-vault .v-check svg{width:44px;height:44px;color:#34D399;filter:drop-shadow(0 0 12px rgba(52,211,153,.8))}
body.theme-vault .v-confirm h1{font-size:34px;font-weight:900}
body.theme-vault .v-sub2{color:var(--v-t2);margin:12px 0 4px;font-size:16px}
body.theme-vault .v-ordn{color:var(--v-t2);font-size:14px;margin:0 0 24px}
body.theme-vault .v-ordn b{color:var(--v-t1)}
body.theme-vault .v-next{text-align:start;padding:24px 28px;margin:0 0 24px}
body.theme-vault .v-next h3{font-size:13px;letter-spacing:.12em;text-align:center;margin:0 0 14px;color:var(--v-cyan);text-transform:uppercase}
body.theme-vault .v-next ol{margin:0;padding-inline-start:22px;line-height:2.1;color:#cbd5e1}
body.theme-vault .v-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* ---------- cart polish ---------- */
body.theme-vault input.input[type=number]{text-align:center}
body.theme-vault .table-wrap table{width:100%}
body.theme-vault .table-wrap th{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
/* ---------- mobile polish ---------- */
@media(max-width:560px){
  body.theme-vault .checkout-steps{gap:6px}
  body.theme-vault .checkout-steps span{padding:5px 10px;font-size:11px}
  body.theme-vault .v-confirm h1{font-size:26px}
  body.theme-vault .v-acts .btn{width:100%}
  body.theme-vault .v-secure-row{gap:12px}
}
/* ---------- mobile menu fix (app.css has .mobile-btn display:none !important which
   defeats its own 980px rule — override wins by higher specificity) ---------- */
@media(max-width:980px){
  body.theme-vault .mobile-btn{display:inline-flex !important}
  body.theme-vault .nav-links{background:rgba(8,14,30,.98);border:1px solid var(--v-line);border-radius:12px;padding:12px}
  body.theme-vault .nav-links a{padding:9px 12px;border-radius:8px}
  body.theme-vault .nav-links a.is-active{background:rgba(59,130,246,.15);color:#fff}
  body.theme-vault .nav-links a.is-active::after{display:none}
}
/* ============================================================
   TOP Vault ADMIN (body.admin-v) — dark ops panel
   ============================================================ */
body.admin-v{margin:0;font-family:Inter,"Segoe UI",system-ui,sans-serif}
body.admin-v .admin-shell{background:
  radial-gradient(50% 60% at 92% 0%,rgba(139,92,246,.12),transparent 60%),
  radial-gradient(55% 70% at 0% 28%,rgba(59,130,246,.13),transparent 60%),#050814}
body.admin-v .admin-side{background:rgba(4,7,18,.85);border-right:1px solid rgba(255,255,255,.1)}
body.admin-v .brand-logo{width:188px}
body.admin-v .admin-nav a{font-weight:600;color:#94A3B8;gap:12px;padding:11px 13px}
body.admin-v .admin-nav a svg{width:18px;height:18px;flex:none}
body.admin-v .admin-nav a:hover{background:rgba(59,130,246,.12);color:#fff}
body.admin-v .admin-nav a.is-active{background:linear-gradient(90deg,#3B82F6,#38BDF8);color:#fff;box-shadow:0 8px 22px rgba(59,130,246,.35)}
body.admin-v .admin-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:14px;box-shadow:none}
body.admin-v .admin-card h2{font-size:16px;margin:0 0 12px}
body.admin-v .btn{background:linear-gradient(90deg,#3B82F6,#38BDF8);color:#fff;border:0;border-radius:10px}
body.admin-v .btn.light{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#F8FAFC}
body.admin-v .btn.light svg{width:14px;height:14px;vertical-align:-2px}
body.admin-v .input,body.admin-v .textarea,body.admin-v .select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#F8FAFC;border-radius:10px;min-height:44px;padding:8px 12px;font:inherit;width:100%}
body.admin-v .textarea{min-height:110px}
body.admin-v .form{display:grid;gap:14px}
/* dropdown option list — dark to match the theme (fixes the unreadable white background) */
body.admin-v .select option,body.admin-v .select optgroup{background:#0f1830;color:#F8FAFC}
/* custom caret so selects read as intentional, not native white boxes */
body.admin-v .select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:38px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 13px center}
body.admin-v .select:focus{border-color:rgba(59,130,246,.6);outline:none}
body.admin-v input.input[type=file]{padding:9px 12px;cursor:pointer}
body.admin-v .input:focus,body.admin-v .textarea:focus{border-color:rgba(59,130,246,.6);outline:none}
/* labelled, sectioned product/settings form */
body.admin-v .form-sec{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 18px 18px;background:rgba(255,255,255,.015)}
body.admin-v .form-sec>h3{margin:0 0 14px;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:#38BDF8;font-weight:700}
body.admin-v .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}
body.admin-v .fgrid .full{grid-column:1/-1}
body.admin-v .fl{display:block}
body.admin-v .fl>span{display:block;font-size:12px;color:#94A3B8;margin:0 0 5px;font-weight:600}
body.admin-v .form .ck{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#dbe7ff;cursor:pointer}
body.admin-v .form .ck input{width:auto;min-height:0;flex:none}
body.admin-v .img-edit{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
body.admin-v .img-edit-fields{flex:1;min-width:240px;display:grid;gap:11px}
body.admin-v .img-edit .prev{width:104px;height:104px;border-radius:14px;object-fit:cover;background:#0f1830;border:1px solid rgba(255,255,255,.14);flex:none}
body.admin-v .img-edit .prev.ph{display:grid;place-items:center;text-align:center;color:#64748b;font-size:12px;line-height:1.5;padding:8px}
body.admin-v .prod-thumb{width:42px;height:42px;border-radius:9px;object-fit:cover;background:#0f1830;border:1px solid rgba(255,255,255,.12);display:inline-block;vertical-align:middle}
body.admin-v .prod-thumb.ph{display:inline-grid;place-items:center;color:#5cb2ff;font-weight:800;font-size:16px}
@media(max-width:640px){body.admin-v .fgrid{grid-template-columns:1fr}}
body.admin-v .admin-table{width:100%;border-collapse:collapse;font-size:13.5px}
body.admin-v .admin-table th{color:#38BDF8;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.14);padding:10px 12px;text-align:left}
body.admin-v .admin-table td{border-bottom:1px solid rgba(255,255,255,.07);padding:10px 12px;color:#cbd5e1}
body.admin-v .admin-table tr:last-child td{border-bottom:0}
body.admin-v .admin-table a{color:#5cb2ff;font-weight:600}
body.admin-v .a-ic{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.16)}
body.admin-v .a-ic svg{width:24px;height:24px}
body.admin-v .a-ic.blue{background:rgba(59,130,246,.16);color:#93C5FD}
body.admin-v .a-ic.cyan{background:rgba(56,189,248,.14);color:#7DD3FC}
body.admin-v .a-ic.green{background:rgba(16,185,129,.14);color:#6EE7B7}
body.admin-v .a-ic.purple{background:rgba(139,92,246,.16);color:#C4B5FD}
/* real charts */
body.admin-v .vch-bars{display:flex;align-items:flex-end;gap:7px;height:210px;padding:14px 4px 0}
body.admin-v .vch-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
body.admin-v .vch-col i{display:block;width:100%;max-width:34px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#38BDF8,#3B82F6);box-shadow:0 0 14px rgba(59,130,246,.3)}
body.admin-v .vch-col span{font-size:10.5px;color:#94A3B8}
body.admin-v .vch-donut-wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding-top:10px}
body.admin-v .vch-donut{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;position:relative;flex:none}
body.admin-v .vch-donut::before{content:"";position:absolute;inset:36px;border-radius:50%;background:#0A0F1F;border:1px solid rgba(255,255,255,.08)}
body.admin-v .vch-donut b{position:relative;font-size:15px}
body.admin-v .vch-legs{display:grid;gap:9px;flex:1;min-width:180px;align-content:center}
body.admin-v .vch-leg{display:flex;align-items:center;gap:9px;font-size:13px;color:#cbd5e1}
body.admin-v .vch-leg i{width:11px;height:11px;border-radius:3px;flex:none}
body.admin-v .vch-leg b{margin-left:auto;color:#F8FAFC}
/* chips + actions */
body.admin-v .a-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
body.admin-v .chip{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);font-size:12.5px;font-weight:600;color:#94A3B8}
body.admin-v .chip.on{background:rgba(59,130,246,.18);border-color:rgba(59,130,246,.55);color:#fff}
body.admin-v .a-actions{white-space:nowrap}
body.admin-v .a-actions form{display:inline-block;margin-inline-start:6px}
body.admin-v .mini-stat{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);border-radius:10px}
body.admin-v .mini-stat span{color:#94A3B8}
body.admin-v .mini-stat strong{color:#F8FAFC}
body.admin-v .a-totals{display:grid;gap:6px;margin-top:14px;justify-items:end}
body.admin-v .a-totals span{font-size:13.5px;color:#94A3B8}
body.admin-v .a-totals b{color:#F8FAFC;margin-inline-start:8px}
body.admin-v .a-totals .a-grand{font-size:16px;color:#fff}
/* ticket thread */
body.admin-v .a-msg{padding:18px 20px;margin-bottom:14px}
body.admin-v .a-msg-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
body.admin-v .a-msg h3{margin:0 0 8px;font-size:16px}
body.admin-v .a-msg p{margin:0;color:#cbd5e1;line-height:1.7}
body.admin-v .a-msg-admin{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.05)}
/* badges */
body.admin-v .badge{border-radius:999px;font-weight:700;font-size:11px;padding:3px 10px}
body.admin-v .badge.mint{background:rgba(16,185,129,.14);color:#34D399;border:1px solid rgba(16,185,129,.4)}
body.admin-v .badge.orange{background:rgba(251,146,60,.14);color:#FDBA74;border:1px solid rgba(251,146,60,.4)}
body.admin-v .badge:not(.mint):not(.orange){background:rgba(148,163,184,.12);color:#CBD5E1;border:1px solid rgba(148,163,184,.35)}
@media(max-width:960px){
  body.admin-v .admin-shell{grid-template-columns:1fr}
  body.admin-v .grid.two{grid-template-columns:1fr}
}
body.admin-v .a-stack{display:grid;gap:16px}
body.admin-v .a-stack .form{max-width:860px}
body.admin-v .table-wrap{overflow-x:auto}
/* ---------- customer license card (account order page) ---------- */
body.theme-vault .v-lic-card{max-width:480px;margin:18px 0;padding:26px 28px 22px;border-radius:16px;text-align:center;
  background:#0A0F1F;border:2px solid rgba(59,130,246,.6);box-shadow:0 0 40px rgba(59,130,246,.15)}
body.theme-vault .v-lic-card .v-lic-head{display:flex;justify-content:center;margin-bottom:12px}
body.theme-vault .v-lic-name{display:block;font-size:18px;font-weight:800;color:#fff}
body.theme-vault .v-lic-tag{display:block;font-size:10px;font-weight:700;letter-spacing:3px;color:var(--v-cyan);margin:5px 0 14px}
body.theme-vault .v-lic-key{background:#050814;border:1px solid rgba(59,130,246,.35);border-radius:10px;padding:15px 10px;
  font-family:ui-monospace,Consolas,monospace;font-size:19px;letter-spacing:2px;font-weight:700;color:#fff;user-select:all}
body.theme-vault .v-lic-meta{font-size:12.5px;color:var(--v-t2);margin:14px 0;line-height:1.7}
body.theme-vault .v-lic-meta b{color:#E2E8F0}
/* ---------- customer ticket thread ---------- */
body.theme-vault .t-sub{color:var(--v-t2);margin:6px 0 20px}
body.theme-vault .t-msg{padding:18px 20px;margin-bottom:14px}
body.theme-vault .t-msg-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
body.theme-vault .t-msg-head span{color:var(--v-t2);font-size:12.5px}
body.theme-vault .t-msg p{margin:0;color:#cbd5e1;line-height:1.75}
body.theme-vault .t-msg-support{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.06)}
/* ---------- admin low stock ---------- */
body.admin-v .a-lowstock{padding:16px 20px;margin-top:16px;border-color:rgba(251,146,60,.5);background:rgba(251,146,60,.07)}
body.admin-v .chip-danger{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.55);color:#FCA5A5}
/* ============================================================
   Live AI chat widget (vault theme)
   ============================================================ */
body.theme-vault .vchat-panel{display:none;position:fixed;bottom:86px;inset-inline-end:22px;width:min(380px,calc(100vw - 32px));
  height:min(540px,calc(100vh - 120px));flex-direction:column;z-index:90;border-radius:16px;overflow:hidden;
  background:#0A0F1F;border:1px solid rgba(59,130,246,.5);box-shadow:0 30px 80px rgba(2,6,18,.7),0 0 40px rgba(59,130,246,.15)}
body.theme-vault .vchat-panel.open{display:flex}
body.theme-vault .vchat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;
  background:linear-gradient(90deg,rgba(59,130,246,.25),rgba(56,189,248,.12));border-bottom:1px solid rgba(255,255,255,.1)}
body.theme-vault .vchat-head b{color:#fff;font-size:14.5px}
body.theme-vault .vchat-status{display:block;font-size:11px;color:#94E2C8;margin-top:2px}
body.theme-vault .vchat-x{background:none;border:0;color:#94A3B8;font-size:22px;cursor:pointer;line-height:1;padding:0 4px}
body.theme-vault .vchat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;background:
  radial-gradient(60% 40% at 80% 0%,rgba(139,92,246,.08),transparent 60%),#0A0F1F}
body.theme-vault .vchat-m{max-width:84%;padding:9px 13px;border-radius:13px;font-size:13.5px;line-height:1.65;white-space:pre-wrap;word-wrap:break-word}
body.theme-vault .vchat-m.user{align-self:flex-end;background:linear-gradient(90deg,#3B82F6,#38BDF8);color:#fff;border-bottom-right-radius:4px}
body.theme-vault .vchat-m.assistant{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#DCE6F5;border-bottom-left-radius:4px}
body.theme-vault .vchat-m.agent{align-self:flex-start;background:rgba(16,185,129,.13);border:1px solid rgba(16,185,129,.4);color:#C7F5E3;border-bottom-left-radius:4px}
body.theme-vault .vchat-m.agent::before{content:"Support Team";display:block;font-size:10px;font-weight:700;letter-spacing:.08em;color:#34D399;margin-bottom:3px}
body.theme-vault .vchat-foot{padding:10px 12px;border-top:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
body.theme-vault .vchat-foot form{display:flex;gap:8px}
body.theme-vault .vchat-in{flex:1;min-height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#F8FAFC;padding:8px 12px;font:inherit;font-size:13.5px}
body.theme-vault .vchat-in:focus{outline:none;border-color:#3B82F6}
body.theme-vault .vchat-send{width:42px;border:0;border-radius:10px;background:linear-gradient(90deg,#3B82F6,#38BDF8);color:#fff;font-size:15px;cursor:pointer}
body.theme-vault .vchat-human{width:100%;margin-top:8px;background:none;border:1px dashed rgba(255,255,255,.25);border-radius:9px;color:#94A3B8;font-size:12px;padding:7px;cursor:pointer}
body.theme-vault .vchat-human:hover{color:#fff;border-color:rgba(56,189,248,.5)}
@media(max-width:560px){body.theme-vault .vchat-panel{inset-inline-end:8px;bottom:74px}}
/* ============================================================
   Vault MOBILE — show the whole store as a real 2-col grid,
   not one giant product per row. Overrides app.css 1-col.
   ============================================================ */
@media(max-width:640px){
  /* featured + product + category grids: 2 across */
  body.theme-vault .home-product-grid,
  body.theme-vault .grid.four,
  body.theme-vault .grid.three{grid-template-columns:1fr 1fr !important;gap:12px !important}
  /* featured product cards: compact vertical card */
  body.theme-vault .home-product-card{min-height:0 !important;padding:10px !important;grid-template-rows:auto auto auto !important}
  body.theme-vault .home-product-media{height:96px !important}
  body.theme-vault .home-product-body h3{font-size:13px !important;line-height:1.3 !important}
  body.theme-vault .home-product-body p{display:none !important}
  body.theme-vault .home-price-row strong{font-size:15px}
  body.theme-vault .home-price-row .compare{font-size:11px}
  body.theme-vault .home-cart-form{justify-self:stretch !important}
  body.theme-vault .cart-square{width:100%;height:34px}
  /* category cards: stack icon over text, centered */
  body.theme-vault .category-card{flex-direction:column !important;text-align:center;gap:10px !important;min-height:0 !important;padding:16px 12px !important}
  body.theme-vault .category-image{width:60px !important;height:60px !important}
  body.theme-vault .category-image img{width:100% !important;height:100% !important}
  body.theme-vault .category-card h3{font-size:14px}
  body.theme-vault .category-card p{font-size:11.5px;line-height:1.45}
  body.theme-vault .category-card .arrow{display:none}
  /* products page cards: compact 2-col */
  body.theme-vault .product-card{padding:10px !important;gap:9px !important}
  body.theme-vault .product-media{height:104px !important}
  body.theme-vault .product-card h3{font-size:13.5px !important;line-height:1.3}
  body.theme-vault .product-card p{font-size:11.5px;max-height:48px;overflow:hidden}
  body.theme-vault .product-card .badge{font-size:10px;padding:2px 7px}
  /* trust band: 2-col instead of stacked */
  body.theme-vault .trust-grid{grid-template-columns:1fr 1fr !important}
  body.theme-vault .trust-item{padding:12px 10px !important;gap:10px !important}
  body.theme-vault .trust-item .line-icon{width:40px;height:40px}
  body.theme-vault .trust-item strong{font-size:13px}
  body.theme-vault .trust-item span{font-size:11px}
  /* how-it-works: 2-col */
  body.theme-vault .steps{grid-template-columns:1fr 1fr !important;gap:10px !important}
  body.theme-vault .step{padding:16px 12px !important}
  body.theme-vault .step::after{display:none}
  /* footer: 2-col compact */
  body.theme-vault .footer-grid{grid-template-columns:1fr 1fr !important;gap:18px !important}
  /* section spacing tightened so more of the store is visible per screen */
  body.theme-vault section.block,
  body.theme-vault .section{padding:32px 0 !important}
  body.theme-vault .v-hero{padding:40px 0 30px !important}
  body.theme-vault .sec-head h2,
  body.theme-vault .section-title h2{font-size:22px}
}
@media(max-width:380px){
  /* very small phones: keep 2-col but tighter */
  body.theme-vault .home-product-grid,
  body.theme-vault .grid.four,
  body.theme-vault .grid.three{gap:9px !important}
  body.theme-vault .home-product-media{height:84px !important}
}
/* ============================================================
   Vault MOBILE hero — hide the big floating product stack so
   the store grid (categories + products) is what the visitor
   sees, not giant product-by-product cards. Kills h-overflow.
   ============================================================ */
@media(max-width:760px){
  body.theme-vault{overflow-x:hidden}
  body.theme-vault .v-hero .wrap{grid-template-columns:1fr !important}
  body.theme-vault .v-cluster{display:none !important;min-height:0 !important}
  body.theme-vault .v-hero h1{font-size:30px !important;line-height:1.2 !important}
  body.theme-vault .v-sub{font-size:15px !important}
  body.theme-vault .v-ctas .btn{flex:1;min-width:0}
  body.theme-vault .v-chips{gap:8px}
  body.theme-vault .v-chip{font-size:12px;padding:7px 12px}
}
/* ---------- hard clip any horizontal overflow on phones ---------- */
@media(max-width:760px){
  html{overflow-x:hidden}
  body.theme-vault{overflow-x:hidden;width:100%;max-width:100%}
  body.theme-vault .wrap{width:calc(100% - 24px) !important;max-width:calc(100% - 24px) !important;margin-inline:auto !important}
  body.theme-vault .topbar .nav{flex-wrap:wrap;row-gap:8px}
  body.theme-vault .nav-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}
  body.theme-vault .mini-select{min-width:0;padding:0 6px}
  body.theme-vault .v-hero h1,
  body.theme-vault .sec-head h2,
  body.theme-vault .section-title h2{overflow-wrap:anywhere}
}
/* ---------- FIX grid blowout: min track 0 so images can't widen the grid ---------- */
@media(max-width:760px){
  body.theme-vault .home-product-grid,
  body.theme-vault .grid.four,
  body.theme-vault .grid.three,
  body.theme-vault .trust-grid,
  body.theme-vault .steps,
  body.theme-vault .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body.theme-vault .v-hero .wrap{grid-template-columns:minmax(0,1fr) !important}
  body.theme-vault .home-product-card,
  body.theme-vault .product-card{min-width:0}
  body.theme-vault .home-product-media img,
  body.theme-vault .product-media img{min-width:0}
}
@media(max-width:380px){
  body.theme-vault .home-product-grid,
  body.theme-vault .grid.four,
  body.theme-vault .grid.three{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
/* ---------- PayPal checkout separator ---------- */
body.theme-vault .pp-sep{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--v-t2);font-size:12.5px;text-transform:uppercase;letter-spacing:.1em}
body.theme-vault .pp-sep::before,body.theme-vault .pp-sep::after{content:"";flex:1;height:1px;background:var(--v-line)}
body.theme-vault #paypal-button-container{max-width:420px}
