:root {
    color-scheme: light;
    --bg: #f5f7fb; --bg-secondary: #f0f3f8; --bg-card: #fff; --bg-card-hover: #f7faff;
    --bg-nav: #fff; --text: #171b24; --text-secondary: #626b7b;
    --accent: #176bfa; --accent-light: #155ed9; --accent-bg: #eaf2ff; --accent-border: #c6dafe;
    --green: #14845a; --green-bg: #e6f5ed; --red: #c43d49; --yellow: #916206;
    --border: #e0e5ee; --radius: 8px; --radius-sm: 8px; --radius-pill: 24px;
    --shadow: 0 5px 20px rgba(30, 54, 94, .06); --glow: none;
}
body { font-size: 15px; }
body * { letter-spacing: 0; }
body .navbar { background: #fff; backdrop-filter: none; }
body .sidebar { background: #fff; }
body .logo { font-weight: 800; font-size: 18px; }
body .side-link { border-radius: 8px; font-weight: 600; }
body .side-link.is-active { background: var(--accent-bg); color: var(--accent); box-shadow: none; }
body .side-link:hover, body .side-sublink:hover { background: #f0f5ff; }
body .side-sublink.is-active { color: var(--accent); }
body .topbar { padding-bottom: 20px; border-bottom: 1px solid var(--border); }
body .page-title { font-size: 32px; line-height: 1.2; font-weight: 750; }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 12px 0 28px; }
.catalog-heading .page-title { margin: 0; }
.catalog-heading p { color: var(--text-secondary); margin-top: 8px; font-size: 14px; }
.catalog-heading > span { color: var(--text-secondary); font-size: 13px; white-space: nowrap; }
body .cat-pills { gap: 8px; }
body .cat-pill { background: #fff; border-color: var(--border); border-radius: 8px; }
body .cat-pill:hover, body .cat-pill.is-active { border-color: var(--accent); background: var(--accent-bg); color: var(--accent); }
body .cat-pill-count { background: #edf1f7; color: #626b7b; }
body .btn--primary { background: var(--accent); color: #fff; box-shadow: none; border-color: transparent; }
body .btn--primary:hover { background: #0759e5; box-shadow: 0 4px 14px #176bfa26; transform: none; }
body .btn--ghost { background: #fff; color: var(--text); border: 1px solid var(--border); }
body .btn--ghost:hover { background: var(--bg-secondary); }
body .products-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
body .product-card { border-radius: 8px; border-color: var(--border); box-shadow: none; }
body .product-card:hover { transform: translateY(-3px); border-color: #a9c9fc; box-shadow: 0 10px 24px #24487912; }
body .product-media { background: #edf2fa; aspect-ratio: 16 / 9; max-height: 180px; }
body .product-media::before { display: none; }
body .product-media img { object-fit: contain; }
body .product-media-placeholder { background: #edf3ff; }
body .product-media-placeholder span { background: #fff; border: 1px solid #d8e6ff; color: #176bfa; border-radius: 8px; }
body .product-card:nth-child(3n + 2) .product-media-placeholder { background: #eaf5ef; }
body .product-card:nth-child(3n + 2) .product-media-placeholder span { color: #258563; border-color: #cee7da; }
body .product-card:nth-child(3n + 3) .product-media-placeholder { background: #f5f0fb; }
body .product-card:nth-child(3n + 3) .product-media-placeholder span { color: #8654ac; border-color: #e4d9ee; }
body .product-name { font-size: 17px; font-weight: 700; line-height: 1.4; }
body .product-price { color: var(--text); font-size: 20px; }
body .product-stock { color: var(--green); font-size: 12px; }
.product-delivery-label { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--text-secondary); margin-bottom: 12px; }
.product-delivery-label svg { width: 15px; height: 15px; }
body .product-detail .product-detail-card { box-shadow: var(--shadow); }
body .product-detail .badge--manual, body .product-detail .manual-fulfillment-mark,
body .product-detail .manual-fulfillment-steps b { background: var(--accent-bg); color: var(--accent); border-color: var(--accent-border); }
body .product-detail .manual-fulfillment-kicker { color: var(--accent); }
body .product-detail .manual-fulfillment h2 { color: var(--text); }
body .info-value.price-value { color: var(--text); }
body .delivered code { background: var(--bg-secondary); color: var(--text); }
body #productSuccessView { background: #fff; border-color: var(--border); color: var(--text); box-shadow: var(--shadow); }
body #productSuccessView .product-success-sub,
body #productSuccessView .manual-next-step,
body #productSuccessView .manual-instructions-label,
body #productSuccessView .success-catalog-link { color: var(--text-secondary); }
body #productSuccessView .product-success-receipt,
body #productSuccessView .product-success-actions { border-color: var(--border); color: var(--text-secondary); }
body #productSuccessView .product-success-receipt strong,
body #productSuccessView .manual-instructions-text { color: var(--text); }
body #productSuccessView .product-success-icon { background: var(--green-bg); color: var(--green); }
body #productSuccessView .product-success-eyebrow { color: var(--green); }
body #productSuccessView .manual-contact-btn { background: var(--accent); color: #fff; }
body #productSuccessView .product-success-actions .btn { color: var(--text); border-color: var(--border); }
body .purchase-dock { background: #fff; border-color: var(--border); box-shadow: 0 -6px 22px #243b5310; }
body .prefs-panel { box-shadow: var(--shadow); }
body .badge--boost, body .boost-tag { color: var(--accent); background: var(--accent-bg); border-color: var(--accent-border); }
body .summary-card, body .boost-step, body .dep-card { box-shadow: none; }
body .summary-total { font-size: 36px; }
body .lp-hero-glow { display: none; }
body .lp-title .grad { background: none; color: var(--accent); -webkit-text-fill-color: var(--accent); }
body .lp-title { font-size: 52px; }
body .lp-badge { background: var(--accent-bg); color: var(--accent); border-color: var(--accent-border); }
body .lp-card, body .lp-step { background: #fff; border-color: var(--border); }
.checkout-motion { margin: auto; width: min(400px, calc(100% - 32px)); padding: 36px 24px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); text-align: center; box-shadow: 0 24px 90px #152a4b26; }
.checkout-motion::backdrop { background: #23375466; backdrop-filter: blur(5px); }
.checkout-motion-mark { width: 72px; height: 72px; margin: 0 auto 22px; border: 4px solid #e4edfc; border-top-color: var(--accent); border-radius: 50%; animation: checkout-spin .8s linear infinite; }
.checkout-motion.is-complete .checkout-motion-mark { animation: checkout-pop .35s ease-out both; border: 0; display: grid; place-items: center; color: #fff; background: var(--accent); font-size: 36px; }
.checkout-motion h2 { font-size: 22px; margin-bottom: 8px; }
.checkout-motion p { color: var(--text-secondary); font-size: 14px; }
@keyframes checkout-spin { to { transform: rotate(360deg); } }
@keyframes checkout-pop { from { transform: scale(.75); opacity: .3; } to { transform: scale(1); opacity: 1; } }
@media (max-width: 600px) {
    body .page-title { font-size: 26px; }
    .catalog-heading { align-items: start; flex-direction: column; gap: 8px; margin-bottom: 20px; }
    body .topbar { gap: 8px; }
    body .products-grid { gap: 12px; }
    body .product-name { font-size: 15px; }
    body .lp-title { font-size: 34px; }
}
/* Financial views use quieter numbers and narrower reading columns. */
body .balance-badge, body .topbar-balance .balance-badge,
body .side-balance .balance-badge { font-weight: 500; font-variant-numeric: tabular-nums; }
body .topbar-balance .balance-badge { color: var(--text); font-size: 14px; }
body .topbar-balance { padding: 8px 14px; gap: 8px; }
body .content > .orders-page { max-width: 980px; }
body .orders-heading { margin-bottom: 24px; align-items: center; }
body .orders-heading .page-title, body .dep-head .page-title { font-size: 28px; font-weight: 600; }
body .orders-heading p { font-size: 14px; }
body .orders-columns, body .order-summary { grid-template-columns: minmax(0, 1fr) 124px 96px 18px; gap: 18px; padding: 16px 20px; }
body .orders-columns { padding-top: 12px; padding-bottom: 12px; font-size: 12px; background: #f8f9fc; }
body .order-summary { min-height: 82px; }
body .order-summary:hover, body .order-entry[open] .order-summary { background: #f8faff; }
body .order-mark { display: none; }
body .order-product { font-size: 14px; font-weight: 500; line-height: 1.5; }
body .order-meta { font-size: 12px; margin-top: 5px; gap: 4px 14px; }
body .order-price { font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
body .order-status { justify-self: start; padding: 4px 8px; border-radius: 5px; font-size: 11px; gap: 6px; background: #f1f3f7; }
body .order-status--completed { background: #eaf6f0; color: #22734f; }
body .order-status--pending { background: #fff5df; color: #856017; }
body .order-status--cancelled { background: #fbeef0; color: #a84653; }
body .order-details { padding: 0 20px 20px; background: #f8faff; }
body .order-detail-heading { padding: 14px 0; }
body .order-delivery { background: #fff; border: 1px solid var(--border); border-radius: 6px; }
body .content > .deposit-page { max-width: 760px; }
body .dep-head { align-items: flex-start; margin-bottom: 26px; }
body .dep-head .page-sub { font-size: 13px; max-width: 400px; }
body .dep-balance { border: 0; background: transparent; border-radius: 0; padding: 5px 0; gap: 8px; font-size: 12px; }
body .dep-balance .balance-badge { background: transparent; color: var(--text); padding: 0; border: 0; font-size: 14px; }
body .deposit-left { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 24px; }
body .deposit-left .dep-card { padding: 0 0 24px; margin: 0 0 24px; background: transparent; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
body .deposit-left .dep-card:nth-child(2) { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
body .dep-card-title { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; }
.dep-step { display: inline-grid; place-items: center; width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%; background: #edf3ff; color: var(--accent); font-size: 12px; font-weight: 500; }
body .amt { background: #fff; padding: 12px 16px; border-width: 1px; border-color: #bfcbdc; border-radius: 6px; }
body .amt-input { font-size: 28px; font-weight: 400; }
body .amt-cur { font-size: 20px; font-weight: 400; }
body .amt-chip { font-weight: 400; border-radius: 6px; padding: 6px 12px; background: #fff; }
body .amt-chip.is-active { background: var(--accent-bg); }
body .amt-credit { font-weight: 500; }
body .amt-note { font-size: 12px; margin-top: 10px; }
body .method-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body .deposit-page .method-card { min-width: 0; min-height: 78px; gap: 10px; padding: 12px; background: #fff; border-width: 1px; border-radius: 6px; }
body .deposit-page .method-card:has(input:checked) { background: #f0f6ff; border-color: var(--accent); }
body .method-text { min-width: 0; }
body .method-text strong { font-size: 14px; font-weight: 500; }
body .method-text span { font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
body .method-ico { width: 28px; height: 28px; font-size: 14px; border-radius: 6px; }
body .deposit-left #createBtn { margin-top: 24px; border-radius: 6px; font-size: 14px; font-weight: 500; min-height: 46px; }
body .pay-overview strong { font-weight: 500; font-variant-numeric: tabular-nums; }
@media (max-width: 700px) {
    body .orders-columns { display: none; }
    body .order-summary { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 8px 12px; padding: 16px; }
    body .order-main { grid-column: 1; grid-row: 1; }
    body .order-price { grid-column: 2; grid-row: 1; }
    body .order-chevron { grid-column: 3; grid-row: 1; }
    body .order-status { grid-column: 1 / 3; grid-row: 2; margin-left: 0; }
    body .order-details { padding: 0 16px 16px; }
    body .orders-heading .page-title, body .dep-head .page-title { font-size: 24px; }
    body .deposit-left { padding: 18px; }
    body .dep-head { gap: 10px; }
    body .dep-card-head { gap: 10px; flex-wrap: wrap; }
    body .method-list { grid-template-columns: 1fr; }
    body .deposit-page .method-card { min-height: 66px; }
}
@media (min-width: 701px) {
    body .order-main, body .order-status, body .order-price, body .order-chevron { grid-column: auto; grid-row: auto; }
    body .order-status { margin-left: 0; }
    body .orders-columns { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Raster brand assets are already dark on transparent backgrounds. */
body .logo-mark--png { filter: none; }
