/* ===== OPTMINIAPP V3 ===== */

/* ── COLOR TOKENS ── */
:root {
  /* Core – Telegram always provides these */
  --bg:         var(--tg-theme-bg-color,           #ffffff);
  --text:       var(--tg-theme-text-color,         #1f2328);
  --muted:      var(--tg-theme-subtitle-text-color, var(--tg-theme-hint-color, #636c76));
  --faint:      var(--tg-theme-hint-color,         #9198a1);
  --accent:     var(--tg-theme-accent-text-color,  var(--tg-theme-button-color, #2f81f7));
  --accent-btn: var(--tg-theme-button-color,       #2f81f7);
  --accent-txt: var(--tg-theme-button-text-color,  #ffffff);
  --red:        var(--tg-theme-destructive-text-color, #cf222e);

  /* Surfaces – use section vars where available */
  --s1:     var(--tg-theme-section-bg-color, var(--tg-theme-secondary-bg-color, #f6f8fa));
  --header-bg: var(--tg-theme-header-bg-color, var(--tg-theme-secondary-bg-color, #f6f8fa));
  --border: var(--tg-theme-section-separator_color, var(--tg-theme-section-separator-color, #d0d7de));

  /* Custom tokens (light defaults) */
  --s2:     #eaeef2;
  --border2:#afb8c1;
  --green:  #1a7f37;
  --gdim:   rgba(26,127,55,0.12);
  --yellow: #9a6700;

  /* Typography */
  --font:   'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:   'JetBrains Mono', 'SF Mono', monospace;
  --r:      8px;

  /* Safe areas */
  --safe-top:    var(--tg-safe-area-inset-top,    var(--tg-content-safe-area-inset-top,    0px));
  --safe-bottom: var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
  --tg-controls-extra-space: 44px;
}
body.tg-dark {
  --s2:     #21262d;
  --border2:#444c56;
  --green:  #3fb950;
  --gdim:   rgba(63,185,80,0.12);
  --yellow: #d29922;
}

/* ── RESET ── */
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;font-family:var(--font);background:var(--bg);color:var(--text)}
body{overflow-x:hidden}
button,input{font-family:var(--font)}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}
input[type=number]{-moz-appearance:textfield;appearance:textfield}

/* ── APP SHELL ── */
.app{display:flex;flex-direction:column;height:var(--tg-viewport-height,100dvh);max-width:600px;margin:0 auto;background:var(--bg);overflow:hidden}


.btn-back{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:flex;align-items:center;gap:4px;font-size:13px;flex-shrink:0}
.btn-back:active{opacity:.7}

/* ── SCREENS ── */
.screens{flex:1;overflow:hidden;position:relative;padding-top:var(--safe-top)}
.screen{display:none;flex-direction:column;height:100%;overflow:hidden}
.screen.active{display:flex}
body.tg-fullscreen .screen-header{padding-top:calc(10px + var(--tg-controls-extra-space));justify-content:center}
body.tg-fullscreen .screen-header .btn-back{display:none}
body.tg-fullscreen .screen-header h2{text-align:center}
body.tg-fullscreen #screen-home .home-scroll{padding-top:calc(12px + var(--tg-controls-extra-space))}

/* ── BOTTOM NAV ── */
.bottom-nav{display:flex;border-top:1px solid var(--border);background:var(--header-bg);flex-shrink:0;padding-bottom:var(--safe-bottom);position:fixed;bottom:0;left:0;right:0;z-index:100;max-width:600px;margin:0 auto}
.home-scroll,.product-content,.cart-content,.checkout-content,.success-content,.orders-content,.order-detail-content{padding-bottom:calc(66px + var(--safe-bottom)) !important}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 0 10px;background:none;border:none;cursor:pointer;color:var(--faint);transition:color .15s;-webkit-tap-highlight-color:transparent}
.nav-item.active{color:var(--accent)}
.nav-icon{display:flex;align-items:center;justify-content:center;position:relative}
.nav-label{font-size:9px;font-weight:600}
.nav-cart-badge{position:absolute;top:-6px;right:-8px;background:var(--accent-btn);color:var(--accent-txt);min-width:16px;height:16px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;padding:0 3px;line-height:1}

/* ── GLOBAL LOADING ── */
.app-loading-overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:var(--bg);color:var(--text);padding:24px}
.app-loading-overlay.show{display:flex}
.app-loading-box{display:flex;flex-direction:column;align-items:center;gap:14px}
.app-loading-spinner{width:38px;height:38px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:loadingSpin .8s linear infinite}
.app-loading-title{font-size:14px;font-weight:800;color:var(--muted);letter-spacing:.2px}
@keyframes loadingSpin{to{transform:rotate(360deg)}}

/* ── UTILITIES ── */
.mono{font-family:var(--mono);letter-spacing:-.3px}
.slabel{font-size:11px;font-weight:700;color:var(--faint);letter-spacing:.9px;text-transform:uppercase;margin-bottom:8px}

/* ── BUTTONS ── */
.btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;border-radius:var(--r);border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .1s;font-family:var(--font)}
.btn:active{opacity:.8}
.btn:disabled{opacity:.42;cursor:default}
.btn-primary{background:var(--accent-btn);color:var(--accent-txt);border-color:var(--accent-btn)}
.btn-secondary{background:var(--s2);color:var(--text);border-color:var(--border)}
.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}
.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn-danger{background:rgba(207,34,46,.08);color:var(--red);border-color:rgba(207,34,46,.25)}
body.tg-dark .btn-danger{background:rgba(248,81,73,.1);border-color:rgba(248,81,73,.25)}
.btn-outline{background:transparent;color:var(--text);border-color:var(--border)}
.btn.small{padding:8px 12px;font-size:13px}

/* ── HOME ── */
.home-scroll{flex:1;overflow-y:auto;padding:12px 14px 20px}

/* CatalogRow */
.cat-row{padding:11px 13px;border-radius:var(--r);border:1px solid var(--border);background:var(--s1);cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:12px;margin-bottom:6px}
.cat-row:active{background:var(--s2);border-color:var(--border2)}
.cat-row:last-child{margin-bottom:0}
.cat-thumb{border-radius:9px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cat-thumb img{width:100%;height:100%;object-fit:cover}
.cat-row-info{flex:1;min-width:0}
.cat-row-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.cat-row-name{font-size:14px;font-weight:700;color:var(--text)}
.cat-row-dot{font-size:12px;color:var(--faint)}
.cat-row-cur{font-size:12px;color:var(--muted)}
.cat-row-noms{display:flex;gap:5px;flex-wrap:wrap}
.cat-row-nom{font-size:11px;color:var(--muted);font-family:var(--mono)}
.cat-row-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.cat-row-price .price{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--accent)}
.cat-row-price .lbl{font-size:10px;color:var(--faint);font-weight:600;text-transform:uppercase;letter-spacing:.5px}

/* Perks */
.perks-list{display:flex;flex-direction:column;gap:6px}
.perk-card{display:flex;gap:12px;padding:12px 14px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border);align-items:flex-start}
.perk-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.perk-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px}
.perk-body{font-size:12px;color:var(--muted);line-height:1.5}

/* ── PRODUCT ── */
.product-content{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}

.just-added{display:none;padding:10px 14px;background:var(--gdim);border:1px solid rgba(26,127,55,.3);border-radius:var(--r);align-items:center;gap:10px}
body.tg-dark .just-added{border-color:rgba(63,185,80,.25)}
.just-added.show{display:flex}
.just-added-text{font-size:13px;font-weight:600;color:var(--green);flex:1}
.just-added-btn{background:var(--green);color:#fff;border:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font)}

.prod-header{display:flex;gap:12px;padding:12px 13px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border);align-items:center}
.prod-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:3px}
.prod-desc{font-size:12px;color:var(--muted);line-height:1.4}

.info-block{padding:12px 13px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border)}
.info-lbl{font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px}
.info-text{font-size:12px;color:var(--muted);line-height:1.6}

.nominals{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.nominal{padding:8px 4px;border-radius:7px;border:1px solid var(--border);background:var(--s1);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:all .12s;font-family:var(--mono);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nominal.active{border-color:var(--accent);background:rgba(47,129,247,.12);color:var(--accent)}
body.tg-dark .nominal.active{background:rgba(47,129,247,.15)}

.price-stock{display:flex;gap:8px}
.price-box{flex:1;padding:10px 12px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border)}
.price-box-lbl{font-size:11px;color:var(--muted);margin-bottom:3px}
.price-box-val{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--text)}
.price-box-val.c-green{color:var(--green)}
.price-box-val.c-yellow{color:var(--yellow)}
.price-box-val.c-red{color:var(--red)}

/* Tier table */
.tier-table{background:var(--s1);border-radius:var(--r);border:1px solid var(--border);overflow:hidden}
.tier-head{padding:8px 13px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.tier-head-title{font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.7px}
.tier-head-hint{font-size:10px;color:var(--faint)}
.tier-row{padding:9px 13px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);border-left:3px solid transparent;transition:background .12s}
.tier-row.active{background:rgba(47,129,247,.07);border-left-color:var(--accent);padding-left:10px}
body.tg-dark .tier-row.active{background:rgba(47,129,247,.1)}
.tier-left{display:flex;align-items:center;gap:8px}
.tier-qty{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text)}
.tier-row.active .tier-qty{color:var(--accent);font-weight:700}
.tier-disc{font-size:10px;font-weight:700;color:var(--green);background:var(--gdim);padding:1px 5px;border-radius:3px}
.tier-price{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--muted)}
.tier-row.active .tier-price{color:var(--accent)}

/* Qty presets */
.qty-presets{display:flex;gap:5px;margin-bottom:10px}
.qty-preset{flex:1;padding:8px 0;border-radius:7px;border:1px solid var(--border);background:var(--s1);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:all .12s;font-family:var(--mono)}
.qty-preset.active{border-color:var(--accent);background:rgba(47,129,247,.12);color:var(--accent)}
body.tg-dark .qty-preset.active{background:rgba(47,129,247,.15)}
.qty-preset.capped{color:var(--faint);cursor:default}

.qty-row{display:flex;align-items:center;gap:8px}
.qty-btn{width:36px;height:36px;border-radius:7px;border:1px solid var(--border);background:var(--s2);color:var(--text);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.qty-btn:active{opacity:.7}
#qty-input{flex:1;padding:8px 12px;background:var(--s2);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:16px;font-weight:700;text-align:center;outline:none;font-family:var(--mono)}

/* Keyboard dismiss bar */
.kbd-bar{position:fixed;bottom:0;left:0;right:0;background:var(--s1);border-top:1px solid var(--border);padding:10px 16px;display:none;align-items:center;justify-content:space-between;z-index:200;safe-area-inset-bottom:env(safe-area-inset-bottom)}
.kbd-bar.show{display:flex}
.kbd-bar-label{font-size:13px;color:var(--muted);font-weight:600}
.kbd-bar-done{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:700;cursor:pointer}

/* Disabled add-to-cart */
.btn-primary:disabled{background:var(--s2);color:var(--faint);border:1px solid var(--border);cursor:default;box-shadow:none}

/* Total */
.total-block{padding:12px 13px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border)}
.total-row{display:flex;justify-content:space-between;margin-bottom:5px}
.total-row:last-child{margin-bottom:0}
.total-lbl{font-size:12px;color:var(--muted)}
.total-final{display:flex;justify-content:space-between;align-items:center}
.total-amount{font-family:var(--mono);font-size:20px;font-weight:800;color:var(--accent)}
.total-savings{font-size:11px;color:var(--green);font-weight:700;margin-top:2px;text-align:right}
.total-crossed{font-family:var(--mono);font-size:12px;color:var(--faint)}
.total-unit{font-family:var(--mono);font-size:12px;color:var(--muted)}

/* ── CART ── */
.cart-content{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.cart-items-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.cart-item{padding:11px 13px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--border)}
.cart-item:first-child{border-top:none}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-price{font-family:var(--mono);font-size:12px;color:var(--muted)}
.cart-item-price .acc{color:var(--accent);font-weight:700;font-size:13px}
.cart-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
.cctrl{width:26px;height:26px;border-radius:5px;border:1px solid var(--border);background:var(--s2);color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.cctrl.rem{background:transparent;color:var(--faint);font-size:13px}
.cctrl:active{opacity:.7}
.cart-qty{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);min-width:20px;text-align:center}
.cart-total-card{padding:12px 14px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.cart-meta{font-size:13px;color:var(--muted)}
.cart-total{font-family:var(--mono);font-size:20px;font-weight:800;color:var(--accent)}
.empty-cart{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px}
.empty-cart-icon{width:52px;height:52px;border-radius:12px;background:var(--s2);display:flex;align-items:center;justify-content:center;color:var(--faint)}
.empty-cart-title{font-size:15px;font-weight:700;color:var(--text)}
.empty-cart-sub{font-size:13px;color:var(--muted)}
.empty-cart-action{margin-top:8px;width:100%;max-width:200px}

/* ── CHECKOUT ── */
.checkout-content{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}
.co-summary{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.co-summary-head{padding:8px 13px;border-bottom:1px solid var(--border)}
.co-summary-title{font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.7px}
.co-item{padding:9px 13px;display:flex;justify-content:space-between;align-items:center}
.co-item+.co-item{border-top:1px solid var(--border)}
.co-item-name{font-size:13px;color:var(--text)}
.co-item-qty{color:var(--muted)}
.co-item-price{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--accent)}
.co-total{padding:10px 13px;background:var(--s2);display:flex;justify-content:space-between;align-items:center}
.co-total-lbl{font-size:13px;font-weight:700;color:var(--muted)}
.co-total-val{font-family:var(--mono);font-size:17px;font-weight:800;color:var(--accent)}

.pay-option{padding:11px 13px;border-radius:var(--r);border:1px solid var(--border);background:var(--s1);cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:10px}
.pay-option.active{border-color:var(--accent);background:rgba(47,129,247,.08)}
body.tg-dark .pay-option.active{background:rgba(47,129,247,.12)}
.pay-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border2);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .12s}
.pay-option.active .pay-radio{border-color:var(--accent);background:var(--accent)}
.pay-radio-dot{width:7px;height:7px;border-radius:50%;background:#fff}
.pay-option-info{flex:1}
.pay-option-lbl{font-size:13px;font-weight:700;color:var(--text)}
.pay-option-sub{font-size:11px;color:var(--muted)}

.co-note{padding:10px 12px;border-radius:var(--r);display:flex;gap:8px;border:1px solid rgba(47,129,247,.3);background:rgba(47,129,247,.08)}
body.tg-dark .co-note{background:rgba(47,129,247,.1)}
.co-note-icon{color:var(--accent);flex-shrink:0;font-size:14px}
.co-note p{font-size:12px;color:var(--muted);line-height:1.5}

/* ── SUCCESS ── */
.success-content{flex:1;overflow-y:auto;padding:28px 16px 24px;display:flex;flex-direction:column;gap:14px}
.success-top{display:flex;flex-direction:column;align-items:center;gap:10px}
.success-circle{width:60px;height:60px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px}
.success-title{font-size:20px;font-weight:800;color:var(--text);text-align:center}
.success-id{font-family:var(--mono);font-size:13px;color:var(--muted)}
.success-card{background:var(--s1);border-radius:var(--r);border:1px solid var(--border);padding:14px}
.success-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.success-row:last-child{margin-bottom:0}
.success-lbl{font-size:13px;color:var(--muted)}
.success-total{font-family:var(--mono);font-size:24px;font-weight:800;color:var(--accent)}
.success-val{font-size:13px;font-weight:700;color:var(--text)}
.success-sep{height:1px;background:var(--border);margin:10px 0}

.payment-hint-block{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px}
.payment-hint-text{font-size:13px;color:var(--muted);line-height:1.6}

/* ── ORDERS ── */
.orders-content{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.order-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .12s;flex-shrink:0}
.order-card:active{background:var(--s2)}
.order-card-main{padding:12px 13px 10px;cursor:pointer}
.order-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}
.order-card-left{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.order-card-id{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--accent)}
.order-card-date{font-size:11px;color:var(--faint)}
.order-card-amount{font-family:var(--mono);font-size:15px;font-weight:800;color:var(--text)}
.order-card-desc{font-size:11px;color:var(--muted);line-height:1.5}
.order-card-foot{padding:8px 13px;border-top:1px solid var(--border);display:flex;gap:6px}
.order-action{flex:1;background:transparent;border:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:4px 0;font-family:var(--font);display:flex;align-items:center;justify-content:center;gap:4px}
.order-divider{width:1px;background:var(--border);flex-shrink:0}

/* ── ORDER DETAIL ── */
.order-detail-content{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}
.od-meta{padding:10px 13px;background:var(--s1);border-radius:var(--r);border:1px solid var(--border)}
.od-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.od-row:last-child{margin-bottom:0}
.od-lbl{font-size:12px;color:var(--muted)}
.od-val{font-family:var(--mono);font-size:12px;color:var(--text)}
.od-txt{font-size:12px;color:var(--text);font-weight:600}
.order-items-block{background:var(--s1);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--border)}
.block-title{font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.7px;margin-bottom:2px}
.order-item-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.order-item-info{display:flex;flex-direction:column;gap:2px}
.order-item-name{font-size:14px;font-weight:500;color:var(--text)}
.order-item-nominal{font-size:12px;color:var(--muted);font-family:var(--mono)}
.order-item-total{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--accent);white-space:nowrap}
.od-total{padding:10px 13px;background:var(--s2);border-radius:var(--r);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.od-total-lbl{font-size:13px;font-weight:700;color:var(--muted)}
.od-total-val{font-family:var(--mono);font-size:17px;font-weight:800;color:var(--accent)}

/* ── WALLET ── */
.wallet-block{background:var(--s1);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--border)}
.wallet-lbl{font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.7px}
.wallet-addr-row{display:flex;align-items:flex-start;gap:8px;background:var(--bg);border-radius:6px;padding:10px 12px;border:1px solid var(--border)}
.wallet-address{flex:1;font-family:var(--mono);font-size:11px;word-break:break-all;line-height:1.7;color:var(--text)}
.btn-copy{flex-shrink:0;background:var(--accent);color:var(--accent-txt);border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font);display:flex;align-items:center;gap:4px}
.btn-copy:active{opacity:.8}
.btn-copy.copied{background:var(--green)}

