:root {
  --bg: #050505;
  --panel: rgba(18, 18, 20, .78);
  --panel-strong: #101012;
  --text: #f7f7f8;
  --muted: #8d8d96;
  --line: rgba(255,255,255,.08);
  --accent: #9dff4f;
  --accent-soft: rgba(157,255,79,.15);
  --purple: #815cff;
  --danger: #ff5e6c;
  --safe-bottom: max(18px, env(safe-area-inset-bottom));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-height: 100vh; overflow-x: hidden; background: radial-gradient(circle at 15% 0%, #171721 0, transparent 31%), var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, textarea { font: inherit; }
button { color: inherit; }
.hidden { display: none !important; }
.no-scroll { overflow: hidden; }
.glass { background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(0,0,0,.25); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.noise { position: fixed; inset: 0; z-index: -1; pointer-events:none; opacity:.035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.ambient { position: fixed; width: 260px; height: 260px; border-radius: 50%; filter: blur(90px); opacity: .16; z-index:-2; animation: drift 8s ease-in-out infinite alternate; }
.ambient-one { background: var(--purple); top: -70px; right: -100px; }
.ambient-two { background: var(--accent); bottom: 10%; left: -170px; animation-delay:-4s; }
@keyframes drift { to { transform: translate3d(20px, 40px, 0) scale(1.15); } }
.app-shell { width: min(760px, 100%); margin: 0 auto; padding: 14px 14px 118px; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding: 10px 12px; border-radius: 20px; position: sticky; top: 8px; z-index: 10; }
.brand-wrap { display:flex; gap:10px; align-items:center; }
.brand-mark { width:43px; height:43px; display:grid; place-items:center; border-radius:14px; background: var(--accent); color:#050505; font-weight:1000; box-shadow:0 0 35px rgba(157,255,79,.28); transform: rotate(-5deg); }
.brand-mark span { transform:rotate(5deg); }
.eyebrow, .section-heading span, .sheet-title span, .modal-head span, .result-modal>span { font-size:9px; letter-spacing:.22em; color:var(--muted); font-weight:800; }
h1 { margin:1px 0 0; font-size:18px; letter-spacing:.07em; }
.icon-button { width:42px; height:42px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.04); cursor:pointer; font-size:21px; }
.hero { min-height: 315px; margin-top:14px; border-radius:28px; padding:24px 20px; overflow:hidden; position:relative; display:flex; align-items:center; }
.hero-copy { position:relative; z-index:2; width:72%; }
.hero-badge { display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(157,255,79,.22); background:var(--accent-soft); color:#d9ffc0; padding:7px 10px; border-radius:999px; font-size:10px; font-weight:700; }
.dot { width:6px; height:6px; background:var(--accent); border-radius:50%; box-shadow:0 0 12px var(--accent); animation:pulse 1.4s infinite; }
@keyframes pulse { 50% { transform:scale(1.6); opacity:.5; } }
.hero h2 { margin:18px 0 12px; font-size: clamp(31px, 8vw, 52px); line-height:.95; letter-spacing:-.055em; }
.hero h2 span { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.54); }
.hero p { margin:0 0 20px; max-width:370px; color:#b2b2b9; font-size:13px; line-height:1.55; }
.primary-button { border:0; border-radius:15px; padding:13px 17px; background:var(--accent); color:#080909; font-weight:900; cursor:pointer; box-shadow:0 12px 30px rgba(157,255,79,.14); transition:transform .18s ease, box-shadow .18s ease; }
.primary-button:active { transform:scale(.97); }
.primary-button span { margin-left:12px; }
.hero-visual { position:absolute; inset:0; pointer-events:none; }
.orb { position:absolute; border-radius:50%; filter:blur(2px); }
.orb-a { width:190px; height:190px; right:-70px; top:10px; background:radial-gradient(circle at 30% 30%, #ad92ff, #3b1fa5 45%, transparent 70%); opacity:.5; }
.orb-b { width:110px; height:110px; right:40px; bottom:-50px; background:radial-gradient(circle, var(--accent), transparent 70%); opacity:.25; }
.device-card { position:absolute; background:linear-gradient(145deg,#26262d,#09090b); border:1px solid rgba(255,255,255,.13); box-shadow:0 24px 60px rgba(0,0,0,.6); }
.keyboard { width:185px; height:72px; right:-33px; bottom:48px; border-radius:15px; transform:rotate(-17deg); display:grid; grid-template-columns:repeat(4,1fr); gap:7px; padding:10px; }
.keyboard i { display:block; border-radius:4px; background:linear-gradient(145deg,#3a3a43,#17171c); border:1px solid rgba(255,255,255,.06); }
.keyboard i:nth-child(3n) { box-shadow:inset 0 -2px 0 var(--purple); }
.mouse { width:55px; height:86px; right:24px; top:72px; border-radius:28px 28px 22px 22px; transform:rotate(18deg); }
.mouse:before { content:""; position:absolute; top:13px; left:50%; width:1px; height:25px; background:rgba(255,255,255,.2); }
.mouse span { position:absolute; top:10px; left:50%; width:7px; height:14px; transform:translateX(-50%); border-radius:5px; background:var(--accent); box-shadow:0 0 14px var(--accent); }
.benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:10px 0 30px; }
.benefit { min-width:0; padding:12px 10px; border-radius:18px; display:flex; align-items:center; gap:8px; }
.benefit>b { width:31px; height:31px; flex:0 0 31px; border-radius:10px; background:rgba(255,255,255,.06); display:grid; place-items:center; font-size:12px; color:var(--accent); }
.benefit span { display:flex; flex-direction:column; min-width:0; }
.benefit strong { font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.benefit small { color:var(--muted); font-size:8px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.catalog-section { scroll-margin-top:84px; }
.section-heading, .sheet-title, .modal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.section-heading h3, .sheet-title h3, .modal-head h3 { margin:3px 0 0; font-size:24px; }
.search-wrap input { width:100%; border:1px solid var(--line); background:#111114; color:var(--text); border-radius:16px; padding:14px; outline:none; margin-bottom:11px; }
.search-wrap input:focus { border-color:rgba(157,255,79,.45); box-shadow:0 0 0 3px rgba(157,255,79,.07); }
.category-row { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:1px 0 13px; }
.category-row::-webkit-scrollbar { display:none; }
.category-chip { flex:0 0 auto; border:1px solid var(--line); background:#0d0d0f; border-radius:999px; padding:9px 12px; color:#aaaab2; cursor:pointer; font-size:11px; font-weight:750; }
.category-chip.active { color:#0a0a0a; background:var(--accent); border-color:var(--accent); }
.product-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.product-card { min-width:0; border:1px solid var(--line); background:linear-gradient(155deg,rgba(255,255,255,.065),rgba(255,255,255,.018)); border-radius:22px; overflow:hidden; position:relative; animation:rise .45s both; }
@keyframes rise { from { opacity:0; transform:translateY(14px); } }
.product-image { height:145px; display:grid; place-items:center; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 30%,rgba(129,92,255,.28),transparent 55%), #0b0b0e; }
.product-image:before { content:""; width:80px; height:80px; border:1px solid rgba(255,255,255,.08); border-radius:26px; transform:rotate(20deg); box-shadow:inset 0 0 28px rgba(157,255,79,.04),0 25px 40px rgba(0,0,0,.35); }
.product-image span { position:absolute; font-size:38px; filter:drop-shadow(0 10px 20px rgba(0,0,0,.7)); }
.stock-pill { position:absolute; top:9px; left:9px; padding:5px 7px; border-radius:999px; font-size:8px; font-weight:800; background:rgba(0,0,0,.55); border:1px solid var(--line); }
.product-body { padding:12px; }
.product-brand { color:var(--accent); font-size:8px; letter-spacing:.14em; font-weight:900; }
.product-name { margin:5px 0 10px; min-height:34px; font-size:13px; line-height:1.28; }
.price-row { display:flex; justify-content:space-between; align-items:flex-end; gap:6px; }
.price-stack { min-width:0; display:flex; flex-direction:column; }
.price-stack b { font-size:14px; white-space:nowrap; }
.price-stack small { color:var(--muted); margin-top:2px; font-size:9px; }
.add-button { width:35px; height:35px; border:0; border-radius:12px; background:var(--accent); color:#030403; font-size:21px; font-weight:700; cursor:pointer; flex:0 0 auto; }
.skeleton { height:230px; border-radius:22px; background:linear-gradient(100deg,#0e0e11 20%,#18181d 40%,#0e0e11 60%); background-size:200% 100%; animation:shine 1.2s infinite; }
@keyframes shine { to { background-position-x:-200%; } }
.empty-state, .cart-empty { color:var(--muted); text-align:center; padding:44px 15px; }
.bottom-nav { position:fixed; z-index:25; bottom:var(--safe-bottom); left:50%; transform:translateX(-50%); width:min(580px,calc(100% - 24px)); height:68px; border-radius:22px; display:grid; grid-template-columns:1fr 1fr 64px 1fr 1fr; align-items:center; padding:5px 8px; }
.nav-item { border:0; background:transparent; color:#777780; display:flex; flex-direction:column; align-items:center; gap:2px; cursor:pointer; }
.nav-item span { font-size:19px; }
.nav-item small { font-size:8px; }
.nav-item.active { color:var(--text); }
.cart-nav { align-self:center; justify-self:center; width:58px; height:58px; margin-top:-27px; border-radius:19px; border:5px solid var(--bg); background:var(--accent); color:#060706; cursor:pointer; position:relative; font-size:19px; box-shadow:0 12px 27px rgba(157,255,79,.23); }
.cart-nav b { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; border-radius:999px; padding:0 4px; background:var(--purple); color:white; display:grid; place-items:center; font-size:9px; border:2px solid var(--bg); }
.overlay { position:fixed; inset:0; z-index:40; background:rgba(0,0,0,.72); backdrop-filter:blur(7px); }
.sheet { position:fixed; z-index:45; left:50%; bottom:0; width:min(760px,100%); max-height:88vh; overflow-y:auto; transform:translate(-50%,105%); transition:transform .28s cubic-bezier(.2,.8,.2,1); background:#0b0b0e; border:1px solid var(--line); border-bottom:0; border-radius:28px 28px 0 0; padding:10px 16px calc(20px + env(safe-area-inset-bottom)); }
.sheet.open { transform:translate(-50%,0); }
.sheet-handle { width:42px; height:4px; background:#2d2d34; border-radius:4px; margin:1px auto 16px; }
.cart-items { display:flex; flex-direction:column; gap:8px; }
.cart-line { display:grid; grid-template-columns:52px 1fr auto; gap:10px; align-items:center; padding:9px; background:#111114; border:1px solid var(--line); border-radius:17px; }
.cart-thumb { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:radial-gradient(circle,rgba(129,92,255,.25),#09090c); font-size:22px; }
.cart-line h4 { margin:0 0 5px; font-size:11px; }
.cart-line small { color:var(--muted); font-size:9px; }
.qty { display:flex; align-items:center; gap:8px; }
.qty button { width:27px; height:27px; border-radius:9px; border:1px solid var(--line); background:#1a1a1f; cursor:pointer; }
.qty b { font-size:11px; }
.cart-summary { margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.cart-summary>div { display:flex; justify-content:space-between; margin:7px 2px; font-size:12px; }
.cart-summary .total { margin-top:15px; align-items:flex-end; }
.cart-summary .total span { font-size:17px; font-weight:800; }
.cart-summary strong, .checkout-total strong { display:flex; flex-direction:column; text-align:right; }
.cart-summary strong small, .checkout-total small { color:var(--muted); margin-top:2px; font-size:10px; }
.full { width:100%; margin-top:14px; min-height:49px; }
.modal { position:fixed; z-index:50; left:50%; top:50%; transform:translate(-50%,-50%); width:min(560px,calc(100% - 24px)); max-height:90vh; overflow-y:auto; border:1px solid var(--line); border-radius:26px; background:#0b0b0e; padding:18px; box-shadow:0 35px 100px rgba(0,0,0,.75); animation:modalIn .22s both; }
@keyframes modalIn { from { opacity:0; transform:translate(-50%,-46%) scale(.97); } }
#checkoutForm { display:flex; flex-direction:column; gap:11px; }
#checkoutForm>label, .conditional label { display:flex; flex-direction:column; gap:6px; color:#b9b9c0; font-size:10px; font-weight:700; }
input, textarea { border:1px solid var(--line); border-radius:14px; background:#121216; color:var(--text); outline:none; padding:12px; }
textarea { min-height:72px; resize:vertical; }
input:focus, textarea:focus { border-color:rgba(157,255,79,.4); }
.option-title { margin-top:4px; font-size:11px; font-weight:850; }
.option-grid { display:grid; gap:7px; }
.option-grid.two { grid-template-columns:1fr 1fr; }
.select-card { cursor:pointer; }
.select-card input { display:none; }
.select-card span { display:flex; flex-direction:column; padding:12px; border:1px solid var(--line); border-radius:15px; background:#111114; transition:.15s ease; }
.select-card b { font-size:11px; }
.select-card small { margin-top:3px; color:var(--muted); font-size:8px; }
.select-card input:checked+span { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); background:var(--accent-soft); }
.conditional { display:flex; flex-direction:column; gap:9px; }
.checkout-total { display:flex; justify-content:space-between; align-items:flex-end; margin-top:4px; padding:13px; border-radius:16px; background:linear-gradient(135deg,var(--accent-soft),rgba(129,92,255,.09)); border:1px solid rgba(157,255,79,.15); }
.checkout-total>span { font-size:12px; }
.checkout-total b { font-size:17px; }
.result-modal { text-align:center; }
.result-icon { width:70px; height:70px; border-radius:24px; margin:3px auto 15px; display:grid; place-items:center; color:#050505; background:var(--accent); font-size:32px; font-weight:900; box-shadow:0 0 45px rgba(157,255,79,.22); }
.result-modal h3 { margin:5px 0; font-size:25px; }
.result-modal p { color:#aaaab2; line-height:1.55; font-size:12px; }
.admin-links { display:flex; flex-direction:column; gap:7px; margin:12px 0; }
.admin-link { display:block; border:1px solid var(--line); background:#141418; border-radius:14px; padding:12px; color:var(--text); text-decoration:none; font-size:12px; font-weight:800; }
.dashboard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dashboard-card { border:1px solid var(--line); background:#121216; border-radius:16px; padding:14px 10px; }
.dashboard-card small { color:var(--muted); display:block; font-size:8px; }
.dashboard-card b { display:block; font-size:24px; margin-top:5px; }
.toast { position:fixed; z-index:100; left:50%; bottom:105px; transform:translate(-50%,20px); opacity:0; pointer-events:none; max-width:calc(100% - 30px); background:#efeff1; color:#09090a; border-radius:13px; padding:10px 14px; font-size:11px; font-weight:800; transition:.2s ease; }
.toast.show { opacity:1; transform:translate(-50%,0); }
@media (min-width:620px) {
  .product-grid { grid-template-columns:repeat(3,1fr); }
  .product-image { height:170px; }
  .hero-copy { width:62%; }
}
@media (max-width:360px) {
  .hero { min-height:300px; }
  .hero-copy { width:78%; }
  .hero h2 { font-size:29px; }
  .benefit { padding:10px 7px; }
  .benefit>b { display:none; }
}

/* v0.2 — TechnoShop TJ, localization, product details, filters and favorites */
.top-actions, .catalog-actions { display:flex; align-items:center; gap:7px; }
.language-button { min-width:42px; height:42px; padding:0 10px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--text); font-size:10px; font-weight:900; cursor:pointer; }
.hero h2 strong { font:inherit; color:var(--text); }
.primary-button > span { margin-left:0; }
.primary-button > b { margin-left:12px; }
.icon-button.active { color:#080909; border-color:var(--accent); background:var(--accent); }
.product-card { cursor:pointer; }
.product-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; transition:transform .35s ease; }
.product-card:hover .product-image img { transform:scale(1.035); }
.product-image .stock-pill, .product-image .featured-pill, .product-image .favorite-button { z-index:3; }
.featured-pill { position:absolute; bottom:9px; left:9px; padding:5px 7px; border-radius:999px; font-size:8px; font-weight:900; color:#090a08; background:var(--accent); }
.favorite-button { position:absolute; top:9px; right:9px; width:31px; height:31px; border-radius:11px; border:1px solid var(--line); color:#fff; background:rgba(0,0,0,.58); backdrop-filter:blur(10px); font-size:17px; cursor:pointer; }
.favorite-button.active { color:#ff6d86; border-color:rgba(255,109,134,.35); }
.add-button:disabled, .primary-button:disabled { opacity:.45; cursor:not-allowed; }
.active-filters { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; margin:0 0 10px; }
.active-filters::-webkit-scrollbar { display:none; }
.active-filters span { flex:0 0 auto; border:1px solid rgba(157,255,79,.2); background:var(--accent-soft); color:#dfffc8; border-radius:999px; padding:6px 9px; font-size:8px; font-weight:750; }
.product-modal { padding-bottom:20px; }
.detail-image { height:260px; display:grid; place-items:center; overflow:hidden; border-radius:20px; background:radial-gradient(circle at 50% 30%,rgba(129,92,255,.25),transparent 55%),#09090c; border:1px solid var(--line); }
.detail-image img { width:100%; height:100%; object-fit:cover; }
.detail-image span { font-size:64px; }
.detail-meta { display:flex; justify-content:space-between; gap:10px; margin:12px 2px 0; color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.08em; }
.detail-meta span:last-child { color:var(--muted); letter-spacing:0; }
.detail-description { margin:12px 2px; color:#b8b8c0; font-size:12px; line-height:1.55; }
.spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.spec-grid>div { min-width:0; padding:11px; border-radius:14px; border:1px solid var(--line); background:#111114; display:flex; flex-direction:column; gap:4px; }
.spec-grid small { color:var(--muted); font-size:8px; }
.spec-grid b { overflow:hidden; text-overflow:ellipsis; font-size:11px; }
.detail-buy { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; margin-top:15px; }
.detail-buy .primary-button { min-height:44px; }
.secondary-button { min-height:44px; padding:0 15px; border-radius:14px; border:1px solid var(--line); background:#151519; color:var(--text); font-weight:850; cursor:pointer; }
.secondary-button.active { color:#ff6d86; border-color:rgba(255,109,134,.35); }
.filter-section { margin:14px 0; }
select { width:100%; border:1px solid var(--line); border-radius:14px; background:#121216; color:var(--text); outline:none; padding:12px; }
.brand-filter-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-top:8px; }
.brand-check input { display:none; }
.brand-check span { display:block; padding:10px; border:1px solid var(--line); border-radius:13px; background:#111114; font-size:10px; text-align:center; cursor:pointer; }
.brand-check input:checked+span { color:#080909; background:var(--accent); border-color:var(--accent); font-weight:900; }
.filter-switches { display:flex; flex-direction:column; gap:8px; }
.filter-switches label { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid var(--line); border-radius:14px; background:#111114; font-size:11px; }
.filter-switches input { accent-color:var(--accent); }
.filter-footer { display:grid; grid-template-columns:1fr 1.4fr; gap:8px; margin-top:18px; }
.language-grid { display:grid; gap:8px; }
.language-card { display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:15px; border:1px solid var(--line); border-radius:16px; background:#111114; color:var(--text); cursor:pointer; }
.language-card b { font-size:13px; }
.language-card small { color:var(--muted); font-size:9px; }
.pickup-info { padding:11px; border:1px solid var(--line); border-radius:14px; background:#111114; color:#c5c5cb; font-size:10px; line-height:1.5; }
.pickup-info small { color:var(--muted); }
.cart-thumb img { width:100%; height:100%; object-fit:cover; border-radius:14px; }
@media (max-width:390px) {
  .catalog-actions { gap:4px; }
  .catalog-actions .icon-button { width:38px; height:38px; }
  .detail-buy { grid-template-columns:1fr auto; }
  .detail-buy .price-stack { grid-column:1/-1; }
}

/* v0.3 — customer profile, saved addresses, order history and status tracking */
.profile-hero { display:flex; align-items:center; gap:12px; padding:13px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,var(--accent-soft),rgba(129,92,255,.08)); }
.profile-avatar { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; border-radius:17px; background:var(--accent); color:#060706; font-size:22px; font-weight:950; box-shadow:0 0 25px rgba(157,255,79,.16); }
.profile-hero>div:last-child { min-width:0; display:flex; flex-direction:column; gap:4px; }
.profile-hero b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.profile-hero small { color:var(--muted); font-size:10px; }
.profile-form { display:flex; flex-direction:column; gap:10px; margin-top:13px; }
.profile-form>label { display:flex; flex-direction:column; gap:6px; color:#b9b9c0; font-size:10px; font-weight:700; }
.profile-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin:22px 0 10px; }
.profile-section-head span { color:var(--muted); font-size:8px; letter-spacing:.18em; font-weight:850; }
.profile-section-head h4 { margin:3px 0 0; font-size:17px; }
.secondary-button.compact { min-height:36px; padding:0 12px; font-size:10px; }
.addresses-list, .orders-list { display:flex; flex-direction:column; gap:8px; }
.address-card { padding:12px; border:1px solid var(--line); border-radius:17px; background:#111114; }
.address-card.default { border-color:rgba(157,255,79,.28); background:linear-gradient(135deg,var(--accent-soft),#111114 62%); }
.address-main>div { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.address-main b { font-size:12px; }
.address-main span { padding:4px 6px; border-radius:999px; color:#080909; background:var(--accent); font-size:7px; font-weight:900; }
.address-main p { margin:7px 0 3px; color:#d0d0d5; font-size:10px; line-height:1.45; }
.address-main small { color:var(--muted); font-size:9px; }
.address-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.address-actions button { border:1px solid var(--line); border-radius:10px; background:#19191e; color:#d7d7dc; padding:7px 9px; font-size:8px; font-weight:800; cursor:pointer; }
.address-actions button.danger { color:#ff8c96; border-color:rgba(255,94,108,.18); }
.default-check { flex-direction:row !important; align-items:center; gap:9px !important; padding:11px; border:1px solid var(--line); border-radius:14px; background:#111114; }
.default-check input { accent-color:var(--accent); }
.compact-empty { padding:28px 12px; border:1px dashed var(--line); border-radius:16px; color:var(--muted); text-align:center; font-size:10px; }
.order-card { padding:13px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); cursor:pointer; transition:transform .15s ease,border-color .15s ease; }
.order-card:active { transform:scale(.985); border-color:rgba(157,255,79,.25); }
.order-card-head, .order-card-foot { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.order-card-head>div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.order-card-head b { font-size:13px; }
.order-card-head small { color:var(--muted); font-size:8px; }
.order-card p { margin:11px 0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#b6b6be; font-size:10px; }
.order-card-foot { align-items:flex-end; color:var(--muted); font-size:9px; }
.order-card-foot strong, .order-summary-panel strong { display:flex; flex-direction:column; align-items:flex-end; color:var(--text); font-size:14px; }
.order-card-foot strong small, .order-summary-panel strong small { margin-top:2px; color:var(--muted); font-size:8px; font-weight:500; }
.status-badge { display:inline-flex; align-items:center; justify-content:center; max-width:48%; border:1px solid rgba(255,255,255,.09); border-radius:999px; padding:6px 8px; background:#17171b; color:#d4d4da; font-size:7px; font-weight:900; text-align:center; }
.status-paid, .status-completed, .status-ready { color:#dfffc7; border-color:rgba(157,255,79,.22); background:var(--accent-soft); }
.status-cancelled { color:#ff9ba4; border-color:rgba(255,94,108,.22); background:rgba(255,94,108,.08); }
.status-delivering, .status-processing { color:#cbbfff; border-color:rgba(129,92,255,.25); background:rgba(129,92,255,.1); }
.order-summary-panel { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,var(--accent-soft),rgba(129,92,255,.08)); }
.order-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:10px; }
.order-info-grid>div { min-width:0; display:flex; flex-direction:column; gap:5px; padding:11px; border:1px solid var(--line); border-radius:14px; background:#111114; }
.order-info-grid small { color:var(--muted); font-size:8px; }
.order-info-grid b { overflow-wrap:anywhere; font-size:10px; line-height:1.4; }
.detail-section-title { margin:18px 2px 9px; font-size:12px; }
.order-items-detail { display:flex; flex-direction:column; gap:7px; }
.order-items-detail>div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px; border:1px solid var(--line); border-radius:14px; background:#111114; }
.order-items-detail span { min-width:0; display:flex; flex-direction:column; gap:4px; }
.order-items-detail b { font-size:10px; }
.order-items-detail small { color:var(--muted); font-size:8px; }
.order-items-detail strong { flex:0 0 auto; font-size:10px; }
.status-timeline { margin-left:5px; }
.timeline-row { min-height:48px; display:grid; grid-template-columns:16px 1fr; gap:10px; position:relative; }
.timeline-row:after { content:""; position:absolute; left:5px; top:16px; bottom:-2px; width:1px; background:#2e2e35; }
.timeline-row:last-child:after { display:none; }
.timeline-row i { width:11px; height:11px; margin-top:2px; border:2px solid #46464f; border-radius:50%; background:#0b0b0e; z-index:1; }
.timeline-row.current i { border-color:var(--accent); background:var(--accent); box-shadow:0 0 16px rgba(157,255,79,.28); }
.timeline-row span { display:flex; flex-direction:column; gap:4px; }
.timeline-row b { font-size:10px; }
.timeline-row small { color:var(--muted); font-size:8px; }
#savedAddressWrap select { margin-top:0; }
@media (max-width:360px) {
  .order-info-grid { grid-template-columns:1fr; }
  .status-badge { max-width:52%; }
}

/* v0.4 — managed banners and private catalog administration */
.banner-section { margin:16px 0 5px; }
.banner-rail { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:22px; }
.banner-rail::-webkit-scrollbar { display:none; }
.store-banner { flex:0 0 100%; min-height:178px; scroll-snap-align:start; display:flex; align-items:flex-end; padding:20px; border:1px solid var(--line); border-radius:22px; background:radial-gradient(circle at 88% 20%,rgba(129,92,255,.28),transparent 42%),linear-gradient(135deg,#101014,#08080a); background-size:cover; background-position:center; overflow:hidden; }
.store-banner>div { max-width:78%; }
.store-banner small { color:var(--accent); font-size:8px; letter-spacing:.2em; font-weight:900; }
.store-banner h3 { margin:7px 0 5px; font-size:21px; line-height:1.08; }
.store-banner p { margin:0 0 13px; color:#b7b7bf; font-size:10px; line-height:1.45; }
.banner-button { border:1px solid rgba(157,255,79,.24); border-radius:12px; background:var(--accent); color:#070807; padding:10px 12px; font-size:9px; font-weight:900; cursor:pointer; }
.banner-dots { display:flex; justify-content:center; gap:5px; margin-top:8px; }
.banner-dots i { width:5px; height:5px; border-radius:99px; background:#34343b; transition:width .2s ease,background .2s ease; }
.banner-dots i.active { width:18px; background:var(--accent); }
.staff-modal { width:min(760px,calc(100% - 20px)); max-height:92vh; overflow-y:auto; }
.admin-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; padding:5px; border:1px solid var(--line); border-radius:15px; background:#0d0d10; }
.admin-tabs button { min-width:0; border:0; border-radius:10px; background:transparent; color:var(--muted); padding:9px 4px; font-size:8px; font-weight:850; cursor:pointer; }
.admin-tabs button.active { background:var(--accent); color:#080908; }
.admin-hint { margin:10px 2px 14px; color:var(--muted); font-size:8px; }
.admin-dashboard { grid-template-columns:repeat(3,1fr); }
.dashboard-card.warning b { color:#ffc56d; }
.dashboard-card.muted { opacity:.65; }
.admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.admin-toolbar h4 { margin:0; font-size:17px; }
.primary-button.compact { min-height:36px; padding:0 12px; border-radius:12px; font-size:9px; }
.admin-list { display:flex; flex-direction:column; gap:7px; }
.admin-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:16px; background:#111114; }
.admin-row.inactive { opacity:.58; }
.admin-thumb { width:48px; height:48px; display:grid; place-items:center; overflow:hidden; border-radius:13px; background:#09090c; border:1px solid var(--line); font-size:18px; }
.admin-thumb.wide { width:60px; }
.admin-thumb img { width:100%; height:100%; object-fit:cover; }
.admin-row-main { min-width:0; display:flex; flex-direction:column; gap:4px; }
.admin-row-main>div { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.admin-row-main b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.admin-row-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:8px; }
.admin-row-main strong { color:var(--accent); font-size:9px; }
.admin-status { padding:3px 5px; border-radius:99px; background:rgba(255,94,108,.1); color:#ff9ba4; font-size:6px; font-weight:900; }
.admin-status.on { background:var(--accent-soft); color:#dfffc7; }
.admin-row-actions { display:flex; align-items:flex-end; gap:4px; }
.admin-row-actions button { width:30px; height:30px; border:1px solid var(--line); border-radius:9px; background:#19191e; color:#e2e2e6; cursor:pointer; }
.admin-row-actions button.danger { color:#ff909b; }
.stock-control { display:flex; flex-direction:column; gap:3px; color:var(--muted); font-size:6px; }
.stock-control input { width:54px; height:30px; padding:5px; border:1px solid var(--line); border-radius:9px; background:#0c0c0f; color:var(--text); }
.admin-simple-row { grid-template-columns:42px minmax(0,1fr) auto; }
.admin-category-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#18181c; font-size:20px; }
.admin-banner-row { grid-template-columns:60px minmax(0,1fr) auto; }
.admin-editor-head { display:flex; align-items:center; gap:12px; margin-bottom:15px; }
.admin-editor-head h4 { margin:0; font-size:17px; }
.admin-form { display:flex; flex-direction:column; gap:11px; }
.admin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.admin-form label { min-width:0; display:flex; flex-direction:column; gap:6px; color:#bcbcc3; font-size:8px; font-weight:750; }
.admin-form input,.admin-form textarea,.admin-form select { width:100%; border:1px solid var(--line); border-radius:12px; background:#111114; color:var(--text); padding:11px; outline:none; font:inherit; }
.admin-form textarea { min-height:92px; resize:vertical; line-height:1.45; }
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus { border-color:rgba(157,255,79,.38); }
.admin-file input { padding:8px; }
.admin-checks { display:flex; flex-wrap:wrap; gap:8px; }
.admin-check { flex-direction:row !important; align-items:center; padding:11px; border:1px solid var(--line); border-radius:12px; background:#111114; }
.admin-check input { width:auto; accent-color:var(--accent); }
@media (max-width:520px) {
  .admin-dashboard { grid-template-columns:repeat(2,1fr); }
  .admin-tabs { grid-template-columns:repeat(2,1fr); }
  .admin-form-grid { grid-template-columns:1fr; }
  .admin-row { grid-template-columns:42px minmax(0,1fr); }
  .admin-thumb { width:42px; height:42px; }
  .admin-row-actions { grid-column:1/-1; justify-content:flex-end; }
  .admin-banner-row,.admin-simple-row { grid-template-columns:42px minmax(0,1fr); }
  .store-banner>div { max-width:92%; }
}

/* v0.5 — order operations, team permissions, audit and support */
.support-entry { margin-bottom:-8px; }
.support-toolbar { display:flex; justify-content:flex-end; margin-bottom:10px; }
.support-list, .support-chat, .audit-list { display:flex; flex-direction:column; gap:8px; }
.support-ticket-card { display:grid; grid-template-columns:1fr auto; gap:8px; padding:13px; border:1px solid var(--line); border-radius:17px; background:#111114; cursor:pointer; }
.support-ticket-card>div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.support-ticket-card b { font-size:12px; }
.support-ticket-card small { color:var(--muted); font-size:8px; }
.support-ticket-card p { grid-column:1/-1; margin:3px 0 0; color:#b7b7bf; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.support-open { color:#dfffc7; border-color:rgba(157,255,79,.22); background:var(--accent-soft); }
.support-answered { color:#cbbfff; border-color:rgba(129,92,255,.25); background:rgba(129,92,255,.1); }
.support-closed { color:#999; }
.support-message { max-width:88%; padding:10px 12px; border:1px solid var(--line); border-radius:15px; background:#151519; }
.support-message.customer { align-self:flex-end; background:rgba(157,255,79,.08); border-color:rgba(157,255,79,.18); }
.support-message.staff { align-self:flex-start; background:rgba(129,92,255,.1); border-color:rgba(129,92,255,.2); }
.support-message small { color:var(--muted); font-size:7px; }
.support-message p { margin:6px 0 0; white-space:pre-wrap; word-break:break-word; font-size:10px; line-height:1.5; }
.support-reply-form { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:12px; }
.support-reply-form textarea { min-height:72px; }
.support-reply-form .primary-button { align-self:stretch; }
.admin-order-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:13px; border:1px solid var(--line); border-radius:17px; background:#111114; cursor:pointer; }
.admin-order-row>div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.admin-order-row b { font-size:12px; }
.admin-order-row small { color:var(--muted); font-size:8px; }
.admin-order-row p { margin:3px 0 0; color:#aaaab2; font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-order-row>strong { grid-column:2; display:flex; flex-direction:column; align-items:flex-end; font-size:12px; }
.admin-order-row>strong small { font-size:7px; font-weight:500; }
.order-info-grid .wide { grid-column:1/-1; }
.compact-form { display:grid; grid-template-columns:1fr auto; align-items:end; margin-top:12px; }
.payment-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; }
.danger-text { color:#ff8c96; border-color:rgba(255,94,108,.2); }
.permission-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:8px 0 14px; }
.permission-grid .admin-check { margin:0; }
.audit-row { padding:12px; border:1px solid var(--line); border-radius:15px; background:#111114; }
.audit-row>div { display:flex; justify-content:space-between; gap:8px; }
.audit-row b { font-size:10px; }
.audit-row small, .audit-row>span { color:var(--muted); font-size:8px; }
.audit-row pre { margin:8px 0 0; white-space:pre-wrap; word-break:break-word; color:#bcbcc4; font-size:8px; font-family:inherit; }
.admin-editor-head>div { min-width:0; }
.admin-editor-head>div small { color:var(--muted); font-size:8px; }
@media (max-width:390px) {
  .permission-grid { grid-template-columns:1fr; }
  .support-reply-form, .compact-form { grid-template-columns:1fr; }
}

/* v0.6 — TON Connect and automatic USDT payment */
.select-card.disabled { opacity:.42; filter:grayscale(.7); cursor:not-allowed; }
.select-card.disabled input { pointer-events:none; }
.payment-modal { width:min(520px,calc(100% - 20px)); max-height:92vh; overflow-y:auto; }
.payment-hero { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px; border:1px solid rgba(157,255,79,.18); border-radius:19px; background:radial-gradient(circle at 88% 10%,rgba(157,255,79,.12),transparent 40%),#111114; }
.payment-token { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(145deg,#9dff4f,#51d9a5); color:#071007; font-size:24px; font-weight:950; box-shadow:0 10px 25px rgba(157,255,79,.12); }
.payment-hero>div:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:3px; }
.payment-hero small { color:var(--muted); font-size:7px; letter-spacing:.13em; }
.payment-hero b { font-size:12px; }
.payment-hero>strong { display:flex; flex-direction:column; align-items:flex-end; color:#efffe3; font-size:16px; white-space:nowrap; }
.payment-details { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:11px 0; }
.payment-details>div { min-width:0; display:flex; flex-direction:column; gap:5px; padding:11px; border:1px solid var(--line); border-radius:14px; background:#0f0f12; }
.payment-details .wide { grid-column:1/-1; }
.payment-details span { color:var(--muted); font-size:7px; }
.payment-details b,.payment-details code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#ededf0; font-size:9px; font-family:inherit; }
.ton-connect-root { min-height:42px; display:flex; justify-content:center; margin:10px 0; }
.ton-connect-root>div { width:100%; }
.payment-status-box { display:grid; grid-template-columns:10px 1fr; gap:10px; align-items:center; margin:10px 0; padding:12px; border:1px solid var(--line); border-radius:15px; background:#111114; }
.payment-status-box i { width:9px; height:9px; border-radius:50%; background:#707079; box-shadow:0 0 0 5px rgba(112,112,121,.08); }
.payment-status-box span { min-width:0; display:flex; flex-direction:column; gap:4px; }
.payment-status-box b { font-size:10px; }
.payment-status-box small { color:var(--muted); font-size:8px; line-height:1.4; }
.payment-status-box.connected i { background:#9dff4f; box-shadow:0 0 0 5px rgba(157,255,79,.09); }
.payment-status-box.submitted i,.payment-status-box.checking i { background:#ffc56d; box-shadow:0 0 0 5px rgba(255,197,109,.09); animation:paymentPulse 1.2s infinite; }
.payment-status-box.confirmed { border-color:rgba(157,255,79,.24); background:rgba(157,255,79,.07); }
.payment-status-box.confirmed i { background:#9dff4f; box-shadow:0 0 0 5px rgba(157,255,79,.11); }
.payment-status-box.failed,.payment-status-box.expired { border-color:rgba(255,94,108,.23); background:rgba(255,94,108,.06); }
.payment-status-box.failed i,.payment-status-box.expired i { background:#ff6f7d; box-shadow:0 0 0 5px rgba(255,94,108,.09); }
.payment-modal .secondary-button.full { margin-top:8px; }
.payment-warning { margin:11px 3px 0; color:#777780; font-size:7px; line-height:1.5; text-align:center; }
.ton-order-panel,.admin-ton-payment { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; margin:10px 0; padding:11px; border:1px solid rgba(68,171,255,.2); border-radius:16px; background:rgba(68,171,255,.06); }
.ton-order-panel>span,.admin-ton-payment>span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#1d8ee5; color:white; font-size:19px; font-weight:900; }
.ton-order-panel>div,.admin-ton-payment>div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.ton-order-panel b,.admin-ton-payment b { font-size:10px; }
.ton-order-panel small,.admin-ton-payment small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:7px; }
.ton-order-panel.confirmed,.admin-ton-payment.confirmed { border-color:rgba(157,255,79,.22); background:rgba(157,255,79,.06); }
.ton-order-panel.confirmed>span,.admin-ton-payment.confirmed>span { background:#78d72e; color:#071007; }
.ton-order-panel.expired,.admin-ton-payment.expired,.admin-ton-payment.failed { border-color:rgba(255,94,108,.22); background:rgba(255,94,108,.05); }
.ton-order-panel.expired>span,.admin-ton-payment.expired>span,.admin-ton-payment.failed>span { background:#b33b48; }
@keyframes paymentPulse { 50% { opacity:.45; transform:scale(.78); } }
@media (max-width:390px) {
  .payment-hero { grid-template-columns:42px 1fr; }
  .payment-token { width:42px; height:42px; }
  .payment-hero>strong { grid-column:1/-1; align-items:flex-start; }
  .payment-details { grid-template-columns:1fr; }
  .payment-details .wide { grid-column:auto; }
  .ton-order-panel,.admin-ton-payment { grid-template-columns:36px minmax(0,1fr); }
  .ton-order-panel button { grid-column:1/-1; width:100%; }
}


/* v0.7 — manual payments, managers, requisites and private receipts */
.manual-payment-modal { width:min(560px,calc(100% - 20px)); max-height:92vh; overflow-y:auto; }
.manual-payment-hero { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px; border:1px solid rgba(129,92,255,.2); border-radius:19px; background:radial-gradient(circle at 88% 10%,rgba(129,92,255,.15),transparent 42%),#111114; }
.manual-payment-hero>div:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:3px; }
.manual-payment-hero small { color:var(--muted); font-size:7px; letter-spacing:.13em; }
.manual-payment-hero b { font-size:12px; }
.manual-payment-hero>strong { font-size:15px; text-align:right; white-space:nowrap; }
.manual-provider-icon,.manual-profile-provider { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(145deg,#7d5cff,#ca70ff); color:#fff; font-size:14px; font-weight:950; box-shadow:0 10px 25px rgba(129,92,255,.16); }
.manual-manager-list { display:flex; flex-direction:column; gap:8px; }
.manual-manager-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px; border:1px solid var(--line); border-radius:16px; background:#111114; }
.manual-manager-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#1a1a20; }
.manual-manager-card>div:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:4px; }
.manual-manager-card b { font-size:10px; }
.manual-manager-card small { color:var(--muted); font-size:7px; }
.manual-selected-manager { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; margin:10px 0; padding:12px; border:1px solid rgba(157,255,79,.18); border-radius:16px; background:rgba(157,255,79,.06); }
.manual-selected-manager>span { grid-column:1/-1; color:var(--muted); font-size:7px; }
.manual-selected-manager>div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.manual-selected-manager b { font-size:11px; }
.manual-selected-manager small { color:var(--muted); font-size:8px; }
.manual-selected-manager a { text-decoration:none; }
.manual-requisites { display:flex; flex-direction:column; gap:8px; margin:10px 0; padding:12px; border:1px solid rgba(255,197,109,.2); border-radius:16px; background:rgba(255,197,109,.06); }
.manual-requisites>div:not(.option-title) { display:grid; grid-template-columns:1fr auto; gap:6px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line); }
.manual-requisites span { color:var(--muted); font-size:7px; }
.manual-requisites b,.manual-requisites code { grid-column:1; color:#f0f0f2; font:inherit; font-size:10px; word-break:break-word; }
.manual-requisites p { margin:2px 0 0; color:#bdbdc5; font-size:9px; line-height:1.5; white-space:pre-wrap; }
.copy-requisite { grid-column:2; grid-row:1/3; border:1px solid var(--line); border-radius:10px; background:#19191e; color:var(--text); padding:8px; font-size:8px; cursor:pointer; }
.manual-receipt-form { margin-top:10px; }
.manual-order-panel { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:10px; align-items:center; margin:10px 0; padding:11px; border:1px solid rgba(129,92,255,.2); border-radius:16px; background:rgba(129,92,255,.07); }
.manual-order-panel .manual-provider-icon { width:40px; height:40px; border-radius:12px; font-size:10px; }
.manual-order-panel>div:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:4px; }
.manual-order-panel b { font-size:9px; }
.manual-order-panel small { color:var(--muted); font-size:7px; line-height:1.35; }
.manual-order-panel.confirmed { border-color:rgba(157,255,79,.22); background:rgba(157,255,79,.06); }
.manual-order-panel.rejected { border-color:rgba(255,94,108,.22); background:rgba(255,94,108,.06); }
.admin-manual-payment { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; align-items:center; margin:10px 0; padding:11px; border:1px solid rgba(129,92,255,.2); border-radius:16px; background:rgba(129,92,255,.06); }
.admin-manual-main { min-width:0; display:flex; flex-direction:column; gap:4px; }
.admin-manual-main b { font-size:10px; }
.admin-manual-main small { color:var(--muted); font-size:7px; }
.admin-manual-main p { margin:2px 0 0; color:#ff9ba4; font-size:8px; }
.admin-manual-actions { display:flex; flex-direction:column; gap:6px; }
.admin-manual-actions button { white-space:nowrap; }
@media (max-width:430px) {
  .manual-manager-card { grid-template-columns:38px minmax(0,1fr); }
  .manual-manager-card .primary-button { grid-column:1/-1; width:100%; }
  .admin-manual-payment { grid-template-columns:42px minmax(0,1fr); }
  .admin-manual-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
}

/* v0.8 — promo codes, scheduled delivery, cancellations and refunds */
.delivery-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.promo-box{margin:14px 0;padding:14px;border:1px solid #242424;border-radius:18px;background:linear-gradient(145deg,#111,#080808)}.promo-box>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.promo-box>div:first-child span{font-weight:800}.promo-box>div:first-child small{color:#777;text-align:right}.promo-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}.promo-input-row input{text-transform:uppercase}.promo-result{margin-top:10px;padding:10px 12px;border-radius:12px;background:#102217;border:1px solid #245f39;color:#b8f7ca;font-size:13px}.promo-result.error{background:#241313;border-color:#6e2b2b;color:#ffb7b7}.checkout-discount{display:flex;justify-content:space-between;align-items:center;margin:10px 0;padding:10px 14px;border-radius:14px;background:#101d13;color:#8bf1a6}.order-money-breakdown{display:grid;gap:7px;margin:12px 0;padding:12px 14px;border:1px solid #242424;border-radius:16px}.order-money-breakdown>div{display:flex;justify-content:space-between;gap:15px;color:#999}.order-money-breakdown>div:last-child{padding-top:8px;border-top:1px solid #242424;color:#fff;font-weight:800}.order-money-breakdown .discount-line{color:#83e99c}.delivery-plan-card,.refund-panel,.cancel-panel{margin:12px 0;padding:14px;border:1px solid #262626;border-radius:17px;background:#0d0d0d}.delivery-plan-card{display:grid;gap:8px}.delivery-plan-card small{color:#777}.order-customer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.refund-panel.requested,.refund-panel.approved{border-color:#72591b;background:#1b160a}.refund-panel.completed{border-color:#23623a;background:#0c1e12}.refund-panel.rejected,.refund-panel.cancelled{border-color:#653030;background:#211010}.refund-panel b{display:block;margin-bottom:5px}.refund-panel small{display:block;color:#aaa}.admin-promo-row,.admin-refund-row{cursor:pointer}.promo-value-badge{min-width:62px;text-align:center;padding:9px;border-radius:12px;background:#141414;border:1px solid #2c2c2c;font-weight:900}.refund-status-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#171717;border:1px solid #333;font-size:12px}.refund-editor-actions{display:grid;gap:10px;margin-top:15px}.refund-editor-actions .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.restock-check{display:flex!important;align-items:center;gap:10px}.restock-check input{width:auto!important}.admin-refund-detail{display:grid;gap:12px}.admin-refund-detail .reason{padding:13px;border-radius:14px;background:#111;white-space:pre-wrap}.promo-stat{font-size:12px;color:#888}.date-input-dark{color-scheme:dark}
@media(max-width:560px){.delivery-schedule-grid,.order-customer-actions,.refund-editor-actions .two{grid-template-columns:1fr}.promo-input-row{grid-template-columns:1fr}.promo-input-row button{width:100%}}

/* v0.9 */
.product-rating{display:flex;align-items:center;gap:5px;margin-top:5px}.product-rating small{font-size:8px;color:var(--muted)}
.review-stars{letter-spacing:1px;color:#ffd45c;font-size:11px;white-space:nowrap}.product-reviews-section{margin:14px 0;border-top:1px solid var(--line);padding-top:14px}.review-summary-line{display:flex;align-items:center;gap:8px;margin-bottom:12px}.review-summary-line b{font-size:18px}.review-summary-line small{color:var(--muted);font-size:9px}.review-list{display:grid;gap:9px;margin-top:12px}.review-card{padding:12px;border:1px solid var(--line);background:#101012;border-radius:15px}.review-card>div{display:flex;flex-direction:column;gap:3px;margin-bottom:7px}.review-card b{font-size:10px}.review-card small{font-size:8px;color:var(--muted)}.review-card p{margin:8px 0 0;font-size:9px;line-height:1.6;color:#ddd}.review-form{display:grid;gap:10px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#151519,#0d0d0f);border:1px solid #2b2b31}.review-form-head{display:flex;justify-content:space-between;gap:8px}.review-form-head b{font-size:11px}.review-form-head span,.review-locked{font-size:8px;color:var(--muted)}.review-own-status{font-size:8px;padding:7px 9px;border-radius:9px;background:#19191d}.review-own-status.approved{color:#9dff4f}.review-own-status.rejected{color:#ff8585}.review-admin-status,.broadcast-status{font-size:8px;padding:5px 8px;border-radius:99px;background:#222}.review-admin-status.approved,.broadcast-status.completed{color:#9dff4f}.review-admin-status.rejected,.broadcast-status.completed_with_errors{color:#ff8585}.review-admin-status.pending,.broadcast-status.sending,.broadcast-status.queued{color:#ffd45c}.review-admin-row{grid-template-columns:minmax(0,1fr) auto auto}.review-admin-row .review-stars{align-self:center}.review-moderation-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);background:#111114;border-radius:17px}.review-moderation-card p{line-height:1.7}.review-moderation-card small{color:var(--muted)}
.analytics-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.analytics-toolbar>div{display:flex;gap:5px}.analytics-toolbar .active{border-color:#fff;color:#fff}.analytics-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.analytics-kpis article{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#151518,#0d0d0f)}.analytics-kpis small{color:var(--muted);font-size:8px}.analytics-kpis b{font-size:15px}.analytics-kpis span{font-size:7px;color:#b5b5ba;line-height:1.4}.analytics-panel{margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:16px;background:#101012}.analytics-panel h4{margin:0 0 11px;font-size:10px}.analytics-bars{height:130px;display:flex;align-items:flex-end;gap:3px;border-bottom:1px solid var(--line)}.analytics-bars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:2px}.analytics-bars i{width:75%;min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(#fff,#777);opacity:.9}.analytics-bars small{font-size:6px;color:var(--muted);margin:4px 0}.analytics-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.analytics-list-row,.payment-analytics>div{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid var(--line)}.analytics-list-row:last-child,.payment-analytics>div:last-child{border:0}.analytics-list-row span{min-width:0;display:flex;flex-direction:column}.analytics-list-row b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-list-row small{font-size:7px;color:var(--muted)}.analytics-list-row strong{font-size:8px}.payment-analytics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.payment-analytics>div{display:grid;border:1px solid var(--line);border-radius:12px;padding:9px}.payment-analytics b{font-size:8px}.payment-analytics span{font-size:16px}.payment-analytics strong{font-size:7px;color:var(--muted)}
.broadcast-row{grid-template-columns:minmax(0,1fr) auto}.broadcast-progress{height:4px;background:#25252a;border-radius:9px;overflow:hidden;margin-top:7px}.broadcast-progress i{display:block;height:100%;background:#ededf0}.broadcast-status.draft,.broadcast-status.cancelled{color:#aaa}.broadcast-row .admin-row-actions{align-self:center}
@media(max-width:460px){.analytics-two{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:1fr 1fr}.payment-analytics{grid-template-columns:1fr}.review-admin-row{grid-template-columns:minmax(0,1fr) auto}.review-admin-row .review-admin-status{grid-column:1/-1;justify-self:start}}


/* v1.0.1 — UI refresh */
:root {
  --bg: #060606;
  --panel: rgba(14, 14, 16, .82);
  --panel-strong: #0f0f11;
  --text: #f5f5f7;
  --muted: #9b9ba4;
  --line: rgba(255,255,255,.09);
  --accent: #f2d33b;
  --accent-soft: rgba(242,211,59,.14);
  --purple: #7162ff;
  --danger: #ff6677;
}
body {
  background:
    radial-gradient(circle at top right, rgba(242,211,59,.07), transparent 24%),
    radial-gradient(circle at top left, rgba(113,98,255,.08), transparent 26%),
    linear-gradient(180deg, #080808 0%, #050505 100%);
  color: var(--text);
}
.app-shell { width:min(760px,100%); padding: 12px 14px 120px; }
.glass, .topbar, .sheet, .modal {
  background: linear-gradient(180deg, rgba(18,18,21,.92), rgba(10,10,12,.96));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 20px 60px rgba(0,0,0,.42);
}
.topbar {
  padding: 12px 14px;
  border-radius: 22px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.brand-mark {
  width:44px; height:44px; border-radius:14px; transform:none;
  background: linear-gradient(180deg, #f6de63, #eebd23);
  box-shadow: 0 10px 24px rgba(242,211,59,.2);
}
.brand-mark span { transform:none; }
.eyebrow, .section-heading span, .sheet-title span, .modal-head span, .result-modal>span {
  font-size: 10px;
  letter-spacing: .16em;
}
h1 { font-size: 18px; letter-spacing: -.02em; }
.icon-button {
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.icon-button:active { transform: scale(.97); }
.icon-button:hover { border-color: rgba(242,211,59,.22); }
.hero {
  min-height: 286px;
  padding: 24px 20px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(242,211,59,.12), transparent 24%),
    radial-gradient(circle at bottom left, rgba(113,98,255,.14), transparent 30%),
    linear-gradient(135deg, rgba(18,18,21,.98), rgba(10,10,12,.98));
}
.hero-copy { width: min(100%, 420px); }
.hero-badge {
  border-color: rgba(242,211,59,.28);
  background: rgba(242,211,59,.12);
  color: #f6e690;
}
.hero h2 { margin: 18px 0 14px; font-size: clamp(32px, 8vw, 50px); line-height: .98; }
.hero h2 span { -webkit-text-stroke: 1px rgba(255,255,255,.4); }
.hero p { font-size: 14px; line-height: 1.58; color: #c1c1c8; }
.primary-button, .secondary-button, .danger-button, .ghost-button, .add-button, .cart-nav {
  transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.primary-button {
  min-height: 46px;
  border-radius: 16px;
  padding: 13px 18px;
  background: linear-gradient(180deg, #f7df67, #efc82f);
  color: #141414;
  box-shadow: 0 12px 28px rgba(242,211,59,.18);
}
.primary-button:active, .add-button:active, .cart-nav:active, .category-chip:active { transform: scale(.98); }
.benefits { gap: 10px; margin: 12px 0 28px; }
.benefit {
  padding: 14px 12px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}
.benefit strong { font-size: 12px; }
.benefit small { font-size: 10px; }
.section-heading h3, .sheet-title h3, .modal-head h3 {
  font-size: 22px;
  letter-spacing: -.02em;
}
.search-wrap input, #checkoutForm input, #checkoutForm textarea, #checkoutForm select, textarea, input[type="text"], input[type="tel"], input[type="number"], input[type="date"], select {
  min-height: 46px;
  border-radius: 16px;
  padding: 13px 14px;
  background: #111114;
}
#checkoutForm textarea, textarea { min-height: 96px; }
#checkoutForm>label, .conditional label { gap: 7px; color:#c1c1c8; font-size: 12px; }
.category-row { gap: 10px; padding-bottom: 14px; }
.category-chip {
  padding: 11px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: #111114;
  color: #b8b8c0;
}
.category-chip.active {
  color: #141414;
  background: linear-gradient(180deg, #f7df67, #efc82f);
  box-shadow: 0 10px 24px rgba(242,211,59,.16);
}
.product-grid { gap: 14px; }
.product-card {
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, #111114, #0c0c0f);
  box-shadow: 0 18px 34px rgba(0,0,0,.28);
}
.product-card:hover { transform: translateY(-2px); }
.product-image {
  height: 174px;
  margin: 12px 12px 0;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(circle at 22% 18%, rgba(242,211,59,.16), transparent 24%),
    radial-gradient(circle at 78% 22%, rgba(113,98,255,.2), transparent 28%),
    linear-gradient(180deg, #202027 0%, #16161b 100%);
}
.product-image::after {
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity:.16;
  pointer-events:none;
}
.product-image:before {
  width: 94px;
  height: 94px;
  border-radius: 28px;
  border-color: rgba(255,255,255,.08);
}
.product-image img {
  width: 100%; height: 100%; object-fit: contain; padding: 20px;
  position: relative; z-index: 2;
}
.product-image span {
  position: relative; z-index: 2;
  font-size: 52px;
}
.stock-pill {
  top: 10px; left: 10px;
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 10px;
  backdrop-filter: blur(10px);
  background: rgba(9,9,10,.72);
}
.featured-pill {
  left: 10px; bottom: 10px;
  border-radius: 12px;
  padding: 7px 10px;
  font-size: 10px;
  background: linear-gradient(180deg, #f7df67, #efc82f);
}
.favorite-button {
  top: 10px; right: 10px;
  width: 34px; height: 34px;
  border-radius: 12px;
}
.product-body { padding: 14px 12px 12px; }
.product-meta-line { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.product-brand {
  display:inline-flex; align-items:center; max-width:100%;
  color: #f4d95b; font-size: 11px; letter-spacing: .06em;
  font-weight: 700; text-transform: uppercase;
}
.product-code {
  flex:0 0 auto; color: var(--muted); font-size: 12px; font-weight: 600;
}
.product-name {
  margin: 0;
  min-height: 52px;
  font-size: 20px;
  line-height: 1.18;
  letter-spacing: -.02em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.product-subline {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}
.price-row {
  align-items:center;
  gap:10px;
  margin-top: 12px;
}
.price-stack { display:none; }
.price-pill {
  flex:1 1 auto;
  min-height: 44px;
  display:flex; align-items:center; justify-content:center;
  border-radius: 14px;
  background: linear-gradient(180deg, #f7df67, #efc82f);
  color: #181818;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -.03em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.price-pill small {
  margin-left: 6px; font-size: 11px; font-weight: 800; opacity:.72;
}
.add-button {
  width: 44px; height: 44px; flex:0 0 44px;
  border-radius: 14px;
  background: #1b1b20;
  color: #f4d95b;
  border: 1px solid rgba(255,255,255,.08);
  font-size: 20px;
  box-shadow: none;
}
.add-button:disabled { opacity:.4; cursor:not-allowed; }
.bottom-nav {
  height: 72px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(18,18,21,.96), rgba(10,10,12,.98));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 16px 40px rgba(0,0,0,.36);
}
.nav-item { gap: 4px; }
.nav-item span { font-size: 20px; }
.nav-item small { font-size: 10px; }
.nav-item.active { color: var(--accent); }
.cart-nav {
  width: 60px; height: 60px;
  border-radius: 18px;
  background: linear-gradient(180deg, #f7df67, #efc82f);
}
.sheet, .modal {
  border-radius: 28px 28px 0 0;
}
.modal { border-radius: 28px; padding: 18px; }
.cart-line {
  grid-template-columns: 60px 1fr auto;
  gap: 12px;
  padding: 10px;
  border-radius: 18px;
}
.cart-thumb {
  width: 60px; height: 60px;
  border-radius: 16px;
  background: linear-gradient(180deg, #19191f, #121218);
  border: 1px solid rgba(255,255,255,.06);
}
.cart-thumb img { width:100%; height:100%; object-fit:contain; padding:10px; }
.cart-line h4 { font-size: 14px; margin-bottom: 4px; }
.cart-line small { font-size: 11px; }
.qty button {
  width: 30px; height: 30px;
  border-radius: 10px;
}
.order-card, .address-card, .support-ticket-card, .review-card, .dashboard-card, .manual-manager-card, .payment-details>div, .spec-grid>div {
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(19,19,22,.95), rgba(13,13,16,.95));
}
.detail-image {
  height: 280px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 22% 18%, rgba(242,211,59,.16), transparent 24%),
    radial-gradient(circle at 78% 22%, rgba(113,98,255,.18), transparent 28%),
    linear-gradient(180deg, #1d1d23 0%, #131318 100%);
}
.detail-image img { object-fit: contain; padding: 26px; }
.detail-meta { margin-top: 14px; font-size: 11px; }
.detail-description { font-size: 13px; line-height: 1.7; color: #c9c9cf; }
.spec-grid { gap: 10px; }
.spec-grid small { font-size: 10px; }
.spec-grid b { font-size: 12px; }
.detail-buy {
  grid-template-columns: 1fr auto auto;
  gap: 10px;
}
.detail-buy .price-stack { display:flex; }
.detail-buy .price-stack b { font-size: 20px; }
.detail-buy .price-stack small { font-size: 12px; }
.checkout-total, .order-money-breakdown, .delivery-plan-card, .promo-box, .refund-panel, .cancel-panel {
  border-radius: 18px;
}
.review-stars { font-size: 13px; }
.review-card b { font-size: 12px; }
.review-card p { font-size: 11px; }
.payment-details span, .product-rating small, .review-summary-line small, .review-form-head span, .review-locked, .review-own-status, .review-admin-status, .broadcast-status, .order-card-head small, .order-card-foot, .order-card-foot strong small, .payment-details b, .payment-details code {
  font-size: 11px;
}
@media (max-width: 560px) {
  .app-shell { padding-inline: 12px; }
  .hero { min-height: 248px; padding: 20px 16px; }
  .hero-copy { width: 100%; }
  .hero h2 { font-size: 34px; }
  .benefits { grid-template-columns:1fr; }
  .product-grid { gap: 12px; }
  .product-image { height: 162px; margin: 10px 10px 0; }
  .product-body { padding: 12px 10px 10px; }
  .product-name { min-height: 46px; font-size: 17px; }
  .product-brand, .product-code, .product-subline { font-size: 11px; }
  .price-pill { min-height: 42px; font-size: 18px; }
  .add-button { width: 42px; height: 42px; }
  .detail-buy { grid-template-columns: 1fr auto; }
  .detail-buy .price-stack { grid-column:1 / -1; }
}
