:root {
  --bg: #f6f7fb;
  --surface: #ffffff;
  --surface-2: #f0f2f7;
  --ink: #111827;
  --muted: #687084;
  --line: #e4e7ee;
  --primary: #2457f5;
  --primary-dark: #183ed0;
  --violet: #7c3aed;
  --success: #129a67;
  --warning: #e77a15;
  --danger: #d14343;
  --info: #3575d3;
  --shadow: 0 18px 55px rgba(22, 35, 64, .08);
  --radius: 18px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { outline: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button:disabled { opacity: .45; cursor: not-allowed; }
.container { width: min(calc(100% - 32px), var(--container)); margin-inline: auto; }
.narrow { max-width: 760px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0,0,0,0); overflow: hidden; white-space: nowrap; border: 0; }
.eyebrow, .auth-kicker { display: block; color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.muted-text { color: var(--muted); }
.site-main { min-height: calc(100vh - 80px); }

.site-header { position: sticky; top: 0; z-index: 50; height: 72px; border-bottom: 1px solid rgba(228,231,238,.8); background: rgba(246,247,251,.88); backdrop-filter: blur(18px); }
.header-inner { width: min(calc(100% - 32px), var(--container)); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand, .admin-brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; letter-spacing: -.03em; }
.brand-mark { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; color: #fff; font-size: 13px; letter-spacing: -.05em; background: linear-gradient(135deg,var(--primary),var(--violet)); box-shadow: 0 10px 24px rgba(36,87,245,.22); }
.desktop-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; color: #4f5769; font-size: 14px; font-weight: 650; }
.desktop-nav a:hover { color: var(--primary); }
.header-actions { min-width: 52px; display: flex; justify-content: flex-end; }
.header-login { color: var(--primary); font-weight: 750; font-size: 14px; }
.avatar-link { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #151a26; font-weight: 800; }
.bottom-nav { display: none; }
.announcement-bar{position:relative;z-index:49;min-height:38px;display:grid;place-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,#142457,#245a78,#142457);font-size:12px;font-weight:720}.announcement-bar>a{display:block;width:100%}.announcement-viewport{width:100%;overflow:hidden}.announcement-track{width:max-content;min-width:100%;display:flex;justify-content:center;gap:80px;white-space:nowrap}.announcement-track span:nth-child(2){display:none}.announcement-track.is-scrolling{justify-content:flex-start;gap:80px;animation:announcement-scroll 18s linear infinite}.announcement-track.is-scrolling span:nth-child(2){display:inline}@keyframes announcement-scroll{to{transform:translateX(calc(-50% - 40px))}}

.button { min-height: 46px; padding: 0 22px; border: 0; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #fff; background: var(--primary); font-weight: 750; cursor: pointer; box-shadow: 0 10px 24px rgba(36,87,245,.18); transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { background: var(--primary-dark); transform: translateY(-1px); box-shadow: 0 14px 30px rgba(36,87,245,.24); }
.button-ghost { color: var(--ink); background: transparent; border: 1px solid var(--line); box-shadow: none; }
.button-ghost:hover { color: var(--primary); background: #fff; border-color: #cfd5e3; box-shadow: none; }
.button-danger { color: #fff; background: var(--danger); box-shadow: none; }
.button-danger:hover { background: #b93636; }
.button-danger-ghost{color:var(--danger);background:#fff;border:1px solid #f0caca;box-shadow:none}.button-danger-ghost:hover{color:#fff;background:var(--danger);box-shadow:none}.table-actions{display:flex;align-items:center;gap:7px}.table-actions form{margin:0}
.button-small { min-height: 36px; padding: 0 14px; border-radius: 10px; font-size: 13px; }
.button-block { width: 100%; }
.link-button { border: 0; padding: 0; background: none; color: inherit; cursor: pointer; }
.back-link { display: inline-flex; margin-bottom: 22px; color: var(--muted); font-size: 14px; font-weight: 650; }

.hero { min-height: 580px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px; padding-block: 64px; }
.hero-copy h1 { max-width: 650px; margin: 20px 0 18px; font-size: clamp(48px,6vw,78px); line-height: 1.04; letter-spacing: -.065em; }
.hero-copy > p { max-width: 560px; margin: 0 0 28px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.hero-pill { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border: 1px solid #d7defb; border-radius: 999px; color: var(--primary); background: rgba(255,255,255,.65); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.hero-search { max-width: 590px; display: flex; gap: 8px; padding: 7px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.hero-search input { min-width: 0; flex: 1; border: 0; padding: 0 13px; background: transparent; }
.hero-search button { min-width: 82px; border: 0; border-radius: 11px; color: #fff; background: #161b27; font-weight: 750; cursor: pointer; }
.hero-actions { display: flex; gap: 12px; margin-top: 22px; }
.hero-visual { position: relative; height: 470px; overflow: hidden; border-radius: 34px; background: radial-gradient(circle at 68% 28%,rgba(124,58,237,.28),transparent 28%), radial-gradient(circle at 28% 76%,rgba(36,87,245,.35),transparent 31%), linear-gradient(145deg,#0f1420,#1b2234 55%,#10131c); box-shadow: 0 30px 80px rgba(17,24,39,.2); }
.hero-visual::before { content: ""; position: absolute; inset: 0; opacity: .27; background-image: linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size: 36px 36px; transform: perspective(500px) rotateX(62deg) scale(1.4) translateY(28%); transform-origin: bottom; }
.mesh-orb { position: absolute; border: 1px solid rgba(255,255,255,.45); border-radius: 44% 56% 51% 49% / 50% 43% 57% 50%; background: radial-gradient(circle at 35% 30%,rgba(255,255,255,.78),rgba(76,105,255,.55) 18%,rgba(82,35,180,.28) 48%,rgba(0,0,0,.12) 68%); box-shadow: inset -28px -35px 58px rgba(0,0,0,.24),0 0 70px rgba(77,101,255,.25); }
.mesh-orb-main { width: 240px; height: 240px; top: 86px; left: 105px; transform: rotate(-18deg); }
.mesh-orb-small { width: 72px; height: 72px; right: 48px; top: 54px; opacity: .8; }
.printer-plane { position: absolute; width: 280px; height: 110px; border: 1px solid rgba(111,139,255,.6); transform: skewY(-12deg) rotate(-8deg); }
.plane-one { left: 58px; bottom: 48px; }.plane-two { left: 96px; bottom: 82px; opacity: .45; }
.axis-label { position: absolute; color: rgba(255,255,255,.65); font-size: 11px; font-weight: 800; }.axis-x { bottom: 22px; left: 24px; }.axis-y { top: 22px; left: 24px; }.axis-z { bottom: 22px; right: 24px; }
.hero-data { position: absolute; right: 28px; bottom: 28px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; color: #fff; background: rgba(10,14,24,.5); backdrop-filter: blur(10px); }
.hero-data strong,.hero-data span { display:block; }.hero-data strong { font-size: 17px; }.hero-data span { margin-top: 3px; color: #b9c1d5; font-size: 11px; }

.category-strip { display: flex; gap: 10px; overflow-x: auto; padding-block: 6px 28px; scrollbar-width: none; }
.category-chip { flex: none; min-height: 38px; padding: 0 16px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #5a6274; font-size: 13px; font-weight: 700; }
.category-chip.active,.category-chip:hover { color: #fff; border-color: #171c28; background: #171c28; }
.catalog-section,.process-section { padding-block: 40px 76px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.section-heading h2 { margin: 8px 0 0; font-size: 30px; letter-spacing: -.04em; }
.section-heading.compact { align-items: center; margin-bottom: 18px; }.section-heading.compact h2 { margin: 0; font-size: 20px; }.section-heading a { color: var(--primary); font-size: 14px; font-weight: 700; }
.result-count { color: var(--muted); font-size: 13px; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.product-image-wrap { position: relative; display: block; aspect-ratio: .92; overflow: hidden; background: #edf0f6; }
.product-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.product-card:hover .product-image-wrap img { transform: scale(1.035); }
.stock-badge,.status-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.stock-badge { position: absolute; top: 12px; left: 12px; backdrop-filter: blur(8px); }
.success { color: #08764e; background: #e5f8f0; }.warning { color: #b65c08; background: #fff0df; }.info { color: #245db5; background: #e8f1ff; }.muted { color: #687084; background: #edf0f5; }
.product-card-body { padding: 17px; }
.product-category { color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.product-card h3 { margin: 8px 0 7px; font-size: 17px; letter-spacing: -.025em; }
.product-card-body > p { min-height: 38px; margin: 0 0 15px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.product-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.price-block { display: flex; align-items: baseline; gap: 7px; }.price-main { font-size: 20px; letter-spacing: -.04em; }.price-main.is-discounted{color:var(--danger);font-size:24px}.price-main small { font-size: 11px; }.price-block del { color: #9ba1ae; font-size: 11px; }.price-pending { font-size: 15px; }.lead-time { color: var(--muted); font-size: 11px; }.card-discount-time{min-height:16px;margin-top:7px;color:var(--danger);font-size:9px;font-weight:700}
.image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle,#dfe5ff,#eef1f7 70%); }.image-placeholder span { color: var(--primary); font-size: 40px; font-weight: 900; letter-spacing: -.08em; }
.process-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.process-grid article { position: relative; overflow: hidden; min-height: 190px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.process-grid article > span { color: var(--primary); font-size: 12px; font-weight: 900; letter-spacing: .12em; }.process-grid h3 { margin: 40px 0 8px; font-size: 21px; }.process-grid p { margin: 0; color: var(--muted); line-height: 1.7; font-size: 13px; }
.process-grid article::after { content: ""; position: absolute; width: 100px; height: 100px; right: -45px; top: -45px; border-radius: 50%; background: linear-gradient(135deg,rgba(36,87,245,.15),rgba(124,58,237,.12)); }
.site-footer { display: flex; justify-content: space-between; gap: 40px; padding-block: 40px 110px; border-top: 1px solid var(--line); }
.site-footer strong { font-size: 18px; }.site-footer p { color: var(--muted); font-size: 13px; }.site-footer > div:last-child { display: flex; align-items: flex-start; gap: 24px; color: var(--muted); font-size: 13px; }

.product-detail { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); gap: 64px; padding-block: 48px 130px; }
.gallery-main { overflow: hidden; aspect-ratio: 1; border-radius: 24px; background: #eaedf3; }
.gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.gallery-thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; }.gallery-thumbs button { flex: none; width: 70px; height: 70px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 11px; background: #fff; cursor: pointer; }.gallery-thumbs button.active { border-color: var(--primary); }.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.product-info-panel { padding-top: 8px; }.detail-breadcrumb { display: flex; gap: 8px; color: var(--muted); font-size: 12px; }.product-info-panel h1 { margin: 24px 0 10px; font-size: clamp(34px,4vw,54px); line-height: 1.08; letter-spacing: -.055em; }.product-lead { color: var(--muted); font-size: 16px; line-height: 1.7; }
.detail-price { display: flex; align-items: baseline; gap: 12px; margin: 28px 0 8px; }.detail-price strong { font-size: 36px; letter-spacing: -.04em; }.detail-price strong.is-discounted{color:var(--danger);font-size:42px}.detail-price strong small { font-size: 14px; }.detail-price del { color: #9ba1ae; font-size:14px; }.discount-tag { padding: 4px 8px; color: #fff; border-radius: 6px; background: var(--danger); font-size: 10px; font-weight: 800; }.discount-period,.detail-discount-countdown { color: var(--danger); font-size: 12px; }.detail-discount-countdown{margin-top:6px;font-weight:750}
.availability-card { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 28px 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }.availability-card div { display: flex; flex-direction: column; gap: 5px; }.availability-card span { color: var(--muted); font-size: 11px; }.availability-card strong { font-size: 14px; }.availability-card p { grid-column: 1/-1; margin: 6px 0 0; padding-top: 12px; border-top: 1px solid var(--line); color: var(--warning); font-size: 12px; line-height: 1.6; }
.detail-copy { padding: 22px 0; border-top: 1px solid var(--line); }.detail-copy h2 { margin: 0 0 9px; font-size: 16px; }.detail-copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.9; }.disclaimer-box { margin-top: 12px; padding: 20px; border: 1px solid #e0e3eb; border-radius: 15px; background: #f0f2f6; }
.purchase-dock { position: fixed; left: 50%; bottom: 22px; z-index: 45; width: min(calc(100% - 32px),720px); transform: translateX(-50%); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 10px 10px 20px; border: 1px solid rgba(255,255,255,.35); border-radius: 18px; background: rgba(17,24,39,.92); color: #fff; box-shadow: 0 22px 50px rgba(17,24,39,.3); backdrop-filter: blur(18px); }.purchase-dock > div { display:flex; flex-direction:column; }.purchase-dock span { color:#aeb6c7; font-size:11px; }.purchase-dock strong { font-size:20px; }.purchase-dock .button { min-width: 160px; }

.auth-page { min-height: calc(100vh - 72px); display: grid; grid-template-columns: minmax(0,500px) minmax(380px,1fr); align-items: stretch; gap: 64px; padding-block: 58px; }
.auth-panel { align-self: center; padding: 44px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow); }.auth-panel h1 { margin: 12px 0 8px; font-size: 38px; letter-spacing: -.05em; }.auth-panel > p { color: var(--muted); line-height: 1.7; }.form-stack { display: flex; flex-direction: column; gap: 16px; }.auth-panel .form-stack { margin-top: 28px; }
label > span { display:block; margin-bottom:7px; color:#4e5668; font-size:12px; font-weight:700; }.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.admin-filter-bar input,.admin-filter-bar select,.inline-action input,.points-adjust-form input,.compact-form input { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: #fff; transition: border .15s,box-shadow .15s; }.form-stack textarea,.form-grid textarea { resize: vertical; }.form-stack input:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus { border-color: #91a9fb; box-shadow: 0 0 0 4px rgba(36,87,245,.1); }.form-stack label small,.form-grid label small { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.5; }
.check-row { display:flex; align-items:flex-start; gap:9px; }.check-row input { width:17px!important; min-height:17px!important; margin-top:2px; }.check-row span { margin:0; font-weight:500; line-height:1.5; }.auth-switch { margin:20px 0 0!important; text-align:center; font-size:13px; }.auth-switch a { color:var(--primary); font-weight:750; }
.auth-art { position:relative; overflow:hidden; min-height:520px; display:flex; align-items:flex-end; padding:54px; border-radius:28px; color:#fff; background:linear-gradient(145deg,#101521,#202c4e); }.auth-art::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:32px 32px; }.auth-art strong { position:relative; z-index:2; font-size:clamp(54px,7vw,96px); line-height:.82; letter-spacing:-.08em; }.auth-orb { position:absolute; width:290px; height:290px; right:8%; top:8%; border-radius:48% 52% 61% 39%; background:radial-gradient(circle at 30% 25%,#f7f9ff,#6d79ff 20%,#5f2eae 52%,#131827 72%); box-shadow:0 0 100px rgba(88,98,255,.35); transform:rotate(24deg); }

.page-heading { padding: 44px 0 28px; }.page-heading h1 { margin: 8px 0; font-size: 38px; letter-spacing: -.05em; }.page-heading p { margin:0; color:var(--muted); }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; padding-bottom:100px; }.checkout-main { display:flex; flex-direction:column; gap:16px; }.checkout-card,.order-summary,.settings-card,.detail-list-card,.timeline-card,.order-progress-card,.support-card,.account-section,.account-menu,.points-ledger { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }.selected-product { display:grid; grid-template-columns:110px 1fr; gap:20px; }.selected-product img { width:110px; height:110px; object-fit:cover; border-radius:14px; }.selected-product h2 { margin:8px 0 5px; font-size:20px; }.selected-product p { margin:0 0 12px; color:var(--muted); font-size:12px; }.section-number { color:var(--primary); font-size:10px; font-weight:850; letter-spacing:.1em; }.quantity-row { display:flex; align-items:center; justify-content:space-between; margin:18px 0 8px; }.quantity-control { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:11px; }.quantity-control button { width:42px; height:42px; border:0; background:#f3f5f9; font-size:20px; cursor:pointer; }.quantity-control input { width:50px; height:42px; border:0; text-align:center; background:#fff; -moz-appearance:textfield; }.checkout-card > small { color:var(--muted); font-size:11px; line-height:1.5; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.form-grid .full { grid-column:1/-1; }.stock-warning { padding:18px 20px; border:1px solid #ffd8ad; border-radius:15px; color:#9e5009; background:#fff5e9; }.stock-warning p { margin:5px 0 0; font-size:12px; line-height:1.6; }.disclaimer-consent { display:flex; align-items:flex-start; gap:10px; padding:10px 4px; }.disclaimer-consent input { margin-top:3px; }.disclaimer-consent span { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }.order-summary { position:sticky; top:96px; }.order-summary h2 { margin:0 0 22px; }.order-summary dl { margin:0 0 18px; }.order-summary dl div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; color:var(--muted); font-size:12px; }.order-summary dd { margin:0; color:var(--ink); text-align:right; }.order-summary .summary-total { margin-top:8px; padding-top:18px; border-top:1px solid var(--line); }.summary-total dd { font-size:22px; font-weight:850; }.order-summary > p { color:var(--muted); font-size:10px; line-height:1.6; }

.success-page { max-width:800px; padding-block:70px 120px; text-align:center; }.success-mark { width:76px; height:76px; margin:0 auto 20px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#18ac76,#087d55); font-size:34px; box-shadow:0 18px 38px rgba(18,154,103,.24); }.success-page h1 { margin:12px 0 8px; font-size:42px; letter-spacing:-.05em; }.success-page > p { color:var(--muted); }.success-order-card { position:relative; display:grid; grid-template-columns:100px 1fr; gap:20px; margin:36px 0 24px; padding:22px; border:1px solid var(--line); border-radius:20px; background:#fff; text-align:left; }.success-order-card img { width:100px; height:100px; object-fit:cover; border-radius:13px; }.success-order-card span:first-child { color:var(--muted); font-size:11px; }.success-order-card strong { display:block; margin-top:3px; }.success-order-card h2 { margin:14px 0 5px; font-size:16px; }.success-order-card p { margin:0; color:var(--muted); font-size:12px; }.success-order-card > .status-badge { position:absolute; right:20px; top:20px; }.success-actions { display:flex; justify-content:center; gap:10px; }

.member-page { padding-bottom:120px; }.filter-tabs { display:flex; gap:8px; overflow-x:auto; margin-bottom:22px; }.filter-tabs a { flex:none; padding:9px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font-size:12px; font-weight:700; }.filter-tabs a.active { color:#fff; border-color:#171c28; background:#171c28; }.order-list { display:flex; flex-direction:column; gap:14px; }.order-card { display:block; padding:20px; border:1px solid var(--line); border-radius:17px; background:#fff; transition:box-shadow .15s; }.order-card:hover { box-shadow:var(--shadow); }.order-card-top { display:flex; justify-content:space-between; padding-bottom:15px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; }.order-card-main { display:grid; grid-template-columns:80px 1fr auto; gap:15px; align-items:center; padding-top:15px; }.order-card-main img { width:80px; height:80px; object-fit:cover; border-radius:12px; }.order-card-main h2 { margin:0 0 7px; font-size:15px; }.order-card-main p { margin:3px 0; color:var(--muted); font-size:11px; }.order-progress-card { margin-bottom:16px; }.order-progress-card h2 { margin:18px 0 8px; }.order-progress-card > p { color:var(--muted); }.progress-quantities { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; }.progress-quantities span { padding:14px; border-radius:11px; background:var(--surface-2); color:var(--muted); font-size:11px; }.progress-quantities strong { display:block; margin-top:5px; color:var(--ink); font-size:20px; }.detail-list-card,.timeline-card { margin-bottom:16px; }.detail-list-card h2,.timeline-card h2 { margin:0 0 14px; font-size:18px; }.detail-list-card dl { margin:0; }.detail-list-card dl div { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid var(--line); font-size:12px; }.detail-list-card dl div:last-child { border:0; }.detail-list-card dt { color:var(--muted); }.detail-list-card dd { margin:0; text-align:right; }.timeline-card ol { list-style:none; margin:0; padding:0; }.timeline-card li { display:grid; grid-template-columns:12px 1fr; gap:12px; min-height:58px; }.timeline-card li > span { position:relative; width:9px; height:9px; margin-top:4px; border-radius:50%; background:var(--primary); }.timeline-card li > span::after { content:""; position:absolute; top:12px; left:4px; width:1px; height:40px; background:var(--line); }.timeline-card li:last-child > span::after { display:none; }.timeline-card li div { display:flex; flex-direction:column; gap:4px; }.timeline-card strong { font-size:12px; }.timeline-card time { color:var(--muted); font-size:10px; }
.empty-card,.empty-page { padding:60px 24px; border:1px dashed #ced3de; border-radius:var(--radius); text-align:center; background:rgba(255,255,255,.55); }.empty-card h3,.empty-page h1 { margin:0 0 8px; }.empty-card p,.empty-page p { margin:0 0 20px; color:var(--muted); }.empty-code { color:var(--primary); font-size:70px; font-weight:900; letter-spacing:-.08em; }.empty-page { margin-top:70px; }

.account-hero { display:grid; grid-template-columns:70px 1fr auto; gap:18px; align-items:center; margin:34px 0 16px; padding:28px; overflow:hidden; border-radius:22px; color:#fff; background:linear-gradient(135deg,#111827,#253b73 65%,#5f35a2); }.account-avatar { width:70px; height:70px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(255,255,255,.12); font-size:26px; font-weight:850; }.account-hero span,.account-hero p { color:#cbd3e6; font-size:11px; }.account-hero h1 { margin:4px 0; font-size:24px; }.account-hero p { margin:0; }.account-hero > a { padding:9px 13px; border:1px solid rgba(255,255,255,.3); border-radius:10px; font-size:11px; }
.points-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; padding:22px 25px; border:1px solid #d9defb; border-radius:18px; background:linear-gradient(110deg,#f2f4ff,#faf8ff); }.points-banner span { color:var(--muted); font-size:11px; }.points-banner strong { display:block; margin-top:3px; color:var(--primary); font-size:30px; }.points-banner p { color:#5c6480; font-size:12px; }.points-banner b { margin-left:9px; font-size:18px; }.account-section { margin-bottom:16px; }.order-shortcuts { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.order-shortcuts a { padding:14px 8px; border-radius:12px; background:var(--surface-2); text-align:center; color:var(--muted); font-size:11px; }.order-shortcuts span { display:block; margin-bottom:6px; color:var(--ink); font-size:20px; font-weight:850; }.account-menu { margin-bottom:16px; padding-block:4px; }.account-menu a { min-height:53px; display:flex; align-items:center; gap:10px; padding:0 4px; border-bottom:1px solid var(--line); font-size:13px; }.account-menu a:last-child { border:0; }.account-menu span { flex:1; }.account-menu small { color:var(--warning); }.account-menu b { color:#a3a9b5; font-size:18px; }
.settings-card { margin-bottom:16px; }.settings-card h2 { margin:0 0 6px; font-size:18px; }.points-hero { margin:34px 0 16px; padding:32px; border-radius:22px; color:#fff; background:linear-gradient(135deg,#191f31,#2a4cb5 70%,#7c3aed); }.points-hero span { color:#cdd6f3; font-size:12px; }.points-hero strong { display:block; margin:8px 0; font-size:52px; letter-spacing:-.06em; }.points-hero p { margin:0; color:#d8def0; font-size:11px; }.maintenance-card { padding:42px 24px; border:1px solid var(--line); border-radius:18px; background:#fff; text-align:center; }.maintenance-icon { width:56px; height:56px; margin:auto; display:grid; place-items:center; border-radius:50%; color:var(--primary); background:#edf1ff; font-size:30px; }.maintenance-card h1 { margin:18px 0 8px; font-size:21px; }.maintenance-card p { margin:0; color:var(--muted); font-size:12px; }.points-ledger { margin-top:16px; }.points-ledger h2 { margin:0 0 12px; font-size:18px; }.points-ledger > div { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }.points-ledger > div:last-child { border:0; }.points-ledger span { display:flex; flex-direction:column; gap:4px; }.points-ledger strong { font-size:12px; }.points-ledger time { color:var(--muted); font-size:10px; }.points-ledger b { font-size:18px; }.positive { color:var(--success); }.negative { color:var(--danger); }
.support-card { display:grid; gap:0; }.support-card > div { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }.support-card > div:last-child { border:0; }.support-card span { color:var(--muted); font-size:12px; }.support-card strong { text-align:right; }

/* Support tickets and coupon cards */
.support-center,.ticket-detail-page,.points-store-page,.my-coupons-page{padding-bottom:110px}.support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.78fr);gap:18px;align-items:start}.ticket-create-card,.ticket-list-panel,.support-welcome{padding:26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 18px 55px rgba(35,48,80,.06)}.ticket-create-card{display:flex;flex-direction:column;gap:15px}.ticket-create-card input,.ticket-create-card select,.ticket-create-card textarea,.ticket-reply-dock textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.ticket-card-heading span,.ticket-list-heading span,.section-title-row span{color:#5f718e;font-size:9px;font-weight:850;letter-spacing:.17em}.ticket-card-heading h2,.ticket-list-heading h2{margin:5px 0;font-size:21px}.ticket-card-heading p{margin:0;color:var(--muted);font-size:11px}.ticket-image-picker small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.ticket-list-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}.ticket-list-heading b{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#eef2f7}.ticket-list-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.ticket-list-item div{display:flex;flex-direction:column;gap:5px;min-width:0}.ticket-list-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ticket-list-item small{color:var(--muted);font-size:9px}.ticket-status{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;font-size:9px;font-style:normal}.ticket-status.open{color:#125d40;background:#e8f8f0}.ticket-status.closed{color:#697386;background:#edf0f4}.empty-ticket{padding:44px 20px;text-align:center;color:var(--muted)}.empty-ticket i{display:block;margin-bottom:12px;font-size:32px;font-style:normal}.empty-ticket strong{display:block;color:var(--ink)}.empty-ticket p{font-size:11px}.support-direct{display:flex;align-items:center;gap:18px;margin-top:16px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.support-direct span{color:var(--muted);font-size:10px}.support-direct strong{margin-left:auto}.support-direct small{color:var(--muted)}.support-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px}.support-welcome span{color:var(--primary);font-size:10px;font-weight:800}.support-welcome h2{margin:6px 0}.support-welcome p{color:var(--muted)}
.ticket-detail-head{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:end;padding:32px 0 18px}.ticket-detail-head>a{grid-column:1/-1;color:var(--muted);font-size:11px}.ticket-detail-head span{color:var(--muted);font-size:10px}.ticket-detail-head h1{margin:5px 0 0;font-size:28px}.ticket-conversation{display:flex;flex-direction:column;gap:13px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#eef2f7}.ticket-message{max-width:78%;align-self:flex-start;padding:14px 16px;border-radius:5px 17px 17px 17px;background:#fff;box-shadow:0 8px 30px rgba(29,42,66,.05)}.ticket-message.mine,.ticket-message.admin{align-self:flex-end;border-radius:17px 5px 17px 17px;color:#fff;background:#1c4fd7}.ticket-message.system{max-width:90%;align-self:center;color:#546174;background:#dde5ee}.ticket-message header{display:flex;justify-content:space-between;gap:22px;margin-bottom:7px;font-size:9px}.ticket-message time{opacity:.65}.ticket-message p{margin:0;font-size:12px;line-height:1.75}.ticket-message img{display:block;max-width:280px;max-height:320px;margin-top:9px;border-radius:10px;object-fit:cover}.ticket-reply-dock{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.ticket-reply-dock>form:first-child>div{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.ticket-reply-dock label{color:var(--primary);font-size:11px;cursor:pointer}.ticket-reply-dock label input{display:none}.link-danger{margin-top:12px;border:0;background:none;color:var(--danger);font-size:10px;cursor:pointer}.ticket-closed-note{margin-top:14px;padding:18px;border-radius:15px;background:#eef1f5;color:var(--muted);text-align:center;font-size:11px}.admin-conversation{margin-top:20px;max-height:680px;overflow:auto}.admin-field-label{display:block;margin-bottom:7px;color:#4e5668;font-size:12px;font-weight:700}
.points-store-hero{display:flex;align-items:center;justify-content:space-between;margin:32px 0 28px;padding:28px 30px;border:1px solid #dbe2ea;border-radius:24px;background:linear-gradient(125deg,#fff,#edf3f8 55%,#dce7f1);box-shadow:0 20px 60px rgba(44,60,85,.09)}.points-store-hero span{color:#697a91;font-size:9px;font-weight:800;letter-spacing:.16em}.points-store-hero strong{display:block;margin:7px 0;font-size:48px}.points-store-hero p{margin:0;color:var(--muted);font-size:10px}.points-store-hero>a{padding:12px 15px;border:1px solid #ccd7e3;border-radius:12px;background:rgba(255,255,255,.7);font-size:11px}.section-title-row h1{margin:5px 0;font-size:28px}.section-title-row p{margin:0;color:var(--muted);font-size:11px}.coupon-store-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0 28px}.coupon-store-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 17px 48px rgba(32,44,72,.07)}.dynamic-coupon-card{position:relative;min-height:205px;display:flex;flex-direction:column;justify-content:center;padding:28px;color:#fff;background-repeat:no-repeat;background-size:500% auto;background-position-y:center;overflow:hidden}.dynamic-coupon-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,34,.7),rgba(5,16,34,.1) 80%);pointer-events:none}.dynamic-coupon-card>*{position:relative;z-index:1}.dynamic-coupon-card.tier-blue{background-image:url('/assets/coupon-tier-blue-sprite-v1.webp')}.dynamic-coupon-card.tier-silver{background-image:url('/assets/coupon-tier-silver-sprite-v1.webp');color:#15263e}.dynamic-coupon-card.tier-silver:after{background:linear-gradient(90deg,rgba(247,251,255,.93),rgba(225,237,248,.22) 88%)}.dynamic-coupon-card.tier-gold{background-image:url('/assets/coupon-tier-gold-sprite-v1.webp');color:#3b270b}.dynamic-coupon-card.tier-gold:after{background:linear-gradient(90deg,rgba(255,247,218,.88),rgba(98,57,4,.05) 88%)}.dynamic-coupon-card.tier-red{background-image:url('/assets/coupon-tier-red-sprite-v1.webp')}.dynamic-coupon-card.style-1{background-position-x:0}.dynamic-coupon-card.style-2{background-position-x:25%}.dynamic-coupon-card.style-3{background-position-x:50%}.dynamic-coupon-card.style-4{background-position-x:75%}.dynamic-coupon-card.style-5{background-position-x:100%}.dynamic-card-tier{margin-bottom:12px;font-size:8px;font-weight:850;letter-spacing:.18em;opacity:.75}.dynamic-coupon-card>strong{font-size:42px;line-height:1}.dynamic-coupon-card>b{margin-top:10px;font-size:14px}.dynamic-coupon-card>small{margin-top:5px;font-size:9px;opacity:.78}.dynamic-coupon-card>span{position:absolute;left:28px;bottom:18px;font-size:7px;letter-spacing:.12em;opacity:.7}.coupon-store-info{padding:18px}.coupon-store-info>p{min-height:34px;margin:0 0 14px;color:var(--muted);font-size:10px;line-height:1.6}.coupon-store-info>div{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.coupon-store-info>div span{color:var(--primary);font-size:10px}.coupon-store-info>div b{font-size:22px}.coupon-store-info small{color:var(--muted)}.coupon-tabs{display:flex;gap:8px;margin-bottom:16px}.coupon-tabs>*{padding:8px 12px;border-radius:999px;background:#edf1f5;font-size:10px}.coupon-tabs .active{color:#fff;background:#172033}.my-coupon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.my-coupon{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff}.my-coupon.used .dynamic-coupon-card,.my-coupon.expired .dynamic-coupon-card{filter:grayscale(1);opacity:.6}.my-coupon-meta{display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.my-coupon-meta time{color:var(--muted);font-size:9px}.my-coupon-meta i{padding:5px 8px;border-radius:999px;color:#176147;background:#e7f7ef;font-size:9px;font-style:normal}.my-coupon.used .my-coupon-meta i,.my-coupon.expired .my-coupon-meta i{color:#697386;background:#edf0f4}.coupon-preview-editor label{margin-top:14px}.card-style-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.card-style-picker input{display:none}.card-style-picker span{height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#f4f6f9;cursor:pointer}.card-style-picker input:checked+span{border-color:var(--primary);color:#fff;background:var(--primary)}.coupon-preview-editor .dynamic-coupon-card{min-height:290px;margin:12px 0 18px}.checkout-coupon-heading{display:flex;align-items:start;justify-content:space-between;margin:8px 0 14px}.checkout-coupon-heading h2{margin:0 0 5px;font-size:18px}.checkout-coupon-heading p{margin:0;color:var(--muted);font-size:10px}.checkout-coupon-heading a{color:var(--primary);font-size:10px}.checkout-coupon-card select{width:100%;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.checkout-coupon-card>small{display:block;margin-top:10px}.order-summary [data-summary-discount] dd{color:var(--danger);font-weight:750}

.toast-stack { position:fixed; z-index:100; top:84px; left:50%; width:min(calc(100% - 32px),520px); transform:translateX(-50%); display:flex; flex-direction:column; gap:8px; pointer-events:none; }.toast { padding:14px 17px; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:var(--shadow); font-size:13px; transition:opacity .4s,transform .4s; }.toast-success { border-color:#b9ead7; }.toast-error { color:#a42e2e; border-color:#efc2c2; }.toast-info { color:#245db5; border-color:#c9daf4; }.toast-hide { opacity:0; transform:translateY(-10px); }

/* Admin */
.admin-shell { min-height:100vh; background:#f2f4f8; }.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:60; width:244px; display:flex; flex-direction:column; padding:24px 18px; color:#d9dfeb; background:#111722; }.admin-brand { padding:0 10px 28px; color:#fff; }.admin-menu { display:flex; flex-direction:column; gap:5px; }.admin-menu a { min-height:42px; display:flex; align-items:center; padding:0 13px; border-radius:10px; color:#aeb6c5; font-size:13px; font-weight:650; }.admin-menu a.active,.admin-menu a:hover { color:#fff; background:rgba(255,255,255,.09); }.admin-sidebar-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding:16px 10px 0; border-top:1px solid rgba(255,255,255,.1); color:#aeb6c5; font-size:12px; }.admin-workspace { min-height:100vh; margin-left:244px; }.admin-topbar { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 32px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.8); backdrop-filter:blur(14px); }.admin-topbar h1 { margin:4px 0 0; font-size:26px; letter-spacing:-.04em; }.admin-menu-toggle { display:none; border:0; background:none; font-size:24px; }.admin-main { padding:28px 32px 60px; }.admin-flashes { padding:16px 32px 0; }.alert { padding:13px 15px; border-radius:11px; background:#fff; font-size:12px; }.alert-success { color:#08764e; background:#e5f8f0; }.alert-error { color:#a42e2e; background:#fdebec; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.admin-stat-grid article { min-height:130px; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; }.admin-stat-grid article > span { color:var(--muted); font-size:11px; }.admin-stat-grid strong { margin:8px 0 2px; font-size:36px; letter-spacing:-.06em; }.admin-stat-grid small { color:var(--muted); }.admin-stat-grid article.warning,.admin-stat-grid article.info,.admin-stat-grid article.success { color:var(--ink); }.admin-section { margin-top:28px; }.admin-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:15px; }.admin-section-heading h2 { margin:5px 0 0; font-size:21px; letter-spacing:-.03em; }.admin-section-heading p { margin:5px 0 0; color:var(--muted); font-size:11px; }.admin-section-heading > a { color:var(--primary); font-size:12px; font-weight:700; }
.workbench-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.workbench-card,.batch-card { padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; }.workbench-product { display:flex; align-items:center; gap:13px; }.workbench-product img { width:54px; height:54px; object-fit:cover; border-radius:11px; }.workbench-product h3 { margin:0 0 5px; font-size:15px; }.workbench-product span { color:var(--muted); font-size:10px; }.workbench-counts { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:18px 0; }.workbench-counts.two { grid-template-columns:repeat(2,1fr); }.workbench-counts div { padding:12px 9px; border-radius:10px; background:var(--surface-2); }.workbench-counts span { color:var(--muted); font-size:9px; }.workbench-counts strong { display:block; margin-top:4px; font-size:21px; }.workbench-counts div.warning,.workbench-counts div.info { color:var(--ink); }.workbench-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.inline-action { display:flex; align-items:end; gap:6px; }.inline-action label { flex:1; }.inline-action label,.inline-action input { font-size:10px; }.inline-action input { min-height:36px; margin-top:5px; }.production-card .compact-form { margin-top:18px; }
.admin-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:15px; background:#fff; }.admin-table { width:100%; border-collapse:collapse; min-width:760px; }.admin-table th { padding:13px 15px; color:var(--muted); background:#f7f8fa; text-align:left; font-size:10px; letter-spacing:.04em; }.admin-table td { padding:14px 15px; border-top:1px solid var(--line); font-size:12px; vertical-align:middle; }.admin-table td > small,.admin-table td span + small,.admin-table td strong + small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }.admin-table a strong { color:var(--primary); }.table-product { display:flex; align-items:center; gap:11px; }.table-product img { width:48px; height:48px; object-fit:cover; border-radius:9px; }.table-product div { min-width:170px; }.admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }.admin-toolbar p { color:var(--muted); font-size:12px; }
.admin-form-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:start; gap:20px; }.admin-form-main { display:flex; flex-direction:column; gap:18px; }.admin-card { padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; }.admin-card h2 { margin:0 0 16px; font-size:17px; }.admin-card-heading { margin-bottom:18px; }.admin-card-heading h2 { margin:0 0 5px; }.admin-card-heading p,.admin-card > p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }.sticky-card { position:sticky; top:20px; }.switch-row { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }.switch-row span { margin:0; }.switch-row input { width:18px; height:18px; }.sticky-card .button { margin-top:16px; }.admin-image-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }.admin-image-grid > div { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#f5f6f8; }.admin-image-grid img { width:100%; aspect-ratio:1; object-fit:cover; }.radio-cover { display:flex; align-items:center; gap:5px; padding:8px; font-size:9px; }.radio-cover input { margin:0; }.image-delete { position:absolute; top:5px; right:5px; border:0; border-radius:6px; color:#fff; background:rgba(0,0,0,.65); font-size:9px; cursor:pointer; }.upload-drop { min-height:100px; display:grid; place-items:center; border:1px dashed #bfc6d4; border-radius:12px; background:#f8f9fb; cursor:pointer; }.upload-drop input { display:none; }.upload-drop span { margin:0; color:var(--primary); }.admin-two-column { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }.simple-list > div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--line); }.simple-list > div:last-child { border:0; }.simple-list span { display:flex; flex-direction:column; gap:3px; }.simple-list small { color:var(--muted); }.batch-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.batch-head { display:flex; justify-content:space-between; gap:20px; }.batch-head span:first-child { display:flex; flex-direction:column; gap:4px; }.batch-head small { color:var(--muted); }.batch-progress { height:7px; margin:18px 0 10px; overflow:hidden; border-radius:999px; background:#e8ebf1; }.batch-progress div { height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),var(--violet)); }.batch-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.batch-numbers span { padding:9px; border-radius:8px; background:var(--surface-2); color:var(--muted); font-size:9px; }.batch-numbers b { display:block; margin-top:4px; color:var(--ink); font-size:16px; }.batch-actions { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }.batch-card footer { margin-top:14px; color:var(--muted); font-size:9px; }.admin-filter-bar { display:flex; gap:8px; margin-bottom:14px; }.admin-filter-bar input { max-width:330px; }.admin-filter-bar select { max-width:150px; }.admin-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; }.admin-detail-grid > div { display:flex; flex-direction:column; gap:18px; }.order-admin-heading { display:flex; align-items:start; justify-content:space-between; }.order-admin-heading h2 { margin:4px 0 0; font-size:24px; }.admin-product-summary { display:flex; align-items:center; gap:14px; }.admin-product-summary img { width:72px; height:72px; object-fit:cover; border-radius:12px; }.admin-product-summary h3 { margin:0 0 5px; }.admin-product-summary p { margin:0; color:var(--muted); font-size:10px; }.admin-event-list > div { display:grid; grid-template-columns:9px 1fr; gap:10px; min-height:50px; }.admin-event-list > div > span { width:8px; height:8px; margin-top:4px; border-radius:50%; background:var(--primary); }.admin-event-list p { margin:0; display:flex; flex-direction:column; gap:4px; }.admin-event-list strong { font-size:11px; }.admin-event-list small { color:var(--muted); font-size:9px; }.admin-dl { margin:0; }.admin-dl div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid var(--line); font-size:11px; }.admin-dl dt { color:var(--muted); }.admin-dl dd { margin:0; text-align:right; }.admin-order-actions { display:flex; flex-direction:column; gap:9px; margin-top:18px; }.points-adjust-form { display:grid; grid-template-columns:110px 160px auto; gap:5px; }.points-adjust-form input { min-height:34px; padding:7px 9px; font-size:10px; }
.admin-auth-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 20% 20%,#283866,#121722 45%); }.admin-login-card { width:min(100%,430px); padding:38px; border:1px solid rgba(255,255,255,.15); border-radius:22px; background:rgba(255,255,255,.96); box-shadow:0 30px 80px rgba(0,0,0,.3); }.admin-login-brand { display:flex; align-items:center; gap:12px; }.admin-login-brand strong,.admin-login-brand small { display:block; }.admin-login-brand small { margin-top:3px; color:var(--muted); font-size:8px; letter-spacing:.1em; }.admin-login-card h1 { margin:34px 0 6px; font-size:30px; letter-spacing:-.04em; }.admin-login-card > p { margin:0 0 24px; color:var(--muted); font-size:12px; }
.inventory-inline { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }.admin-password-card { width:min(100%,900px); margin-top:20px; }

@media (max-width: 980px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero { gap:36px; }.hero-visual { height:420px; }.mesh-orb-main { left:55px; }
  .product-detail { gap:36px; grid-template-columns:1fr 1fr; }
  .admin-sidebar { transform:translateX(-100%); transition:transform .2s; }.admin-sidebar.open { transform:translateX(0); }.admin-workspace { margin-left:0; }.admin-menu-toggle { display:block; }.admin-topbar { justify-content:flex-start; }.admin-topbar > a { margin-left:auto; }
  .admin-stat-grid { grid-template-columns:repeat(2,1fr); }.admin-detail-grid,.admin-form-layout { grid-template-columns:1fr; }.admin-form-sidebar { order:-1; }.sticky-card { position:static; }.admin-form-sidebar .sticky-card { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.admin-form-sidebar .sticky-card h2,.admin-form-sidebar .sticky-card p { grid-column:1/-1; }
}

@media (max-width: 720px) {
  body.store-shell { padding-bottom:74px; }.site-header { height:62px; }.desktop-nav { display:none; }.header-inner { width:calc(100% - 28px); }.brand-mark { width:34px; height:34px; }.brand { font-size:14px; }
  .bottom-nav { position:fixed; inset:auto 0 0; z-index:55; height:68px; display:grid; grid-template-columns:repeat(4,1fr); padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); border-top:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(16px); }.bottom-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#838a98; font-size:9px; font-weight:700; }.bottom-nav a span { font-size:19px; line-height:1; }.bottom-nav a.active { color:var(--primary); }
  .container { width:min(calc(100% - 24px),var(--container)); }.hero { min-height:auto; display:block; padding-block:36px 28px; }.hero-copy h1 { max-width:360px; margin-top:16px; font-size:43px; }.hero-copy > p { font-size:14px; line-height:1.7; }.hero-search { padding:5px; }.hero-search input { min-height:42px; font-size:13px; }.hero-search button { min-width:66px; }.hero-actions .button { min-height:43px; padding:0 16px; font-size:12px; }.hero-visual { height:270px; margin-top:30px; border-radius:22px; }.mesh-orb-main { width:150px; height:150px; top:48px; left:calc(50% - 75px); }.mesh-orb-small { width:48px; height:48px; right:30px; top:27px; }.printer-plane { width:190px; height:70px; left:calc(50% - 95px); }.plane-one { bottom:30px; }.plane-two { bottom:52px; }.hero-data { right:15px; bottom:15px; padding:10px 12px; }.hero-data strong { font-size:14px; }
  .category-strip { width:100%; padding-left:12px; padding-right:12px; }.catalog-section,.process-section { padding-block:24px 50px; }.section-heading h2 { font-size:24px; }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.product-card { border-radius:15px; }.product-image-wrap { aspect-ratio:.9; }.stock-badge { top:8px; left:8px; min-height:22px; padding:0 7px; font-size:9px; }.product-card-body { padding:12px; }.product-card h3 { font-size:14px; }.product-card-body > p { display:-webkit-box; min-height:34px; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:10px; }.price-main { font-size:17px; }.lead-time { font-size:9px; }.process-grid { grid-template-columns:1fr; gap:10px; }.process-grid article { min-height:150px; padding:22px; }.process-grid h3 { margin-top:28px; }.site-footer { display:block; padding-bottom:50px; }.site-footer > div:last-child { margin-top:20px; flex-wrap:wrap; }
  .product-detail { display:block; padding-block:14px 125px; }.gallery-main { border-radius:18px; }.product-info-panel { padding:24px 4px 0; }.product-info-panel h1 { font-size:34px; }.detail-price strong { font-size:30px; }.purchase-dock { bottom:78px; width:calc(100% - 20px); padding:8px 8px 8px 16px; border-radius:15px; }.purchase-dock .button { min-width:138px; min-height:44px; }.availability-card { grid-template-columns:1fr 1fr; }
  .auth-page { min-height:auto; display:block; padding-block:24px 90px; }.auth-panel { padding:26px 20px; border-radius:19px; }.auth-panel h1 { font-size:31px; }.auth-art { display:none; }
  .page-heading { padding:26px 0 20px; }.page-heading h1 { font-size:30px; }.checkout-layout { display:block; padding-bottom:90px; }.checkout-card,.order-summary,.settings-card,.detail-list-card,.timeline-card,.order-progress-card,.support-card,.account-section,.account-menu,.points-ledger { padding:18px; border-radius:15px; }.selected-product { grid-template-columns:82px 1fr; gap:14px; }.selected-product img { width:82px; height:82px; }.selected-product h2 { font-size:16px; }.form-grid { grid-template-columns:1fr; }.form-grid .full { grid-column:auto; }.order-summary { position:static; margin-top:16px; }.success-page { padding-block:45px 100px; }.success-page h1 { font-size:34px; }.success-order-card { grid-template-columns:78px 1fr; gap:13px; padding:16px; }.success-order-card img { width:78px; height:78px; }.success-order-card > .status-badge { position:static; grid-column:1/-1; width:max-content; }.success-actions { flex-direction:column; }
  .order-card { padding:15px; }.order-card-main { grid-template-columns:65px 1fr; }.order-card-main img { width:65px; height:65px; }.order-card-main > strong { grid-column:2; }.progress-quantities { gap:6px; }.progress-quantities span { padding:10px; }.account-hero { grid-template-columns:58px 1fr; padding:20px; }.account-avatar { width:58px; height:58px; }.account-hero > a { grid-column:1/-1; text-align:center; }.points-banner { padding:18px; }.points-banner p { max-width:150px; text-align:right; }.order-shortcuts { gap:5px; }.order-shortcuts a { padding:11px 4px; font-size:9px; }.order-shortcuts span { font-size:17px; }.points-hero { margin-top:24px; }
  .admin-main { padding:20px 14px 50px; }.admin-topbar { min-height:78px; padding:14px; }.admin-topbar h1 { font-size:20px; }.admin-topbar .eyebrow { display:none; }.admin-flashes { padding:12px 14px 0; }.admin-stat-grid { gap:9px; }.admin-stat-grid article { min-height:105px; padding:14px; }.admin-stat-grid strong { font-size:29px; }.workbench-grid,.batch-list,.admin-two-column { grid-template-columns:1fr; }.workbench-actions { grid-template-columns:1fr; }.admin-section-heading { align-items:start; }.admin-image-grid { grid-template-columns:repeat(2,1fr); }.admin-form-sidebar .sticky-card { display:block; }.admin-filter-bar { flex-wrap:wrap; }.admin-filter-bar input { max-width:none; flex:1 1 100%; }.admin-detail-grid { grid-template-columns:1fr; }.batch-actions { align-items:stretch; flex-direction:column; }.batch-actions .inline-action { width:100%; }.points-adjust-form { grid-template-columns:1fr; min-width:270px; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
.invite-account-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0;padding:18px 20px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#251d63,#7a4cff);box-shadow:0 14px 35px rgba(76,51,190,.22)}.invite-account-banner strong{font-size:14px}.invite-page{padding-top:32px;padding-bottom:100px}.invite-hero{padding:44px;border-radius:32px;background:linear-gradient(135deg,#17163a,#4c35cf 62%,#9b5cff);color:#fff;overflow:hidden;position:relative}.invite-hero h1{font-size:clamp(34px,6vw,64px);line-height:1.08;margin:12px 0 18px}.invite-hero h1 em{color:#ffdf70;font-style:normal}.invite-hero>p{max-width:720px;color:#dedaff;line-height:1.8}.invite-stats{display:flex;gap:12px;margin-top:28px}.invite-stats>div{min-width:150px;padding:14px 18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);border-radius:16px}.invite-stats span,.invite-stats strong{display:block}.invite-stats span{font-size:12px;color:#d5d0ff}.invite-stats strong{margin-top:5px;font-size:22px}.invite-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;margin-top:24px}.share-card-panel,.invite-link-card,.invite-rules,.referral-list{background:#fff;border:1px solid #ececf4;border-radius:24px;padding:24px}.share-card-preview{max-width:390px;margin:auto;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(23,22,58,.2)}.share-card-preview canvas{display:block;width:100%;height:auto}.share-card-tip{text-align:center;color:#666b7a}.share-actions{display:flex;justify-content:center;gap:10px}.invite-side{display:grid;gap:18px;align-content:start}.invite-link-card p{padding:12px;background:#f5f4fb;border-radius:12px;word-break:break-all;font-size:13px}.invite-link-card>div{display:flex;gap:8px}.invite-rules ol{list-style:none;padding:0}.invite-rules li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #eee}.invite-rules li>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eeeaff;color:#5b43d6}.invite-rules strong,.invite-rules small{display:block}.invite-rules small{color:#818492;margin-top:4px}.referral-list{margin-top:24px}.referral-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #eee}.referral-row>div{flex:1}.referral-row small{display:block;color:#888}.referral-row>b{color:#2e9b65}.account-avatar.small{width:38px;height:38px}.invite-registration{display:grid;gap:4px;padding:14px 16px;margin:14px 0;background:#f1efff;border:1px solid #ddd7ff;border-radius:14px;color:#342879}.invite-registration small{color:#756da0}.payment-confirm-form{display:grid;gap:10px;padding:16px;margin:18px 0;background:#f3f8ff;border:1px solid #dce9ff;border-radius:14px}.payment-confirm-form label span,.payment-confirm-form small{display:block}.payment-confirm-form input{width:100%;margin-top:6px}.accounting-stats{grid-template-columns:repeat(5,minmax(150px,1fr))}.positive{color:#15945f}.negative{color:#d34a4a}
@media(max-width:800px){.invite-hero{padding:28px 22px}.invite-hero h1{font-size:38px}.invite-stats{display:grid;grid-template-columns:1fr 1fr}.invite-stats>div{min-width:0}.invite-stats>div:first-child{grid-column:1/-1}.invite-grid{grid-template-columns:1fr}.share-card-panel{padding:16px}.share-actions{display:grid}.accounting-stats{grid-template-columns:1fr 1fr}}

/* Brand mascot and restrained motion system */
.brand-mark{object-fit:contain;background:none;box-shadow:0 9px 22px rgba(45,63,195,.22)}
.mascot-stage{isolation:isolate;background:linear-gradient(145deg,#0d1325 0%,#171a3f 52%,#28205d 100%)}
.mascot-stage::before{opacity:.16;background-size:32px 32px;transform:perspective(520px) rotateX(65deg) scale(1.45) translateY(31%)}
.pixel-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,rgba(117,134,255,.15) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(117,134,255,.12) 50%,transparent 50.5%);background-size:96px 96px;mask-image:linear-gradient(to bottom,transparent,#000 45%,#000)}
.mascot-halo{position:absolute;z-index:-1;width:310px;height:310px;left:50%;top:44%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(73,112,255,.4),rgba(111,65,236,.15) 48%,transparent 72%);filter:blur(8px);animation:halo-breathe 4.8s ease-in-out infinite}
.hero-mascot{position:absolute;z-index:2;width:310px;height:auto;left:50%;top:49%;transform:translate(-50%,-50%);filter:drop-shadow(0 24px 26px rgba(0,0,0,.34));animation:mascot-float 5.2s ease-in-out infinite}
.mascot-message{position:absolute;z-index:3;left:24px;top:24px;display:flex;gap:10px;align-items:center;padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#fff;background:rgba(13,19,37,.58);backdrop-filter:blur(12px)}
.mascot-message strong,.mascot-message small{display:block}.mascot-message strong{font-size:12px}.mascot-message small{margin-top:3px;color:#aeb8d8;font-size:9px}.status-dot{width:8px;height:8px;border-radius:2px;background:#61e9b3;box-shadow:0 0 14px #61e9b3;animation:status-pulse 2.2s ease-in-out infinite}
.pixel-spark{position:absolute;z-index:1;width:9px;height:9px;background:#63e8ff;box-shadow:14px 8px 0 #7c61ff,-8px 21px 0 #ff9364;animation:pixel-drift 4s ease-in-out infinite}.spark-one{right:55px;top:72px}.spark-two{left:55px;bottom:115px;animation-delay:-1.3s;transform:scale(.7)}.spark-three{right:90px;bottom:120px;animation-delay:-2.6s;transform:scale(.55)}
.mascot-stage .hero-data{z-index:4;left:24px;right:auto;bottom:24px}.mascot-stage .hero-data strong{font-size:12px;letter-spacing:.12em}.mascot-stage .hero-data span{font-size:9px}
.motion-enter{animation:enter-up .65s cubic-bezier(.2,.75,.25,1) both}.hero-visual.motion-enter{animation-delay:.12s}.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1)}.reveal-on-scroll.is-visible{opacity:1;transform:none}
.product-card{will-change:transform}.product-card:focus-within{transform:translateY(-4px);box-shadow:var(--shadow)}
@keyframes enter-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes mascot-float{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 9px))}}@keyframes halo-breathe{0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}@keyframes status-pulse{50%{opacity:.5;box-shadow:0 0 5px #61e9b3}}@keyframes pixel-drift{0%,100%{translate:0 0;opacity:.55}50%{translate:0 -10px;opacity:1}}
@media(max-width:720px){.mascot-stage{height:310px;margin-top:28px}.hero-mascot{width:220px;top:51%}.mascot-halo{width:220px;height:220px}.mascot-message{left:14px;top:14px}.mascot-stage .hero-data{left:14px;bottom:14px}.pixel-spark.spark-one{right:28px;top:52px}.pixel-spark.spark-three{right:40px;bottom:75px}}
@media(prefers-reduced-motion:reduce){.motion-enter,.hero-mascot,.mascot-halo,.status-dot,.pixel-spark{animation:none!important}.reveal-on-scroll{opacity:1;transform:none}}

/* Compact hero and persistent mascot service entrance */
.hero{min-height:540px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:70px;padding-block:66px 50px}.hero-copy{max-width:690px}.hero-copy h1{max-width:680px}.hero-copy>p{max-width:600px}.hero-side{position:relative;min-height:400px;display:grid;align-content:center;padding:32px 0}.hero-side::before{content:"";position:absolute;inset:4% 0 4% 15%;border-left:1px solid #dfe3ec;background:radial-gradient(circle at 80% 20%,rgba(78,73,255,.09),transparent 30%),radial-gradient(circle at 30% 80%,rgba(36,87,245,.08),transparent 35%);pointer-events:none}.hero-side-word{position:absolute;z-index:-1;right:0;top:12px;display:grid;color:transparent;font-size:clamp(72px,8vw,118px);font-weight:950;line-height:.72;letter-spacing:-.08em;-webkit-text-stroke:1px #dfe3ed;opacity:.72}.hero-side-word span:nth-child(2){translate:-34px 0}.hero-side-word span:nth-child(3){translate:12px 0}.hero-mini-flow{position:relative;z-index:2;width:min(100%,390px);margin:62px 0 0 auto;padding:0;list-style:none}.hero-mini-flow li{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #dde1ea}.hero-mini-flow li:last-child{border-bottom:0}.hero-mini-flow>b{}.hero-mini-flow li>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:#171c2b;font-size:11px}.hero-mini-flow strong,.hero-mini-flow small{display:block}.hero-mini-flow strong{font-size:15px}.hero-mini-flow small{margin-top:4px;color:var(--muted);font-size:10px}.hero-side-caption{position:relative;z-index:2;width:min(100%,390px);display:flex;justify-content:space-between;gap:12px;margin:18px 0 0 auto;padding-top:13px;border-top:2px solid #171c2b}.hero-side-caption span{color:var(--primary);font-size:9px;font-weight:850;letter-spacing:.12em}.hero-side-caption b{font-size:10px}
.floating-service{position:fixed;z-index:60;right:max(20px,env(safe-area-inset-right));bottom:28px;width:148px;height:64px;display:flex;align-items:center;padding:0 68px 0 16px;border:1px solid rgba(255,255,255,.18);border-radius:20px;color:#fff;background:linear-gradient(145deg,#111831,#173f59);box-shadow:0 18px 42px rgba(27,45,62,.3);transition:transform .2s ease,box-shadow .2s ease}.floating-service:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(27,45,62,.38)}.floating-service-label{position:static;display:block;width:auto;color:#fff;font-size:12px;font-weight:780;opacity:1;transform:none;white-space:nowrap}.floating-service-mascot{position:absolute;right:-2px;bottom:-1px;width:72px;height:88px;overflow:visible}.floating-service-mascot img{position:absolute;width:67px;max-width:none;height:auto;right:2px;bottom:-3px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));animation:service-float 4.8s ease-in-out infinite}.floating-service-dot{position:absolute;right:5px;top:5px;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#38d991;box-shadow:0 0 12px rgba(56,217,145,.8)}
.promotion-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.promotion-product-grid label{position:relative;cursor:pointer}.promotion-product-grid input{position:absolute;top:10px;right:10px;z-index:2;width:18px;height:18px}.promotion-product-grid label>span{min-height:80px;display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}.promotion-product-grid input:checked+span{border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,87,245,.1)}.promotion-product-grid img{width:54px;height:54px;object-fit:cover;border-radius:9px}.promotion-product-grid b,.promotion-product-grid small{display:block}.promotion-product-grid b{padding-right:22px;font-size:12px}.promotion-product-grid small{margin-top:4px;color:var(--muted);font-size:9px}
@keyframes service-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:980px){.hero{grid-template-columns:minmax(0,1fr) 340px;gap:34px}.hero-side-word{font-size:76px}.hero-mini-flow{margin-top:50px}}
@media(max-width:720px){.hero{min-height:auto;display:block;padding-block:36px 22px}.hero-side{display:none}.category-strip{padding-top:12px}.floating-service{right:14px;bottom:82px;width:66px;height:66px;padding:0;border-radius:21px}.floating-service.above-purchase{bottom:144px}.floating-service-mascot{right:-1px;bottom:0;width:67px;height:82px}.floating-service-mascot img{width:62px;right:2px;bottom:-3px}.floating-service-label{display:none}.floating-service-dot{width:11px;height:11px;border-width:2px}.promotion-product-grid{grid-template-columns:1fr}.announcement-bar{min-height:34px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.floating-service-mascot img{animation:none!important}}
.upload-drop{padding:18px;gap:10px}.upload-drop>small{color:var(--muted);font-size:11px;text-align:center}.upload-drop>small.error{color:var(--danger)}.upload-preview{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.upload-preview:empty{display:none}.upload-preview span{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff!important;color:var(--ink)!important}.upload-preview img{width:100%;aspect-ratio:1;object-fit:cover}.upload-preview b{display:block;overflow:hidden;padding:6px;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.switch-row span small{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:400}.global-policy-note{padding:12px;border-radius:10px;color:#51458c;background:#f0edff;font-size:11px}
@media(max-width:720px){.upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Centered flowing-sand hero */
.hero.hero-flow{isolation:isolate;position:relative;min-height:540px;display:grid;grid-template-columns:1fr;place-items:center;gap:0;margin-top:30px;margin-bottom:30px;padding:72px 40px;overflow:hidden;border:1px solid #dce3eb;border-radius:32px;color:var(--ink);background:linear-gradient(135deg,#fbfcfd 0%,#edf1f5 38%,#dfe8ee 70%,#f7f9fb 100%);box-shadow:0 28px 75px rgba(49,65,85,.12)}
.hero.hero-flow::before{content:"";position:absolute;z-index:-3;inset:-35%;background:conic-gradient(from 120deg at 50% 50%,rgba(255,255,255,.86),transparent 18%,rgba(145,179,199,.24) 38%,transparent 58%,rgba(209,221,230,.48) 76%,transparent);animation:sand-turn 24s linear infinite}
.hero.hero-flow::after{content:"";position:absolute;z-index:-2;inset:0;opacity:.42;background-image:linear-gradient(rgba(88,112,132,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(88,112,132,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 32%,#000 72%,transparent)}
.hero-flow .hero-sand{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.hero-flow .hero-sand span{position:absolute;display:block;width:120%;height:65%;left:-10%;border-radius:50%;filter:blur(1px);transform-origin:center;background:linear-gradient(90deg,transparent,rgba(163,184,199,.24),rgba(255,255,255,.68),transparent);border-top:1px solid rgba(255,255,255,.9);box-shadow:0 -18px 45px rgba(255,255,255,.35)}.hero-flow .hero-sand span:nth-child(1){top:-28%;rotate:-7deg;animation:sand-wave-one 13s ease-in-out infinite}.hero-flow .hero-sand span:nth-child(2){right:-14%;bottom:-35%;left:auto;rotate:9deg;background:linear-gradient(90deg,transparent,rgba(185,204,215,.15),rgba(130,169,190,.23),rgba(255,255,255,.5),transparent);animation:sand-wave-two 16s ease-in-out infinite}.hero-flow .hero-sand span:nth-child(3){width:78%;height:36%;left:12%;top:38%;opacity:.72;rotate:-4deg;background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),rgba(158,190,206,.17),transparent);animation:sand-wave-three 11s ease-in-out infinite}
.hero-flow .hero-copy{position:relative;z-index:2;width:min(100%,940px);max-width:none;margin:auto;text-align:center}.hero-flow .hero-pill{color:#315f83;border-color:#cbd8e2;background:rgba(255,255,255,.58);backdrop-filter:blur(10px)}.hero-flow .hero-copy h1{max-width:940px;margin:22px auto 18px;color:#111827;font-size:clamp(52px,6.4vw,82px);line-height:1.03;text-wrap:balance;text-shadow:0 8px 28px rgba(255,255,255,.8)}.hero-flow .hero-copy>p{max-width:720px;margin:0 auto 30px;color:#5e6b7c;font-size:17px}.hero-flow .hero-search{max-width:720px;margin:auto;border-color:rgba(185,198,210,.9);background:rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(50,70,88,.14);backdrop-filter:blur(14px)}.hero-flow .hero-search button{min-width:96px;background:linear-gradient(135deg,#2457f5,#2c7ba0)}.hero-flow .hero-actions{justify-content:center;margin-top:20px}.hero-flow .hero-actions .button{background:linear-gradient(135deg,#2457f5,#2b75a0);box-shadow:0 12px 28px rgba(36,87,245,.22)}.hero-flow .hero-actions .button-ghost{color:#29384a;border-color:#cbd5df;background:rgba(255,255,255,.52);box-shadow:none}.hero-flow .hero-actions .button-ghost:hover{color:#153f63;background:rgba(255,255,255,.88)}
.hero-flow+.category-strip{padding-top:10px}
@keyframes sand-turn{to{transform:rotate(360deg)}}@keyframes sand-wave-one{0%,100%{transform:translate3d(-3%,0,0) scale(1)}50%{transform:translate3d(5%,10%,0) scale(1.08)}}@keyframes sand-wave-two{0%,100%{transform:translate3d(3%,0,0) scale(1.06)}50%{transform:translate3d(-6%,-9%,0) scale(.98)}}@keyframes sand-wave-three{0%,100%{transform:translate3d(-4%,-3%,0) scale(1)}50%{transform:translate3d(8%,8%,0) scale(1.12)}}
@media(max-width:720px){.hero.hero-flow{min-height:500px;margin-top:14px;margin-bottom:18px;padding:54px 20px;border-radius:24px}.hero-flow .hero-copy h1{max-width:330px;font-size:44px}.hero-flow .hero-copy>p{font-size:14px}.hero-flow .hero-search{width:100%}.hero-flow .hero-actions{flex-wrap:wrap}.hero-flow .hero-sand span{width:165%;left:-32%}}
@media(prefers-reduced-motion:reduce){.hero.hero-flow::before,.hero-flow .hero-sand span{animation:none!important}}

/* Checkout scheduling, campus delivery and service documents */
.delivery-scheduler{overflow:hidden}.scheduler-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.scheduler-heading h2,.contact-card-heading h2{margin:7px 0 0;font-size:20px;letter-spacing:-.03em}.scheduler-result{flex:none;padding:8px 12px;border-radius:10px;color:#2457f5;background:#edf3ff;font-size:11px;font-weight:800}.scheduler-grid{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:18px;border:1px solid #e5e9f0;border-radius:15px;background:#f7f9fc}.delivery-date-control>span,.delivery-time-control>span{display:block;margin-bottom:9px;color:#60697a;font-size:11px;font-weight:750}.delivery-date-control input{width:100%;height:54px;padding:0 13px;border:1px solid #dce2eb;border-radius:12px;color:#182132;background:#fff;font-size:15px;font-weight:750}.time-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-slot-grid button{height:42px;border:1px solid #dce2eb;border-radius:10px;color:#485368;background:#fff;font-size:12px;font-weight:750;cursor:pointer;transition:.15s}.time-slot-grid button:hover:not(:disabled){border-color:#8ba8ff;color:#2457f5}.time-slot-grid button.active{color:#fff;border-color:#2457f5;background:#2457f5;box-shadow:0 8px 18px rgba(36,87,245,.2)}.time-slot-grid button:disabled{opacity:.3;cursor:not-allowed}.scheduler-notice{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:14px;padding:12px 14px;border-radius:11px;color:#687084;background:#f1f3f7;font-size:10px;line-height:1.65}.scheduler-notice b{color:#334155}.contact-card-heading{padding-bottom:4px}.contact-card-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.contact-card textarea{min-height:104px}.disclaimer-consent{padding:16px 18px;border:1px solid #dce2eb;border-radius:14px;background:#fff}.disclaimer-consent a,.policy-inline-links a{color:#2457f5;font-weight:750;text-decoration:underline;text-underline-offset:3px}.policy-inline-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px;padding-top:14px;border-top:1px solid #daddE5;font-size:11px}.policy-page{padding-bottom:110px}.policy-intro{margin-bottom:18px;padding:20px 22px;border-left:4px solid #2457f5;border-radius:0 14px 14px 0;color:#354052;background:#edf3ff;font-size:14px;line-height:1.85}.policy-document{padding:10px 30px;border:1px solid var(--line);border-radius:20px;background:#fff}.policy-document section{padding:24px 0;border-bottom:1px solid var(--line)}.policy-document section:last-child{border-bottom:0}.policy-document h2{margin:0 0 10px;font-size:17px}.policy-document p{margin:0;color:#566174;font-size:13px;line-height:2;text-align:justify}.policy-footer-note{margin-top:16px;padding:16px 18px;border-radius:12px;color:#6b7280;background:#eef0f4;font-size:11px;line-height:1.75}
@media(max-width:720px){.scheduler-heading{display:block}.scheduler-result{display:inline-block;margin-top:12px}.scheduler-grid{grid-template-columns:1fr;padding:14px}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scheduler-notice{grid-template-columns:1fr}.policy-document{padding:4px 18px}.policy-document section{padding:20px 0}.policy-document p{text-align:left}.policy-inline-links{display:grid;gap:10px}}
@media(max-width:720px){.scheduler-heading{display:block}.scheduler-result{display:inline-block;margin-top:12px}.scheduler-grid{grid-template-columns:1fr;padding:14px}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scheduler-notice{grid-template-columns:1fr}.policy-document{padding:4px 18px}.policy-document section{padding:20px 0}.policy-document p{text-align:left}.policy-inline-links{display:grid;gap:10px}.support-grid,.coupon-store-list,.my-coupon-list{grid-template-columns:1fr}.support-welcome{align-items:flex-start;flex-direction:column}.support-direct{align-items:flex-start;flex-direction:column;gap:6px}.support-direct strong{margin-left:0}.ticket-create-card,.ticket-list-panel{padding:18px}.ticket-conversation{padding:14px}.ticket-message{max-width:90%}.ticket-message img{max-width:100%}.points-store-hero{padding:22px}.points-store-hero strong{font-size:40px}.dynamic-coupon-card{min-height:190px}.coupon-preview-editor .dynamic-coupon-card{min-height:260px}}