.btn-manager{display:flex;width:100%;padding:12px 16px;background:var(--green);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;font-family:var(--font);align-items:center;justify-content:center;margin:0}
.btn-manager:active{opacity:.85}

/* ── TOAST / ERROR ── */
.toast-container{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:1000;pointer-events:none}
.toast{background:var(--accent);color:var(--accent-txt);padding:12px 20px;border-radius:20px;margin-bottom:8px;font-size:14px;white-space:nowrap;opacity:0;transform:translateY(20px);transition:opacity .2s ease,transform .2s ease}
.toast.show{opacity:1;transform:translateY(0)}
.error-container{position:fixed;top:20px;left:16px;right:16px;z-index:1000}
.error-message{background:rgba(207,34,46,.1);color:var(--red);padding:12px 16px;border-radius:6px;margin-bottom:8px;font-size:14px;border-left:4px solid var(--red)}

/* ── MISC ── */
.empty-state{display:flex;flex-direction:column;align-items:center;padding-top:60px;gap:10px}
.empty-state-icon{font-size:36px;color:var(--faint)}
.empty-state-text{font-size:14px;color:var(--muted)}
.loading-state{text-align:center;padding:40px 16px;color:var(--muted);font-size:14px}

.telegram-only-state{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--s1)}
.telegram-only-card{width:min(420px,100%);padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--bg);text-align:center}
.telegram-only-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-txt);font-size:24px;font-weight:700}
.telegram-only-card h1{font-size:20px;margin-bottom:10px}
.telegram-only-card p{color:var(--muted);font-size:14px;line-height:1.45}

/* ── SCREEN HEADER (product/cart/etc) ── */
.screen-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--s1);flex-shrink:0}
.screen-header h2{font-size:15px;font-weight:700;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── LANGUAGE PICKER ─────────────────────────────────── */
.lang-picker{position:fixed;inset:0;z-index:500;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:32px 24px}
.lang-picker.hidden{display:none}
.lang-picker-card{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:24px}
.lang-picker-globe{font-size:52px;line-height:1}
.lang-picker-title{font-size:22px;font-weight:800;color:var(--text);text-align:center;margin:0}
.lang-picker-btns{display:flex;gap:12px;width:100%}
.lang-picker-btn{flex:1;padding:13px 8px}
