:root {
  --bg: #f6faf7;
  --surface: rgba(255,255,255,.92);
  --surface-solid: #ffffff;
  --surface-soft: #edf4f1;
  --text: #0f172a;
  --muted: #667085;
  --muted-2: #98a2b3;
  --line: rgba(15, 23, 42, .08);
  --line-strong: rgba(15, 23, 42, .14);
  --green: #20d977;
  --green-2: #8effba;
  --green-dark: #079853;
  --blue: #1677ff;
  --red: #ef4444;
  --orange: #f59e0b;
  --shadow: 0 18px 48px rgba(15, 23, 42, .12);
  --shadow-soft: 0 10px 28px rgba(15, 23, 42, .08);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; min-height: 100%; color: var(--text); font-family: -apple-system, BlinkMacSystemFont, Inter, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif; }
html { background: var(--bg); }
body {
  background:
    radial-gradient(circle at 0% 0%, rgba(55, 232, 132, .22), transparent 28%),
    radial-gradient(circle at 100% 7%, rgba(22, 119, 255, .11), transparent 29%),
    linear-gradient(180deg, #f8fcf8 0%, #f5f9f7 54%, #eef4f1 100%);
}
button { font: inherit; cursor: pointer; }
button, a { color: inherit; }
#app { max-width: 720px; margin: 0 auto; min-height: 100vh; }
svg { width: 1em; height: 1em; fill: currentColor; display:block; }
input { font: inherit; color: inherit; }

.splash { min-height: 82vh; display: grid; place-items: center; align-content: center; gap: 12px; color: var(--muted); }
.splash-logo-img { width: 78px; height: 78px; border-radius: 24px; object-fit: cover; box-shadow: var(--shadow); }
.splash-title { font-size: 28px; color: var(--text); font-weight: 950; letter-spacing: -.04em; }
.splash-text { font-size: 15px; }
.splash-fallback {
  max-width: 300px;
  padding: 14px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow-soft);
  color: var(--muted);
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  animation: splashFallbackIn .32s ease 8s forwards;
}
.splash-fallback p { margin: 0 0 10px; font-size: 13px; line-height: 1.35; }
.splash-fallback button {
  border: 0;
  border-radius: 999px;
  padding: 9px 16px;
  background: var(--text);
  color: #fff;
  font-weight: 850;
}
.splash-noscript { max-width: 320px; margin: 16px auto; padding: 14px 16px; border-radius: 18px; background: #fff; color: var(--text); text-align: center; }
@keyframes splashFallbackIn { to { opacity: 1; transform: translateY(0); pointer-events: auto; } }
body.app-ready .splash-fallback { display: none; }

.app-shell { min-height: 100vh; padding: max(10px, env(safe-area-inset-top)) 14px calc(118px + env(safe-area-inset-bottom)); }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 6px 0 10px;
  backdrop-filter: blur(18px);
}
.brand-panel {
  min-width: 0;
  flex: 1;
  display:flex;
  align-items:center;
  gap: 11px;
  padding: 8px 14px 8px 8px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-soft);
  color: var(--text);
  text-align:left;
}
.brand-panel-logo-wrap {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  background: linear-gradient(145deg, #37e883, #069853);
  box-shadow: 0 14px 26px rgba(8,140,74,.22);
  flex: 0 0 auto;
  overflow:hidden;
}
.brand-logo { width: 100%; height: 100%; object-fit: cover; }
.brand-panel-copy { min-width:0; display:flex; flex-direction:column; }
.brand-kicker { display: none; }
.brand-name { font-size: 27px; font-weight: 950; letter-spacing: -.05em; line-height: 1; white-space:nowrap; }
.support-pill {
  width: 50px;
  height: 50px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-soft);
  color: var(--green-dark);
  font-size: 24px;
  flex: 0 0 auto;
}
.content { display:grid; gap: 14px; }

h1, h2, h3, p { margin: 0; }
h1 { letter-spacing: -.065em; line-height: .98; }
h2 { letter-spacing: -.045em; line-height: 1.05; }
.primary-btn, .ghost-btn, .buy-btn, .back-link, .filter-chip, .icon-btn { border: 0; font-weight: 900; }
.primary-btn { width: 100%; min-height: 58px; border-radius: 20px; color:#062816; background: linear-gradient(135deg, #35e887, #c8ffdd); box-shadow: 0 12px 24px rgba(17, 190, 99, .20); }
.ghost-btn { min-height: 48px; padding: 0 18px; border-radius: 18px; color: var(--green-dark); background: rgba(31,209,116,.10); border:1px solid rgba(31,209,116,.22); }

.hero-card {
  position: relative;
  overflow: hidden;
  padding: 22px 20px;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: rgba(255,255,255,.90);
  box-shadow: var(--shadow-soft);
}
.hero-card.compact:before {
  content:"";
  position:absolute;
  top: -30px;
  right: -20px;
  width: 180px;
  height: 180px;
  border-radius:50%;
  background: rgba(47, 226, 126, .12);
}
.hero-card.compact:after {
  content:"";
  position:absolute;
  bottom: -50px;
  right: 40px;
  width: 160px;
  height: 160px;
  border-radius:50%;
  background: rgba(22, 119, 255, .08);
}
.hero-copy { position: relative; z-index: 1; }
.hero-copy.compact p {
  max-width: 560px;
  font-size: clamp(17px, 4vw, 22px);
  line-height: 1.38;
  color: var(--muted);
  font-weight: 780;
  letter-spacing: -.02em;
}

.search-block { display:block; }
.search-box {
  display:flex;
  align-items:center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-soft);
}
.search-icon { color: var(--muted); font-size: 18px; flex: 0 0 auto; }
.search-box input {
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  font-size: 15px;
  color: var(--text);
}
.search-box input::placeholder { color: var(--muted-2); }

.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap: 12px; padding: 2px 2px 0; }
.section-head.simple h2 { font-size: 30px; }
.section-head.simple p { margin-top: 6px; color: var(--muted); font-size: 14px; line-height:1.4; }
.products-head { margin-top: 2px; }

.categories-list.simple { display:grid; gap: 12px; }
.category-card.simple {
  position:relative;
  min-height: 96px;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 15px 16px;
  display:grid;
  grid-template-columns: 64px minmax(0,1fr) 34px;
  gap: 14px;
  align-items:center;
  text-align:left;
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow-soft);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.category-card.simple:active,
.category-card.simple.active {
  transform: scale(.985);
  border-color: rgba(32,217,119,.45);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(230,255,241,.92));
  box-shadow: 0 14px 28px rgba(9,152,83,.10);
}
.category-logo-wrap.simple {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background: #f0f6f3;
  border: 1px solid rgba(15,23,42,.06);
  box-shadow: 0 8px 18px rgba(15,23,42,.08);
}
.category-logo { width:100%; height:100%; object-fit: cover; }
.category-copy.simple { min-width:0; display:flex; flex-direction:column; }
.category-copy.simple b {
  font-size: 28px;
  line-height: 1.02;
  letter-spacing: -.05em;
  color: var(--text);
}
.category-copy.simple small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.category-arrow.simple {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: rgba(31,209,116,.10);
  color: var(--green-dark);
  font-size: 20px;
}

.empty-inline {
  padding: 22px 18px;
  border-radius: 24px;
  border: 1px dashed rgba(15,23,42,.14);
  background: rgba(255,255,255,.70);
}
.empty-inline h3 { font-size: 22px; letter-spacing: -.04em; }
.empty-inline p { margin-top: 7px; color: var(--muted); line-height: 1.45; }

.back-link {
  position: sticky;
  top: 70px;
  z-index: 19;
  width: max-content;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  margin: -2px 0 -2px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.94);
  color: var(--green-dark);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(16px);
}
.service-hero.simple {
  position:relative;
  overflow:hidden;
  min-height: 176px;
  border-radius: 32px;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  color:#fff;
  background:#0f172a;
}
.service-cover { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; }
.service-hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(5,14,10,.82), rgba(5,14,10,.46)); }
.service-hero-inner.simple {
  position:relative;
  z-index:1;
  min-height: 176px;
  padding: 20px;
  display:flex;
  align-items:flex-end;
  gap: 14px;
}
.service-hero-logo {
  width:76px;
  height:76px;
  border-radius: 24px;
  object-fit: cover;
  box-shadow: 0 14px 26px rgba(0,0,0,.20);
  flex: 0 0 auto;
}
.service-hero h1 { font-size: 34px; color:#fff; }
.service-hero-subtitle { margin-top: 4px; font-size: 16px; font-weight: 800; color: rgba(255,255,255,.88); }
.service-hero p { margin-top: 7px; color: rgba(255,255,255,.80); font-size: 14px; line-height:1.4; font-weight:700; }

.filter-row { display:flex; gap: 8px; overflow-x:auto; padding: 2px 0 3px; scrollbar-width:none; }
.filter-row::-webkit-scrollbar { display:none; }
.filter-chip { flex:0 0 auto; padding: 10px 13px; border-radius:999px; color: var(--text); background: rgba(255,255,255,.84); border:1px solid var(--line); box-shadow: 0 5px 12px rgba(15,23,42,.05); }
.filter-chip.active { color:#062816; background: linear-gradient(135deg, #35e887, #c8ffdd); border-color: transparent; }

.products-grid.simple { display:grid; gap: 10px; }
.product-card.simple {
  border:1px solid var(--line);
  border-radius: 24px;
  padding: 15px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow-soft);
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items:center;
  gap: 12px;
}
.product-card.disabled { opacity:.68; }
.product-main.simple { min-width:0; display:flex; align-items:center; gap: 12px; }
.product-copy.simple { min-width:0; }
.product-copy.simple b { display:block; font-size: 26px; letter-spacing: -.05em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-copy.simple small { display:block; margin-top:6px; color: var(--muted); max-width: 360px; line-height:1.35; }
.product-side.simple { min-width: 118px; text-align:right; }
.product-side.simple strong { display:block; margin-bottom: 10px; font-size: 22px; }
.product-actions { display:flex; gap: 7px; justify-content:flex-end; }
.icon-btn { width:42px; height:42px; border-radius: 15px; border:1px solid var(--line); display:grid; place-items:center; background: var(--surface-soft); font-size:22px; color: var(--green-dark); }
.icon-btn.ok { background: rgba(31,209,116,.14); border-color: rgba(31,209,116,.28); }
.buy-btn { min-height: 42px; padding: 0 15px; border-radius: 15px; color:#062816; background: linear-gradient(135deg, #35e887, #ceffdf); }
.buy-btn[disabled] { opacity:.5; }

.page-title { margin: 4px 0 6px; }
.page-title h1 { font-size: 36px; }
.page-title p { margin-top: 7px; color: var(--muted); line-height:1.4; }
.cart-list, .orders-list { display:grid; gap:10px; }
.cart-item, .order-row { border:1px solid var(--line); border-radius: 24px; padding: 13px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); }
.cart-item { display:grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 10px; align-items:center; }
.cart-icon { width:44px; height:44px; border-radius: 16px; object-fit:cover; }
.cart-copy { min-width:0; display:flex; flex-direction:column; }
.cart-copy b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cart-copy small { margin-top:4px; color: var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.remove-btn { width:34px; height:34px; border:0; border-radius: 12px; color: var(--red); background: rgba(239,68,68,.10); font-size: 22px; }
.cart-summary { margin-top: 2px; border:1px solid rgba(255,255,255,.12); border-radius: 28px; padding: 16px; background: #0f172a; color:#fff; box-shadow: var(--shadow); }
.cart-summary div { display:flex; justify-content:space-between; align-items:center; margin-bottom: 13px; }
.cart-summary span { color: rgba(255,255,255,.68); }
.cart-summary b { font-size: 28px; }

.order-row { width:100%; display:grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 10px; align-items:center; color: var(--text); text-align:left; }
.order-row span { min-width:0; display:flex; flex-direction:column; }
.order-row b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-row small { margin-top:4px; color: var(--muted); }
.order-row strong { font-size: 16px; }
.order-row i { color: var(--muted-2); font-style:normal; font-size:24px; }

.order-card, .profile-card, .error-card, .empty-state { border:1px solid var(--line); border-radius: 30px; padding: 18px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); }
.order-card h1 { font-size: 34px; margin: 8px 0 14px; }
.status { display:inline-flex; padding: 7px 10px; border-radius: 999px; background: rgba(22,119,255,.10); color: var(--blue); font-weight: 900; font-size: 12px; text-transform: uppercase; }
.status.completed { color: var(--green-dark); background: rgba(31,209,116,.12); }
.status.support_needed { color: var(--orange); background: rgba(245,158,11,.12); }
.order-items { display:grid; gap: 8px; margin-bottom: 12px; }
.order-item, .summary-row { display:flex; justify-content:space-between; gap: 12px; padding: 12px 0; border-top:1px solid var(--line); }
.summary-row b { font-size: 22px; }
.code-card { display:grid; gap: 10px; margin: 12px 0; padding: 14px; border-radius: 22px; background: #061f13; color:#dcffe8; }
.code-card span { color: rgba(220,255,232,.70); }
.code-card b { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; word-break:break-all; color:#5dff9b; font-size: 17px; }
.notice { margin-top: 12px; padding: 13px; border-radius: 20px; color: var(--muted); background: rgba(255,255,255,.72); border:1px solid var(--line); line-height:1.4; }
.notice.danger, .error-card { color:#b42318; background: #fff4f2; border-color: rgba(239,68,68,.18); }

.profile-card { display:flex; align-items:center; gap: 14px; margin-bottom: 2px; }
.profile-avatar { width:72px; height:72px; border-radius: 26px; display:grid; place-items:center; font-size: 34px; font-weight: 950; background: linear-gradient(135deg, #41f08f, #d9ffe9); color:#07351f; }
.profile-card h1 { font-size: 30px; }
.profile-card p { margin-top: 5px; color: var(--muted); }
.profile-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.profile-grid button { min-height: 92px; padding: 14px; border-radius: 24px; border:1px solid var(--line); background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); text-align:left; color: var(--text); }
.profile-grid b { display:block; font-size: 17px; }
.profile-grid span { display:block; margin-top: 7px; color: var(--muted); line-height:1.35; }

.empty-state, .error-card { text-align:center; padding: 30px 18px; }
.empty-state div, .error-card div { width:54px; height:54px; margin: 0 auto 13px; display:grid; place-items:center; border-radius: 19px; background: var(--surface-soft); color: var(--green-dark); font-size: 25px; font-weight:900; }
.empty-state h2, .error-card h1 { margin:0 0 8px; }
.empty-state p, .error-card p { margin:0 auto 16px; color: var(--muted); max-width: 320px; line-height:1.45; }

.bottom-nav {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 30;
  width: min(692px, calc(100vw - 24px));
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding: 7px;
  border:1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 44px rgba(15,23,42,.16);
  backdrop-filter: blur(22px);
}
.nav-item {
  position:relative;
  min-width:0;
  border:0;
  border-radius: 21px;
  padding: 9px 4px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 3px;
  background:transparent;
  color: var(--muted);
  font-weight: 850;
  font-size: 11px;
}
.nav-icon { font-size: 22px; line-height:1; }
.nav-item.active { color: var(--blue); background: rgba(22,119,255,.10); }
.nav-item em { position:absolute; top: 5px; right: 17%; min-width: 18px; height: 18px; display:grid; place-items:center; border-radius:999px; background: var(--red); color:#fff; font-size: 10px; font-style:normal; border:2px solid #fff; }

@media (min-width: 560px) {
  .categories-list.simple { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .category-card.simple { min-height: 180px; grid-template-columns: 1fr; align-content:center; justify-items:flex-start; }
  .category-arrow.simple { position:absolute; right: 16px; top: 16px; }
  .products-grid.simple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-card.simple { grid-template-columns: 1fr; }
  .product-side.simple { display:flex; align-items:center; justify-content:space-between; text-align:left; gap: 12px; }
}

@media (max-width: 390px) {
  .app-shell { padding-left: 12px; padding-right: 12px; }
  .brand-panel { gap: 10px; padding: 8px 13px 8px 8px; }
  .brand-panel-logo-wrap { width: 48px; height: 48px; border-radius: 17px; }
  .brand-name { font-size: 25px; }
  .support-pill { width: 48px; height: 48px; border-radius: 17px; }
  .back-link { top: 66px; }
  .hero-card.compact { padding: 22px 20px; border-radius: 28px; }
  .hero-copy.compact p { font-size: 17px; }
  .section-head.simple h2 { font-size: 27px; }
  .category-card.simple { min-height: 92px; padding: 14px; grid-template-columns: 58px minmax(0,1fr) 30px; gap: 12px; border-radius: 24px; }
  .category-logo-wrap.simple { width:58px; height:58px; }
  .category-copy.simple b { font-size: 24px; }
  .category-copy.simple small { font-size: 14px; }
  .product-card.simple { grid-template-columns: 1fr; }
  .product-copy.simple b { font-size: 24px; }
  .product-side.simple { display:flex; align-items:center; justify-content:space-between; text-align:left; }
  .profile-grid { grid-template-columns: 1fr; }
}

/* Production polish v4 */
.app-shell {
  padding-top: max(8px, env(safe-area-inset-top));
}
.topbar {
  position: relative;
  top: auto;
  padding: 4px 0 10px;
  backdrop-filter: none;
}
.brand-panel {
  flex: 0 1 auto;
  min-width: 0;
  max-width: calc(100% - 62px);
  gap: 9px;
  padding: 7px 13px 7px 7px;
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 22px rgba(15,23,42,.07);
}
.brand-panel-logo-wrap {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  box-shadow: 0 8px 16px rgba(8,140,74,.18);
}
.brand-name {
  font-size: 24px;
  letter-spacing: -.045em;
}
.support-pill {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  font-size: 22px;
  box-shadow: 0 8px 22px rgba(15,23,42,.07);
}
.content { gap: 12px; }

.catalog-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  align-items: end;
  gap: 10px;
  padding: 3px 2px 0;
}
.catalog-head h2 {
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.045em;
}
.catalog-head p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}
.search-block.compact {
  min-width: 0;
}
.search-box.compact {
  min-height: 42px;
  padding: 0 11px;
  gap: 7px;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(15,23,42,.06);
}
.search-box.compact .search-icon {
  font-size: 17px;
}
.search-box.compact input {
  font-size: 14px;
  min-width: 0;
}

.categories-list.simple {
  gap: 10px;
}
.category-card.simple {
  min-height: 86px;
  grid-template-columns: 56px minmax(0, 1fr) 30px;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 25px;
  box-shadow: 0 10px 24px rgba(15,23,42,.07);
}
.category-logo-wrap.simple {
  width: 56px;
  height: 56px;
  border-radius: 999px;
}
.category-copy.simple b {
  font-size: 23px;
  letter-spacing: -.045em;
  line-height: 1.08;
}
.category-copy.simple small {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.28;
}
.category-arrow.simple {
  width: 30px;
  height: 30px;
  font-size: 18px;
}

.back-fab {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(96px + env(safe-area-inset-bottom));
  z-index: 40;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.92);
  color: var(--green-dark);
  box-shadow: 0 14px 34px rgba(15,23,42,.14);
  backdrop-filter: blur(18px);
  font-size: 28px;
  font-weight: 950;
}

.service-cover-card {
  overflow: hidden;
  width: 100%;
  min-height: 156px;
  border-radius: 30px;
  border: 1px solid var(--line);
  background: #0f172a;
  box-shadow: var(--shadow-soft);
}
.service-cover-card img {
  display: block;
  width: 100%;
  height: 176px;
  object-fit: cover;
}
.service-title-block {
  padding: 0 2px;
}
.service-title-block h1 {
  font-size: 32px;
  line-height: 1.02;
  letter-spacing: -.05em;
}
.service-title-block p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 760;
  line-height: 1.28;
}
.filter-row {
  gap: 8px;
  padding: 1px 0 2px;
}
.filter-chip {
  padding: 9px 13px;
  font-size: 15px;
  font-weight: 900;
}
.section-head.products-head.compact h2 {
  font-size: 25px;
}
.section-head.products-head.compact p {
  margin-top: 4px;
  font-size: 14px;
}
.product-card.simple {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  padding: 13px;
  border-radius: 22px;
  box-shadow: 0 9px 22px rgba(15,23,42,.06);
}
.product-copy.simple b {
  font-size: 23px;
  letter-spacing: -.045em;
}
.product-copy.simple small {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.3;
  color: var(--muted);
}
.product-side.simple {
  min-width: 110px;
}
.product-side.simple strong {
  font-size: 20px;
  margin-bottom: 8px;
}
.icon-btn {
  width: 39px;
  height: 39px;
  border-radius: 14px;
}
.buy-btn {
  min-height: 39px;
  padding: 0 13px;
  border-radius: 14px;
}

@media (max-width: 390px) {
  .catalog-head {
    grid-template-columns: minmax(0, 1fr) 116px;
  }
  .catalog-head h2 {
    font-size: 27px;
  }
  .catalog-head p {
    font-size: 13px;
  }
  .brand-panel-logo-wrap {
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }
  .brand-name {
    font-size: 22px;
  }
  .support-pill {
    width: 44px;
    height: 44px;
    border-radius: 15px;
  }
  .category-card.simple {
    min-height: 82px;
    grid-template-columns: 52px minmax(0, 1fr) 28px;
    gap: 11px;
    padding: 12px;
    border-radius: 22px;
  }
  .category-logo-wrap.simple {
    width: 52px;
    height: 52px;
  }
  .category-copy.simple b {
    font-size: 21px;
  }
  .category-copy.simple small {
    font-size: 13px;
  }
  .service-cover-card img {
    height: 154px;
  }
  .service-title-block h1 {
    font-size: 29px;
  }
  .service-title-block p {
    font-size: 15px;
  }
  .back-fab {
    left: 12px;
    bottom: calc(92px + env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
    border-radius: 17px;
  }
  .product-card.simple {
    grid-template-columns: 1fr;
  }
  .product-side.simple {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    text-align: left;
  }
  .product-side.simple strong {
    margin-bottom: 0;
  }
}

@media (max-width: 430px) {
  .catalog-head {
    grid-template-columns: minmax(0, 1fr) 116px;
  }
  .catalog-head h2 { font-size: 27px; }
  .catalog-head p { font-size: 13px; }
  .category-card.simple {
    min-height: 82px;
    grid-template-columns: 52px minmax(0, 1fr) 28px;
    gap: 11px;
    padding: 12px;
    border-radius: 22px;
  }
  .category-logo-wrap.simple { width: 52px; height: 52px; }
  .category-copy.simple b { font-size: 21px; }
  .category-copy.simple small { font-size: 13px; }
  .product-card.simple { grid-template-columns: 1fr; }
  .product-side.simple {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    text-align: left;
  }
  .product-side.simple strong { margin-bottom: 0; }
}


/* Production clean category/product layout v2 */
.topbar {
  position: relative;
  padding: 4px 0 8px;
  backdrop-filter: none;
}
.brand-panel {
  flex: 0 1 auto;
  min-width: 0;
  max-width: calc(100% - 64px);
}
.service-title-block.top {
  order: 0;
  padding: 2px 3px 0;
}
.service-title-block.top h1 {
  font-size: clamp(34px, 8vw, 48px);
}
.service-title-block.top p {
  font-size: 17px;
  font-weight: 800;
}
.service-cover-card.full {
  min-height: 0;
  aspect-ratio: 16 / 9;
  border-radius: 28px;
  background: #e8faee;
}
.service-cover-card.full img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.service-description {
  margin-top: -2px;
  padding: 0 3px;
}
.service-description p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
}
.section-head.products-head.compact h2 {
  font-size: 31px;
}
.section-head.products-head.compact p {
  font-size: 15px;
  color: var(--muted);
}
.products-grid.simple {
  gap: 9px;
}
.product-card.simple {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 22px;
}
.product-row-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.product-copy.simple b {
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.055em;
}
.product-copy.simple small {
  display: block;
  margin-top: 5px;
  color: var(--muted-2);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}
.product-price {
  flex: 0 0 auto;
  font-size: 23px;
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--text);
}
.product-row-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.qty-stepper {
  height: 38px;
  display: inline-grid;
  grid-template-columns: 34px 34px 34px;
  align-items: center;
  border-radius: 14px;
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.07);
  overflow: hidden;
}
.qty-stepper button {
  height: 38px;
  border: 0;
  background: transparent;
  color: var(--green-dark);
  font-size: 23px;
  font-weight: 950;
}
.qty-stepper span {
  display: grid;
  place-items: center;
  height: 38px;
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
}
.product-actions.simple {
  display: flex;
  gap: 7px;
  justify-content: flex-end;
  min-width: 0;
}
.cart-btn {
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 14px;
  color: var(--green-dark);
  background: rgba(31,209,116,.10);
  font-weight: 900;
  white-space: nowrap;
}
.cart-btn.ok {
  color: #065f35;
  background: rgba(31,209,116,.18);
}
.buy-btn.compact {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 14px;
  white-space: nowrap;
}
.cart-item {
  grid-template-columns: auto minmax(0,1fr) auto auto auto;
}
.cart-qty {
  height: 32px;
  display: inline-grid;
  grid-template-columns: 28px 28px 28px;
  align-items: center;
  border-radius: 12px;
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.07);
  overflow: hidden;
}
.cart-qty button {
  height: 32px;
  border: 0;
  background: transparent;
  color: var(--green-dark);
  font-size: 18px;
  font-weight: 950;
}
.cart-qty span {
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 950;
}
.back-fab {
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(98px + env(safe-area-inset-bottom));
  width: 46px;
  height: 46px;
  border-radius: 17px;
}

@media (max-width: 390px) {
  .service-title-block.top h1 { font-size: 34px; }
  .service-title-block.top p { font-size: 16px; }
  .section-head.products-head.compact h2 { font-size: 29px; }
  .product-copy.simple b { font-size: 25px; }
  .product-price { font-size: 21px; }
  .product-row-bottom { align-items: stretch; }
  .product-actions.simple { flex: 1; }
  .cart-btn, .buy-btn.compact { flex: 1; padding: 0 10px; }
  .qty-stepper { grid-template-columns: 32px 32px 32px; }
  .cart-item { grid-template-columns: auto minmax(0,1fr) auto; }
  .cart-item strong { grid-column: 2 / 3; }
  .cart-qty { grid-column: 2 / 3; width: max-content; }
  .remove-btn { grid-column: 3 / 4; grid-row: 1 / 3; }
}

/* Production polish: lighter typography, compact search, cart back button */
:root {
  --shadow: 0 14px 34px rgba(15, 23, 42, .095);
  --shadow-soft: 0 8px 22px rgba(15, 23, 42, .065);
}

.brand-panel {
  padding: 6px 12px 6px 6px;
  border-radius: 20px;
  box-shadow: 0 8px 18px rgba(15,23,42,.055);
}
.brand-panel-logo-wrap {
  width: 40px;
  height: 40px;
  border-radius: 14px;
}
.brand-name {
  font-size: 22px;
  font-weight: 760;
  letter-spacing: -.025em;
}
.support-pill {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  font-size: 20px;
  box-shadow: 0 8px 18px rgba(15,23,42,.055);
}

.catalog-head {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 9px;
  padding-top: 2px;
}
.catalog-head h2 {
  font-size: 28px;
  font-weight: 760;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.catalog-head p {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 520;
  color: #667085;
}
.search-block.compact {
  width: 100%;
  max-width: 100%;
}
.search-box.compact {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,253,251,.92));
  border: 1px solid rgba(15,23,42,.07);
  box-shadow: 0 7px 18px rgba(15,23,42,.045);
}
.search-box.compact:focus-within {
  border-color: rgba(31,209,116,.30);
  box-shadow: 0 8px 20px rgba(31,209,116,.10);
}
.search-box.compact .search-icon {
  color: #079853;
  opacity: .85;
  font-size: 16px;
}
.search-box.compact input {
  font-size: 14px;
  font-weight: 520;
}
.search-box.compact input::placeholder {
  color: #98a2b3;
}

.category-card.simple {
  min-height: 80px;
  border-radius: 22px;
  box-shadow: 0 9px 20px rgba(15,23,42,.055);
}
.category-copy.simple b {
  font-size: 22px;
  font-weight: 760;
  letter-spacing: -.035em;
}
.category-copy.simple small {
  font-size: 13.5px;
  font-weight: 520;
  color: #667085;
}
.category-arrow.simple {
  color: #079853;
  background: rgba(31,209,116,.09);
}

.service-title-block.top h1,
.page-title h1,
.section-head.products-head.compact h2 {
  font-weight: 760;
  letter-spacing: -.035em;
}
.service-title-block.top h1 { font-size: clamp(30px, 7vw, 40px); }
.service-title-block.top p,
.service-description p,
.section-head.products-head.compact p {
  font-weight: 520;
  color: #667085;
}
.service-cover-card.full {
  border-radius: 24px;
  box-shadow: 0 9px 22px rgba(15,23,42,.06);
}
.filter-chip {
  font-weight: 660;
  box-shadow: 0 6px 14px rgba(15,23,42,.045);
}

.product-card.simple {
  border-radius: 20px;
  box-shadow: 0 8px 18px rgba(15,23,42,.052);
}
.product-copy.simple b {
  font-weight: 760;
  letter-spacing: -.035em;
}
.product-copy.simple small {
  font-weight: 480;
}
.product-price {
  font-weight: 720;
}
.qty-stepper button,
.qty-stepper span,
.cart-qty button,
.cart-qty span {
  font-weight: 650;
}
.cart-btn,
.buy-btn,
.buy-btn.compact,
.primary-btn,
.ghost-btn {
  font-weight: 720;
}
.nav-item {
  font-weight: 640;
}
.nav-item.active {
  font-weight: 760;
}
.cart-copy b,
.order-row b,
.profile-grid b {
  font-weight: 700;
}
.cart-summary b,
.summary-row b {
  font-weight: 740;
}

.back-fab,
.back-fab.cart-back {
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(102px + env(safe-area-inset-bottom));
  width: 44px;
  height: 44px;
  border-radius: 16px;
  font-size: 25px;
  font-weight: 700;
  box-shadow: 0 10px 26px rgba(15,23,42,.12);
}

@media (max-width: 430px) {
  .brand-panel-logo-wrap { width: 38px; height: 38px; border-radius: 13px; }
  .brand-name { font-size: 21px; }
  .support-pill { width: 40px; height: 40px; border-radius: 14px; }
  .catalog-head h2 { font-size: 26px; }
  .category-card.simple {
    min-height: 78px;
    grid-template-columns: 50px minmax(0, 1fr) 28px;
  }
  .category-logo-wrap.simple { width: 50px; height: 50px; }
  .category-copy.simple b { font-size: 20px; }
  .category-copy.simple small { font-size: 12.8px; }
  .service-title-block.top h1 { font-size: 30px; }
  .section-head.products-head.compact h2 { font-size: 27px; }
  .product-copy.simple b { font-size: 24px; }
  .product-price { font-size: 20px; }
  .back-fab,
  .back-fab.cart-back {
    left: 12px;
    bottom: calc(96px + env(safe-area-inset-bottom));
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }
}

/* Production refinement: clean service page, guide, compact nominal cards, Telegram avatar */
.category-logo-wrap.simple img,
.cart-icon,
.brand-logo,
.service-cover-card.full img {
  opacity: 1;
  transform: translateZ(0);
}
.category-logo-wrap.simple {
  background: linear-gradient(145deg, rgba(45,232,126,.10), rgba(255,255,255,.96));
}
.category-logo-wrap.simple .category-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-title-block.top.compact-service-title {
  padding: 0 3px 0;
}
.service-title-block.top.compact-service-title h1 {
  font-size: clamp(28px, 6.5vw, 38px);
  font-weight: 720;
  letter-spacing: -.035em;
}
.service-title-block.top.compact-service-title p {
  margin-top: 4px;
  font-size: 15px;
  font-weight: 520;
  color: #667085;
}
.service-cover-card.full.clean-cover {
  aspect-ratio: 16 / 9;
  min-height: 0;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(238,249,242,.82));
  box-shadow: 0 9px 22px rgba(15,23,42,.065);
}
.service-cover-card.full.clean-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.service-description.service-intro {
  margin-top: -1px;
  padding: 0 2px;
}
.service-description.service-intro p {
  font-size: 14.5px;
  line-height: 1.42;
  font-weight: 500;
  color: #667085;
}
.inline-link {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: #079853;
  font: inherit;
  font-weight: 720;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.filter-row {
  margin-top: -1px;
}
.products-grid.simple.compact-products {
  gap: 8px;
}
.products-grid.simple.compact-products + .custom-usd-card {
  margin-top: 2px !important;
}
.product-card.simple.nominal-card {
  padding: 12px 13px;
  border-radius: 19px;
  gap: 10px;
  box-shadow: 0 7px 18px rgba(15,23,42,.052);
}
.product-row-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}
.product-copy.simple.compact-nominal b {
  font-size: 25px;
  line-height: 1;
  font-weight: 720;
  letter-spacing: -.035em;
}
.product-copy.simple.compact-nominal small {
  margin-top: 4px;
  font-size: 12.5px;
  font-weight: 500;
  color: #98a2b3;
}
.product-price-block {
  text-align: right;
  white-space: nowrap;
}
.product-price-block .product-price {
  display: block;
  font-size: 21px;
  line-height: 1;
  font-weight: 720;
}
.product-price-block small {
  display: block;
  margin-top: 4px;
  color: #98a2b3;
  font-size: 12px;
  font-weight: 500;
}
.product-row-bottom.compact-bottom {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.product-total {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(7,152,83,.08);
  color: #075f38;
  font-size: 14px;
  font-weight: 720;
  white-space: nowrap;
}
.qty-stepper {
  height: 34px;
  grid-template-columns: 31px 31px 31px;
  border-radius: 13px;
}
.qty-stepper button,
.qty-stepper span {
  height: 34px;
}
.product-actions.simple {
  min-width: 0;
}
.cart-btn,
.buy-btn.compact {
  min-height: 34px;
  border-radius: 13px;
  font-size: 13.5px;
  font-weight: 700;
}
.cart-btn { padding: 0 10px; }
.buy-btn.compact { padding: 0 12px; }
.cart-copy small {
  color: #667085;
  font-weight: 500;
}
.status.support_needed {
  color: #b45309;
  background: rgba(245,158,11,.12);
}
.profile-avatar-img,
.profile-avatar {
  width: 72px;
  height: 72px;
  border-radius: 26px;
  flex: 0 0 auto;
}
.profile-avatar-img {
  display: block;
  object-fit: cover;
  box-shadow: 0 10px 24px rgba(15,23,42,.10);
}
.guide-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-soft);
}
.guide-kicker {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(31,209,116,.10);
  color: #079853;
  font-size: 12px;
  font-weight: 720;
  margin-bottom: 12px;
}
.guide-card h1 {
  font-size: 30px;
  font-weight: 720;
  letter-spacing: -.035em;
}
.guide-card p {
  margin-top: 8px;
  color: #667085;
  line-height: 1.45;
}
.guide-card ol {
  list-style: none;
  padding: 0;
  margin: 16px 0;
  display: grid;
  gap: 9px;
}
.guide-card li {
  position: relative;
  padding: 12px 12px 12px 44px;
  border-radius: 18px;
  background: rgba(15,23,42,.035);
  border: 1px solid rgba(15,23,42,.06);
}
.guide-card li:before {
  content: counter(list-item);
  position: absolute;
  left: 12px;
  top: 12px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #20d977;
  color: #062816;
  font-size: 12px;
  font-weight: 800;
}
.guide-card li b {
  display: block;
  font-size: 15px;
  font-weight: 720;
}
.guide-card li span {
  display: block;
  margin-top: 4px;
  color: #667085;
  font-size: 13.5px;
  line-height: 1.35;
}

@media (max-width: 430px) {
  .service-title-block.top.compact-service-title h1 { font-size: 29px; }
  .service-title-block.top.compact-service-title p { font-size: 14px; }
  .service-description.service-intro p { font-size: 13.8px; }
  .product-card.simple.nominal-card { padding: 11px 12px; }
  .product-copy.simple.compact-nominal b { font-size: 23px; }
  .product-price-block .product-price { font-size: 19px; }
  .product-row-bottom.compact-bottom {
    grid-template-columns: auto auto;
    align-items: center;
  }
  .product-actions.simple {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .product-total {
    justify-self: end;
  }
  .guide-card h1 { font-size: 28px; }
}
.status { text-transform: none; }


.app-shell {
  padding-top: max(34px, calc(env(safe-area-inset-top) + 24px));
}
.topbar {
  position: relative;
  top: auto;
  z-index: 20;
  padding: 0 0 10px;
  backdrop-filter: none;
}
.brand-panel {
  max-width: 280px;
}
.search-block.compact {
  order: -1;
  margin-top: 0;
}
.search-box.compact {
  min-height: 42px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .78);
  border-color: rgba(15,23,42,.07);
  box-shadow: 0 7px 18px rgba(15,23,42,.045);
}
.search-box.compact:focus-within {
  background: rgba(255,255,255,.96);
  border-color: rgba(32,217,119,.38);
  box-shadow: 0 9px 22px rgba(7,152,83,.075);
}
.search-box.compact .search-icon {
  color: #079853;
  opacity: .9;
}
.catalog-head.search-top {
  display: block;
  padding-top: 0;
}
.catalog-head.search-top h2 {
  font-size: clamp(30px, 7.1vw, 44px);
  font-weight: 760;
  letter-spacing: -.048em;
}
.catalog-head.search-top p {
  font-size: 16px;
  font-weight: 560;
}
.back-fab,
.back-fab.cart-back{
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(100px + env(safe-area-inset-bottom));
  width: auto;
  min-width: 104px;
  height: 48px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 18px;
  font-size: 24px;
  font-weight: 760;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(7,152,83,.14);
  box-shadow: 0 12px 28px rgba(15,23,42,.16);
}
.back-fab span {
  font-size: 15px;
  letter-spacing: -.015em;
}
.product-row-bottom.compact-bottom.single-action {
  grid-template-columns: auto auto minmax(110px, 1fr);
  gap: 9px;
}
.add-wide-btn {
  min-height: 34px;
  border: 0;
  border-radius: 13px;
  padding: 0 14px;
  color: #062816;
  background: linear-gradient(135deg, #35e887, #c8ffdd);
  font-size: 14px;
  font-weight: 720;
  white-space: nowrap;
}
.add-wide-btn[disabled] {
  opacity: .48;
}
.stock-empty .inline-link {
  font-weight: 680;
}







@media (max-width: 430px) {
  .app-shell {
    padding-top: max(32px, calc(env(safe-area-inset-top) + 22px));
  }
  .brand-panel {
    max-width: 244px;
  }
  .catalog-head.search-top h2 { font-size: 32px; }
  .search-box.compact { min-height: 40px; }
  .product-row-bottom.compact-bottom.single-action {
    grid-template-columns: auto auto;
  }
  .add-wide-btn {
    grid-column: 1 / -1;
    width: 100%;
  }
  .back-fab,
  .back-fab.cart-back{
    bottom: calc(96px + env(safe-area-inset-bottom));
    min-width: 98px;
    height: 46px;
    padding: 0 14px;
  }
}

/* Checkout-flow polish: floating cart CTA, cleaner product rows, profile docs */
.nav-item em[hidden],
.floating-cart-btn[hidden] {
  display: none !important;
}

.floating-actions {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(96px + env(safe-area-inset-bottom));
  z-index: 45;
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}
.floating-actions .back-fab {
  position: static;
  pointer-events: auto;
  flex: 0 0 auto;
}
.floating-cart-btn {
  pointer-events: auto;
  min-width: 0;
  flex: 1 1 auto;
  height: 48px;
  padding: 0 16px;
  border: 1px solid rgba(7,152,83,.16);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: rgba(255,255,255,.97);
  color: #07351f;
  box-shadow: 0 12px 28px rgba(15,23,42,.16);
  backdrop-filter: blur(18px);
  font-size: 15px;
  font-weight: 720;
}
.floating-cart-btn b {
  white-space: nowrap;
  font-size: 16px;
  font-weight: 760;
  color: #079853;
}

.product-card.simple.nominal-card {
  padding: 14px 15px;
  border-radius: 22px;
}
.product-card.simple.nominal-card.selected {
  border-color: rgba(32,217,119,.34);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,255,246,.92));
}
.product-row-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.product-copy.simple.compact-nominal b {
  font-size: 27px;
  font-weight: 760;
  letter-spacing: -.045em;
}
.product-copy.simple.compact-nominal small,
.product-price-block small {
  font-weight: 560;
  color: #98a2b3;
}
.product-price-block {
  text-align: right;
}
.product-price-block .product-price {
  font-size: 23px;
  font-weight: 760;
}
.product-row-bottom.compact-bottom.minimal-product-actions {
  margin-top: 13px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.qty-stepper {
  width: 152px;
  height: 42px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(15,23,42,.025);
  overflow: hidden;
}
.qty-stepper button {
  height: 100%;
  border: 0;
  background: transparent;
  color: #079853;
  font-size: 24px;
  font-weight: 780;
}
.qty-stepper span {
  text-align: center;
  color: #0f172a;
  font-size: 18px;
  font-weight: 720;
}
.add-wide-btn,
.product-total {
  display: none !important;
}

.cart-item {
  grid-template-columns: auto minmax(0, 1fr) auto auto auto;
}
.cart-qty {
  height: 40px;
  min-width: 108px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  border-radius: 15px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(15,23,42,.025);
  overflow: hidden;
}
.cart-qty button {
  height: 100%;
  border: 0;
  background: transparent;
  color: #079853;
  font-size: 22px;
  font-weight: 760;
}
.cart-qty span {
  text-align: center;
  font-size: 16px;
  font-weight: 720;
}

.order-row.pretty {
  min-height: 84px;
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(15,23,42,.07);
}
.order-row.pretty b {
  font-size: 18px;
  font-weight: 760;
  letter-spacing: -.02em;
}
.order-row.pretty small {
  width: fit-content;
  margin-top: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(22,119,255,.08);
  color: #3460a8;
  font-size: 13px;
  font-weight: 640;
}
.order-row.pretty.status-completed small,
.order-row.pretty.status-paid small {
  background: rgba(31,209,116,.12);
  color: #079853;
}
.order-row.pretty.status-support small,
.order-row.pretty.status-expired small,
.order-row.pretty.status-cancelled small {
  background: rgba(245,158,11,.12);
  color: #b45309;
}
.order-row.pretty strong {
  font-size: 18px;
  font-weight: 760;
}

.profile-avatar {
  position: relative;
  overflow: hidden;
}
.profile-avatar span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.profile-avatar-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .18s ease;
}
.profile-avatar.loaded .profile-avatar-img {
  opacity: 1;
}



@media (max-width: 430px) {
  .floating-actions {
    bottom: calc(96px + env(safe-area-inset-bottom));
  }
  .floating-cart-btn {
    height: 46px;
    padding: 0 13px;
    font-size: 14px;
  }
  .floating-cart-btn b {
    font-size: 14px;
  }
  .product-row-main {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .product-copy.simple.compact-nominal b {
    font-size: 25px;
  }
  .product-price-block .product-price {
    font-size: 21px;
  }
  .qty-stepper {
    width: 142px;
  }
  .cart-item {
    grid-template-columns: auto minmax(0,1fr) auto;
  }
  .cart-qty {
    grid-column: 2 / 3;
    width: 104px;
    min-width: 104px;
    margin-top: 8px;
  }
  .cart-item > strong {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
  }
  .remove-btn {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
  }
}

/* Production v13: thinner nominal cards, editable quantity, cleaner orders */
.product-card.simple.nominal-card.thin-nominal {
  min-height: 74px;
  padding: 12px 14px;
  border-radius: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 7px 18px rgba(15,23,42,.05);
}
.product-card.simple.nominal-card.thin-nominal.selected {
  border-color: rgba(32,217,119,.32);
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,255,249,.94));
}
.nominal-line-copy {
  min-width: 0;
}
.nominal-line-copy b {
  display: block;
  color: #0f172a;
  font-size: 24px;
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.035em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nominal-line-copy small {
  display: block;
  margin-top: 5px;
  color: #7b8496;
  font-size: 13px;
  font-weight: 520;
  line-height: 1.2;
}
.qty-stepper.qty-stepper-input {
  width: 142px;
  height: 38px;
  grid-template-columns: 38px 1fr 38px;
  border-radius: 15px;
  background: rgba(15,23,42,.03);
  border: 1px solid rgba(15,23,42,.075);
}
.qty-stepper.qty-stepper-input button {
  font-size: 22px;
  font-weight: 720;
}
.qty-stepper.qty-stepper-input input,
.cart-qty.cart-qty-input input {
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  text-align: center;
  color: #0f172a;
  font-size: 17px;
  font-weight: 680;
  appearance: textfield;
  -moz-appearance: textfield;
}
.qty-stepper.qty-stepper-input input::-webkit-outer-spin-button,
.qty-stepper.qty-stepper-input input::-webkit-inner-spin-button,
.cart-qty.cart-qty-input input::-webkit-outer-spin-button,
.cart-qty.cart-qty-input input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-row-main,
.product-row-bottom.compact-bottom,
.product-row-bottom.compact-bottom.minimal-product-actions {
  display: contents;
}
.product-copy.simple.compact-nominal,
.product-price-block,
.product-total,
.product-actions.simple {
  display: none !important;
}

.cart-item.cart-item-thin {
  min-height: 72px;
  border-radius: 21px;
  padding: 12px;
  grid-template-columns: auto minmax(0,1fr) auto auto auto;
  gap: 10px;
}
.cart-item.cart-item-thin .cart-icon {
  width: 42px;
  height: 42px;
  border-radius: 15px;
}
.cart-item.cart-item-thin .cart-copy b {
  font-size: 18px;
  font-weight: 720;
}
.cart-item.cart-item-thin .cart-copy small {
  font-size: 13px;
}
.cart-qty.cart-qty-input {
  width: 106px;
  min-width: 106px;
  height: 36px;
  grid-template-columns: 32px 1fr 32px;
  border-radius: 14px;
}
.cart-qty.cart-qty-input button {
  font-size: 20px;
}
.cart-qty.cart-qty-input input {
  font-size: 15px;
}
.cart-item.cart-item-thin > strong {
  min-width: 74px;
  text-align: right;
  font-size: 18px;
  font-weight: 720;
}

.order-row.pretty {
  min-height: 72px;
  border-radius: 22px;
  padding: 12px 14px;
}
.order-row.pretty b {
  font-size: 17px;
  font-weight: 720;
}
.order-row.pretty small {
  margin-top: 6px;
  padding: 5px 9px;
  font-size: 11.5px;
  line-height: 1.2;
  font-weight: 620;
}
.order-row.pretty strong {
  font-size: 17px;
  font-weight: 720;
}
.order-row.pretty i {
  font-size: 22px;
}

.codes-list {
  display: grid;
  gap: 7px;
}
.codes-list b {
  white-space: pre-wrap;
}

.profile-grid span {
  font-size: 13.5px;
}

@media (max-width: 430px) {
  .product-card.simple.nominal-card.thin-nominal {
    min-height: 70px;
    padding: 11px 12px;
    grid-template-columns: minmax(0,1fr) 132px;
    border-radius: 19px;
  }
  .nominal-line-copy b { font-size: 23px; }
  .nominal-line-copy small { font-size: 12.5px; }
  .qty-stepper.qty-stepper-input {
    width: 132px;
    height: 36px;
    grid-template-columns: 35px 1fr 35px;
    border-radius: 14px;
  }
  .qty-stepper.qty-stepper-input input { font-size: 16px; }
  .cart-item.cart-item-thin {
    grid-template-columns: auto minmax(0,1fr) auto;
  }
  .cart-item.cart-item-thin > strong {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    min-width: 68px;
  }
  .cart-qty.cart-qty-input {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin-top: 7px;
  }
  .cart-item.cart-item-thin .remove-btn {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
  }
  .order-row.pretty {
    min-height: 70px;
    padding: 12px;
  }
  .order-row.pretty small {
    max-width: 210px;
    white-space: normal;
  }
}

/* Production payments: method picker */
.payment-methods { display: grid; gap: 12px; }
.payment-method-card {
  width: 100%;
  min-height: 82px;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 14px;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) 28px;
  gap: 12px;
  align-items: center;
  text-align: left;
  color: var(--text);
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-soft);
}
.payment-method-card:active { transform: scale(.988); }
.payment-method-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 26px;
  background: rgba(31,209,116,.10);
  color: var(--green-dark);
}
.payment-method-copy { min-width: 0; display: grid; gap: 4px; }
.payment-method-copy b { font-size: 22px; font-weight: 800; letter-spacing: -.035em; }
.payment-method-copy small { color: var(--muted); font-size: 14px; font-weight: 650; line-height: 1.25; }
.payment-method-card i { color: var(--muted-2); font-style: normal; font-size: 24px; }
.payment-note { font-size: 13px; }

/* Production v14: scroll-safe controls, cleaner cart/orders, no double-tap zoom */
html, body {
  touch-action: manipulation;
  overscroll-behavior: none;
}
button,
.qty-stepper,
.cart-qty,
.nav-item,
.back-fab,
.floating-cart-btn {
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}
.app-shell {
  padding-top: max(8px, env(safe-area-inset-top));
  padding-bottom: calc(215px + env(safe-area-inset-bottom));
}
.topbar {
  padding-top: 0;
  padding-bottom: 8px;
}

/* Floating buttons must not hide last nominal cards */
.floating-actions {
  bottom: calc(102px + env(safe-area-inset-bottom));
}
.back-fab,
.back-fab.cart-back{
  bottom: calc(102px + env(safe-area-inset-bottom));
  min-width: 108px;
  height: 48px;
  background: rgba(255,255,255,.985);
}

/* Even thinner nominal cards */
.products-grid.simple.compact-products {
  gap: 8px;
}
.product-card.simple.nominal-card.thin-nominal {
  min-height: 64px;
  padding: 10px 12px;
  border-radius: 18px;
  grid-template-columns: minmax(0, 1fr) 126px;
}
.nominal-line-copy b {
  font-size: 22px;
  font-weight: 680;
}
.nominal-line-copy small {
  margin-top: 4px;
  font-size: 12px;
}
.qty-stepper.qty-stepper-input {
  width: 126px;
  height: 34px;
  grid-template-columns: 34px 1fr 34px;
  border-radius: 13px;
}
.qty-stepper.qty-stepper-input button {
  font-size: 21px;
}
.qty-stepper.qty-stepper-input input,
.cart-qty.cart-qty-input input {
  font-size: 16px;
  line-height: 1;
}

/* Cleaner cart row; the product block is clickable and opens its category */
.cart-item.cart-item-thin.cart-item-clean {
  min-height: 64px;
  padding: 10px;
  border-radius: 20px;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 9px;
}
.cart-product-link {
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.cart-product-link .cart-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  flex: 0 0 auto;
}
.cart-item.cart-item-thin .cart-copy b {
  font-size: 17px;
  font-weight: 680;
}
.cart-item.cart-item-thin .cart-copy small {
  font-size: 12.5px;
}
.cart-qty.cart-qty-input {
  width: 98px;
  min-width: 98px;
  height: 34px;
  grid-template-columns: 30px 1fr 30px;
  border-radius: 13px;
}
.cart-qty.cart-qty-input button {
  font-size: 20px;
}
.cart-item.cart-item-thin > strong {
  min-width: 68px;
  font-size: 17px;
  font-weight: 680;
}
.remove-btn.clean {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  font-size: 20px;
  background: rgba(239,68,68,.08);
  color: #ef4444;
}

/* Order cards: compact status and proper № */
.order-row.pretty {
  min-height: 68px;
  padding: 11px 13px;
  grid-template-columns: minmax(0, 1fr) auto 22px;
  gap: 9px;
}
.order-row.pretty b {
  font-size: 17px;
  font-weight: 700;
}
.order-row.pretty small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  font-size: 11.5px;
  white-space: nowrap;
}
.order-row.pretty small time {
  opacity: .74;
}
.order-row.pretty strong {
  font-size: 17px;
  font-weight: 700;
}
.order-row.pretty i {
  font-size: 21px;
}
.detail-order-card h1 {
  font-size: 30px;
  font-weight: 720;
  letter-spacing: -.035em;
}
.detail-items {
  gap: 0;
  border-top: 1px solid var(--line);
}
.detail-item {
  align-items: flex-start;
  padding: 12px 0;
}
.detail-item span {
  color: #0f172a;
  line-height: 1.35;
  padding-right: 12px;
}
.detail-item b {
  white-space: nowrap;
}
.total-row span {
  color: var(--muted);
}

/* Forward/return helper after using Back */
.return-service-btn {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(102px + env(safe-area-inset-bottom));
  z-index: 40;
  min-height: 48px;
  padding: 0 15px;
  border: 1px solid rgba(7,152,83,.14);
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.985);
  color: #07351f;
  box-shadow: 0 12px 28px rgba(15,23,42,.15);
  backdrop-filter: blur(18px);
  font-size: 15px;
  font-weight: 720;
}
.return-service-btn svg {
  color: #079853;
  font-size: 19px;
}

@media (max-width: 430px) {
  .app-shell {
    padding-top: max(8px, env(safe-area-inset-top));
    padding-bottom: calc(215px + env(safe-area-inset-bottom));
  }
  .product-card.simple.nominal-card.thin-nominal {
    min-height: 62px;
    padding: 10px 11px;
    grid-template-columns: minmax(0, 1fr) 122px;
  }
  .nominal-line-copy b { font-size: 21px; }
  .qty-stepper.qty-stepper-input {
    width: 122px;
    height: 34px;
    grid-template-columns: 32px 1fr 32px;
  }
  .floating-actions,
  .return-service-btn {
    bottom: calc(100px + env(safe-area-inset-bottom));
  }
  .back-fab,
  .back-fab.cart-back{
    bottom: calc(100px + env(safe-area-inset-bottom));
    min-width: 104px;
  }
  .cart-item.cart-item-thin.cart-item-clean {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }
  .cart-product-link {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .cart-qty.cart-qty-input {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-left: 50px;
    margin-top: 6px;
  }
  .cart-item.cart-item-thin > strong {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    min-width: 64px;
  }
  .remove-btn.clean {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }
  .order-row.pretty small {
    max-width: 170px;
  }
  .return-service-btn {
    min-height: 46px;
    padding: 0 13px;
    font-size: 14px;
  }
}

/* Theme + cart/payment polish v12 */
html[data-theme="dark"] {
  --bg: #0b1220;
  --surface: rgba(20, 30, 45, .92);
  --surface-solid: #111827;
  --surface-soft: #172033;
  --text: #f4f7fb;
  --muted: #a7b0c0;
  --muted-2: #7e8aa0;
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(255,255,255,.16);
  --green: #29e987;
  --green-2: #9dffc8;
  --green-dark: #42f097;
  --blue: #62a3ff;
  --red: #ff6b6b;
  --orange: #ffb454;
  --shadow: 0 14px 34px rgba(0,0,0,.28);
  --shadow-soft: 0 8px 22px rgba(0,0,0,.22);
}
html[data-theme="dark"],
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 0% 0%, rgba(41, 233, 135, .18), transparent 28%),
    radial-gradient(circle at 100% 7%, rgba(98, 163, 255, .14), transparent 29%),
    linear-gradient(180deg, #0b1220 0%, #0d1726 52%, #09111d 100%);
}
html[data-theme="dark"] .brand-panel,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .product-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .order-row,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-grid button,
html[data-theme="dark"] .theme-row,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .bottom-nav,
html[data-theme="dark"] .back-fab,
html[data-theme="dark"] .floating-cart-btn,
html[data-theme="dark"] .return-service-btn {
  background: rgba(17, 24, 39, .92);
  border-color: var(--line);
}
html[data-theme="dark"] .category-card.simple.active,
html[data-theme="dark"] .category-card.simple:active {
  background: linear-gradient(180deg, rgba(17,24,39,.98), rgba(16,75,48,.55));
}
html[data-theme="dark"] .cart-summary { background: #020817; }
html[data-theme="dark"] .detail-item span { color: var(--text); }
html[data-theme="dark"] .service-cover-card.full { background: #111827; }
html[data-theme="dark"] .notice { background: rgba(17,24,39,.88); }

.service-intro b {
  color: var(--text);
  font-weight: 820;
}

.theme-row {
  min-height: 76px;
  padding: 14px 16px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.theme-row div { min-width: 0; }
.theme-row b {
  display: block;
  font-size: 17px;
  font-weight: 720;
  letter-spacing: -.025em;
}
.theme-row span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.3;
}
.ios-switch {
  position: relative;
  width: 56px;
  height: 34px;
  flex: 0 0 auto;
}
.ios-switch input {
  position: absolute;
  opacity: 0;
  inset: 0;
}
.ios-switch > span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(15,23,42,.12);
  border: 1px solid rgba(15,23,42,.06);
  transition: .2s ease;
}
.ios-switch > span:before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 10px rgba(15,23,42,.20);
  transition: .2s ease;
}
.ios-switch input:checked + span {
  background: linear-gradient(135deg, #28e482, #9bffc4);
}
.ios-switch input:checked + span:before {
  transform: translateX(22px);
}

/* Checkout preview: show exactly what will be paid for */
.checkout-preview {
  padding: 14px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 9px;
}
.checkout-preview h2 {
  font-size: 18px;
  font-weight: 720;
  letter-spacing: -.025em;
}
.checkout-preview-item,
.checkout-preview-total {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}
.checkout-preview-item span {
  min-width: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}
.checkout-preview-item b,
.checkout-preview-total b {
  white-space: nowrap;
  font-weight: 760;
}
.checkout-preview-total span {
  color: var(--text);
  font-weight: 720;
}

/* Cart v2: product left, total and quantity right, delete at top-right */
.cart-item.cart-row-v2 {
  position: relative;
  min-height: 86px;
  padding: 14px 52px 14px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.cart-row-v2 .remove-btn.clean {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  z-index: 2;
}
.cart-row-v2 .cart-product-link {
  min-width: 0;
  padding-right: 4px;
}
.cart-row-v2 .cart-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
}
.cart-row-v2 .cart-copy b {
  font-size: 20px;
  font-weight: 720;
  line-height: 1.05;
}
.cart-row-v2 .cart-copy small {
  max-width: 220px;
  font-size: 13px;
  line-height: 1.25;
  white-space: normal;
}
.cart-row-side {
  min-width: 112px;
  padding-right: 2px;
  display: grid;
  justify-items: end;
  gap: 9px;
}
.cart-row-side strong {
  font-size: 20px;
  font-weight: 760;
  line-height: 1;
}
.cart-row-side .cart-qty.cart-qty-input {
  width: 104px;
  min-width: 104px;
}

@media (max-width: 430px) {
  .cart-item.cart-row-v2 {
    grid-template-columns: minmax(0, 1fr) 108px;
    padding: 13px 48px 13px 12px;
    gap: 9px;
  }
  .cart-row-v2 .cart-icon {
    width: 44px;
    height: 44px;
  }
  .cart-row-v2 .cart-copy b { font-size: 18px; }
  .cart-row-v2 .cart-copy small { font-size: 12px; }
  .cart-row-side { min-width: 104px; }
  .cart-row-side strong { font-size: 18px; }
}


/* Production v15: clearer cart, icon-only theme toggle, crisper service icons, better dark mode */
.category-logo-wrap.simple {
  padding: 7px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,255,247,.94));
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.04), 0 10px 18px rgba(15,23,42,.05);
}
.category-logo-wrap.simple .category-logo,
.cart-icon {
  object-fit: contain;
  image-rendering: auto;
}
.cart-icon {
  padding: 5px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,255,247,.94));
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.04);
}

.theme-row.icon-only {
  min-height: 0;
  padding: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.theme-mode-btn {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(15,23,42,.03);
  display: grid;
  place-items: center;
  font-size: 22px;
  color: var(--text);
  transition: .18s ease;
}
.theme-mode-btn.active {
  border-color: rgba(32,217,119,.26);
  background: linear-gradient(180deg, rgba(236,255,246,.96), rgba(220,255,236,.9));
  box-shadow: inset 0 0 0 1px rgba(32,217,119,.12);
}
.theme-mode-btn:active {
  transform: scale(.985);
}

.cart-item.cart-item-thin.cart-item-clean.cart-card-v3 {
  position: relative;
  min-height: 88px;
  padding: 12px 54px 12px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.cart-card-v3 .remove-btn.clean {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(239,68,68,.14);
  background: rgba(239,68,68,.10);
  color: #ef4444;
}
.cart-card-v3 .cart-product-link {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.cart-card-v3 .cart-icon {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  flex: 0 0 auto;
}
.cart-card-v3 .cart-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.cart-card-v3 .cart-copy b {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.16;
}
.cart-card-v3 .cart-copy small {
  font-size: 12.5px;
  line-height: 1.32;
  color: var(--muted);
  white-space: normal;
}
.cart-card-v3 .cart-row-side {
  min-width: 102px;
  display: grid;
  justify-items: end;
  gap: 9px;
}
.cart-card-v3 .cart-row-side strong {
  font-size: 18px;
  font-weight: 760;
  color: var(--text);
}
.cart-card-v3 .cart-qty.cart-qty-input {
  width: 100px;
  min-width: 100px;
  height: 34px;
}

.detail-item span {
  color: var(--text);
}
.detail-item b {
  font-weight: 760;
}

html[data-theme="dark"] .category-logo-wrap.simple,
html[data-theme="dark"] .cart-icon {
  background: rgba(255,255,255,.96);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
html[data-theme="dark"] .theme-mode-btn {
  background: rgba(255,255,255,.03);
  color: var(--text);
}
html[data-theme="dark"] .theme-mode-btn.active {
  background: linear-gradient(180deg, rgba(11,78,49,.78), rgba(18,30,45,.98));
  border-color: rgba(66,240,151,.28);
  box-shadow: inset 0 0 0 1px rgba(66,240,151,.14);
}
html[data-theme="dark"] .nominal-line-copy b,
html[data-theme="dark"] .qty-stepper.qty-stepper-input input,
html[data-theme="dark"] .cart-qty.cart-qty-input input,
html[data-theme="dark"] .cart-card-v3 .cart-copy b,
html[data-theme="dark"] .cart-card-v3 .cart-row-side strong,
html[data-theme="dark"] .detail-item span,
html[data-theme="dark"] .guide-card h1 {
  color: var(--text);
}
html[data-theme="dark"] .nominal-line-copy small,
html[data-theme="dark"] .cart-card-v3 .cart-copy small,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .guide-card li span,
html[data-theme="dark"] .total-row span {
  color: var(--muted);
}
html[data-theme="dark"] .guide-card{
  background: rgba(17,24,39,.92);
  border-color: var(--line);
}
html[data-theme="dark"] .guide-card li {
  background: rgba(255,255,255,.03);
  border-color: var(--line);
}
html[data-theme="dark"] .guide-kicker {
  background: rgba(66,240,151,.12);
  color: var(--green-dark);
}
html[data-theme="dark"] .qty-stepper.qty-stepper-input,
html[data-theme="dark"] .cart-qty.cart-qty-input {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
}
html[data-theme="dark"] .remove-btn.clean {
  border-color: rgba(255,107,107,.18);
  background: rgba(255,107,107,.12);
  color: #ff8b8b;
}

@media (max-width: 430px) {
  .cart-item.cart-item-thin.cart-item-clean.cart-card-v3 {
    grid-template-columns: minmax(0, 1fr) 100px;
    padding: 12px 50px 12px 12px;
    gap: 10px;
  }
  .cart-card-v3 .cart-row-side {
    min-width: 100px;
    gap: 8px;
  }
  .cart-card-v3 .cart-copy b {
    font-size: 16px;
  }
  .cart-card-v3 .cart-copy small {
    font-size: 12px;
  }
}


/* Production v16: keep cart CTA visible on catalog/home */
.catalog-cart-float {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(102px + env(safe-area-inset-bottom));
  z-index: 42;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid rgba(7,152,83,.16);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(255,255,255,.97);
  color: #07351f;
  box-shadow: 0 12px 28px rgba(15,23,42,.16);
  backdrop-filter: blur(18px);
  font-size: 15px;
  font-weight: 720;
}
.catalog-cart-float b {
  white-space: nowrap;
  font-size: 16px;
  font-weight: 760;
  color: #079853;
}
html[data-theme="dark"] .catalog-cart-float {
  background: rgba(17, 24, 39, .94);
  border-color: var(--line);
  color: var(--text);
}
html[data-theme="dark"] .catalog-cart-float b {
  color: var(--green-dark);
}

/* Admin-ready polish: square service icons, configurable catalog CTA and stronger dark-mode contrast */
.catalog-extra-button {
  min-height: 50px;
  border: 1px solid rgba(7,152,83,.18);
  border-radius: 18px;
  padding: 0 16px;
  background: linear-gradient(135deg, rgba(53,232,135,.18), rgba(200,255,221,.34));
  color: #07351f;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  font-size: 15px;
  font-weight: 760;
}
.category-logo-wrap.simple {
  border-radius: 18px !important;
  padding: 6px !important;
}
.category-logo-wrap.simple .category-logo {
  border-radius: 12px;
}
html[data-theme="dark"] {
  color-scheme: dark;
}
html[data-theme="dark"] .catalog-head p,
html[data-theme="dark"] .page-title p,
html[data-theme="dark"] .service-description p,
html[data-theme="dark"] .service-intro p,
html[data-theme="dark"] .section-head.products-head.compact p,
html[data-theme="dark"] .order-row small,
html[data-theme="dark"] .profile-card p,
html[data-theme="dark"] .profile-grid span,
html[data-theme="dark"] .checkout-preview-item span,
html[data-theme="dark"] .payment-method-copy small,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .empty-inline p,
html[data-theme="dark"] .empty-state p,
html[data-theme="dark"] .error-card p,
html[data-theme="dark"] .service-intro,
html[data-theme="dark"] .nominal-line-copy small,
html[data-theme="dark"] .cart-card-v3 .cart-copy small,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .guide-card li span,
html[data-theme="dark"] .total-row span {
  color: #c7d2e4 !important;
}
html[data-theme="dark"] .empty-inline,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .error-card,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .catalog-extra-button {
  background: rgba(14, 22, 36, .96) !important;
  border-color: rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] .empty-state h2,
html[data-theme="dark"] .empty-inline h3,
html[data-theme="dark"] .error-card h1,
html[data-theme="dark"] .checkout-preview h2,
html[data-theme="dark"] .payment-method-copy b,
html[data-theme="dark"] .order-row b,
html[data-theme="dark"] .order-row strong,
html[data-theme="dark"] .profile-grid b,
html[data-theme="dark"] .page-title h1,
html[data-theme="dark"] .catalog-head h2,
html[data-theme="dark"] .service-title-block.top h1,
html[data-theme="dark"] .detail-item span,
html[data-theme="dark"] .guide-card h1,
html[data-theme="dark"] .checkout-preview-total span,
html[data-theme="dark"] .checkout-preview-total b {
  color: #f8fbff !important;
}
html[data-theme="dark"] .filter-chip {
  background: rgba(255,255,255,.04);
  color: #e8eef9;
  border-color: rgba(255,255,255,.10);
}
html[data-theme="dark"] .filter-chip.active {
  color: #052313;
}
html[data-theme="dark"] .inline-link,
html[data-theme="dark"] .catalog-extra-button {
  color: #7df8ba !important;
}
html[data-theme="dark"] .product-card.simple.disabled {
  opacity: 1;
  background: rgba(19, 27, 42, .96) !important;
}
html[data-theme="dark"] .product-card.simple.disabled .nominal-line-copy b {
  color: #d8e2f2 !important;
}
html[data-theme="dark"] .product-card.simple.disabled .nominal-line-copy small {
  color: #aebbd1 !important;
}
html[data-theme="dark"] .qty-stepper.qty-stepper-input,
html[data-theme="dark"] .cart-qty.cart-qty-input {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.10) !important;
}
html[data-theme="dark"] .qty-stepper.qty-stepper-input button,
html[data-theme="dark"] .cart-qty.cart-qty-input button,
html[data-theme="dark"] .qty-stepper.qty-stepper-input input,
html[data-theme="dark"] .cart-qty.cart-qty-input input {
  color: #f4f8ff !important;
}
html[data-theme="dark"] .ghost-btn {
  color: #0a2d19;
  background: linear-gradient(135deg, #39ea8a, #b9ffd5);
  border-color: transparent;
}
@media (max-width: 430px) {
  .category-logo-wrap.simple {
    border-radius: 16px !important;
  }
  .category-logo-wrap.simple .category-logo {
    border-radius: 10px;
  }
}

/* Production v18: cart/payment harmony + readable dark mode */
.category-logo-wrap.simple {
  border-radius: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: 0 10px 20px rgba(15,23,42,.08) !important;
}
.category-logo-wrap.simple .category-logo {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  object-fit: cover;
  display: block;
}

.cart-item.cart-item-thin.cart-item-clean.cart-card-v3 {
  position: relative;
  min-height: 104px;
  padding: 13px 13px 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  grid-template-rows: auto auto !important;
  gap: 10px 10px !important;
  align-items: start !important;
}
.cart-card-v3 .remove-btn.clean {
  position: static !important;
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  align-self: start;
  justify-self: end;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(239,68,68,.16) !important;
  background: rgba(239,68,68,.10) !important;
  color: #ef4444 !important;
  font-size: 21px !important;
  line-height: 1 !important;
}
.cart-card-v3 .cart-product-link {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
  min-width: 0;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left;
}
.cart-card-v3 .cart-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  flex: 0 0 auto;
  padding: 0 !important;
  object-fit: cover !important;
  background: transparent !important;
  box-shadow: none !important;
}
.cart-card-v3 .cart-copy {
  min-width: 0;
  display: grid !important;
  gap: 4px !important;
}
.cart-card-v3 .cart-copy b {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  color: var(--text) !important;
  font-size: 18px !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em;
}
.cart-card-v3 .cart-copy small {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--muted) !important;
  font-size: 13.5px !important;
  font-weight: 620 !important;
  line-height: 1.25 !important;
}
.cart-card-v3 .cart-row-side {
  grid-column: 1 / -1 !important;
  grid-row: 2 / 3 !important;
  width: 100%;
  min-width: 0 !important;
  padding-left: 55px;
  padding-right: 4px;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.cart-card-v3 .cart-row-side strong {
  order: 2;
  flex: 0 0 auto;
  min-width: 92px;
  text-align: right;
  color: var(--text) !important;
  font-size: 20px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}
.cart-card-v3 .cart-qty.cart-qty-input {
  order: 1;
  width: 102px !important;
  min-width: 102px !important;
  height: 34px !important;
  grid-template-columns: 30px 1fr 30px !important;
  border-radius: 13px !important;
}
.cart-card-v3 .cart-qty.cart-qty-input button {
  font-size: 18px !important;
  font-weight: 680 !important;
}
.cart-card-v3 .cart-qty.cart-qty-input input {
  font-size: 15px !important;
  font-weight: 660 !important;
}
.cart-summary {
  position: relative;
  z-index: 1;
  margin-top: 12px !important;
}
.cart-summary div {
  padding: 0 4px;
}
.cart-summary b {
  font-size: 30px !important;
  letter-spacing: -.035em;
}

.payment-title { margin-bottom: 2px; }
.payment-methods {
  order: 1;
}
.checkout-preview {
  order: 2;
  margin-top: 2px;
}
.payment-method-copy b {
  font-size: 24px !important;
  font-weight: 680 !important;
  letter-spacing: -.03em !important;
}
.payment-method-copy small {
  font-weight: 570 !important;
}
.checkout-preview h2 {
  font-size: 20px !important;
  font-weight: 720 !important;
}
.checkout-preview-item span {
  color: var(--muted) !important;
  line-height: 1.34 !important;
}
.checkout-preview-item b,
.checkout-preview-total b {
  color: var(--text) !important;
  font-weight: 730 !important;
}
.checkout-preview-total span {
  color: var(--text) !important;
}

@media (max-width: 430px) {
  .cart-item.cart-item-thin.cart-item-clean.cart-card-v3 {
    min-height: 104px;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    padding: 12px !important;
  }
  .cart-card-v3 .cart-copy b { font-size: 17px !important; }
  .cart-card-v3 .cart-copy small { font-size: 12.8px !important; }
  .cart-card-v3 .cart-row-side {
    padding-left: 54px;
    gap: 10px !important;
  }
  .cart-card-v3 .cart-row-side strong {
    min-width: 86px;
    font-size: 19px !important;
  }
  .cart-card-v3 .cart-qty.cart-qty-input {
    width: 98px !important;
    min-width: 98px !important;
  }
  .payment-method-copy b { font-size: 22px !important; }
}

/* Dark theme: make every scene readable */
html[data-theme="dark"] {
  --bg: #06101e;
  --surface: rgba(13, 23, 38, .96);
  --surface-solid: #0d1726;
  --surface-soft: #121f33;
  --text: #f8fbff;
  --muted: #c7d2e4;
  --muted-2: #9fb0c8;
  --line: rgba(226, 238, 255, .13);
  --line-strong: rgba(226, 238, 255, .22);
  --green: #36ef91;
  --green-2: #a9ffd0;
  --green-dark: #4bf29a;
  --blue: #6fa8ff;
  --red: #ff7171;
  --orange: #ffb35b;
  --shadow: 0 18px 42px rgba(0,0,0,.36);
  --shadow-soft: 0 10px 26px rgba(0,0,0,.28);
}
html[data-theme="dark"],
html[data-theme="dark"] body {
  color-scheme: dark;
  background:
    radial-gradient(circle at 0 0, rgba(46, 232, 126, .16), transparent 32%),
    radial-gradient(circle at 100% 7%, rgba(72, 134, 255, .13), transparent 33%),
    linear-gradient(180deg, #071222 0%, #081321 55%, #050d18 100%) !important;
}
html[data-theme="dark"] .brand-panel,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .product-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .order-row,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-grid button,
html[data-theme="dark"] .theme-row,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .bottom-nav,
html[data-theme="dark"] .back-fab,
html[data-theme="dark"] .floating-cart-btn,
html[data-theme="dark"] .return-service-btn,
html[data-theme="dark"] .catalog-cart-float,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .empty-inline,
html[data-theme="dark"] .error-card,
html[data-theme="dark"] .notice {
  background: rgba(11, 20, 34, .96) !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .product-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .order-row,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-grid button{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 12px 28px rgba(0,0,0,.24) !important;
}
html[data-theme="dark"] .category-logo-wrap.simple,
html[data-theme="dark"] .cart-icon {
  background: transparent !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .category-copy.simple b,
html[data-theme="dark"] .brand-name,
html[data-theme="dark"] .catalog-head h2,
html[data-theme="dark"] .page-title h1,
html[data-theme="dark"] .service-title-block.top h1,
html[data-theme="dark"] .section-head.products-head.compact h2,
html[data-theme="dark"] .nominal-line-copy b,
html[data-theme="dark"] .cart-card-v3 .cart-copy b,
html[data-theme="dark"] .cart-card-v3 .cart-row-side strong,
html[data-theme="dark"] .cart-summary b,
html[data-theme="dark"] .checkout-preview h2,
html[data-theme="dark"] .checkout-preview-item b,
html[data-theme="dark"] .checkout-preview-total b,
html[data-theme="dark"] .checkout-preview-total span,
html[data-theme="dark"] .payment-method-copy b,
html[data-theme="dark"] .order-row b,
html[data-theme="dark"] .order-row strong,
html[data-theme="dark"] .profile-card h1,
html[data-theme="dark"] .profile-grid b,
html[data-theme="dark"] .empty-state h2,
html[data-theme="dark"] .empty-inline h3,
html[data-theme="dark"] .detail-item span,
html[data-theme="dark"] .guide-card h1 {
  color: #f8fbff !important;
}
html[data-theme="dark"] .category-copy.simple small,
html[data-theme="dark"] .catalog-head p,
html[data-theme="dark"] .page-title p,
html[data-theme="dark"] .service-title-block.top p,
html[data-theme="dark"] .service-description p,
html[data-theme="dark"] .service-intro,
html[data-theme="dark"] .service-intro p,
html[data-theme="dark"] .section-head.products-head.compact p,
html[data-theme="dark"] .nominal-line-copy small,
html[data-theme="dark"] .cart-card-v3 .cart-copy small,
html[data-theme="dark"] .cart-summary span,
html[data-theme="dark"] .checkout-preview-item span,
html[data-theme="dark"] .payment-method-copy small,
html[data-theme="dark"] .order-row small,
html[data-theme="dark"] .profile-card p,
html[data-theme="dark"] .profile-grid span,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .guide-card li span,
html[data-theme="dark"] .empty-state p,
html[data-theme="dark"] .empty-inline p,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .total-row span {
  color: #c7d2e4 !important;
}
html[data-theme="dark"] .category-arrow.simple,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .inline-link,
html[data-theme="dark"] .floating-cart-btn b,
html[data-theme="dark"] .catalog-cart-float b,
html[data-theme="dark"] .back-fab {
  color: #56f6a2 !important;
}
html[data-theme="dark"] .category-arrow.simple {
  background: rgba(86, 246, 162, .10) !important;
}
html[data-theme="dark"] .search-box input,
html[data-theme="dark"] .qty-stepper.qty-stepper-input input,
html[data-theme="dark"] .cart-qty.cart-qty-input input,
html[data-theme="dark"] .qty-stepper.qty-stepper-input button,
html[data-theme="dark"] .cart-qty.cart-qty-input button {
  color: #f8fbff !important;
}
html[data-theme="dark"] .search-box input::placeholder {
  color: #9fb0c8 !important;
}
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal,
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal.selected,
html[data-theme="dark"] .product-card.simple.disabled,
html[data-theme="dark"] .product-card.simple.disabled.selected {
  background: rgba(12, 22, 37, .96) !important;
  border-color: rgba(226, 238, 255, .14) !important;
  opacity: 1 !important;
}
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal.selected {
  border-color: rgba(86,246,162,.55) !important;
  box-shadow: inset 0 0 0 1px rgba(86,246,162,.08), 0 12px 30px rgba(0,0,0,.28) !important;
}
html[data-theme="dark"] .filter-chip {
  background: rgba(255,255,255,.04) !important;
  color: #e7effa !important;
  border-color: rgba(226,238,255,.13) !important;
}
html[data-theme="dark"] .filter-chip.active {
  color: #062816 !important;
  background: linear-gradient(135deg, #36ef91, #a9ffd0) !important;
  border-color: transparent !important;
}
html[data-theme="dark"] .qty-stepper.qty-stepper-input,
html[data-theme="dark"] .cart-qty.cart-qty-input {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(226,238,255,.14) !important;
}
html[data-theme="dark"] .cart-summary {
  background: #08111f !important;
  border-color: rgba(226,238,255,.13) !important;
}
html[data-theme="dark"] .remove-btn.clean {
  color: #ff7f7f !important;
  background: rgba(255,113,113,.12) !important;
  border-color: rgba(255,113,113,.22) !important;
}
html[data-theme="dark"] .theme-mode-btn {
  background: rgba(255,255,255,.04) !important;
  color: #dce7f6 !important;
}
html[data-theme="dark"] .theme-mode-btn.active {
  color: #f8fbff !important;
  background: linear-gradient(180deg, rgba(13, 90, 57, .86), rgba(11, 20, 34, .98)) !important;
  border-color: rgba(86, 246, 162, .30) !important;
}
html[data-theme="dark"] .payment-method-icon {
  background: rgba(86,246,162,.10) !important;
  color: #56f6a2 !important;
}
html[data-theme="dark"] .service-cover-card.full.clean-cover,
html[data-theme="dark"] .service-cover-card.full {
  background: rgba(11, 20, 34, .96) !important;
  border-color: rgba(226,238,255,.13) !important;
}
html[data-theme="dark"] .ghost-btn,
html[data-theme="dark"] .primary-btn {
  color: #062816 !important;
}

/* Final visual polish: consistent checkout/cart/order/dark-mode contrast */
.payment-helper {
  margin: -4px 2px -2px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.01em;
}
.payment-method-card {
  min-height: 88px;
  padding: 14px 16px !important;
  border-radius: 24px !important;
}
.payment-method-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 20px !important;
  background: rgba(31,209,116,.10) !important;
}
.payment-method-copy b {
  font-size: 22px !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
}
.payment-method-copy small {
  font-size: 14px !important;
  font-weight: 560 !important;
  line-height: 1.3 !important;
}
.checkout-preview {
  border-radius: 24px !important;
  padding: 14px 16px !important;
}
.checkout-preview h2 {
  font-size: 20px !important;
  font-weight: 720 !important;
}
.checkout-preview-item {
  align-items: flex-start !important;
  gap: 12px !important;
}
.checkout-preview-item span {
  font-size: 15px !important;
  line-height: 1.32 !important;
  color: var(--muted) !important;
}
.checkout-preview-item b {
  min-width: 82px;
  text-align: right;
  color: var(--text) !important;
  font-weight: 720 !important;
}
.checkout-preview-total b,
.checkout-preview-total span {
  color: var(--text) !important;
}

.cart-item.cart-item-thin.cart-item-clean.cart-card-v3 {
  min-height: 104px !important;
  padding: 12px !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  grid-template-rows: auto auto !important;
  gap: 8px 10px !important;
}
.cart-card-v3 .remove-btn.clean {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 13px !important;
}
.cart-card-v3 .cart-product-link {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 0 !important;
  min-width: 0 !important;
}
.cart-card-v3 .cart-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 15px !important;
  padding: 0 !important;
  object-fit: cover !important;
  background: transparent !important;
  box-shadow: none !important;
}
.cart-card-v3 .cart-copy b {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 17px !important;
  line-height: 1.12 !important;
  font-weight: 720 !important;
  color: var(--text) !important;
}
.cart-card-v3 .cart-copy small {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  line-height: 1.24 !important;
  font-weight: 610 !important;
  color: var(--muted) !important;
}
.cart-card-v3 .cart-row-side {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-left: 57px !important;
  padding-right: 2px !important;
  gap: 10px !important;
}
.cart-card-v3 .cart-row-side strong {
  order: 2 !important;
  min-width: 78px !important;
  text-align: right !important;
  font-size: 20px !important;
  color: var(--text) !important;
}
.cart-card-v3 .cart-qty.cart-qty-input {
  order: 1 !important;
  width: 98px !important;
  min-width: 98px !important;
  height: 34px !important;
  grid-template-columns: 29px 1fr 29px !important;
  border-radius: 13px !important;
}
.cart-card-v3 .cart-qty.cart-qty-input button {
  font-size: 18px !important;
  font-weight: 680 !important;
}
.cart-card-v3 .cart-qty.cart-qty-input input {
  font-size: 15px !important;
  font-weight: 660 !important;
}
.cart-summary {
  border-radius: 26px !important;
  padding: 16px !important;
}
.cart-summary div {
  padding: 0 4px !important;
}
.cart-summary b {
  font-size: 31px !important;
  letter-spacing: -.04em !important;
}

.detail-order-card {
  border-radius: 30px !important;
  padding: 18px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--text) !important;
}
.detail-order-card h1 {
  font-weight: 760 !important;
}
.detail-items .detail-item {
  align-items: flex-start !important;
}
.detail-item span {
  font-size: 16px !important;
  line-height: 1.34 !important;
  color: var(--text) !important;
}
.detail-item b {
  min-width: 76px;
  text-align: right;
  color: var(--text) !important;
}
.total-row b,
.total-row span {
  color: var(--text) !important;
}
.code-card {
  background: linear-gradient(135deg, #062d19, #032314) !important;
  border: 1px solid rgba(61, 237, 138, .18) !important;
  border-radius: 24px !important;
}
.code-card span { color: rgba(230,255,238,.74) !important; }
.code-card b { color: #77ffab !important; }

/* strong dark mode: every surface is dark, every text is readable */
html[data-theme="dark"] {
  --bg: #06101d;
  --surface: rgba(11, 20, 34, .97);
  --surface-solid: #0b1422;
  --surface-soft: #111e31;
  --text: #f8fbff;
  --muted: #c9d4e5;
  --muted-2: #9fb0c8;
  --line: rgba(226,238,255,.14);
  --line-strong: rgba(226,238,255,.24);
  --green: #38ef91;
  --green-2: #a9ffd0;
  --green-dark: #55f7a3;
}
html[data-theme="dark"],
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 0 0, rgba(46,232,126,.16), transparent 34%),
    radial-gradient(circle at 100% 7%, rgba(72,134,255,.13), transparent 34%),
    linear-gradient(180deg, #071222 0%, #081321 55%, #050d18 100%) !important;
}
html[data-theme="dark"] .brand-panel,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .product-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .cart-summary,
html[data-theme="dark"] .order-row,
html[data-theme="dark"] .detail-order-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-grid button,
html[data-theme="dark"] .theme-row,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .bottom-nav,
html[data-theme="dark"] .back-fab,
html[data-theme="dark"] .floating-cart-btn,
html[data-theme="dark"] .return-service-btn,
html[data-theme="dark"] .catalog-cart-float,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .empty-inline,
html[data-theme="dark"] .error-card,
html[data-theme="dark"] .notice {
  background: rgba(11,20,34,.97) !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
}
html[data-theme="dark"] .category-copy.simple b,
html[data-theme="dark"] .brand-name,
html[data-theme="dark"] .catalog-head h2,
html[data-theme="dark"] .page-title h1,
html[data-theme="dark"] .service-title-block.top h1,
html[data-theme="dark"] .section-head.products-head.compact h2,
html[data-theme="dark"] .nominal-line-copy b,
html[data-theme="dark"] .cart-card-v3 .cart-copy b,
html[data-theme="dark"] .cart-card-v3 .cart-row-side strong,
html[data-theme="dark"] .cart-summary b,
html[data-theme="dark"] .checkout-preview h2,
html[data-theme="dark"] .checkout-preview-item b,
html[data-theme="dark"] .checkout-preview-total b,
html[data-theme="dark"] .checkout-preview-total span,
html[data-theme="dark"] .payment-method-copy b,
html[data-theme="dark"] .order-row b,
html[data-theme="dark"] .order-row strong,
html[data-theme="dark"] .profile-card h1,
html[data-theme="dark"] .profile-grid b,
html[data-theme="dark"] .empty-state h2,
html[data-theme="dark"] .empty-inline h3,
html[data-theme="dark"] .detail-order-card h1,
html[data-theme="dark"] .detail-item span,
html[data-theme="dark"] .detail-item b,
html[data-theme="dark"] .total-row b,
html[data-theme="dark"] .total-row span,
html[data-theme="dark"] .guide-card h1 {
  color: #f8fbff !important;
}
html[data-theme="dark"] .category-copy.simple small,
html[data-theme="dark"] .catalog-head p,
html[data-theme="dark"] .page-title p,
html[data-theme="dark"] .payment-helper,
html[data-theme="dark"] .service-title-block.top p,
html[data-theme="dark"] .service-description p,
html[data-theme="dark"] .service-intro,
html[data-theme="dark"] .service-intro p,
html[data-theme="dark"] .section-head.products-head.compact p,
html[data-theme="dark"] .nominal-line-copy small,
html[data-theme="dark"] .cart-card-v3 .cart-copy small,
html[data-theme="dark"] .cart-summary span,
html[data-theme="dark"] .checkout-preview-item span,
html[data-theme="dark"] .payment-method-copy small,
html[data-theme="dark"] .order-row small,
html[data-theme="dark"] .profile-card p,
html[data-theme="dark"] .profile-grid span,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .guide-card li span,
html[data-theme="dark"] .empty-state p,
html[data-theme="dark"] .empty-inline p,
html[data-theme="dark"] .notice {
  color: #c9d4e5 !important;
}
html[data-theme="dark"] .filter-chip {
  background: rgba(255,255,255,.04) !important;
  color: #e7effa !important;
  border-color: rgba(226,238,255,.14) !important;
}
html[data-theme="dark"] .filter-chip.active {
  color: #062816 !important;
  background: linear-gradient(135deg, #38ef91, #a9ffd0) !important;
  border-color: transparent !important;
}
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal,
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal.selected,
html[data-theme="dark"] .product-card.simple.disabled,
html[data-theme="dark"] .product-card.simple.disabled.selected {
  background: rgba(11,20,34,.97) !important;
  border-color: rgba(226,238,255,.15) !important;
  opacity: 1 !important;
}
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal.selected {
  border-color: rgba(85,247,163,.58) !important;
  box-shadow: inset 0 0 0 1px rgba(85,247,163,.10), 0 12px 30px rgba(0,0,0,.30) !important;
}
html[data-theme="dark"] .qty-stepper.qty-stepper-input,
html[data-theme="dark"] .cart-qty.cart-qty-input {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(226,238,255,.15) !important;
}
html[data-theme="dark"] .qty-stepper.qty-stepper-input input,
html[data-theme="dark"] .cart-qty.cart-qty-input input,
html[data-theme="dark"] .qty-stepper.qty-stepper-input button,
html[data-theme="dark"] .cart-qty.cart-qty-input button {
  color: #f8fbff !important;
}
html[data-theme="dark"] .payment-method-icon {
  background: rgba(85,247,163,.10) !important;
  color: #55f7a3 !important;
}
html[data-theme="dark"] .category-arrow.simple,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .inline-link,
html[data-theme="dark"] .floating-cart-btn b,
html[data-theme="dark"] .catalog-cart-float b,
html[data-theme="dark"] .back-fab {
  color: #55f7a3 !important;
}
html[data-theme="dark"] .theme-mode-btn.active {
  color: #f8fbff !important;
  background: linear-gradient(180deg, rgba(13,90,57,.86), rgba(11,20,34,.98)) !important;
  border-color: rgba(85,247,163,.34) !important;
}
html[data-theme="dark"] .remove-btn.clean {
  color: #ff7f7f !important;
  background: rgba(255,113,113,.12) !important;
  border-color: rgba(255,113,113,.24) !important;
}
html[data-theme="dark"] .primary-btn,
html[data-theme="dark"] .ghost-btn {
  color: #062816 !important;
}
html[data-theme="dark"] .code-card {
  background: linear-gradient(135deg, #052c18, #032213) !important;
}
@media (max-width: 430px) {
  .payment-method-copy b { font-size: 21px !important; }
  .payment-method-card { min-height: 84px; }
  .cart-card-v3 .cart-copy b { font-size: 16.5px !important; }
  .cart-card-v3 .cart-copy small { font-size: 12.5px !important; }
  .cart-card-v3 .cart-row-side { padding-left: 56px !important; }
  .cart-card-v3 .cart-row-side strong { min-width: 76px !important; font-size: 19px !important; }
}

/* Oplatika production visual polish v20 */
:root {
  --op-bg: #eef6f1;
  --op-card: rgba(255,255,255,.94);
  --op-card-strong: #ffffff;
  --op-text: #10182d;
  --op-muted: #657086;
  --op-muted-2: #98a2b3;
  --op-line: rgba(16, 24, 45, .08);
  --op-green: #0aa15d;
  --op-green-soft: rgba(21, 218, 126, .13);
  --op-blue: #2479ff;
  --op-blue-soft: rgba(36, 121, 255, .12);
  --op-amber: #f6b23f;
  --op-amber-soft: rgba(246, 178, 63, .16);
  --op-red: #ef535f;
  --op-red-soft: rgba(239, 83, 95, .13);
}

html[data-theme="dark"] {
  --op-bg: #07111d;
  --op-card: rgba(16, 26, 43, .96);
  --op-card-strong: #111d31;
  --op-text: #f7fbff;
  --op-muted: #c3ccdb;
  --op-muted-2: #9ba8bb;
  --op-line: rgba(255,255,255,.105);
  --op-green: #65f09c;
  --op-green-soft: rgba(101, 240, 156, .15);
  --op-blue: #7aa9ff;
  --op-blue-soft: rgba(122, 169, 255, .18);
  --op-amber: #ffd166;
  --op-amber-soft: rgba(255, 209, 102, .18);
  --op-red: #ff8790;
  --op-red-soft: rgba(255, 135, 144, .17);
}

.app-shell { animation: op-fade-up .26s ease both; }
@keyframes op-fade-up { from { opacity: .001; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
button, .category-card, .product-card, .cart-item, .order-row, .payment-method-card, .profile-grid button{ transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease; }
button:active, .category-card:active, .product-card:active, .cart-item:active, .order-row:active, .payment-method-card:active { transform: scale(.985); }

html[data-theme="dark"] body { background: radial-gradient(circle at 0% 0%, rgba(32, 217, 119, .18), transparent 28%), radial-gradient(circle at 100% 7%, rgba(36,121,255,.16), transparent 28%), linear-gradient(180deg,#07111d 0%, #0a1422 56%, #07111d 100%) !important; }
html[data-theme="dark"] .brand-panel,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .product-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .order-row,
html[data-theme="dark"] .order-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-grid button,
html[data-theme="dark"] .theme-switch-card,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .bottom-nav,
html[data-theme="dark"] .back-fab,
html[data-theme="dark"] .floating-cart-btn,
html[data-theme="dark"] .return-service-btn,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .empty-inline,
html[data-theme="dark"] .error-card,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .notice {
  background: var(--op-card) !important;
  border-color: var(--op-line) !important;
  color: var(--op-text) !important;
}
html[data-theme="dark"] .brand-name,
html[data-theme="dark"] .catalog-head h2,
html[data-theme="dark"] .page-title h1,
html[data-theme="dark"] .service-title-block h1,
html[data-theme="dark"] .category-copy.simple b,
html[data-theme="dark"] .nominal-line-copy b,
html[data-theme="dark"] .cart-copy b,
html[data-theme="dark"] .order-row b,
html[data-theme="dark"] .order-row strong,
html[data-theme="dark"] .order-card h1,
html[data-theme="dark"] .detail-item span,
html[data-theme="dark"] .summary-row b,
html[data-theme="dark"] .profile-card h1,
html[data-theme="dark"] .profile-grid b,
html[data-theme="dark"] .checkout-preview h2,
html[data-theme="dark"] .payment-method-copy b,
html[data-theme="dark"] .empty-state h2,
html[data-theme="dark"] .empty-inline h3,
html[data-theme="dark"] .error-card h1 { color: var(--op-text) !important; }
html[data-theme="dark"] .catalog-head p,
html[data-theme="dark"] .page-title p,
html[data-theme="dark"] .service-description p,
html[data-theme="dark"] .service-intro p,
html[data-theme="dark"] .category-copy.simple small,
html[data-theme="dark"] .nominal-line-copy small,
html[data-theme="dark"] .cart-copy small,
html[data-theme="dark"] .checkout-preview-item span,
html[data-theme="dark"] .payment-method-copy small,
html[data-theme="dark"] .profile-card p,
html[data-theme="dark"] .profile-grid span,
html[data-theme="dark"] .empty-state p,
html[data-theme="dark"] .empty-inline p,
html[data-theme="dark"] .error-card p,
html[data-theme="dark"] .guide-card p,
html[data-theme="dark"] .guide-card li span,
html[data-theme="dark"] .total-row span { color: var(--op-muted) !important; }

/* Cart layout v4 */
.cart-item.cart-card-v4 {
  position: relative;
  min-height: 116px;
  padding: 14px 14px 14px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  align-items: center;
  gap: 12px;
  overflow: visible;
}
.cart-card-v4 .remove-btn.clean {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 38px;
  height: 38px;
  z-index: 3;
  border-radius: 15px;
  border: 1px solid rgba(239,83,95,.22);
  background: var(--op-red-soft);
  color: var(--op-red);
  font-size: 24px;
  line-height: 1;
  display: grid;
  place-items: center;
}
.cart-card-v4 .cart-product-link {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.cart-card-v4 .cart-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  padding: 5px;
  background: rgba(255,255,255,.94);
  object-fit: contain;
  flex: 0 0 auto;
}
.cart-card-v4 .cart-copy { min-width: 0; }
.cart-card-v4 .cart-copy b {
  display: block;
  max-width: 100%;
  font-size: 18px;
  font-weight: 760;
  line-height: 1.16;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cart-card-v4 .cart-copy small {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.25;
  color: var(--op-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cart-card-v4 .cart-row-side {
  min-width: 0;
  display: grid;
  justify-items: end;
  gap: 10px;
  padding-right: 4px;
}
.cart-card-v4 .cart-row-side strong {
  color: var(--op-text);
  font-size: 22px;
  font-weight: 820;
  letter-spacing: -.035em;
}
.cart-card-v4 .cart-qty.cart-qty-input {
  width: 112px;
  min-width: 112px;
  height: 38px;
  grid-template-columns: 32px 46px 32px;
  border-radius: 16px;
  background: rgba(15,23,42,.035);
  border-color: rgba(15,23,42,.075);
}
.cart-card-v4 .cart-qty button { font-size: 20px; color: var(--op-green); }
.cart-card-v4 .cart-qty input { font-size: 16px; font-weight: 760; color: var(--op-text); }
html[data-theme="dark"] .cart-card-v4 .cart-qty.cart-qty-input { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.10); }
html[data-theme="dark"] .cart-card-v4 .cart-icon { background: rgba(255,255,255,.96); }
@media (max-width: 430px) {
  .cart-item.cart-card-v4 { grid-template-columns: minmax(0, 1fr) 116px; min-height: 108px; padding: 13px; }
  .cart-card-v4 .cart-icon { width: 52px; height: 52px; border-radius: 16px; }
  .cart-card-v4 .cart-copy b { font-size: 16px; }
  .cart-card-v4 .cart-copy small { font-size: 12px; }
  .cart-card-v4 .cart-row-side strong { font-size: 20px; }
  .cart-card-v4 .cart-qty.cart-qty-input { width: 104px; min-width: 104px; grid-template-columns: 30px 44px 30px; }
}

/* Payment methods focus */
.payment-method-card {
  min-height: 88px;
  border-width: 1.5px;
}
.payment-method-card .payment-method-copy b { font-weight: 720 !important; letter-spacing: -.02em; }
.payment-method-card.stars {
  border-color: rgba(36,121,255,.28) !important;
  background: linear-gradient(135deg, rgba(36,121,255,.12), rgba(255,206,80,.12)), var(--op-card) !important;
}
.payment-method-card.robokassa {
  border-color: rgba(10,161,93,.28) !important;
  background: linear-gradient(135deg, rgba(10,161,93,.14), rgba(184,255,213,.12)), var(--op-card) !important;
}
.payment-method-card.stars .payment-method-icon {
  background: linear-gradient(135deg, rgba(36,121,255,.16), rgba(255,206,80,.22));
  color: #f2b705;
}
.payment-method-card.robokassa .payment-method-icon {
  background: var(--op-green-soft);
  color: var(--op-green);
}
.payment-helper {
  color: var(--op-muted) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 3px !important;
  font-size: 14px;
}
.payment-selected { border-color: rgba(10,161,93,.18) !important; background: var(--op-green-soft) !important; color: var(--op-text) !important; }

/* Theme switcher */
.theme-switch-card {
  min-height: 76px;
  padding: 12px;
  border-radius: 26px;
  border: 1px solid var(--op-line);
  background: var(--op-card);
  box-shadow: var(--shadow-soft);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.theme-switch-label {
  color: var(--op-muted);
  font-size: 14px;
  font-weight: 700;
  padding-left: 4px;
}
.theme-switch-pro {
  min-height: 54px;
  padding: 5px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  border-radius: 20px;
  background: rgba(15,23,42,.045);
  border: 1px solid var(--op-line);
}
.theme-switch-pro .theme-mode-btn {
  min-height: 42px;
  border: 0;
  border-radius: 15px;
  background: transparent;
  font-size: 21px;
  box-shadow: none;
}
.theme-switch-pro .theme-mode-btn.active {
  background: var(--op-card-strong) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.08) !important;
  border: 1px solid var(--op-line) !important;
}
html[data-theme="dark"] .theme-switch-pro { background: rgba(255,255,255,.04); }
html[data-theme="dark"] .theme-switch-pro .theme-mode-btn.active { background: rgba(123,230,159,.14) !important; border-color: rgba(123,230,159,.28) !important; }

/* Statuses */
.status,
.order-row-main small {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.order-row.pretty { border-radius: 26px; padding: 15px 16px; }
.order-row.pretty small {
  width: max-content;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 760;
  margin-top: 8px;
}
.order-row.pretty.status-pending small, .status.status-pending { background: var(--op-blue-soft) !important; color: var(--op-blue) !important; }
.order-row.pretty.status-support small, .status.status-support { background: var(--op-amber-soft) !important; color: var(--op-amber) !important; }
.order-row.pretty.status-completed small, .status.status-completed, .status.completed { background: var(--op-green-soft) !important; color: var(--op-green) !important; }
.order-row.pretty.status-cancelled small, .order-row.pretty.status-expired small, .status.status-cancelled, .status.status-expired { background: var(--op-red-soft) !important; color: var(--op-red) !important; }
.status { font-size: 13px !important; font-weight: 760 !important; padding: 7px 11px !important; border-radius: 999px !important; }

/* Error cards */
.error-card.error-card-pro,
.error-card {
  border-color: rgba(239,83,95,.18) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,248,.92)) !important;
  box-shadow: 0 18px 44px rgba(239,83,95,.08) !important;
}
.error-card h1 { color: #b3261e !important; }
.error-icon-pro,
.error-card > div:first-child {
  background: rgba(239,83,95,.10) !important;
  color: #b3261e !important;
}
.error-card .support-error-btn { margin-top: 9px; width: 100%; }
html[data-theme="dark"] .error-card.error-card-pro,
html[data-theme="dark"] .error-card {
  background: linear-gradient(180deg, rgba(40,20,26,.96), rgba(19,24,39,.96)) !important;
  border-color: rgba(255,135,144,.22) !important;
}
html[data-theme="dark"] .error-card h1 { color: #ffb4ab !important; }
html[data-theme="dark"] .error-icon-pro,
html[data-theme="dark"] .error-card > div:first-child { background: rgba(255,135,144,.13) !important; color: #ffb4ab !important; }

/* Code and order details */
html[data-theme="dark"] .code-card { background: linear-gradient(135deg, #052213, #03150d) !important; border: 1px solid rgba(123,230,159,.22); }
html[data-theme="dark"] .code-card span { color: #bfe7cb !important; }
html[data-theme="dark"] .codes-list b, html[data-theme="dark"] .code-card b { color: #86f7aa !important; }
html[data-theme="dark"] .summary-row { border-color: var(--op-line) !important; }
html[data-theme="dark"] .ghost-btn { color: #062313 !important; background: linear-gradient(135deg, #65f09c, #c7ffd8) !important; border-color: transparent !important; }

/* Oplatika iOS-style production pass v21 */
:root {
  --ios-bg: #f4f7f6;
  --ios-surface: rgba(255,255,255,.82);
  --ios-surface-strong: rgba(255,255,255,.94);
  --ios-text: #111827;
  --ios-muted: #677287;
  --ios-line: rgba(17,24,39,.095);
  --ios-shadow: 0 18px 42px rgba(17, 24, 39, .12);
  --ios-blur: blur(26px) saturate(1.25);
  --ios-green: #16c76f;
  --ios-blue: #2f80ff;
  --ios-yellow: #ffcc3f;
  --ios-red: #ff5a66;
}
html[data-theme="dark"] {
  --ios-bg: #070f1b;
  --ios-surface: rgba(15, 25, 42, .74);
  --ios-surface-strong: rgba(16, 27, 45, .90);
  --ios-text: #f7fbff;
  --ios-muted: #b7c3d6;
  --ios-line: rgba(235,244,255,.14);
  --ios-shadow: 0 22px 52px rgba(0,0,0,.38);
  --ios-green: #69f0a1;
  --ios-blue: #79a9ff;
  --ios-yellow: #ffd56a;
  --ios-red: #ff8b96;
}

html, body { overscroll-behavior-y: contain; }
.app-shell {
  padding-bottom: calc(178px + env(safe-area-inset-bottom)) !important;
}
body {
  background:
    radial-gradient(circle at 0 0, rgba(22,199,111,.20), transparent 30%),
    radial-gradient(circle at 100% 6%, rgba(47,128,255,.16), transparent 32%),
    linear-gradient(180deg, #f7fbf9 0%, #eef5f1 100%) !important;
}
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 0 0, rgba(105,240,161,.16), transparent 30%),
    radial-gradient(circle at 100% 8%, rgba(121,169,255,.18), transparent 32%),
    linear-gradient(180deg, #07101d 0%, #081321 58%, #050c17 100%) !important;
}

.brand-panel,
.support-pill,
.category-card.simple,
.search-box,
.product-card.simple,
.cart-item,
.cart-summary,
.order-row,
.detail-order-card,
.profile-card,
.profile-grid button,
.theme-ios-card,
.checkout-preview,
.payment-method-card,
.bottom-nav,
.back-fab,
.floating-cart-btn,
.return-service-btn,
.catalog-cart-float,
.guide-card,
.empty-state,
.empty-inline,
.error-card,
.notice {
  background: var(--ios-surface) !important;
  border: 1px solid var(--ios-line) !important;
  box-shadow: var(--ios-shadow) !important;
  -webkit-backdrop-filter: var(--ios-blur);
  backdrop-filter: var(--ios-blur);
  color: var(--ios-text) !important;
}

html[data-theme="dark"] .brand-panel,
html[data-theme="dark"] .support-pill,
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .product-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .cart-summary,
html[data-theme="dark"] .order-row,
html[data-theme="dark"] .detail-order-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-grid button,
html[data-theme="dark"] .theme-ios-card,
html[data-theme="dark"] .checkout-preview,
html[data-theme="dark"] .payment-method-card,
html[data-theme="dark"] .bottom-nav,
html[data-theme="dark"] .back-fab,
html[data-theme="dark"] .floating-cart-btn,
html[data-theme="dark"] .return-service-btn,
html[data-theme="dark"] .catalog-cart-float,
html[data-theme="dark"] .guide-card,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .empty-inline,
html[data-theme="dark"] .error-card,
html[data-theme="dark"] .notice {
  background: var(--ios-surface) !important;
  border-color: var(--ios-line) !important;
  color: var(--ios-text) !important;
}

/* fixed controls */
.bottom-nav {
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
  width: min(692px, calc(100vw - 24px)) !important;
  z-index: 90 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  padding: 8px !important;
  border-radius: 31px !important;
}
.nav-item { min-height: 74px !important; border-radius: 24px !important; }
.nav-item.active { background: rgba(47,128,255,.13) !important; color: #2377ff !important; }
html[data-theme="dark"] .nav-item.active { background: rgba(121,169,255,.18) !important; color: #8bb5ff !important; }

.floating-actions {
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  z-index: 82 !important;
  display: flex !important;
  gap: 10px !important;
  pointer-events: none !important;
}
.floating-actions .back-fab,
.floating-actions .floating-cart-btn { pointer-events: auto !important; }
.back-fab,
.back-fab.cart-back{
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  z-index: 82 !important;
  min-width: 108px !important;
  height: 52px !important;
  padding: 0 16px !important;
  border-radius: 22px !important;
  color: var(--ios-green) !important;
}
.floating-actions .back-fab { position: static !important; flex: 0 0 auto !important; }
.floating-cart-btn {
  height: 52px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  border-radius: 22px !important;
  color: var(--ios-text) !important;
}
.floating-cart-btn b { color: var(--ios-green) !important; }
.catalog-cart-float {
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  z-index: 82 !important;
  min-height: 52px !important;
  border-radius: 22px !important;
}

/* profile switch: native iPhone-like, no sun/moon */
.theme-switch-card,
.theme-row.icon-only { display: none !important; }
.theme-ios-card {
  min-height: 86px;
  padding: 14px 16px !important;
  border-radius: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}
.theme-ios-copy { display: grid; gap: 4px; min-width: 0; }
.theme-ios-copy b { color: var(--ios-text); font-size: 18px; font-weight: 760; letter-spacing: -.02em; }
.theme-ios-copy small { color: var(--ios-muted); font-size: 13px; line-height: 1.3; }
.ios-theme-switch {
  position: relative;
  flex: 0 0 auto;
  width: 64px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: rgba(120,130,150,.30);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06), inset 0 3px 10px rgba(0,0,0,.10);
}
.ios-theme-switch span {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.22);
  transition: transform .22s cubic-bezier(.22,1,.36,1);
}
.ios-theme-switch.active { background: linear-gradient(135deg, #20293a, #354257); }
.ios-theme-switch.active span { transform: translateX(26px); }
html[data-theme="dark"] .ios-theme-switch { background: linear-gradient(135deg, #3b82f6, #6ee7a8); }

/* cart v5: no overflow, right-side controls, delete inside card */
.cart-list { gap: 14px !important; }
.cart-item.cart-card-v4 {
  position: relative !important;
  min-height: 116px !important;
  padding: 15px 48px 15px 15px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 106px !important;
  align-items: center !important;
  gap: 12px !important;
  overflow: hidden !important;
  border-radius: 28px !important;
}
.cart-card-v4 .remove-btn.clean {
  top: 12px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,90,102,.22) !important;
  background: rgba(255,90,102,.12) !important;
  color: var(--ios-red) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.cart-card-v4 .cart-product-link { gap: 12px !important; min-width: 0 !important; align-items: center !important; }
.cart-card-v4 .cart-icon { width: 54px !important; height: 54px !important; border-radius: 17px !important; padding: 4px !important; background: rgba(255,255,255,.95) !important; }
.cart-card-v4 .cart-copy b {
  font-size: 17px !important;
  font-weight: 760 !important;
  line-height: 1.16 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.cart-card-v4 .cart-copy small {
  margin-top: 5px !important;
  font-size: 12.5px !important;
  color: var(--ios-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.cart-card-v4 .cart-row-side {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 27px 0 0 !important;
}
.cart-card-v4 .cart-qty.cart-qty-input {
  width: 104px !important;
  min-width: 104px !important;
  height: 36px !important;
  grid-template-columns: 30px 42px 30px !important;
  border-radius: 18px !important;
  background: rgba(116,126,145,.10) !important;
  border: 1px solid var(--ios-line) !important;
}
.cart-card-v4 .cart-qty button { font-size: 18px !important; font-weight: 720 !important; color: var(--ios-green) !important; }
.cart-card-v4 .cart-qty input { font-size: 16px !important; font-weight: 760 !important; color: var(--ios-text) !important; }
.cart-card-v4 .cart-row-side strong {
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  color: var(--ios-text) !important;
  white-space: nowrap !important;
}
.cart-summary {
  border-radius: 30px !important;
  padding: 18px 18px 20px !important;
  display: grid !important;
  gap: 16px !important;
  background: rgba(12,24,43,.96) !important;
  color: #fff !important;
}
.cart-summary div { margin-bottom: 0 !important; padding: 0 !important; }
.cart-summary span { color: rgba(255,255,255,.74) !important; }
.cart-summary b { color: #fff !important; font-size: 34px !important; }
.cart-summary .primary-btn { margin-top: 0 !important; }
html[data-theme="dark"] .cart-summary { background: rgba(6,14,27,.96) !important; }

/* payment methods: clearer focus */
.payment-methods { display: grid !important; gap: 14px !important; }
.payment-method-card {
  min-height: 96px !important;
  border-radius: 28px !important;
  padding: 16px !important;
  overflow: hidden !important;
}
.payment-method-card.stars {
  background: linear-gradient(135deg, rgba(47,128,255,.16), rgba(255,204,63,.18)), var(--ios-surface) !important;
  border-color: rgba(47,128,255,.34) !important;
}
.payment-method-card.robokassa {
  background: linear-gradient(135deg, rgba(22,199,111,.18), rgba(182,255,211,.14)), var(--ios-surface) !important;
  border-color: rgba(22,199,111,.34) !important;
}
.payment-method-card .payment-method-copy b {
  font-size: 21px !important;
  font-weight: 690 !important;
  letter-spacing: -.018em !important;
}
.payment-method-card .payment-method-copy small { color: var(--ios-muted) !important; font-weight: 560 !important; }
.payment-method-card.stars .payment-method-icon { background: linear-gradient(135deg, rgba(47,128,255,.20), rgba(255,204,63,.26)) !important; color: #e6aa00 !important; }
.payment-method-card.robokassa .payment-method-icon { background: rgba(22,199,111,.14) !important; color: var(--ios-green) !important; }
.payment-helper { color: var(--ios-muted) !important; font-size: 14px !important; padding: 0 2px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.checkout-preview { border-radius: 28px !important; padding: 16px !important; }
.checkout-preview-item { align-items: flex-start !important; gap: 10px !important; }
.checkout-preview-item span { color: var(--ios-muted) !important; line-height: 1.34 !important; }
.checkout-preview-item b { color: var(--ios-text) !important; }
.detail-order-card .payment-selected {
  margin-top: 16px !important;
  margin-bottom: 12px !important;
  border-radius: 22px !important;
  padding: 14px !important;
  background: rgba(22,199,111,.12) !important;
  color: var(--ios-text) !important;
}
.detail-order-card .payment-selected + .primary-btn { margin-top: 2px !important; }
.detail-order-card .primary-btn { border-radius: 22px !important; min-height: 58px !important; }

/* order/status readability */
.status,
.order-row.pretty small {
  border: 1px solid transparent !important;
  font-size: 12.5px !important;
  font-weight: 740 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.status.status-pending, .order-row.pretty.status-pending small { background: rgba(47,128,255,.14) !important; color: var(--ios-blue) !important; border-color: rgba(47,128,255,.16) !important; }
.status.status-support, .order-row.pretty.status-support small { background: rgba(255,204,63,.16) !important; color: #b77900 !important; border-color: rgba(255,204,63,.18) !important; }
html[data-theme="dark"] .status.status-support, html[data-theme="dark"] .order-row.pretty.status-support small { color: var(--ios-yellow) !important; }
.status.status-completed, .status.completed, .order-row.pretty.status-completed small { background: rgba(22,199,111,.15) !important; color: var(--ios-green) !important; border-color: rgba(22,199,111,.18) !important; }
.status.status-cancelled, .status.status-expired, .order-row.pretty.status-cancelled small, .order-row.pretty.status-expired small { background: rgba(255,90,102,.14) !important; color: var(--ios-red) !important; border-color: rgba(255,90,102,.18) !important; }
.detail-order-card { border-radius: 32px !important; }
html[data-theme="dark"] .detail-order-card,
html[data-theme="dark"] .order-card.detail-order-card { background: rgba(15,25,42,.78) !important; }

/* error state in style */
.error-card.error-card-pro,
.error-card {
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.74)), var(--ios-surface) !important;
  border-color: rgba(255,90,102,.20) !important;
  border-radius: 30px !important;
}
.error-card h1 { color: var(--ios-text) !important; }
.error-card p { color: var(--ios-muted) !important; }
.error-icon-pro,
.error-card > div:first-child { background: rgba(255,90,102,.10) !important; color: var(--ios-red) !important; }
html[data-theme="dark"] .error-card.error-card-pro,
html[data-theme="dark"] .error-card { background: rgba(15,25,42,.82) !important; border-color: rgba(255,139,150,.22) !important; }
html[data-theme="dark"] .error-card h1 { color: #fff !important; }
html[data-theme="dark"] .error-card p { color: var(--ios-muted) !important; }

/* animations */
.content > * { animation: op-screen-in .22s ease both; }
@keyframes op-screen-in { from { opacity: .001; transform: translateY(5px) scale(.997); } to { opacity: 1; transform: translateY(0) scale(1); } }
button, .category-card.simple, .product-card.simple, .cart-card-v4, .payment-method-card, .order-row, .profile-grid button{ -webkit-tap-highlight-color: transparent; }
button:active, .category-card.simple:active, .product-card.simple:active, .cart-card-v4:active, .payment-method-card:active, .order-row:active { transform: scale(.985) !important; }

@media (max-width: 430px) {
  .bottom-nav { width: calc(100vw - 24px) !important; }
  .cart-item.cart-card-v4 { grid-template-columns: minmax(0,1fr) 100px !important; padding-right: 42px !important; }
  .cart-card-v4 .cart-copy b { font-size: 16px !important; }
  .cart-card-v4 .cart-copy small { font-size: 12px !important; }
  .cart-card-v4 .cart-qty.cart-qty-input { width: 96px !important; min-width: 96px !important; grid-template-columns: 28px 40px 28px !important; }
  .cart-card-v4 .cart-row-side strong { font-size: 19px !important; }
  .payment-method-card .payment-method-copy b { font-size: 20px !important; }
  .theme-ios-card { border-radius: 26px !important; }
}


/* Final iOS 26-like polish v2: fixed controls, refined cart, clean profile switch */
:root {
  --ios26-glass: rgba(255,255,255,.70);
  --ios26-glass-strong: rgba(255,255,255,.88);
  --ios26-hairline: rgba(18, 28, 45, .10);
  --ios26-shadow: 0 18px 44px rgba(18, 28, 45, .11);
  --ios26-press: scale(.982);
}
html[data-theme="dark"] {
  --ios26-glass: rgba(16, 27, 45, .66);
  --ios26-glass-strong: rgba(18, 31, 52, .84);
  --ios26-hairline: rgba(235,244,255,.15);
  --ios26-shadow: 0 22px 58px rgba(0,0,0,.36);
}
html, body { min-height: 100%; }
body {
  background-attachment: fixed !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.app-shell {
  min-height: 100vh !important;
  padding-bottom: calc(198px + env(safe-area-inset-bottom)) !important;
}
.content {
  padding-bottom: 12px !important;
}

.brand-panel,
.support-pill,
.category-card.simple,
.search-box,
.product-card.simple,
.cart-card-v4,
.cart-summary,
.order-row,
.detail-order-card,
.profile-card,
.profile-grid button,
.theme-ios-card,
.checkout-preview,
.payment-method-card,
.empty-state,
.empty-inline,
.error-card,
.notice,
.guide-card{
  background: var(--ios26-glass) !important;
  border: 1px solid var(--ios26-hairline) !important;
  box-shadow: var(--ios26-shadow) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.42) !important;
  backdrop-filter: blur(28px) saturate(1.42) !important;
}
html[data-theme="dark"] .cart-summary {
  background: rgba(8, 17, 32, .78) !important;
}

.bottom-nav {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  width: min(692px, calc(100vw - 24px)) !important;
  z-index: 1000 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 31px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid var(--ios26-hairline) !important;
  box-shadow: 0 18px 42px rgba(20, 31, 54, .18) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.45) !important;
  backdrop-filter: blur(30px) saturate(1.45) !important;
}
html[data-theme="dark"] .bottom-nav {
  background: rgba(12, 23, 40, .74) !important;
  box-shadow: 0 20px 56px rgba(0,0,0,.42) !important;
}
.nav-item {
  min-height: 72px !important;
  border-radius: 24px !important;
  font-weight: 710 !important;
  color: var(--ios-muted) !important;
}
.nav-item.active {
  background: rgba(47,128,255,.14) !important;
  color: #1677ff !important;
}
html[data-theme="dark"] .nav-item.active {
  background: rgba(121,169,255,.18) !important;
  color: #8db6ff !important;
}
.nav-item em {
  z-index: 5 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.82) !important;
}
html[data-theme="dark"] .nav-item em { box-shadow: 0 0 0 2px rgba(12,23,40,.92) !important; }

.floating-actions {
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  bottom: calc(98px + env(safe-area-inset-bottom)) !important;
  z-index: 990 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  pointer-events: none !important;
}
.floating-actions .back-fab,
.floating-actions .floating-cart-btn { pointer-events: auto !important; }
.back-fab,
.back-fab.cart-back,
.return-service-btn,
.catalog-cart-float,
.floating-cart-btn {
  -webkit-backdrop-filter: blur(28px) saturate(1.42) !important;
  backdrop-filter: blur(28px) saturate(1.42) !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid var(--ios26-hairline) !important;
  box-shadow: 0 14px 34px rgba(17, 24, 39, .16) !important;
}
html[data-theme="dark"] .back-fab,
html[data-theme="dark"] .back-fab.cart-back,
html[data-theme="dark"] .return-service-btn,
html[data-theme="dark"] .catalog-cart-float,
html[data-theme="dark"] .floating-cart-btn {
  background: rgba(13, 24, 42, .78) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.36) !important;
}
.back-fab,
.back-fab.cart-back{
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  bottom: calc(98px + env(safe-area-inset-bottom)) !important;
  z-index: 990 !important;
  min-width: 108px !important;
  height: 52px !important;
  padding: 0 16px !important;
  border-radius: 22px !important;
  color: var(--ios-green) !important;
}
.floating-actions .back-fab {
  position: static !important;
  flex: 0 0 auto !important;
}
.floating-cart-btn,
.catalog-cart-float,
.return-service-btn {
  position: fixed !important;
  bottom: calc(98px + env(safe-area-inset-bottom)) !important;
  z-index: 990 !important;
  height: 52px !important;
  border-radius: 22px !important;
}
.floating-actions .floating-cart-btn {
  position: static !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.catalog-cart-float {
  left: max(14px, env(safe-area-inset-left)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  min-height: 52px !important;
}
.return-service-btn {
  right: max(14px, env(safe-area-inset-right)) !important;
  left: auto !important;
  min-width: 136px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 18px !important;
  color: var(--ios-green) !important;
}

.theme-ios-card {
  min-height: 74px !important;
  padding: 14px 16px !important;
  border-radius: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.theme-ios-copy { display: block !important; }
.theme-ios-copy b {
  font-size: 17px !important;
  font-weight: 740 !important;
  color: var(--ios-text) !important;
}
.theme-ios-copy small { display: none !important; }
.ios-theme-switch {
  width: 62px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: rgba(142,142,147,.32) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06) !important;
}
.ios-theme-switch span {
  width: 30px !important;
  height: 30px !important;
  top: 3px !important;
  left: 3px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.22) !important;
}
.ios-theme-switch.active {
  background: #34c759 !important;
}
.ios-theme-switch.active span {
  transform: translateX(26px) !important;
}
html[data-theme="dark"] .ios-theme-switch.active { background: #34c759 !important; }

.cart-list { gap: 14px !important; }
.cart-item.cart-card-v4 {
  position: relative !important;
  min-height: 112px !important;
  padding: 14px 44px 14px 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 96px !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
  border-radius: 28px !important;
}
.cart-card-v4 .remove-btn.clean {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 16px !important;
  z-index: 4 !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,90,102,.12) !important;
  border: 1px solid rgba(255,90,102,.20) !important;
  color: var(--ios-red) !important;
  font-size: 20px !important;
}
.cart-card-v4 .cart-product-link {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  text-align: left !important;
}
.cart-card-v4 .cart-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  padding: 5px !important;
  flex: 0 0 auto !important;
  object-fit: contain !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: inset 0 0 0 1px rgba(17,24,39,.04) !important;
}
.cart-card-v4 .cart-copy {
  min-width: 0 !important;
  display: block !important;
}
.cart-card-v4 .cart-copy b {
  font-size: 16.8px !important;
  line-height: 1.14 !important;
  font-weight: 760 !important;
  color: var(--ios-text) !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.cart-card-v4 .cart-copy small {
  margin-top: 6px !important;
  display: block !important;
  font-size: 12.5px !important;
  line-height: 1.22 !important;
  color: var(--ios-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.cart-card-v4 .cart-row-side {
  min-width: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
  gap: 8px !important;
  padding-top: 34px !important;
}
.cart-card-v4 .cart-qty.cart-qty-input {
  width: 92px !important;
  min-width: 92px !important;
  height: 34px !important;
  grid-template-columns: 27px 38px 27px !important;
  border-radius: 17px !important;
  background: rgba(118,128,146,.10) !important;
  border: 1px solid var(--ios26-hairline) !important;
}
.cart-card-v4 .cart-qty button {
  font-size: 17px !important;
  font-weight: 760 !important;
  color: var(--ios-green) !important;
}
.cart-card-v4 .cart-qty input {
  font-size: 15px !important;
  font-weight: 760 !important;
  color: var(--ios-text) !important;
}
.cart-card-v4 .cart-row-side strong {
  font-size: 18.5px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  color: var(--ios-text) !important;
  white-space: nowrap !important;
  letter-spacing: -.035em !important;
}
.cart-summary {
  border-radius: 30px !important;
  padding: 18px 18px 20px !important;
  display: grid !important;
  gap: 16px !important;
  background: rgba(12,24,43,.94) !important;
  color: #fff !important;
}
.cart-summary div { margin: 0 !important; padding: 0 !important; }
.cart-summary span { color: rgba(255,255,255,.72) !important; }
.cart-summary b { color: #fff !important; font-size: 32px !important; letter-spacing: -.045em !important; }
.cart-summary .primary-btn { margin-top: 0 !important; min-height: 58px !important; border-radius: 22px !important; }

.payment-helper {
  padding: 0 2px !important;
  margin: -2px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--ios-muted) !important;
}
.payment-methods { gap: 14px !important; }
.payment-method-card {
  min-height: 96px !important;
  border-radius: 28px !important;
  padding: 16px !important;
}
.payment-method-card.stars {
  background: linear-gradient(135deg, rgba(47,128,255,.18), rgba(255,204,63,.20)), var(--ios26-glass) !important;
  border-color: rgba(47,128,255,.32) !important;
}
.payment-method-card.robokassa {
  background: linear-gradient(135deg, rgba(22,199,111,.20), rgba(182,255,211,.15)), var(--ios26-glass) !important;
  border-color: rgba(22,199,111,.32) !important;
}
.payment-method-card .payment-method-copy b {
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}
.payment-method-card .payment-method-copy small {
  color: var(--ios-muted) !important;
  font-weight: 560 !important;
}
.detail-order-card .payment-selected {
  margin: 18px 0 14px !important;
  border-radius: 22px !important;
  padding: 14px 16px !important;
  background: rgba(22,199,111,.12) !important;
  border: 1px solid rgba(22,199,111,.18) !important;
  color: var(--ios-text) !important;
}
.detail-order-card .payment-selected + .primary-btn {
  display: block !important;
  width: 100% !important;
  margin-top: 0 !important;
  min-height: 60px !important;
  border-radius: 22px !important;
}

@media (max-width: 430px) {
  .app-shell { padding-bottom: calc(198px + env(safe-area-inset-bottom)) !important; }
  .bottom-nav { width: calc(100vw - 24px) !important; }
  .nav-item { min-height: 70px !important; font-size: 12px !important; }
  .floating-actions { bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  .back-fab, .back-fab.cart-back, .floating-cart-btn, .catalog-cart-float, .return-service-btn { bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  .cart-item.cart-card-v4 { grid-template-columns: minmax(0, 1fr) 92px !important; min-height: 112px !important; padding: 13px 42px 13px 13px !important; gap: 9px !important; }
  .cart-card-v4 .cart-icon { width: 54px !important; height: 54px !important; border-radius: 17px !important; }
  .cart-card-v4 .cart-copy b { font-size: 16px !important; }
  .cart-card-v4 .cart-copy small { font-size: 12px !important; }
  .cart-card-v4 .cart-qty.cart-qty-input { width: 88px !important; min-width: 88px !important; grid-template-columns: 26px 36px 26px !important; }
  .cart-card-v4 .cart-row-side strong { font-size: 17.5px !important; }
  .cart-summary b { font-size: 30px !important; }
}

/* iOS 26 fixed-navigation production pass: always-visible bottom actions */
:root {
  --ios26-action-bottom: calc(104px + env(safe-area-inset-bottom));
  --ios26-nav-bottom: max(10px, env(safe-area-inset-bottom));
  --ios26-nav-height: 86px;
  --ios26-radius-xl: 30px;
  --ios26-radius-lg: 24px;
  --ios26-glass-final: rgba(255,255,255,.76);
  --ios26-glass-final-strong: rgba(255,255,255,.88);
  --ios26-stroke-final: rgba(17,24,39,.10);
  --ios26-green-final: #10a75d;
  --ios26-text-final: #101828;
  --ios26-muted-final: #667085;
  --ios26-red-final: #ff5a66;
  --ios26-depth-final: 0 18px 46px rgba(16,24,40,.14);
  --ios26-depth-soft-final: 0 12px 30px rgba(16,24,40,.10);
}
html[data-theme="dark"] {
  --ios26-glass-final: rgba(13,24,42,.74);
  --ios26-glass-final-strong: rgba(15,27,47,.88);
  --ios26-stroke-final: rgba(235,244,255,.15);
  --ios26-green-final: #55f7a3;
  --ios26-text-final: #f8fbff;
  --ios26-muted-final: #c7d2e4;
  --ios26-red-final: #ff8790;
  --ios26-depth-final: 0 22px 58px rgba(0,0,0,.42);
  --ios26-depth-soft-final: 0 14px 34px rgba(0,0,0,.30);
}

.app-shell {
  padding-bottom: calc(210px + env(safe-area-inset-bottom)) !important;
}
.content { padding-bottom: 10px !important; }

.bottom-nav {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: var(--ios26-nav-bottom) !important;
  transform: translateX(-50%) !important;
  width: min(692px, calc(100vw - 24px)) !important;
  z-index: 1000 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 32px !important;
  background: var(--ios26-glass-final) !important;
  border: 1px solid var(--ios26-stroke-final) !important;
  box-shadow: 0 18px 48px rgba(16,24,40,.18) !important;
  -webkit-backdrop-filter: blur(32px) saturate(1.55) !important;
  backdrop-filter: blur(32px) saturate(1.55) !important;
}
.nav-item {
  min-height: 72px !important;
  border-radius: 25px !important;
  color: var(--ios26-muted-final) !important;
  font-weight: 760 !important;
  letter-spacing: -.02em !important;
}
.nav-item .nav-icon { font-size: 25px !important; margin-bottom: 4px !important; }
.nav-item.active {
  background: linear-gradient(180deg, rgba(16,167,93,.16), rgba(16,167,93,.10)) !important;
  color: var(--ios26-green-final) !important;
  box-shadow: inset 0 0 0 1px rgba(16,167,93,.10) !important;
}
.nav-item.active[data-tab="orders"] {
  background: linear-gradient(180deg, rgba(47,128,255,.16), rgba(47,128,255,.10)) !important;
  color: #2f80ff !important;
  box-shadow: inset 0 0 0 1px rgba(47,128,255,.10) !important;
}
html[data-theme="dark"] .nav-item.active[data-tab="orders"] { color: #8bb5ff !important; }
.nav-item em { top: 8px !important; right: 22px !important; box-shadow: 0 0 0 2px rgba(255,255,255,.9) !important; }
html[data-theme="dark"] .nav-item em { box-shadow: 0 0 0 2px rgba(13,24,42,.95) !important; }

.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-actions,
.fixed-action-row,
.cart-checkout-dock {
  position: fixed !important;
  left: max(14px, env(safe-area-inset-left)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  bottom: var(--ios26-action-bottom) !important;
  z-index: 990 !important;
}
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-cart-btn,
.back-fab,
.return-service-btn,
.fixed-pill,
.cart-checkout-dock {
  background: var(--ios26-glass-final) !important;
  border: 1px solid var(--ios26-stroke-final) !important;
  box-shadow: var(--ios26-depth-final) !important;
  -webkit-backdrop-filter: blur(32px) saturate(1.55) !important;
  backdrop-filter: blur(32px) saturate(1.55) !important;
}

.catalog-cart-float.ios26-sticky-action {
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto 20px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 7px 14px 7px 8px !important;
  border-radius: 28px !important;
  color: var(--ios26-text-final) !important;
  font-weight: 850 !important;
}
.catalog-cart-float .sticky-action-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-green-final) !important;
  background: rgba(16,167,93,.12) !important;
  font-size: 24px !important;
}
.catalog-cart-float .sticky-action-title {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.catalog-cart-float b {
  color: var(--ios26-green-final) !important;
  font-size: 22px !important;
  letter-spacing: -.04em !important;
  white-space: nowrap !important;
}
.catalog-cart-float i,
.floating-cart-btn i {
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-muted-final) !important;
  font-size: 18px !important;
}

.return-service-btn.ios26-fixed-action {
  left: auto !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  min-width: 156px !important;
  height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 18px !important;
  border-radius: 24px !important;
  color: var(--ios26-green-final) !important;
  font-weight: 850 !important;
}

.floating-actions,
.fixed-action-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  pointer-events: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.floating-actions > *,
.fixed-action-row > * { pointer-events: auto !important; }
.floating-actions .back-fab,
.fixed-action-row .back-fab,
.fixed-pill {
  position: static !important;
  flex: 0 0 auto !important;
  min-width: 112px !important;
  height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 0 16px !important;
  border-radius: 24px !important;
  color: var(--ios26-green-final) !important;
  font-weight: 850 !important;
}
.fixed-pill svg,
.back-fab svg,
.return-service-btn svg { width: 22px !important; height: 22px !important; }
.floating-actions .floating-cart-btn {
  position: static !important;
  flex: 1 1 auto !important;
  height: 56px !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto 18px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 16px !important;
  border-radius: 24px !important;
  color: var(--ios26-text-final) !important;
  font-weight: 850 !important;
}
.floating-actions .floating-cart-btn b { color: var(--ios26-green-final) !important; white-space: nowrap !important; }
.floating-actions .floating-cart-btn[hidden] { display: none !important; }
.order-fixed-actions .fixed-pill-return {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.cart-checkout-dock {
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(118px, 30%) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px !important;
  border-radius: 31px !important;
}
.cart-checkout-main,
.cart-checkout-total {
  height: 56px !important;
  border: 0 !important;
  border-radius: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cart-checkout-main {
  gap: 12px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #34d56f 0%, #05a75e 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 12px 26px rgba(5,167,94,.24) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}
.cart-checkout-main i {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-green-final) !important;
  background: rgba(255,255,255,.92) !important;
  font-size: 20px !important;
}
.cart-checkout-total {
  flex-direction: column !important;
  gap: 1px !important;
  color: var(--ios26-green-final) !important;
  background: rgba(16,167,93,.08) !important;
  border: 1px solid rgba(16,167,93,.12) !important;
  font-weight: 900 !important;
}
.cart-checkout-total b { font-size: 20px !important; line-height: 1.05 !important; letter-spacing: -.04em !important; }
.cart-checkout-total small { color: var(--ios26-muted-final) !important; font-size: 12px !important; font-weight: 760 !important; }

.cart-summary.cart-summary-ios {
  display: grid !important;
  gap: 12px !important;
  padding: 17px 18px !important;
  border-radius: 29px !important;
  background: var(--ios26-glass-final) !important;
  color: var(--ios26-text-final) !important;
  border: 1px solid var(--ios26-stroke-final) !important;
  box-shadow: var(--ios26-depth-soft-final) !important;
}
.cart-summary-ios .cart-summary-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cart-summary-ios span { color: var(--ios26-muted-final) !important; font-size: 16px !important; font-weight: 680 !important; }
.cart-summary-ios b { color: var(--ios26-text-final) !important; font-size: 18px !important; font-weight: 820 !important; letter-spacing: -.03em !important; }
.cart-summary-ios .cart-summary-divider {
  height: 1px !important;
  background: var(--ios26-stroke-final) !important;
}
.cart-summary-ios .total span { color: var(--ios26-text-final) !important; font-weight: 850 !important; }
.cart-summary-ios .total b { color: var(--ios26-green-final) !important; font-size: 28px !important; font-weight: 950 !important; }

.profile-grid button{
  position: relative !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 34px !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 4px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 28px !important;
}
.profile-action-icon {
  grid-row: 1 / 3 !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-green-final) !important;
  background: rgba(16,167,93,.12) !important;
  font-size: 24px !important;
}
.profile-grid button b{
  grid-column: 2 !important;
  color: var(--ios26-text-final) !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  letter-spacing: -.03em !important;
}
.profile-grid button span:not(.profile-action-icon) {
  grid-column: 2 !important;
  color: var(--ios26-muted-final) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}
.profile-grid button i{
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-green-final) !important;
  background: rgba(255,255,255,.54) !important;
  box-shadow: 0 8px 16px rgba(16,24,40,.08) !important;
}




.theme-ios-card { min-height: 76px !important; }
.theme-ios-copy b { font-size: 18px !important; font-weight: 850 !important; color: var(--ios26-text-final) !important; }
.ios-theme-switch { flex: 0 0 auto !important; }

@media (max-width: 430px) {
  :root { --ios26-action-bottom: calc(98px + env(safe-area-inset-bottom)); }
  .app-shell { padding-bottom: calc(202px + env(safe-area-inset-bottom)) !important; }
  .bottom-nav { width: calc(100vw - 22px) !important; padding: 7px !important; }
  .nav-item { min-height: 70px !important; border-radius: 23px !important; }
  .catalog-cart-float.ios26-sticky-action { min-height: 58px !important; grid-template-columns: 48px minmax(0,1fr) auto 18px !important; }
  .catalog-cart-float .sticky-action-icon { width: 42px !important; height: 42px !important; }
  .cart-checkout-dock { grid-template-columns: minmax(0, 1fr) 118px !important; min-height: 68px !important; padding: 7px !important; }
  .cart-checkout-main, .cart-checkout-total { height: 54px !important; border-radius: 22px !important; }
  .cart-checkout-main { font-size: 16px !important; }
  .cart-checkout-total b { font-size: 18px !important; }
  .fixed-action-row, .floating-actions { gap: 8px !important; }
  .fixed-pill, .floating-actions .back-fab { min-width: 104px !important; height: 54px !important; }
  .floating-actions .floating-cart-btn { height: 54px !important; }
  .profile-grid button{ grid-template-columns: 44px minmax(0, 1fr) 32px !important; gap: 4px 10px !important; padding: 14px !important; }
  .profile-action-icon { width: 44px !important; height: 44px !important; border-radius: 16px !important; }
  .profile-grid button b{ font-size: 17px !important; }
}

/* === iOS26 HOTFIX: fixed bottom controls must be viewport-pinned ===
   In Telegram/iOS WebView, any transform/animation on an ancestor turns
   position: fixed into ancestor-relative positioning. The old .app-shell
   entrance animation left transform: translateY(0), so bottom nav/actions
   appeared only near the bottom of the scrollable page. Keep app-shell
   transform-free and animation-free. */
.app-shell {
  animation: none !important;
  transform: none !important;
  contain: none !important;
  overflow: visible !important;
}
#app {
  overflow: visible !important;
  transform: none !important;
  contain: none !important;
}
.bottom-nav {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: var(--ios26-nav-bottom, max(10px, env(safe-area-inset-bottom))) !important;
  transform: translateX(-50%) !important;
  width: min(692px, calc(100vw - 24px)) !important;
  z-index: 10000 !important;
}
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-actions,
.fixed-action-row,
.cart-checkout-dock,
.back-fab.cart-back,
.back-fab.fixed-pill,
.floating-cart-btn {
  animation: none !important;
}
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-actions,
.fixed-action-row,
.cart-checkout-dock,
.back-fab.cart-back,
.back-fab.fixed-pill {
  position: fixed !important;
  bottom: var(--ios26-action-bottom, calc(104px + env(safe-area-inset-bottom))) !important;
  z-index: 9990 !important;
  transform: none !important;
}
.catalog-cart-float.ios26-sticky-action,
.cart-checkout-dock,
.floating-actions,
.fixed-action-row,
.back-fab.cart-back,
.back-fab.fixed-pill {
  left: max(14px, env(safe-area-inset-left)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
}
.return-service-btn.ios26-fixed-action {
  left: auto !important;
  right: max(14px, env(safe-area-inset-right)) !important;
}
@media (max-width: 430px) {
  .bottom-nav { width: calc(100vw - 24px) !important; }
  .app-shell { padding-bottom: calc(222px + env(safe-area-inset-bottom)) !important; }
}



/* === iOS26 ADMIN RELEASE: profile/action polish and softer colors === */
:root {
  --bg: #f5faf7;
  --green: #17c96c;
  --green-dark: #0a9e57;
  --ios26-green-final: #12b866;
  --ios26-text-final: #101828;
  --ios26-muted-final: #667085;
}
html[data-theme="dark"] {
  --bg: #07111f !important;
  --surface: rgba(12, 22, 38, .86) !important;
  --surface-solid: #0e1a2d !important;
  --surface-soft: #13233b !important;
  --text: #f5f8ff !important;
  --muted: #bdc9db !important;
  --muted-2: #8d9bb1 !important;
  --line: rgba(216, 232, 255, .12) !important;
  --line-strong: rgba(216, 232, 255, .18) !important;
  --green: #35e887 !important;
  --green-dark: #62f2a2 !important;
  --ios26-green-final: #5df7a5 !important;
  --ios26-text-final: #f6f9ff !important;
  --ios26-muted-final: #c1ccdc !important;
}
html[data-theme="dark"], html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 0% 0%, rgba(25, 209, 117, .18), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(62, 135, 255, .12), transparent 34%),
    linear-gradient(180deg, #07111f 0%, #07101d 52%, #050c16 100%) !important;
}

.catalog-extra-button { display: none !important; }

.profile-grid { gap: 12px !important; }
.profile-grid button,
.profile-channel-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 14px !important;
  row-gap: 4px !important;
  align-items: center !important;
  min-height: 96px !important;
  padding: 18px 64px 18px 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.84) !important;
  color: var(--ios26-text-final) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.07) !important;
  text-align: left !important;
}
.profile-channel-card {
  width: 100% !important;
  margin-top: 12px !important;
  border: 0 !important;
  cursor: pointer !important;
}
.profile-action-icon {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 20px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-green-final) !important;
  background: rgba(18,184,102,.12) !important;
  font-size: 24px !important;
}
.profile-grid button b,
.profile-channel-card b {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: var(--ios26-text-final) !important;
  font-size: 18px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}
.profile-grid button span:not(.profile-action-icon),
.profile-channel-card span:not(.profile-action-icon) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: var(--ios26-muted-final) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.profile-grid button i,
.profile-channel-card i {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ios26-green-final) !important;
  background: rgba(18,184,102,.10) !important;
  border: 1px solid rgba(18,184,102,.14) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}



html[data-theme="dark"] .profile-grid button,
html[data-theme="dark"] .profile-channel-card,
html[data-theme="dark"] .category-card.simple,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .cart-summary-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .theme-ios-card {
  background: rgba(14, 27, 47, .78) !important;
  border-color: rgba(214, 229, 255, .12) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.20) !important;
}
html[data-theme="dark"] .profile-grid button i,
html[data-theme="dark"] .profile-channel-card i {
  background: rgba(93,247,165,.13) !important;
  border-color: rgba(93,247,165,.18) !important;
  color: #5df7a5 !important;
}
html[data-theme="dark"] .profile-action-icon {
  background: rgba(93,247,165,.12) !important;
  color: #5df7a5 !important;
}

.fixed-action-row.service-fixed-actions {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}
.service-fixed-actions .back-fab,
.service-fixed-actions .floating-cart-btn,
.order-fixed-actions .back-fab,
.order-fixed-actions .return-service-btn {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: auto !important;
  min-width: 0 !important;
}
.service-fixed-actions .floating-cart-btn {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto 20px !important;
  gap: 10px !important;
  padding: 0 16px !important;
}
.service-fixed-actions .floating-cart-btn .sticky-action-title {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.order-fixed-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
  gap: 12px !important;
}

.cart-item {
  grid-template-columns: 70px minmax(0, 1fr) auto !important;
  align-items: center !important;
}
.cart-item .cart-item-copy,
.cart-item .cart-item-title {
  min-width: 0 !important;
}
.cart-item .cart-item-title,
.cart-item b {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 430px) {
  .profile-grid button,
  .profile-channel-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: 15px 56px 15px 15px !important;
  }
  .profile-action-icon { width: 46px !important; height: 46px !important; border-radius: 17px !important; }
  .profile-grid button i,
  .profile-channel-card i { right: 12px !important; width: 34px !important; height: 34px !important; }
  .profile-grid button b,
  .profile-channel-card b { font-size: 17px !important; }
  .fixed-action-row.service-fixed-actions { grid-template-columns: 104px minmax(0, 1fr) !important; gap: 8px !important; }
}

/* === iOS26 POLISH PATCH: spacing, wrapping, profile and cart cards === */
:root {
  --ios26-action-bottom: calc(124px + env(safe-area-inset-bottom)) !important;
}
.app-shell {
  padding-bottom: calc(252px + env(safe-area-inset-bottom)) !important;
}
@media (max-width: 430px) {
  :root { --ios26-action-bottom: calc(124px + env(safe-area-inset-bottom)) !important; }
  .app-shell { padding-bottom: calc(252px + env(safe-area-inset-bottom)) !important; }
}

/* Fixed action should have breathing room above the tab bar */
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-actions,
.fixed-action-row,
.cart-checkout-dock,
.back-fab.cart-back,
.back-fab.fixed-pill {
  bottom: var(--ios26-action-bottom) !important;
}

/* No ellipsis for “Перейти в корзину”: allow a neat second line */
.catalog-cart-float .sticky-action-title,
.service-fixed-actions .floating-cart-btn .sticky-action-title,
.floating-actions .floating-cart-btn .sticky-action-title {
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
}
.service-fixed-actions,
.floating-actions.service-fixed-actions {
  align-items: stretch !important;
}
.service-fixed-actions .back-fab,
.service-fixed-actions .floating-cart-btn {
  min-height: 64px !important;
  height: auto !important;
}
.service-fixed-actions .floating-cart-btn {
  grid-template-columns: minmax(0, 1fr) auto 18px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Cart summary without commission row */
.cart-summary.cart-summary-ios {
  gap: 14px !important;
}
.cart-summary-ios .cart-summary-divider {
  margin: 0 !important;
}

/* New cart cards: product on top, quantity and price on a calmer bottom row */
.cart-list {
  gap: 16px !important;
}
.cart-item.cart-card-v6 {
  position: relative !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px !important;
  grid-template-rows: auto auto !important;
  gap: 14px 12px !important;
  align-items: start !important;
  padding: 16px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(16,24,40,.075) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88)),
    radial-gradient(circle at 8% 0%, rgba(18,184,102,.10), transparent 36%) !important;
  box-shadow: 0 16px 40px rgba(16,24,40,.09) !important;
  overflow: hidden !important;
}
.cart-card-v6 .remove-btn.clean {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: start !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,90,102,.22) !important;
  background: rgba(255,90,102,.105) !important;
  color: var(--ios26-red-final, #ff5a66) !important;
  box-shadow: none !important;
  font-size: 24px !important;
}
.cart-card-v6 .cart-product-link {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  color: var(--ios26-text-final) !important;
}
.cart-card-v6 .cart-icon {
  flex: 0 0 auto !important;
  width: 62px !important;
  height: 62px !important;
  border-radius: 20px !important;
  padding: 4px !important;
  object-fit: contain !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.045), 0 10px 20px rgba(16,24,40,.08) !important;
}
.cart-card-v6 .cart-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 5px !important;
}
.cart-card-v6 .cart-copy b {
  margin: 0 !important;
  max-width: 100% !important;
  color: var(--ios26-text-final) !important;
  font-size: 20px !important;
  line-height: 1.08 !important;
  font-weight: 920 !important;
  letter-spacing: -.04em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.cart-card-v6 .cart-copy small {
  color: var(--ios26-muted-final) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.cart-card-v6 .cart-row-side {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 13px 2px 0 !important;
  border-top: 1px solid rgba(16,24,40,.065) !important;
}
.cart-card-v6 .cart-qty.cart-qty-input {
  width: 132px !important;
  min-width: 132px !important;
  height: 42px !important;
  display: grid !important;
  grid-template-columns: 38px 1fr 38px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(16,24,40,.09) !important;
  background: rgba(116,126,145,.085) !important;
  overflow: hidden !important;
}
.cart-card-v6 .cart-qty button {
  color: var(--ios26-green-final) !important;
  font-size: 22px !important;
  font-weight: 860 !important;
}
.cart-card-v6 .cart-qty input {
  color: var(--ios26-text-final) !important;
  font-size: 17px !important;
  font-weight: 860 !important;
  text-align: center !important;
}
.cart-card-v6 .cart-row-side strong {
  color: var(--ios26-text-final) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
  white-space: nowrap !important;
  text-align: right !important;
}
html[data-theme="dark"] .cart-item.cart-card-v6 {
  background:
    linear-gradient(180deg, rgba(15,27,47,.92), rgba(11,20,34,.86)),
    radial-gradient(circle at 7% 0%, rgba(85,247,163,.11), transparent 38%) !important;
  border-color: rgba(235,244,255,.12) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.28) !important;
}
html[data-theme="dark"] .cart-card-v6 .cart-row-side {
  border-top-color: rgba(235,244,255,.10) !important;
}
html[data-theme="dark"] .cart-card-v6 .cart-icon {
  background: rgba(255,255,255,.94) !important;
}
@media (max-width: 430px) {
  .cart-item.cart-card-v6 { padding: 15px !important; grid-template-columns: minmax(0,1fr) 36px !important; gap: 13px 10px !important; }
  .cart-card-v6 .remove-btn.clean { width: 36px !important; height: 36px !important; }
  .cart-card-v6 .cart-icon { width: 56px !important; height: 56px !important; border-radius: 18px !important; }
  .cart-card-v6 .cart-product-link { gap: 12px !important; }
  .cart-card-v6 .cart-copy b { font-size: 18px !important; }
  .cart-card-v6 .cart-copy small { font-size: 13px !important; }
  .cart-card-v6 .cart-qty.cart-qty-input { width: 118px !important; min-width: 118px !important; height: 40px !important; grid-template-columns: 34px 1fr 34px !important; }
  .cart-card-v6 .cart-row-side strong { font-size: 22px !important; }
}

/* Profile: no emojis, no arrow circles, no clipped labels */
.profile-grid.profile-grid-clean,
.profile-grid {
  gap: 12px !important;
}
.profile-grid-clean button,
.profile-grid button,
.profile-channel-logo-card,
.profile-channel-card {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 13px !important;
  row-gap: 4px !important;
  align-items: center !important;
  min-height: 98px !important;
  padding: 16px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
}
.profile-grid-clean button i,
.profile-grid button i,
.profile-channel-logo-card i,
.profile-channel-card i {
  display: none !important;
}
.profile-grid-clean button b,
.profile-grid button b,
.profile-channel-logo-card b,
.profile-channel-card b {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  color: var(--ios26-text-final) !important;
  font-size: 17px !important;
  line-height: 1.14 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.profile-grid-clean button span:not(.profile-action-icon),
.profile-grid button span:not(.profile-action-icon),
.profile-channel-logo-card span:not(.profile-action-icon),
.profile-channel-card span:not(.profile-action-icon) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  color: var(--ios26-muted-final) !important;
  font-size: 13.5px !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.profile-action-icon {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 18px !important;
}
.profile-logo-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
}
.profile-channel-logo-card,
.profile-channel-card {
  width: 100% !important;
  min-height: 78px !important;
  margin-top: 12px !important;
  grid-template-rows: auto !important;
}
.profile-channel-logo-card .profile-action-icon,
.profile-channel-card .profile-action-icon{
  grid-row: 1 !important;
}
.profile-channel-logo-card b,
.profile-channel-card b{
  grid-row: 1 !important;
  align-self: center !important;
}

@media (max-width: 430px) {
  .profile-grid-clean button,
  .profile-grid button,
  .profile-channel-logo-card,
  .profile-channel-card {
    grid-template-columns: 44px minmax(0,1fr) !important;
    padding: 14px !important;
    min-height: 94px !important;
  }
  .profile-action-icon { width: 44px !important; height: 44px !important; border-radius: 16px !important; }
  .profile-grid-clean button b,
  .profile-grid button b,
  .profile-channel-logo-card b,
  .profile-channel-card b { font-size: 16px !important; }
  .profile-grid-clean button span:not(.profile-action-icon),
  .profile-grid button span:not(.profile-action-icon) { font-size: 13px !important; }
}


/* === iOS26 BUG REPORT + PREMIUM BUTTON PATCH === */
.profile-bug-card {
  width: 100% !important;
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 92px !important;
  padding: 18px !important;
  border: 1px solid rgba(18,184,102,.16) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88)),
    radial-gradient(circle at 16% 0%, rgba(18,184,102,.14), transparent 45%) !important;
  box-shadow: 0 16px 42px rgba(16,24,40,.075) !important;
  color: var(--ios26-text-final, #101828) !important;
  text-align: left !important;
}
.profile-bug-card .profile-action-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 19px !important;
  background: linear-gradient(135deg, rgba(18,184,102,.18), rgba(91,255,170,.12)) !important;
  color: var(--ios26-green-final, #12b866) !important;
}
.profile-bug-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 5px !important;
}
.profile-bug-copy b {
  color: var(--ios26-text-final, #101828) !important;
  font-size: 18px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
}
.profile-bug-copy small {
  color: var(--ios26-muted-final, #667085) !important;
  font-size: 13.5px !important;
  line-height: 1.24 !important;
  font-weight: 750 !important;
}
html[data-theme="dark"] .profile-bug-card {
  background:
    linear-gradient(180deg, rgba(15,27,47,.92), rgba(11,20,34,.86)),
    radial-gradient(circle at 14% 0%, rgba(85,247,163,.12), transparent 46%) !important;
  border-color: rgba(93,247,165,.15) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.30) !important;
}
html[data-theme="dark"] .profile-bug-copy b { color: #f6fbff !important; }
html[data-theme="dark"] .profile-bug-copy small { color: rgba(224,233,245,.76) !important; }
html[data-theme="dark"] .profile-bug-card .profile-action-icon {
  background: rgba(93,247,165,.13) !important;
  color: #5df7a5 !important;
}
@media (max-width: 430px) {
  .profile-bug-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    min-height: 88px !important;
    padding: 15px !important;
    gap: 12px !important;
  }
  .profile-bug-card .profile-action-icon { width: 46px !important; height: 46px !important; border-radius: 17px !important; }
  .profile-bug-copy b { font-size: 17px !important; }
  .profile-bug-copy small { font-size: 13px !important; }
}

/* === iOS SETTINGS-STYLE PROFILE PATCH === */
:root {
  --settings-bg: rgba(255,255,255,.84);
  --settings-bg-strong: rgba(255,255,255,.92);
  --settings-separator: rgba(17,24,39,.085);
  --settings-icon-bg: rgba(18,184,102,.12);
  --settings-icon-color: #12b866;
}
html[data-theme="dark"] {
  --settings-bg: rgba(28,34,47,.86);
  --settings-bg-strong: rgba(31,38,52,.92);
  --settings-separator: rgba(235,244,255,.105);
  --settings-icon-bg: rgba(85,247,163,.12);
  --settings-icon-color: #5df7a5;
}

.screen-profile .content {
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
  padding-bottom: 12px !important;
}

.ios-settings-profile-card {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 82px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 128px !important;
  padding: 22px 24px !important;
  border-radius: 34px !important;
  border: 1px solid var(--settings-separator) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(18,184,102,.10), transparent 42%),
    linear-gradient(180deg, var(--settings-bg-strong), var(--settings-bg)) !important;
  box-shadow: 0 16px 42px rgba(16,24,40,.10) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.35) !important;
  backdrop-filter: blur(28px) saturate(1.35) !important;
  overflow: hidden !important;
}
.ios-settings-profile-card .profile-avatar {
  width: 82px !important;
  height: 82px !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 26px rgba(16,24,40,.12) !important;
}
.ios-settings-profile-copy { min-width: 0 !important; display: grid !important; gap: 5px !important; }
.ios-settings-profile-copy h1 {
  color: var(--ios26-text-final, #101828) !important;
  font-size: clamp(34px, 8vw, 48px) !important;
  line-height: .98 !important;
  font-weight: 950 !important;
  letter-spacing: -.07em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ios-settings-profile-copy p {
  color: var(--ios26-muted-final, #667085) !important;
  font-size: 23px !important;
  line-height: 1.05 !important;
  font-weight: 750 !important;
  letter-spacing: -.03em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.ios-settings-group {
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  border: 1px solid var(--settings-separator) !important;
  background: var(--settings-bg-strong) !important;
  box-shadow: 0 14px 34px rgba(16,24,40,.075) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.3) !important;
  backdrop-filter: blur(30px) saturate(1.3) !important;
}
.ios-settings-row {
  width: 100% !important;
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0,1fr) 24px !important;
  align-items: center !important;
  gap: 14px !important;
  position: relative !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 13px 18px !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ios26-text-final, #101828) !important;
  text-align: left !important;
}
.ios-settings-row:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  left: 84px !important;
  right: 18px !important;
  bottom: 0 !important;
  height: 1px !important;
  background: var(--settings-separator) !important;
}
.ios-settings-link:active { background: rgba(18,184,102,.055) !important; transform: none !important; }
.ios-settings-switch-row {
  grid-template-columns: 52px minmax(0,1fr) auto !important;
  min-height: 78px !important;
}
.ios-settings-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  background: var(--settings-icon-bg) !important;
  color: var(--settings-icon-color) !important;
  font-size: 24px !important;
  overflow: hidden !important;
  flex: none !important;
}
.ios-settings-icon svg { width: 23px !important; height: 23px !important; }
.ios-settings-logo {
  background: transparent !important;
  box-shadow: 0 10px 20px rgba(18,184,102,.16) !important;
}
.ios-settings-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
}
.ios-settings-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.ios-settings-copy b {
  display: block !important;
  color: var(--ios26-text-final, #101828) !important;
  font-size: 21px !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: -.04em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.ios-settings-copy small {
  display: block !important;
  color: var(--ios26-muted-final, #667085) !important;
  font-size: 16px !important;
  line-height: 1.18 !important;
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.ios-settings-chevron {
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(102,112,133,.62) !important;
  font-size: 20px !important;
  justify-self: end !important;
}
.ios-settings-chevron svg { width: 20px !important; height: 20px !important; }
.ios-settings-bug { min-height: 86px !important; }
.ios-settings-channel { min-height: 76px !important; }
.ios-settings-bug .ios-settings-icon { background: linear-gradient(135deg, rgba(18,184,102,.16), rgba(102,255,183,.10)) !important; }

html[data-theme="dark"] .screen-profile .app-shell,
html[data-theme="dark"] .screen-profile {
  color-scheme: dark;
}
html[data-theme="dark"] .ios-settings-profile-card,
html[data-theme="dark"] .ios-settings-group {
  box-shadow: 0 18px 44px rgba(0,0,0,.28) !important;
}
html[data-theme="dark"] .ios-settings-link:active { background: rgba(93,247,165,.055) !important; }
html[data-theme="dark"] .ios-settings-chevron { color: rgba(216,226,240,.46) !important; }

@media (max-width: 430px) {
  .screen-profile .content { gap: 12px !important; }
  .ios-settings-profile-card {
    grid-template-columns: 76px minmax(0,1fr) !important;
    gap: 16px !important;
    min-height: 118px !important;
    padding: 18px !important;
    border-radius: 30px !important;
  }
  .ios-settings-profile-card .profile-avatar { width: 76px !important; height: 76px !important; border-radius: 25px !important; }
  .ios-settings-profile-copy h1 { font-size: clamp(30px, 7.5vw, 40px) !important; }
  .ios-settings-profile-copy p { font-size: 20px !important; }
  .ios-settings-group { border-radius: 27px !important; }
  .ios-settings-row {
    min-height: 68px !important;
    grid-template-columns: 48px minmax(0,1fr) 20px !important;
    gap: 12px !important;
    padding: 12px 15px !important;
  }
  .ios-settings-switch-row { grid-template-columns: 48px minmax(0,1fr) auto !important; min-height: 74px !important; }
  .ios-settings-row:not(:last-child)::after { left: 75px !important; right: 15px !important; }
  .ios-settings-icon { width: 40px !important; height: 40px !important; border-radius: 13px !important; }
  .ios-settings-icon svg { width: 21px !important; height: 21px !important; }
  .ios-settings-copy b { font-size: 19px !important; }
  .ios-settings-copy small { font-size: 14.5px !important; }
  .ios-settings-bug { min-height: 82px !important; }
}

/* === iOS26 COMPACT SPACING PATCH: closer fixed actions, less empty scroll space === */
:root {
  --ios26-action-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  --ios26-page-bottom-space: calc(188px + env(safe-area-inset-bottom));
  --ios26-page-bottom-space-no-action: calc(124px + env(safe-area-inset-bottom));
}

/* Default pages with floating controls need only enough room for the fixed action + tab bar. */
.app-shell {
  padding-bottom: var(--ios26-page-bottom-space) !important;
}

/* Pages without an extra fixed action should not have a large empty tail. */
.app-shell.screen-profile,
.app-shell.screen-orders,
.app-shell.screen-catalog:not(:has(.catalog-cart-float)) {
  padding-bottom: var(--ios26-page-bottom-space-no-action) !important;
}

.content {
  gap: 12px !important;
  padding-bottom: 0 !important;
}
.screen-profile .content,
.screen-orders .content {
  gap: 10px !important;
}

/* Pull every fixed action closer to the bottom navigation. */
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-actions,
.fixed-action-row,
.cart-checkout-dock,
.back-fab.cart-back,
.back-fab.fixed-pill {
  bottom: var(--ios26-action-bottom) !important;
}

/* Keep the sticky action visually compact and readable. */
.catalog-cart-float.ios26-sticky-action,
.floating-actions .floating-cart-btn,
.service-fixed-actions .floating-cart-btn,
.fixed-action-row .back-fab,
.fixed-pill,
.return-service-btn.ios26-fixed-action {
  min-height: 54px !important;
  height: 54px !important;
  border-radius: 22px !important;
}
.service-fixed-actions .back-fab,
.fixed-action-row .back-fab,
.fixed-pill {
  min-width: 100px !important;
}
.catalog-cart-float.ios26-sticky-action {
  grid-template-columns: 46px minmax(0, 1fr) auto 18px !important;
  padding: 6px 14px !important;
}
.catalog-cart-float .sticky-action-icon {
  width: 42px !important;
  height: 42px !important;
}
.catalog-cart-float .sticky-action-title,
.service-fixed-actions .floating-cart-btn .sticky-action-title,
.floating-actions .floating-cart-btn .sticky-action-title {
  line-height: 1.05 !important;
}

/* Less vertical dead space between sections while keeping cards readable. */
.catalog-head.search-top,
.page-title,
.service-title-block.top.compact-service-title {
  margin-bottom: 2px !important;
}
.categories-list.simple,
.products-grid.simple.compact-products,
.orders-list,
.cart-list {
  gap: 10px !important;
}
.service-description.service-intro,
.service-cover-card.full.clean-cover {
  margin-bottom: 0 !important;
}

/* Cart: tighter rhythm between item card, summary and fixed checkout dock. */
.screen-cart .content {
  gap: 10px !important;
}
.screen-cart .page-title {
  margin-bottom: 2px !important;
}
.cart-list {
  gap: 12px !important;
}
.cart-item.cart-card-v6 {
  padding: 14px !important;
  border-radius: 28px !important;
  gap: 11px 10px !important;
}
.cart-card-v6 .cart-product-link {
  gap: 11px !important;
}
.cart-card-v6 .cart-icon {
  width: 54px !important;
  height: 54px !important;
  border-radius: 17px !important;
}
.cart-card-v6 .cart-copy b {
  font-size: 17.5px !important;
  line-height: 1.12 !important;
}
.cart-card-v6 .cart-row-side {
  padding-top: 10px !important;
  gap: 10px !important;
}
.cart-card-v6 .cart-qty.cart-qty-input {
  height: 38px !important;
}
.cart-card-v6 .cart-row-side strong {
  font-size: 22px !important;
}
.cart-summary.cart-summary-ios {
  margin-top: 0 !important;
  padding: 15px 17px !important;
  border-radius: 27px !important;
  gap: 10px !important;
}
.cart-summary-ios span {
  font-size: 15px !important;
}
.cart-summary-ios .total b {
  font-size: 27px !important;
}
.cart-checkout-dock {
  min-height: 64px !important;
  padding: 6px !important;
  border-radius: 28px !important;
}
.cart-checkout-main,
.cart-checkout-total {
  height: 52px !important;
  border-radius: 21px !important;
}
.cart-checkout-main {
  font-size: 17px !important;
}
.cart-checkout-total b {
  font-size: 18px !important;
}

/* Orders/profile/doc pages: only a small safe tail above the fixed tab bar. */
.app-shell.screen-orders .content > :last-child,
.app-shell.screen-profile .content > :last-child{
  margin-bottom: 0 !important;
}
.ios-settings-group,
.ios-settings-profile-card {
  margin-bottom: 0 !important;
}

@media (max-width: 430px) {
  :root {
    --ios26-action-bottom: calc(98px + env(safe-area-inset-bottom)) !important;
    --ios26-page-bottom-space: calc(184px + env(safe-area-inset-bottom));
    --ios26-page-bottom-space-no-action: calc(120px + env(safe-area-inset-bottom));
  }
  .app-shell {
    padding-bottom: var(--ios26-page-bottom-space) !important;
  }
  .app-shell.screen-profile,
  .app-shell.screen-orders,
  .app-shell.screen-catalog:not(:has(.catalog-cart-float)) {
    padding-bottom: var(--ios26-page-bottom-space-no-action) !important;
  }
  .catalog-cart-float.ios26-sticky-action,
  .floating-actions .floating-cart-btn,
  .service-fixed-actions .floating-cart-btn,
  .fixed-action-row .back-fab,
  .fixed-pill,
  .return-service-btn.ios26-fixed-action {
    min-height: 52px !important;
    height: 52px !important;
  }
  .catalog-cart-float.ios26-sticky-action {
    grid-template-columns: 42px minmax(0,1fr) auto 16px !important;
    padding: 5px 12px !important;
  }
  .cart-item.cart-card-v6 {
    padding: 13px !important;
    border-radius: 27px !important;
    gap: 10px 9px !important;
  }
  .cart-card-v6 .cart-icon {
    width: 52px !important;
    height: 52px !important;
  }
  .cart-card-v6 .cart-copy b {
    font-size: 16.5px !important;
  }
  .cart-card-v6 .cart-row-side {
    padding-top: 9px !important;
  }
  .cart-card-v6 .cart-qty.cart-qty-input {
    width: 112px !important;
    min-width: 112px !important;
    height: 38px !important;
    grid-template-columns: 32px 1fr 32px !important;
  }
  .cart-card-v6 .cart-row-side strong {
    font-size: 21px !important;
  }
  .cart-checkout-dock {
    min-height: 62px !important;
  }
  .cart-checkout-main,
  .cart-checkout-total {
    height: 50px !important;
  }
}

/* === iOS26 KEYBOARD + GAP PATCH: hide fixed chrome while typing, stable action/nav gap === */
:root {
  /* Keep a consistent visual gap between the fixed action row and the tab bar.
     Desktop/Telegram Web has no safe-area inset, so it needs a little extra base offset. */
  --ios26-action-bottom: calc(108px + env(safe-area-inset-bottom)) !important;
  --ios26-page-bottom-space: calc(196px + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 430px) {
  :root {
    --ios26-action-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
    --ios26-page-bottom-space: calc(192px + env(safe-area-inset-bottom)) !important;
  }
}

/* When the mobile keyboard is open, these fixed controls must not jump above it.
   They are hidden so the focused quantity field stays visible and understandable. */
html.keyboard-open .bottom-nav,
html.keyboard-open .catalog-cart-float.ios26-sticky-action,
html.keyboard-open .return-service-btn.ios26-fixed-action,
html.keyboard-open .floating-actions,
html.keyboard-open .fixed-action-row,
html.keyboard-open .cart-checkout-dock,
html.keyboard-open .back-fab.cart-back,
html.keyboard-open .back-fab.fixed-pill {
  transform: translate3d(0, 140%, 0) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform .18s ease, opacity .14s ease !important;
}

html.keyboard-open .app-shell {
  padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
}

html.keyboard-open .content {
  padding-bottom: 20px !important;
}


/* === iOS26 ACTION BLUR + SERVICE INLINE CART + CART CARD V7 === */
:root {
  --ios26-action-bottom: calc(106px + env(safe-area-inset-bottom)) !important;
  --ios26-page-bottom-space: calc(202px + env(safe-area-inset-bottom)) !important;
  --ios26-action-stage-bg: rgba(247, 251, 248, .66);
  --ios26-action-stage-line: rgba(255,255,255,.74);
  --ios26-action-stage-shadow: 0 18px 44px rgba(16,24,40,.16), inset 0 1px 0 rgba(255,255,255,.72);
}
html[data-theme="dark"] {
  --ios26-action-stage-bg: rgba(7, 17, 29, .64);
  --ios26-action-stage-line: rgba(226,238,255,.12);
  --ios26-action-stage-shadow: 0 22px 52px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
}

/* Frosted focus plate behind all controls that float above the tab bar. */
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.cart-checkout-dock,
.floating-actions,
.fixed-action-row {
  isolation: isolate !important;
}
.catalog-cart-float.ios26-sticky-action::before,
.return-service-btn.ios26-fixed-action::before,
.cart-checkout-dock::before,
.floating-actions::before,
.fixed-action-row::before,
.back-fab.cart-back::before,
.back-fab.fixed-pill::before {
  content: "" !important;
  position: absolute !important;
  inset: -10px -8px !important;
  z-index: -1 !important;
  border-radius: 34px !important;
  background: var(--ios26-action-stage-bg) !important;
  border: 1px solid var(--ios26-action-stage-line) !important;
  box-shadow: var(--ios26-action-stage-shadow) !important;
  -webkit-backdrop-filter: blur(34px) saturate(1.55) !important;
  backdrop-filter: blur(34px) saturate(1.55) !important;
  pointer-events: none !important;
}
.catalog-cart-float.ios26-sticky-action::before,
.return-service-btn.ios26-fixed-action::before,
.back-fab.cart-back::before,
.back-fab.fixed-pill::before {
  inset: -8px !important;
  border-radius: 30px !important;
}

/* More visible fixed "go to cart" button on service pages. */
.service-fixed-actions .floating-cart-btn.service-cart-primary {
  color: #ffffff !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.30), transparent 34%),
    linear-gradient(135deg, #35df80 0%, #00a860 100%) !important;
  border-color: rgba(255,255,255,.40) !important;
  box-shadow: 0 16px 34px rgba(0,173,96,.30), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.service-fixed-actions .floating-cart-btn.service-cart-primary b,
.service-fixed-actions .floating-cart-btn.service-cart-primary i,
.service-fixed-actions .floating-cart-btn.service-cart-primary svg {
  color: #ffffff !important;
  fill: currentColor !important;
}
.service-fixed-actions .floating-cart-btn.service-cart-primary i {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.22) !important;
}
html[data-theme="dark"] .service-fixed-actions .floating-cart-btn.service-cart-primary {
  color: #062816 !important;
  background: linear-gradient(135deg, #56f59a 0%, #11c76f 100%) !important;
}
html[data-theme="dark"] .service-fixed-actions .floating-cart-btn.service-cart-primary b,
html[data-theme="dark"] .service-fixed-actions .floating-cart-btn.service-cart-primary i,
html[data-theme="dark"] .service-fixed-actions .floating-cart-btn.service-cart-primary svg {
  color: #062816 !important;
}

/* Inline duplicated cart CTA under product cards. */
.inline-service-cart-action[hidden] { display: none !important; }
.inline-service-cart-action {
  width: 100% !important;
  min-height: 70px !important;
  margin: 4px 0 8px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 28px !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) auto 34px !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.34), transparent 36%),
    linear-gradient(135deg, #37df82 0%, #00a761 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 40px rgba(0,173,96,.22), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.inline-service-cart-icon,
.inline-service-cart-action i {
  width: 44px !important;
  height: 44px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.22) !important;
  color: #ffffff !important;
}
.inline-service-cart-action svg { width: 22px !important; height: 22px !important; fill: currentColor !important; }
.inline-service-cart-copy { min-width: 0 !important; display: grid !important; gap: 2px !important; }
.inline-service-cart-copy b {
  font-size: 21px !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
  color: #ffffff !important;
}
.inline-service-cart-copy small {
  color: rgba(255,255,255,.78) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}
.inline-service-cart-price {
  white-space: nowrap !important;
  font-size: 21px !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}
.inline-service-cart-action i { border-radius: 50% !important; }
html[data-theme="dark"] .inline-service-cart-action {
  color: #062816 !important;
  background: linear-gradient(135deg, #58f59b 0%, #10c56e 100%) !important;
  border-color: rgba(101,240,156,.38) !important;
}
html[data-theme="dark"] .inline-service-cart-icon,
html[data-theme="dark"] .inline-service-cart-action i { background: rgba(6,40,22,.14) !important; color: #062816 !important; }
html[data-theme="dark"] .inline-service-cart-copy b,
html[data-theme="dark"] .inline-service-cart-copy small,
html[data-theme="dark"] .inline-service-cart-price { color: #062816 !important; }

/* Cart item cards: cleaner hierarchy, separate control strip, iOS-like trash icon. */
.cart-item.cart-card-v7 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 13px !important;
  padding: 16px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.90), transparent 42%),
    rgba(255,255,255,.94) !important;
  border: 1px solid rgba(16,24,45,.07) !important;
  box-shadow: 0 16px 42px rgba(16,24,40,.09) !important;
  overflow: hidden !important;
}
.cart-card-v7 .cart-card-topline {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 46px !important;
  align-items: start !important;
  gap: 12px !important;
}
.cart-card-v7 .cart-product-link {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 60px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}
.cart-card-v7 .cart-icon {
  width: 60px !important;
  height: 60px !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.12) !important;
}
.cart-card-v7 .cart-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 6px !important;
}
.cart-card-v7 .cart-copy b {
  color: var(--op-text, #10182d) !important;
  font-size: 20px !important;
  line-height: 1.08 !important;
  font-weight: 930 !important;
  letter-spacing: -.052em !important;
  white-space: normal !important;
  overflow: visible !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.cart-card-v7 .cart-copy small {
  color: var(--op-muted, #657086) !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
  letter-spacing: -.025em !important;
  white-space: normal !important;
}
.cart-card-v7 .remove-btn.clean.trash {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  color: #ff5f6d !important;
  background: rgba(255,95,109,.10) !important;
  border: 1px solid rgba(255,95,109,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.50) !important;
}
.cart-card-v7 .remove-btn.clean.trash svg {
  width: 21px !important;
  height: 21px !important;
  fill: currentColor !important;
}
.cart-card-v7 .cart-card-control-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding-top: 13px !important;
  border-top: 1px solid rgba(16,24,45,.07) !important;
}
.cart-card-v7 .cart-qty.cart-qty-input {
  width: 136px !important;
  min-width: 136px !important;
  height: 44px !important;
  grid-template-columns: 40px 1fr 40px !important;
  border-radius: 18px !important;
  background: rgba(16,24,45,.035) !important;
  border: 1px solid rgba(16,24,45,.08) !important;
}
.cart-card-v7 .cart-qty.cart-qty-input button {
  color: #0ab86a !important;
  font-size: 26px !important;
  font-weight: 950 !important;
}
.cart-card-v7 .cart-qty.cart-qty-input input {
  color: var(--op-text, #10182d) !important;
  font-size: 21px !important;
  font-weight: 950 !important;
}
.cart-card-v7 .cart-item-total {
  margin: 0 !important;
  color: var(--op-text, #10182d) !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
}
html[data-theme="dark"] .cart-item.cart-card-v7 {
  background: linear-gradient(180deg, rgba(16,26,43,.98), rgba(9,18,31,.98)) !important;
  border-color: rgba(226,238,255,.13) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.30) !important;
}
html[data-theme="dark"] .cart-card-v7 .cart-card-control-line { border-top-color: rgba(226,238,255,.10) !important; }
html[data-theme="dark"] .cart-card-v7 .cart-copy b,
html[data-theme="dark"] .cart-card-v7 .cart-item-total,
html[data-theme="dark"] .cart-card-v7 .cart-qty.cart-qty-input input { color: #f7fbff !important; }
html[data-theme="dark"] .cart-card-v7 .cart-copy small { color: #c3ccdb !important; }
html[data-theme="dark"] .cart-card-v7 .cart-qty.cart-qty-input {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(226,238,255,.14) !important;
}
html[data-theme="dark"] .cart-card-v7 .remove-btn.clean.trash {
  color: #ff8790 !important;
  background: rgba(255,135,144,.13) !important;
  border-color: rgba(255,135,144,.22) !important;
}

@media (max-width: 430px) {
  :root {
    --ios26-action-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
    --ios26-page-bottom-space: calc(206px + env(safe-area-inset-bottom)) !important;
  }
  .inline-service-cart-action {
    min-height: 66px !important;
    grid-template-columns: 44px minmax(0,1fr) auto 30px !important;
    gap: 9px !important;
    padding: 7px 10px !important;
  }
  .inline-service-cart-icon,
  .inline-service-cart-action i { width: 40px !important; height: 40px !important; border-radius: 16px !important; }
  .inline-service-cart-copy b { font-size: 19px !important; }
  .inline-service-cart-copy small { font-size: 12.5px !important; }
  .inline-service-cart-price { font-size: 19px !important; }
  .cart-item.cart-card-v7 {
    padding: 14px !important;
    border-radius: 28px !important;
    gap: 12px !important;
  }
  .cart-card-v7 .cart-card-topline {
    grid-template-columns: minmax(0,1fr) 44px !important;
    gap: 10px !important;
  }
  .cart-card-v7 .cart-product-link {
    grid-template-columns: 54px minmax(0,1fr) !important;
    gap: 11px !important;
  }
  .cart-card-v7 .cart-icon { width: 54px !important; height: 54px !important; border-radius: 18px !important; }
  .cart-card-v7 .cart-copy b { font-size: 18px !important; }
  .cart-card-v7 .cart-copy small { font-size: 13.5px !important; }
  .cart-card-v7 .remove-btn.clean.trash { width: 44px !important; height: 44px !important; }
  .cart-card-v7 .cart-card-control-line { padding-top: 12px !important; }
  .cart-card-v7 .cart-qty.cart-qty-input {
    width: 126px !important;
    min-width: 126px !important;
    height: 42px !important;
    grid-template-columns: 36px 1fr 36px !important;
  }
  .cart-card-v7 .cart-item-total { font-size: 24px !important; }
}

@media (max-width: 374px) {
  .inline-service-cart-action {
    grid-template-columns: 42px minmax(0,1fr) 28px !important;
  }
  .inline-service-cart-price { display: none !important; }
  .cart-card-v7 .cart-card-control-line {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  .cart-card-v7 .cart-item-total { align-self: flex-end !important; }
}

/* === iOS26 FINAL GAP + ACTION STAGE PATCH ===
   Desktop/Telegram Web renders fixed layers with no safe-area inset, so the
   action rail needs a slightly larger base offset than on iPhone. */
:root {
  --ios26-action-bottom: calc(114px + env(safe-area-inset-bottom)) !important;
  --ios26-page-bottom-space: calc(206px + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 430px) {
  :root {
    --ios26-action-bottom: calc(108px + env(safe-area-inset-bottom)) !important;
    --ios26-page-bottom-space: calc(198px + env(safe-area-inset-bottom)) !important;
  }
}

/* Apply the same stable offset everywhere an action floats above the tab bar. */
.catalog-cart-float.ios26-sticky-action,
.return-service-btn.ios26-fixed-action,
.floating-actions,
.fixed-action-row,
.cart-checkout-dock,
.back-fab.cart-back,
.back-fab.fixed-pill {
  bottom: var(--ios26-action-bottom) !important;
}

/* When only “Назад” is visible, do not leave the full-width blurred plate that
   belonged to the hidden “Перейти в корзину” button. */
.floating-actions.only-back {
  left: max(18px, env(safe-area-inset-left)) !important;
  right: auto !important;
  width: max-content !important;
  min-width: 0 !important;
  gap: 0 !important;
}
.floating-actions.only-back::before {
  display: none !important;
}
.floating-actions.only-back .floating-cart-btn[hidden] {
  display: none !important;
}
.floating-actions.only-back .back-fab {
  box-shadow: 0 14px 34px rgba(16,24,40,.15), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
html[data-theme="dark"] .floating-actions.only-back .back-fab {
  box-shadow: 0 18px 42px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Give paired fixed buttons breathing room and prevent the action icon from
   sticking to the right edge. */
.floating-actions.has-cart,
.floating-actions.service-fixed-actions.has-cart,
.fixed-action-row.has-cart {
  gap: 14px !important;
}
.service-fixed-actions .back-fab,
.fixed-action-row .back-fab,
.fixed-pill {
  margin-right: 0 !important;
}
.service-fixed-actions .floating-cart-btn.service-cart-primary,
.floating-actions .floating-cart-btn {
  padding-left: 18px !important;
  padding-right: 14px !important;
  gap: 12px !important;
}
.service-fixed-actions .floating-cart-btn.service-cart-primary i,
.floating-actions .floating-cart-btn i,
.cart-checkout-main i {
  flex: 0 0 auto !important;
  margin-right: 2px !important;
}

/* The inline duplicate “Перейти в корзину” button should feel tappable, but its
   round arrow must not sit flush against the edge. */
.inline-service-cart-action {
  grid-template-columns: 48px minmax(0,1fr) auto 40px !important;
  gap: 14px !important;
  padding: 9px 16px 9px 12px !important;
}
.inline-service-cart-action i {
  justify-self: end !important;
  margin-right: 2px !important;
}
.inline-service-cart-price {
  padding-left: 2px !important;
}

/* Empty service/cart states: keep a small safe tail, but not an empty full-width
   action background. */
.app-shell.screen-service .floating-actions.only-back + .service-title-block ~ .products-grid + .inline-service-cart-action[hidden] {
  display: none !important;
}

/* Cart card micro-polish: align the quantity/total line and make the trash icon
   look intentional instead of cramped. */
.cart-item.cart-card-v7 {
  gap: 14px !important;
}
.cart-card-v7 .cart-card-control-line {
  gap: 18px !important;
  padding-top: 14px !important;
}
.cart-card-v7 .cart-qty.cart-qty-input {
  flex: 0 0 auto !important;
}
.cart-card-v7 .cart-item-total {
  flex: 0 0 auto !important;
  padding-left: 8px !important;
}
.cart-card-v7 .remove-btn.clean.trash {
  display: grid !important;
  place-items: center !important;
  color: #ff5b6b !important;
  background: rgba(255,91,107,.10) !important;
  border-color: rgba(255,91,107,.20) !important;
}
.cart-card-v7 .remove-btn.clean.trash svg {
  width: 20px !important;
  height: 20px !important;
}

@media (max-width: 430px) {
  .floating-actions.has-cart,
  .floating-actions.service-fixed-actions.has-cart,
  .fixed-action-row.has-cart {
    gap: 12px !important;
  }
  .service-fixed-actions .floating-cart-btn.service-cart-primary,
  .floating-actions .floating-cart-btn {
    padding-left: 16px !important;
    padding-right: 12px !important;
    gap: 10px !important;
  }
  .inline-service-cart-action {
    grid-template-columns: 42px minmax(0,1fr) auto 36px !important;
    gap: 10px !important;
    padding: 7px 13px 7px 10px !important;
  }
  .cart-card-v7 .cart-card-control-line {
    gap: 14px !important;
  }
}

/* === PAYMENT METHOD PICKER PATCH: explicit choice + external SBP browser === */
.cart-checkout-main span {
  white-space: normal !important;
  line-height: 1.08 !important;
  text-align: center !important;
  max-width: 100% !important;
}
.cart-checkout-main {
  font-size: clamp(16px, 3.9vw, 20px) !important;
  padding-inline: 14px !important;
}

.payment-title h1 {
  font-size: clamp(40px, 9vw, 58px) !important;
  letter-spacing: -.07em !important;
}
.payment-title p,
.payment-helper {
  max-width: 680px !important;
}
.payment-helper {
  border-radius: 22px !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,.42) !important;
  border: 1px solid rgba(255,255,255,.70) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 12px 30px rgba(16,24,45,.06) !important;
}
.payment-methods {
  gap: 16px !important;
}
.payment-method-card {
  position: relative !important;
  overflow: hidden !important;
  min-height: 106px !important;
  border-radius: 30px !important;
  padding: 18px !important;
  grid-template-columns: 64px minmax(0, 1fr) 42px !important;
  gap: 15px !important;
  isolation: isolate !important;
}
.payment-method-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .75;
}
.payment-method-card.stars {
  border-color: rgba(68, 137, 255, .30) !important;
  background: linear-gradient(135deg, rgba(238,247,255,.96), rgba(225,239,255,.92)) !important;
  box-shadow: 0 20px 46px rgba(53, 118, 255, .15), inset 0 1px 0 rgba(255,255,255,.86) !important;
}
.payment-method-card.stars::before {
  background:
    radial-gradient(circle at 14% 20%, rgba(62, 135, 255, .22), transparent 38%),
    radial-gradient(circle at 88% 12%, rgba(255, 202, 62, .24), transparent 32%);
}
.payment-method-card.robokassa {
  border-color: rgba(21, 193, 113, .32) !important;
  background: linear-gradient(135deg, rgba(239,255,247,.96), rgba(224,250,237,.94)) !important;
  box-shadow: 0 20px 46px rgba(10, 177, 100, .14), inset 0 1px 0 rgba(255,255,255,.86) !important;
}
.payment-method-card.robokassa::before {
  background:
    radial-gradient(circle at 15% 20%, rgba(25, 211, 126, .22), transparent 38%),
    radial-gradient(circle at 90% 6%, rgba(18, 176, 104, .16), transparent 34%);
}
.payment-method-icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 24px !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 12px 24px rgba(16,24,45,.08) !important;
}
.payment-method-icon svg {
  width: 31px !important;
  height: 31px !important;
  fill: currentColor !important;
}
.payment-method-card.stars .payment-method-icon {
  color: #2f7dff !important;
  background: linear-gradient(135deg, rgba(47,125,255,.18), rgba(255,205,65,.24)) !important;
}
.payment-method-card.robokassa .payment-method-icon {
  color: #10a765 !important;
  background: linear-gradient(135deg, rgba(19,209,122,.20), rgba(18,164,103,.15)) !important;
}
.payment-method-copy b {
  font-size: clamp(22px, 5vw, 28px) !important;
  line-height: 1.05 !important;
  color: var(--ios-text, #10182d) !important;
}
.payment-method-copy small {
  font-size: 15px !important;
  line-height: 1.28 !important;
  max-width: 410px !important;
}
.payment-method-card > i {
  width: 42px !important;
  height: 42px !important;
  border-radius: 16px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.68) !important;
  color: var(--ios-muted, #6d778a) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 22px rgba(16,24,45,.07) !important;
}
.payment-method-card.stars > i { color: #2f7dff !important; }
.payment-method-card.robokassa > i { color: #10a765 !important; }
.sbp-mark {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
}
.sbp-mark::after {
  content: "СБП";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 9px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.04em;
  color: #0a9f60;
}
.sbp-mark i {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 5px 12px 12px 12px;
  background: currentColor;
  opacity: .92;
}
.sbp-mark i:nth-child(1) { transform: translate(-8px, -7px) rotate(45deg); opacity: .92; }
.sbp-mark i:nth-child(2) { transform: translate(5px, 0) rotate(45deg); opacity: .72; }
.sbp-mark i:nth-child(3) { transform: translate(-5px, 9px) rotate(45deg); opacity: .48; }

html[data-theme="dark"] .payment-helper {
  background: rgba(15,27,45,.68) !important;
  border-color: rgba(226,238,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 42px rgba(0,0,0,.28) !important;
}
html[data-theme="dark"] .payment-method-card.stars {
  background: linear-gradient(135deg, rgba(19,38,68,.96), rgba(13,31,57,.94)) !important;
  border-color: rgba(86, 155, 255, .32) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html[data-theme="dark"] .payment-method-card.robokassa {
  background: linear-gradient(135deg, rgba(14,42,34,.96), rgba(10,31,32,.94)) !important;
  border-color: rgba(46, 222, 138, .26) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html[data-theme="dark"] .payment-method-card > i {
  background: rgba(255,255,255,.07) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html[data-theme="dark"] .payment-method-copy b { color: #f7fbff !important; }
html[data-theme="dark"] .payment-method-copy small { color: #c4cfdf !important; }
html[data-theme="dark"] .sbp-mark::after { color: #80f0b2 !important; }

@media (max-width: 430px) {
  .payment-method-card {
    min-height: 98px !important;
    grid-template-columns: 56px minmax(0,1fr) 38px !important;
    gap: 12px !important;
    padding: 15px !important;
    border-radius: 27px !important;
  }
  .payment-method-icon {
    width: 56px !important;
    height: 56px !important;
    border-radius: 21px !important;
  }
  .payment-method-icon svg { width: 28px !important; height: 28px !important; }
  .payment-method-card > i { width: 38px !important; height: 38px !important; border-radius: 15px !important; }
  .payment-method-copy b { font-size: 21px !important; }
  .payment-method-copy small { font-size: 13.5px !important; }
  .cart-checkout-main { font-size: 16px !important; }
}

/* === PAYMENT PAGE CLEANUP + COPY BUTTON STATE PATCH v1 === */
.payment-method-card.robokassa .payment-method-copy {
  align-self: center !important;
  gap: 0 !important;
}
.payment-method-card.robokassa .payment-method-copy small {
  display: none !important;
}
.payment-method-card.robokassa {
  min-height: 94px !important;
}
.sbp-logo {
  display: inline-grid;
  place-items: center;
  gap: 1px;
  width: 43px;
  height: 43px;
}
.sbp-logo svg {
  width: 33px !important;
  height: 33px !important;
  overflow: visible;
}
.sbp-logo-blue { fill: #1e9fff; }
.sbp-logo-green { fill: #13c976; }
.sbp-logo-lime { fill: #83d44a; }
.sbp-logo-orange { fill: #ffb23d; }
.sbp-logo span {
  margin-top: -6px;
  color: #0d9f61;
  font-size: 8px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.04em;
}
.payment-method-card.robokassa .payment-method-icon {
  background: linear-gradient(135deg, rgba(236,255,246,.88), rgba(196,246,225,.54)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 12px 24px rgba(13,159,97,.10) !important;
}
.code-copy-btn {
  color: #ffffff !important;
  background: linear-gradient(135deg, #31d779, #09a95d) !important;
  border: 0 !important;
  box-shadow: 0 14px 30px rgba(16, 185, 108, .22), inset 0 1px 0 rgba(255,255,255,.28) !important;
  transition: transform .16s ease, opacity .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease !important;
}
.code-copy-btn.copied {
  color: #6f7786 !important;
  background: rgba(115, 124, 138, .16) !important;
  border: 1px solid rgba(115,124,138,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28) !important;
}
html[data-theme="dark"] .payment-method-card.robokassa .payment-method-icon {
  background: linear-gradient(135deg, rgba(27,78,58,.82), rgba(12,48,45,.74)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 12px 28px rgba(0,0,0,.22) !important;
}
html[data-theme="dark"] .sbp-logo span { color: #7dffb1 !important; }
html[data-theme="dark"] .code-copy-btn {
  color: #04180e !important;
  background: linear-gradient(135deg, #72ffab, #22d679) !important;
  box-shadow: 0 16px 36px rgba(31, 209, 116, .18), inset 0 1px 0 rgba(255,255,255,.34) !important;
}
html[data-theme="dark"] .code-copy-btn.copied {
  color: #b5bdca !important;
  background: rgba(203, 213, 225, .15) !important;
  border: 1px solid rgba(203,213,225,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
}
@media (max-width: 430px) {
  .payment-method-card.robokassa { min-height: 86px !important; }
  .sbp-logo { width: 38px; height: 38px; }
  .sbp-logo svg { width: 30px !important; height: 30px !important; }
  .sbp-logo span { font-size: 7.5px; margin-top: -6px; }
}

/* === PAYMENT FLOW FINAL POLISH v2: explicit pending order payment + stronger methods === */
.payment-method-card {
  cursor: pointer !important;
  transform: translateZ(0) !important;
  animation: payment-card-float 3.2s ease-in-out infinite !important;
}
.payment-method-card:nth-child(2) { animation-delay: .28s !important; }
.payment-method-card .payment-method-glow {
  position: absolute !important;
  inset: -30% -10% auto auto !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 999px !important;
  filter: blur(22px) !important;
  opacity: .42 !important;
  pointer-events: none !important;
}
.payment-method-card.stars .payment-method-glow { background: rgba(47, 125, 255, .48) !important; }
.payment-method-card.robokassa .payment-method-glow { background: rgba(23, 203, 113, .46) !important; }
.payment-method-card .payment-method-copy em {
  display: inline-flex !important;
  width: fit-content !important;
  margin-bottom: 2px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}
.payment-method-card.stars .payment-method-copy em {
  color: #2f72ff !important;
  background: rgba(47, 125, 255, .12) !important;
}
.payment-method-card.robokassa .payment-method-copy em {
  color: #089c5e !important;
  background: rgba(16, 185, 108, .13) !important;
}
.payment-method-card.stars {
  border-width: 1.5px !important;
  background: linear-gradient(135deg, rgba(239,247,255,.98), rgba(218,236,255,.96) 58%, rgba(246,251,255,.98)) !important;
  box-shadow: 0 24px 56px rgba(47, 125, 255, .18), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.payment-method-card.robokassa {
  border-width: 1.5px !important;
  background: linear-gradient(135deg, rgba(239,255,247,.99), rgba(213,250,232,.96) 58%, rgba(245,255,250,.98)) !important;
  box-shadow: 0 24px 56px rgba(10, 177, 100, .18), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.payment-method-card.stars:active,
.payment-method-card.robokassa:active {
  transform: scale(.982) translateY(1px) !important;
}
.payment-method-card.stars > i,
.payment-method-card.robokassa > i {
  position: relative !important;
  overflow: hidden !important;
}
.payment-method-card.stars > i::after,
.payment-method-card.robokassa > i::after {
  content: "" !important;
  position: absolute !important;
  inset: 7px !important;
  border-radius: 13px !important;
  background: currentColor !important;
  opacity: .08 !important;
}
@keyframes payment-card-float {
  0%, 100% { transform: translateY(0) translateZ(0); }
  50% { transform: translateY(-2px) translateZ(0); }
}
@media (prefers-reduced-motion: reduce) {
  .payment-method-card { animation: none !important; }
}

.detail-order-card.pending-payment-order {
  padding-bottom: 20px !important;
}
.detail-order-card.pending-payment-order .total-row {
  margin-bottom: 12px !important;
}
.detail-order-card .pay-order-btn {
  min-height: 66px !important;
  border-radius: 24px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px 10px 22px !important;
  text-align: left !important;
  font-size: clamp(18px, 4.6vw, 24px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  box-shadow: 0 22px 48px rgba(13, 166, 94, .22), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.detail-order-card .pay-order-btn span {
  min-width: 0 !important;
  white-space: normal !important;
}
.detail-order-card .pay-order-btn i {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  color: #0aa35f !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 10px 22px rgba(0,0,0,.08) !important;
}
.detail-order-card .pay-order-btn i svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor !important;
}
.detail-order-card .pay-order-btn-robokassa {
  color: #ffffff !important;
  background: linear-gradient(135deg, #35df82, #08a962) !important;
}
.detail-order-card .pay-order-btn-stars {
  color: #ffffff !important;
  background: linear-gradient(135deg, #4f91ff, #2d6ef7) !important;
  box-shadow: 0 22px 48px rgba(47, 125, 255, .24), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.detail-order-card .pay-order-btn-stars i { color: #2d6ef7 !important; }
.detail-order-card .pay-order-btn-test {
  color: #07351f !important;
  background: linear-gradient(135deg, #92f8be, #ddffe9) !important;
}

html[data-theme="dark"] .payment-method-card.stars {
  background: linear-gradient(135deg, rgba(18,42,78,.98), rgba(13,31,61,.96) 60%, rgba(12,22,42,.98)) !important;
  border-color: rgba(84, 154, 255, .42) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html[data-theme="dark"] .payment-method-card.robokassa {
  background: linear-gradient(135deg, rgba(14,54,42,.98), rgba(8,38,36,.96) 60%, rgba(10,24,35,.98)) !important;
  border-color: rgba(52, 224, 143, .36) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html[data-theme="dark"] .payment-method-card.stars .payment-method-copy em {
  color: #9fc5ff !important;
  background: rgba(84, 154, 255, .15) !important;
}
html[data-theme="dark"] .payment-method-card.robokassa .payment-method-copy em {
  color: #8cffbf !important;
  background: rgba(52, 224, 143, .13) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-robokassa {
  color: #04180e !important;
  background: linear-gradient(135deg, #79ffad, #25d979) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-stars {
  color: #ffffff !important;
  background: linear-gradient(135deg, #62a3ff, #2f72ff) !important;
}

@media (max-width: 430px) {
  .payment-method-card .payment-method-copy em { font-size: 11px !important; padding: 4px 8px !important; }
  .detail-order-card .pay-order-btn { min-height: 62px !important; grid-template-columns: minmax(0,1fr) 40px !important; padding-left: 18px !important; border-radius: 22px !important; }
  .detail-order-card .pay-order-btn i { width: 40px !important; height: 40px !important; }
}

/* Apple USA custom nominal */
.custom-usd-card {
  width: 100%;
  border: 1px solid rgba(42, 188, 118, .24);
  border-radius: 24px;
  padding: 16px;
  display: grid;
  grid-template-columns: 54px 1fr 38px;
  align-items: center;
  gap: 14px;
  text-align: left;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .84), rgba(239, 255, 247, .70)),
    radial-gradient(circle at 14% 0%, rgba(57, 210, 132, .20), transparent 42%);
  box-shadow: 0 20px 50px rgba(11, 126, 67, .12), inset 0 1px 0 rgba(255, 255, 255, .74);
  color: var(--text);
  margin: 6px 0 6px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.custom-usd-card:active { transform: translateY(1px) scale(.995); }
.custom-usd-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-weight: 950;
  font-size: 26px;
  color: #fff;
  background: linear-gradient(145deg, #18bd6d, #067a42);
  box-shadow: 0 12px 28px rgba(7, 132, 70, .26);
}
.custom-usd-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.custom-usd-copy b {
  font-size: 16px;
  line-height: 1.18;
  letter-spacing: -.01em;
}
.custom-usd-copy small {
  color: var(--muted);
  font-weight: 700;
  line-height: 1.25;
}
.custom-usd-arrow {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #0b8d4d;
  background: rgba(13, 159, 84, .10);
}
.custom-usd-arrow svg { width: 19px; height: 19px; fill: currentColor; }

.custom-usd-screen-card {
  border-radius: 30px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.54);
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(246, 255, 250, .70));
  box-shadow: 0 26px 68px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255,255,255,.76);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
.custom-usd-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #087845;
  background: rgba(19, 186, 100, .10);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.custom-usd-screen-card h1 {
  margin: 14px 0 8px;
  font-size: clamp(27px, 8vw, 38px);
  line-height: .98;
  letter-spacing: -.055em;
}
.custom-usd-screen-card p {
  margin: 0 0 18px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.38;
}
.custom-usd-input-wrap {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 66px;
  padding: 8px 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(12, 142, 76, .14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 12px 30px rgba(15, 23, 42, .06);
}
.custom-usd-input-wrap span {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #1ac978, #087845);
  font-size: 22px;
  font-weight: 950;
}
.custom-usd-input-wrap input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-size: 31px;
  font-weight: 950;
  letter-spacing: -.03em;
}
.custom-usd-input-wrap input::placeholder { color: rgba(100,116,139,.42); }
.custom-usd-hint {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  margin: 10px 2px 14px;
}
.custom-usd-quote {
  min-height: 58px;
  border-radius: 20px;
  padding: 13px 14px;
  background: rgba(13, 159, 84, .09);
  color: #087845;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 850;
}
.custom-usd-quote b { font-size: 21px; letter-spacing: -.03em; }
.custom-usd-quote.error {
  background: rgba(239, 68, 68, .10);
  color: #c2410c;
  justify-content: flex-start;
}
.custom-usd-add-btn {
  width: 100%;
  margin-top: 14px;
  min-height: 60px;
  border: 0;
  border-radius: 22px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  background: linear-gradient(135deg, #18c978, #07894b);
  box-shadow: 0 18px 42px rgba(7, 137, 75, .28), inset 0 1px 0 rgba(255,255,255,.28);
  font-weight: 950;
  font-size: 16px;
}
.custom-usd-add-btn b { font-size: 18px; }
.custom-usd-add-btn:disabled { opacity: .62; filter: grayscale(.2); }

html[data-theme="dark"] .custom-usd-card,
html[data-theme="dark"] .custom-usd-screen-card {
  border-color: rgba(74, 222, 128, .16);
  background: linear-gradient(145deg, rgba(22, 32, 45, .88), rgba(10, 24, 20, .74));
  box-shadow: 0 22px 58px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255,255,255,.06);
}
html[data-theme="dark"] .custom-usd-input-wrap {
  background: rgba(15, 23, 42, .76);
  border-color: rgba(74, 222, 128, .14);
}
html[data-theme="dark"] .custom-usd-quote { background: rgba(34, 197, 94, .13); color: #86efac; }
html[data-theme="dark"] .custom-usd-quote.error { background: rgba(248, 113, 113, .14); color: #fca5a5; }


/* === Admin UX / cart/payment final fixes === */
.inline-service-cart-action {
  border: 1px solid rgba(110, 125, 150, .24) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.72), transparent 40%),
    rgba(255,255,255,.72) !important;
  color: var(--op-text, #10182d) !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.inline-service-cart-icon,
.inline-service-cart-action i {
  background: rgba(16, 24, 40, .07) !important;
  color: var(--op-text, #10182d) !important;
}
.inline-service-cart-copy b,
.inline-service-cart-price { color: var(--op-text, #10182d) !important; }
.inline-service-cart-copy small { color: var(--op-muted, #667085) !important; }
html[data-theme="dark"] .inline-service-cart-action {
  border-color: rgba(148, 163, 184, .24) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.08), transparent 42%),
    rgba(25, 33, 47, .86) !important;
  color: #eef5ff !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .inline-service-cart-icon,
html[data-theme="dark"] .inline-service-cart-action i {
  background: rgba(255,255,255,.08) !important;
  color: #eef5ff !important;
}
html[data-theme="dark"] .inline-service-cart-copy b,
html[data-theme="dark"] .inline-service-cart-price { color: #eef5ff !important; }
html[data-theme="dark"] .inline-service-cart-copy small { color: #a9b6ca !important; }

.payment-method-card.stars {
  border-color: rgba(63, 140, 255, .72) !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(135, 181, 255, .44), transparent 42%),
    linear-gradient(135deg, rgba(26, 80, 170, .96), rgba(25, 55, 118, .96)) !important;
  box-shadow: 0 20px 52px rgba(47, 125, 255, .30), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.payment-method-card.robokassa {
  border-color: rgba(18, 205, 114, .74) !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(58, 240, 152, .42), transparent 44%),
    linear-gradient(135deg, rgba(11, 128, 77, .98), rgba(11, 89, 63, .98)) !important;
  box-shadow: 0 20px 52px rgba(16, 185, 129, .30), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.payment-method-card .payment-method-icon svg,
.payment-method-icon .sbp-logo { width: 30px !important; height: 30px !important; }
.payment-method-card.robokassa .payment-method-icon .sbp-logo { display: block !important; }
.payment-method-card.robokassa .payment-method-icon .sbp-logo span { display: none !important; }
.payment-method-card .payment-method-copy b { color: #f8fbff !important; }
.payment-method-card .payment-method-copy small { color: rgba(248,251,255,.80) !important; }


/* === Payment method icon visibility + total line polish v3 === */
.payment-title .payment-total-rub {
  display: flex !important;
  width: 100% !important;
  margin: 10px 0 10px !important;
  padding: 12px 16px !important;
  border-radius: 20px !important;
  justify-content: center !important;
  align-items: center !important;
  color: #0f172a !important;
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(236,255,246,.82)) !important;
  border: 1px solid rgba(56, 211, 128, .28) !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
  font-size: clamp(17px, 4.3vw, 21px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -.03em !important;
  text-align: center !important;
}
.payment-method-card .payment-method-icon {
  position: relative !important;
  overflow: visible !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  z-index: 1 !important;
}
.payment-method-card .payment-method-icon::before {
  content: "" !important;
  position: absolute !important;
  inset: -10px !important;
  border-radius: 30px !important;
  filter: blur(12px) !important;
  opacity: .72 !important;
  z-index: -1 !important;
  pointer-events: none !important;
}
.payment-method-card .payment-method-icon svg,
.payment-method-card .payment-method-icon .sbp-logo {
  width: 38px !important;
  height: 38px !important;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.18)) !important;
}
.payment-method-card.stars .payment-method-icon {
  color: #ffffff !important;
  background: linear-gradient(135deg, #55a0ff 0%, #2f74ff 52%, #1d54dc 100%) !important;
  box-shadow: 0 16px 34px rgba(47,125,255,.42), inset 0 1px 0 rgba(255,255,255,.38) !important;
}
.payment-method-card.stars .payment-method-icon::before {
  background: rgba(61,139,255,.72) !important;
}
.payment-method-card.robokassa .payment-method-icon {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(210,255,232,.96)) !important;
  box-shadow: 0 16px 34px rgba(16,185,108,.38), inset 0 1px 0 rgba(255,255,255,.90) !important;
}
.payment-method-card.robokassa .payment-method-icon::before {
  background: rgba(38,220,128,.70) !important;
}
.payment-method-card.robokassa .payment-method-icon .sbp-logo {
  display: block !important;
}
.payment-method-card.robokassa .payment-method-icon .sbp-logo span {
  display: none !important;
}
html[data-theme="dark"] .payment-title .payment-total-rub {
  color: #f5fbff !important;
  background: linear-gradient(135deg, rgba(17,33,56,.94), rgba(11,24,43,.90)) !important;
  border-color: rgba(70, 234, 145, .22) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .payment-method-card.stars .payment-method-icon {
  color: #ffffff !important;
  background: linear-gradient(135deg, #70adff 0%, #347bff 58%, #1d5cf0 100%) !important;
  box-shadow: 0 18px 38px rgba(47,125,255,.46), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
html[data-theme="dark"] .payment-method-card.robokassa .payment-method-icon {
  background: linear-gradient(135deg, rgba(240,255,248,.98), rgba(184,255,220,.94)) !important;
  box-shadow: 0 18px 38px rgba(40,228,137,.42), inset 0 1px 0 rgba(255,255,255,.76) !important;
}
@media (max-width: 420px) {
  .payment-method-card .payment-method-icon {
    width: 62px !important;
    height: 62px !important;
    border-radius: 22px !important;
  }
  .payment-method-card .payment-method-icon svg,
  .payment-method-card .payment-method-icon .sbp-logo {
    width: 34px !important;
    height: 34px !important;
  }
}


.custom-usd-screen-card h1 {
  margin-top: 0 !important;
}
.custom-usd-screen-card p {
  margin-top: 10px !important;
}


/* === UX PATCH: nominal card tap + order pay button polish === */
.product-card.simple.nominal-card.thin-nominal:not(.disabled) {
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}
.product-card.simple.nominal-card.thin-nominal:not(.disabled):active {
  transform: translateY(1px) scale(.992) !important;
}
.product-card.simple.nominal-card.thin-nominal.selected {
  border-color: rgba(16, 185, 108, .48) !important;
  box-shadow: 0 12px 30px rgba(16, 185, 108, .13), inset 0 0 0 1px rgba(16, 185, 108, .10) !important;
}
html[data-theme="dark"] .product-card.simple.nominal-card.thin-nominal.selected {
  border-color: rgba(85, 247, 163, .44) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.28), inset 0 0 0 1px rgba(85,247,163,.10) !important;
}

.detail-order-card .pay-order-btn {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
.detail-order-card .pay-order-btn::before {
  content: "" !important;
  position: absolute !important;
  inset: -40% -20% auto auto !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.24) !important;
  filter: blur(20px) !important;
  z-index: -1 !important;
}
.detail-order-card .pay-order-btn-robokassa span::after {
  content: "СБП / карта" !important;
  display: block !important;
  margin-top: 4px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,.80) !important;
}
.detail-order-card .pay-order-btn-stars span::after {
  content: "Telegram Stars" !important;
  display: block !important;
  margin-top: 4px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,.80) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-robokassa span::after,
html[data-theme="dark"] .detail-order-card .pay-order-btn-stars span::after {
  color: rgba(4, 24, 14, .72) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-stars span::after {
  color: rgba(255,255,255,.78) !important;
}


/* === REGION SCROLL + ORDER PAY BUTTON POLISH v2 === */
.filter-chip {
  scroll-margin-top: 96px !important;
}
.detail-order-card .pay-order-btn {
  min-height: 76px !important;
  grid-template-columns: 52px minmax(0, 1fr) 44px !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 27px !important;
  text-align: left !important;
  align-items: center !important;
  overflow: hidden !important;
  position: relative !important;
}
.detail-order-card .pay-order-btn-robokassa span::after,
.detail-order-card .pay-order-btn-stars span::after {
  content: none !important;
  display: none !important;
}
.detail-order-card .pay-order-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 20px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: rgba(255,255,255,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30), 0 12px 24px rgba(0,0,0,.12) !important;
}
.detail-order-card .pay-order-icon svg,
.detail-order-card .pay-order-icon .sbp-logo {
  width: 31px !important;
  height: 31px !important;
  display: block !important;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.14)) !important;
}
.detail-order-card .pay-order-icon .sbp-logo span {
  display: none !important;
}
.detail-order-card .pay-order-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
  line-height: 1.1 !important;
}
.detail-order-card .pay-order-copy b {
  display: block !important;
  color: inherit !important;
  font-size: clamp(18px, 4.5vw, 23px) !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
}
.detail-order-card .pay-order-copy small {
  display: block !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 780 !important;
  letter-spacing: -.01em !important;
}
.detail-order-card .pay-order-btn i {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 auto !important;
}
.detail-order-card .pay-order-btn-robokassa {
  background:
    radial-gradient(circle at 92% -10%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, #37e580 0%, #08ad63 58%, #058a52 100%) !important;
  box-shadow: 0 24px 56px rgba(8, 173, 99, .28), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.detail-order-card .pay-order-btn-stars {
  background:
    radial-gradient(circle at 92% -10%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, #69aeff 0%, #367dff 54%, #225ee8 100%) !important;
  box-shadow: 0 24px 56px rgba(47, 125, 255, .30), inset 0 1px 0 rgba(255,255,255,.26) !important;
}
.detail-order-card .pay-order-btn-robokassa .pay-order-icon {
  color: #0aa861 !important;
  background: rgba(255,255,255,.88) !important;
}
.detail-order-card .pay-order-btn-stars .pay-order-icon {
  color: #2f72ff !important;
  background: rgba(255,255,255,.90) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-robokassa {
  color: #061a10 !important;
  background:
    radial-gradient(circle at 92% -10%, rgba(255,255,255,.38), transparent 34%),
    linear-gradient(135deg, #89ffb5 0%, #34e481 58%, #11b66a 100%) !important;
  box-shadow: 0 26px 60px rgba(38, 228, 137, .24), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-robokassa .pay-order-copy small {
  color: rgba(6, 26, 16, .72) !important;
}
html[data-theme="dark"] .detail-order-card .pay-order-btn-stars .pay-order-copy small {
  color: rgba(255,255,255,.80) !important;
}
@media (max-width: 430px) {
  .detail-order-card .pay-order-btn {
    min-height: 72px !important;
    grid-template-columns: 48px minmax(0, 1fr) 40px !important;
    gap: 10px !important;
    padding: 9px 10px !important;
    border-radius: 24px !important;
  }
  .detail-order-card .pay-order-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 18px !important;
  }
  .detail-order-card .pay-order-copy b {
    font-size: 18px !important;
  }
  .detail-order-card .pay-order-copy small {
    font-size: 12.5px !important;
  }
}

/* === PAYMENT BADGE VISIBILITY FIX v4 ===
   Makes method badges like "Telegram" and "СБП" readable on saturated payment cards. */
.payment-method-card .payment-method-copy em {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 6px !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
}
.payment-method-card.stars .payment-method-copy em {
  color: #0f4fd7 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(219,234,255,.92)) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 8px 18px rgba(13,72,190,.20), inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.payment-method-card.robokassa .payment-method-copy em {
  color: #037a46 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(211,250,229,.92)) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 8px 18px rgba(4,120,71,.18), inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.payment-method-card .payment-method-copy b {
  text-shadow: 0 1px 2px rgba(0,0,0,.12) !important;
}
.payment-method-card .payment-method-copy small {
  color: rgba(248,251,255,.88) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.10) !important;
}
html[data-theme="dark"] .payment-method-card.stars .payment-method-copy em {
  color: #dceaff !important;
  background: linear-gradient(135deg, rgba(59,130,246,.38), rgba(23,65,140,.40)) !important;
  border-color: rgba(148,190,255,.35) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
html[data-theme="dark"] .payment-method-card.robokassa .payment-method-copy em {
  color: #d8ffe9 !important;
  background: linear-gradient(135deg, rgba(34,197,94,.34), rgba(14,112,68,.38)) !important;
  border-color: rgba(134,239,172,.30) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
@media (max-width: 430px) {
  .payment-method-card .payment-method-copy em {
    margin-bottom: 5px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
  }
}


/* === Telegram direct delivery / local inventory === */
.telegram-direct-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(34, 158, 217, .18);
  border-radius: 30px;
  background:
    radial-gradient(circle at 102% -8%, rgba(72, 177, 255, .24), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,249,255,.96));
  box-shadow: 0 18px 42px rgba(30, 128, 185, .12);
}
.telegram-direct-heading { display: flex; align-items: center; gap: 14px; }
.telegram-direct-heading > div { min-width: 0; }
.telegram-direct-heading h1 { font-size: clamp(29px, 8vw, 42px); }
.telegram-direct-heading p { margin-top: 5px; color: var(--muted); font-size: 15px; font-weight: 760; }
.telegram-direct-badge {
  width: 62px;
  height: 62px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-size: 31px;
  background: linear-gradient(145deg, #dff2ff, #a9dcff);
  box-shadow: 0 13px 26px rgba(30, 136, 205, .22), inset 0 1px 0 rgba(255,255,255,.8);
}
.telegram-direct-badge.premium { background: linear-gradient(145deg, #f1e7ff, #c7a7ff); }
.telegram-field { display: grid; gap: 8px; }
.telegram-field > span { color: var(--muted); font-size: 13px; font-weight: 900; letter-spacing: .01em; }
.telegram-field input {
  width: 100%;
  min-height: 58px;
  padding: 0 17px;
  border: 1px solid var(--line-strong);
  border-radius: 19px;
  outline: none;
  background: rgba(255,255,255,.90);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  font-size: 19px;
  font-weight: 850;
  letter-spacing: -.02em;
}
.telegram-field input:focus { border-color: rgba(22,119,255,.48); box-shadow: 0 0 0 4px rgba(22,119,255,.10); }
.telegram-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.telegram-presets button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(22,119,255,.15);
  border-radius: 999px;
  color: #1767c9;
  background: rgba(224,241,255,.72);
  font-size: 13px;
  font-weight: 900;
}
.telegram-presets button.active { color: #fff; background: linear-gradient(135deg, #54b9ff, #2877ee); box-shadow: 0 8px 18px rgba(40,119,238,.24); }
.telegram-quote,
.telegram-premium-price {
  min-height: 64px;
  padding: 13px 16px;
  border: 1px solid rgba(22,119,255,.12);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  background: rgba(255,255,255,.72);
  font-weight: 780;
}
.telegram-quote span, .telegram-premium-price span { font-size: 14px; }
.telegram-quote b, .telegram-premium-price b { color: var(--text); font-size: 22px; font-weight: 950; letter-spacing: -.04em; }
.telegram-quote.error { color: #b42318; border-color: rgba(239,68,68,.24); background: rgba(254,242,242,.88); }
.telegram-direct-note { color: var(--muted); font-size: 13px; line-height: 1.48; font-weight: 670; }
.telegram-direct-submit {
  width: 100%;
  min-height: 62px;
  padding: 0 18px;
  border: 0;
  border-radius: 21px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  background: linear-gradient(135deg, #55bfff, #2878ef 62%, #1b5ed2);
  box-shadow: 0 16px 34px rgba(40,120,239,.27), inset 0 1px 0 rgba(255,255,255,.26);
  font-weight: 950;
}
.telegram-direct-submit span { font-size: 17px; }
.telegram-direct-submit b { font-size: 19px; }
.telegram-direct-submit:disabled { opacity: .52; box-shadow: none; cursor: default; }
.telegram-product-card {
  width: 100%;
  grid-template-columns: 48px minmax(0,1fr) 36px !important;
  align-items: center !important;
  text-align: left;
}
.telegram-product-mark {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: linear-gradient(145deg, #f2e9ff, #d6baff);
}
.telegram-product-arrow {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #246fd7;
  background: rgba(36,111,215,.10);
  font-size: 19px;
}
.direct-cart-control { min-width: 0; display: grid; gap: 3px; }
.direct-cart-control span { color: var(--muted); font-size: 12px; font-weight: 760; }
.direct-cart-control b { overflow: hidden; text-overflow: ellipsis; color: var(--text); font-size: 15px; font-weight: 900; }
.fulfillment-card {
  display: grid;
  gap: 12px;
  padding: 17px;
  border: 1px solid rgba(32,217,119,.22);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(236,255,245,.98), rgba(247,255,250,.98));
  box-shadow: 0 13px 28px rgba(9,152,83,.09);
}
.fulfillment-card-kicker { color: var(--green-dark); font-size: 12px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.fulfillment-result-row { display: flex; align-items: center; gap: 12px; }
.fulfillment-result-mark { width: 46px; height: 46px; border-radius: 17px; display: grid; place-items: center; flex: 0 0 auto; background: rgba(32,217,119,.14); font-size: 23px; }
.fulfillment-result-copy { min-width: 0; display: grid; gap: 2px; }
.fulfillment-result-copy small { color: var(--muted); font-size: 13px; font-weight: 760; }
.fulfillment-result-copy b { color: var(--text); font-size: 21px; font-weight: 950; letter-spacing: -.04em; }
.fulfillment-result-copy em { color: var(--muted); font-size: 13px; font-style: normal; font-weight: 760; word-break: break-word; }

html[data-theme="dark"] .telegram-direct-card {
  border-color: rgba(82,179,255,.20);
  background: radial-gradient(circle at 102% -8%, rgba(34,120,213,.26), transparent 38%), linear-gradient(180deg, rgba(16,27,46,.98), rgba(10,21,37,.98));
  box-shadow: 0 22px 48px rgba(0,0,0,.28);
}
html[data-theme="dark"] .telegram-field input,
html[data-theme="dark"] .telegram-quote,
html[data-theme="dark"] .telegram-premium-price { color: var(--text); background: rgba(7,15,28,.68); border-color: rgba(148,163,184,.18); }
html[data-theme="dark"] .telegram-presets button { color: #b9ddff; background: rgba(37,99,235,.16); border-color: rgba(96,165,250,.20); }
html[data-theme="dark"] .telegram-quote.error { color: #fecaca; background: rgba(127,29,29,.24); border-color: rgba(248,113,113,.26); }
html[data-theme="dark"] .telegram-product-mark { background: rgba(139,92,246,.22); }
html[data-theme="dark"] .telegram-product-arrow { color: #9ac8ff; background: rgba(59,130,246,.18); }
html[data-theme="dark"] .fulfillment-card { border-color: rgba(52,211,153,.20); background: linear-gradient(180deg, rgba(8,45,32,.78), rgba(5,28,23,.88)); box-shadow: 0 18px 36px rgba(0,0,0,.24); }
html[data-theme="dark"] .fulfillment-card-kicker { color: #6ee7b7; }
html[data-theme="dark"] .fulfillment-result-mark { background: rgba(52,211,153,.16); }

@media (max-width: 430px) {
  .telegram-direct-card { padding: 18px; border-radius: 27px; }
  .telegram-direct-badge { width: 54px; height: 54px; border-radius: 19px; font-size: 27px; }
  .telegram-field input { min-height: 54px; font-size: 17px; }
  .telegram-direct-submit { min-height: 58px; }
  .telegram-product-card { grid-template-columns: 44px minmax(0,1fr) 32px !important; }
  .telegram-product-mark { width: 40px; height: 40px; border-radius: 14px; }
  .direct-cart-control { max-width: 60%; }
}

/* === Telegram in Oplatika green style === */
.telegram-direct-card {
  border-color: rgba(22, 199, 111, .20);
  background:
    radial-gradient(circle at 102% -8%, rgba(53, 232, 135, .22), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,253,247,.97));
  box-shadow: 0 18px 42px rgba(10, 158, 87, .12);
}
.telegram-direct-badge,
.telegram-direct-badge.premium {
  background: linear-gradient(145deg, #dcffe9, #a7f3c6);
  box-shadow: 0 13px 26px rgba(10, 158, 87, .20), inset 0 1px 0 rgba(255,255,255,.86);
}
.telegram-field input:focus {
  border-color: rgba(22,199,111,.48);
  box-shadow: 0 0 0 4px rgba(22,199,111,.11);
}
.telegram-presets button {
  color: #07894c;
  border-color: rgba(22,199,111,.18);
  background: rgba(220,255,233,.76);
}
.telegram-presets button.active {
  color: #06351f;
  background: linear-gradient(135deg, #35e887, #a8f6c8);
  box-shadow: 0 8px 18px rgba(10,158,87,.22);
}
.telegram-quote,
.telegram-premium-price {
  border-color: rgba(22,199,111,.15);
  background: rgba(250,255,252,.80);
}
.telegram-direct-submit {
  color: #06351f;
  background: linear-gradient(135deg, #35e887, #65eda0 58%, #aaf6c9);
  box-shadow: 0 16px 34px rgba(10,158,87,.24), inset 0 1px 0 rgba(255,255,255,.42);
}
.telegram-product-mark {
  background: linear-gradient(145deg, #e2ffed, #b5f4ce);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}
.telegram-product-arrow {
  color: #07894c;
  background: rgba(22,199,111,.11);
}

.app-bottom-notice {
  position: fixed;
  left: 50%;
  bottom: calc(104px + env(safe-area-inset-bottom));
  z-index: 9999;
  width: min(620px, calc(100vw - 28px));
  padding: 15px 18px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 22px;
  color: #fff;
  background: rgba(15, 23, 42, .94);
  box-shadow: 0 18px 44px rgba(15,23,42,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 24px) scale(.98);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.app-bottom-notice.visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}
html.keyboard-open .app-bottom-notice {
  bottom: calc(14px + env(safe-area-inset-bottom));
}

html[data-theme="dark"] .telegram-direct-card {
  border-color: rgba(52,211,153,.22);
  background:
    radial-gradient(circle at 102% -8%, rgba(22,163,94,.24), transparent 38%),
    linear-gradient(180deg, rgba(12,31,24,.98), rgba(7,23,18,.98));
  box-shadow: 0 22px 48px rgba(0,0,0,.28);
}
html[data-theme="dark"] .telegram-direct-badge,
html[data-theme="dark"] .telegram-direct-badge.premium {
  background: linear-gradient(145deg, rgba(52,211,153,.28), rgba(6,120,72,.34));
  box-shadow: 0 13px 26px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10);
}
html[data-theme="dark"] .telegram-presets button {
  color: #a7f3d0;
  background: rgba(16,185,129,.14);
  border-color: rgba(52,211,153,.20);
}
html[data-theme="dark"] .telegram-presets button.active {
  color: #052e20;
  background: linear-gradient(135deg, #34d399, #86efac);
}
html[data-theme="dark"] .telegram-product-mark {
  background: rgba(52,211,153,.18);
}
html[data-theme="dark"] .telegram-product-arrow {
  color: #86efac;
  background: rgba(52,211,153,.15);
}
html[data-theme="dark"] .app-bottom-notice {
  color: #ecfdf5;
  background: rgba(3, 12, 9, .94);
  border-color: rgba(110,231,183,.20);
}

/* === Telegram username help === */
.telegram-username-help {
  border: 1px solid rgba(22, 199, 111, .16);
  border-radius: 18px;
  background: rgba(244, 255, 249, .82);
  overflow: hidden;
}
.telegram-username-help summary {
  position: relative;
  min-height: 48px;
  padding: 13px 44px 13px 15px;
  display: flex;
  align-items: center;
  color: #087747;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.3;
  -webkit-tap-highlight-color: transparent;
}
.telegram-username-help summary::-webkit-details-marker { display: none; }
.telegram-username-help summary::after {
  content: "›";
  position: absolute;
  right: 16px;
  top: 50%;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%) rotate(90deg);
  transition: transform .18s ease;
}
.telegram-username-help[open] summary::after {
  transform: translateY(-50%) rotate(-90deg);
}
.telegram-username-help p {
  margin: -2px 15px 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 690;
  line-height: 1.5;
}
html[data-theme="dark"] .telegram-username-help {
  border-color: rgba(52, 211, 153, .18);
  background: rgba(16, 62, 44, .34);
}
html[data-theme="dark"] .telegram-username-help summary { color: #8af0bd; }
@media (max-width: 430px) {
  .telegram-username-help summary { min-height: 46px; padding-left: 14px; font-size: 13px; }
  .telegram-username-help p { margin-left: 14px; margin-right: 14px; }
}


/* === Legal documents: privacy policy and public offer === */
.screen-legal .content {
  width: min(100%, 920px);
  margin-inline: auto;
}

.legal-document {
  margin: 72px auto 24px;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--surface-solid);
  box-shadow: var(--shadow-soft);
  overflow-wrap: anywhere;
}

.legal-document h1 {
  margin: 0 0 10px;
  color: var(--text);
  font-size: clamp(24px, 4vw, 36px);
  font-weight: 900;
  line-height: 1.13;
  letter-spacing: -.035em;
}

.legal-document h2 {
  margin: 32px 0 12px;
  padding-top: 2px;
  color: var(--text);
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 900;
  line-height: 1.28;
  letter-spacing: -.015em;
}

.legal-document p,
.legal-document li {
  color: var(--text);
  font-size: 15px;
  font-weight: 560;
  line-height: 1.68;
}

.legal-document p {
  margin: 0 0 12px;
}

.legal-document .legal-meta-line {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 680;
  line-height: 1.5;
}

.legal-document ul {
  margin: 4px 0 16px;
  padding-left: 23px;
}

.legal-document li + li {
  margin-top: 8px;
}

.legal-load-error {
  margin-top: 76px;
}

.checkout-legal-note {
  margin: 14px 0 4px;
  padding: 15px 17px;
  border: 1px solid var(--line);
  border-radius: 17px;
  color: var(--muted);
  background: var(--surface);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
  text-align: center;
}

.legal-inline-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--green-dark);
  background: transparent;
  font: inherit;
  font-weight: 850;
  line-height: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  cursor: pointer;
}

.legal-inline-link:focus-visible {
  outline: 3px solid rgba(32, 217, 119, .3);
  outline-offset: 3px;
  border-radius: 4px;
}

html[data-theme="dark"] .legal-document {
  border-color: rgba(255,255,255,.10);
  background: var(--surface-solid);
}

html[data-theme="dark"] .legal-inline-link {
  color: #86efac;
}

@media (max-width: 640px) {
  .legal-document {
    margin-top: 66px;
    padding: 21px 18px 26px;
    border-radius: 22px;
  }

  .legal-document h1 {
    font-size: 24px;
  }

  .legal-document h2 {
    margin-top: 28px;
    font-size: 18px;
  }

  .legal-document p,
  .legal-document li {
    font-size: 15px;
    line-height: 1.62;
  }

  .checkout-legal-note {
    font-size: 13.5px;
    text-align: left;
  }
}

/* === ROBOKASSA PAYMENT METHODS v4 === */
.detail-order-card .robokassa-payment-actions {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.detail-order-card .robokassa-method {
  width: 100%;
  min-height: 66px;
  padding: 9px 12px 9px 10px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 19px;
  color: var(--text);
  background: var(--surface-solid);
  box-shadow: 0 7px 18px rgba(15, 23, 42, .055);
  text-align: left;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.detail-order-card .robokassa-method:active {
  transform: scale(.985);
}

.detail-order-card .robokassa-method-sbp {
  border-color: rgba(16, 185, 108, .30);
  background: linear-gradient(135deg, rgba(235, 255, 245, .98), rgba(247, 255, 251, .98));
  box-shadow: 0 9px 22px rgba(16, 185, 108, .10);
}

.detail-order-card .robokassa-method-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #0aa861;
  background: rgba(16, 185, 108, .10);
}

.detail-order-card .robokassa-method-card .robokassa-method-icon {
  color: #3478f6;
  background: rgba(52, 120, 246, .10);
}

.detail-order-card .robokassa-method-other .robokassa-method-icon {
  color: var(--muted);
  background: rgba(100, 116, 139, .10);
}

.detail-order-card .robokassa-method-icon svg {
  width: 25px;
  height: 25px;
  display: block;
}

.detail-order-card .robokassa-method-icon .sbp-logo {
  width: 27px;
  height: 27px;
}

.detail-order-card .robokassa-method-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.detail-order-card .robokassa-method-copy b {
  color: var(--text);
  font-size: 16px;
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: -.02em;
}

.detail-order-card .robokassa-method-copy small {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.15;
  font-weight: 650;
}

.detail-order-card .robokassa-method-arrow {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--muted);
  background: rgba(100, 116, 139, .08);
}

.detail-order-card .robokassa-method-sbp .robokassa-method-arrow {
  color: #079853;
  background: rgba(16, 185, 108, .11);
}

.detail-order-card .robokassa-method-arrow svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

html[data-theme="dark"] .detail-order-card .robokassa-method {
  border-color: rgba(255, 255, 255, .10);
  color: var(--text);
  background: rgba(255, 255, 255, .045);
  box-shadow: none;
}

html[data-theme="dark"] .detail-order-card .robokassa-method-sbp {
  border-color: rgba(52, 224, 143, .28);
  background: linear-gradient(135deg, rgba(30, 110, 77, .23), rgba(20, 66, 56, .16));
}

html[data-theme="dark"] .detail-order-card .robokassa-method-copy b {
  color: #f4f7fb;
}

html[data-theme="dark"] .detail-order-card .robokassa-method-copy small {
  color: #91a0b6;
}

html[data-theme="dark"] .detail-order-card .robokassa-method-icon {
  color: #63eaa0;
  background: rgba(52, 224, 143, .10);
}

html[data-theme="dark"] .detail-order-card .robokassa-method-card .robokassa-method-icon {
  color: #83afff;
  background: rgba(80, 140, 255, .11);
}

html[data-theme="dark"] .detail-order-card .robokassa-method-other .robokassa-method-icon {
  color: #a9b4c6;
  background: rgba(169, 180, 198, .09);
}

@media (max-width: 430px) {
  .detail-order-card .robokassa-method {
    min-height: 62px;
    grid-template-columns: 42px minmax(0, 1fr) 30px;
    gap: 10px;
    padding: 8px 10px 8px 9px;
    border-radius: 17px;
  }

  .detail-order-card .robokassa-method-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  .detail-order-card .robokassa-method-copy b {
    font-size: 15.5px;
  }

  .detail-order-card .robokassa-method-copy small {
    font-size: 12px;
  }
}

/* Payment guidance and responsive order layout. Keep all actions in document flow. */
.screen-order:has(.pending-payment-order) {
  padding-bottom: calc(var(--ios26-nav-height, 86px) + var(--ios26-nav-bottom, 10px) + 24px) !important;
}
.pending-payment-order h1 {
  font-size: clamp(24px, 6vw, 30px);
  overflow-wrap: anywhere;
}
.pending-payment-order .detail-item span {
  min-width: 0;
  padding-right: 0;
  overflow-wrap: anywhere;
}
.pending-payment-order .detail-item b {
  min-width: 0;
  flex-shrink: 0;
}
.pending-payment-order .summary-row {
  flex-wrap: wrap;
  align-items: baseline;
}
.pending-payment-order .summary-row b { margin-left: auto; }
.detail-order-card .robokassa-method-copy b {
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.detail-order-card .robokassa-method:focus-visible {
  outline: 2px solid #3478f6;
  outline-offset: 3px;
}
@media (max-width: 360px), (max-height: 700px) {
  .detail-order-card.pending-payment-order {
    padding: 14px !important;
    border-radius: 24px !important;
  }
  .pending-payment-order h1 { margin: 8px 0 12px; }
  .pending-payment-order .detail-item { padding: 10px 0; gap: 8px; }
  .pending-payment-order .detail-item span { font-size: 14px !important; }
  .pending-payment-order .total-row { padding: 10px 0; margin-bottom: 6px !important; }
  .detail-order-card .robokassa-payment-actions { margin-top: 10px; gap: 8px; }
  .detail-order-card .robokassa-method {
    min-height: 56px;
    grid-template-columns: 36px minmax(0, 1fr) 24px;
    gap: 8px;
    padding: 8px;
  }
  .detail-order-card .robokassa-method-icon { width: 36px; height: 36px; border-radius: 12px; }
  .detail-order-card .robokassa-method-arrow { width: 24px; height: 24px; }
  .detail-order-card .robokassa-method-copy b { font-size: 14px; }
}
@media (max-width: 360px) {
  .pending-payment-order .detail-item { flex-wrap: wrap; }
  .pending-payment-order .detail-item span { flex: 1 1 160px; }
  .pending-payment-order .detail-item b { margin-left: auto; }
}


/* Order codes remain complete at every viewport width. */
.single-order-code { display:grid; gap:10px; min-width:0; padding:10px 0; }
.single-order-code b { display:block; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; overflow:visible; text-overflow:clip; }
.single-order-code .code-copy-btn { justify-self:start; max-width:100%; }
.staff-panel { display:grid; gap:16px; min-width:0; padding:clamp(16px,4vw,28px); border-radius:24px; background:var(--card, #fff); }
.staff-panel h1 { font-size:clamp(24px,6vw,36px); overflow-wrap:anywhere; }
.staff-panel form, .staff-panel label { display:grid; gap:8px; min-width:0; }
.staff-panel input, .staff-panel select, .staff-panel textarea { width:100%; min-width:0; box-sizing:border-box; padding:12px; border:1px solid #98a2b3; border-radius:12px; font:inherit; color:inherit; background:transparent; }
.staff-actions { display:flex; flex-wrap:wrap; gap:8px; }
.staff-panel p { white-space:pre-wrap; overflow-wrap:anywhere; }
.staff-history-entry { padding:12px 0; border-top:1px solid #98a2b350; }
.staff-history-entry small { display:block; margin-top:4px; }
.staff-member-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }
html[data-theme="dark"] .staff-panel { background:#111b2b; color:#eef2f7; }

/* Support workspace: persistent navigation and semantic, labelled states. */
.app-shell[class*="screen-support-"] { overflow:visible; padding-bottom:var(--ios26-page-bottom-space-no-action) !important; }
.staff-toolbar { position:sticky; top:0; z-index:45; display:flex; align-items:center; gap:12px; padding:10px 0; min-height:64px; background:var(--surface-solid,#fff); border-bottom:1px solid var(--line); box-shadow:0 8px 18px rgba(15,23,42,.06); }
.staff-toolbar > b { font-size:clamp(16px,4vw,20px); overflow-wrap:anywhere; min-width:0; }
.staff-back { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; min-height:44px; padding:10px 16px; border:1px solid var(--line-strong); border-radius:14px; background:var(--surface-soft); color:var(--text); font-weight:700; }
.staff-back:focus-visible, .staff-order-row:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.staff-order-row { display:grid; gap:12px; width:100%; min-width:0; text-align:left; padding:clamp(16px,4vw,24px); border:1px solid var(--line); border-radius:24px; background:var(--surface-solid,#fff); color:var(--text); box-shadow:var(--shadow-soft); }
.staff-order-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; font-size:clamp(18px,4.5vw,24px); }
.staff-order-heading strong { white-space:nowrap; }
.staff-customer { color:var(--muted); overflow-wrap:anywhere; font-size:15px; }
.staff-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.staff-badge { display:inline-flex; padding:6px 10px; border:1px solid transparent; border-radius:10px; font-size:13px; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.staff-tone-success { background:#e0f5e7; color:#166534; border-color:#a9dfb9; }
.staff-tone-warning { background:#fff3cd; color:#854d0e; border-color:#efd58c; }
.staff-tone-danger { background:#fee8e7; color:#a51d27; border-color:#f4b7b9; }
.staff-tone-info { background:#e5efff; color:#2453a5; border-color:#b9d1f7; }
.staff-tone-neutral { background:#eef0f3; color:#475467; border-color:#d1d5dc; }
.staff-tone-refund { background:#f0e8ff; color:#6941a5; border-color:#d7c1f3; }
html[data-theme="dark"] .staff-tone-success { background:#153b2a; color:#a1e7bc; border-color:#286045; }
html[data-theme="dark"] .staff-tone-warning { background:#443517; color:#f5d88b; border-color:#715727; }
html[data-theme="dark"] .staff-tone-danger { background:#49252c; color:#ffb7bf; border-color:#783a47; }
html[data-theme="dark"] .staff-tone-info { background:#1e3455; color:#b2cfff; border-color:#355781; }
html[data-theme="dark"] .staff-tone-neutral { background:#293343; color:#d0d7e2; border-color:#475367; }
html[data-theme="dark"] .staff-tone-refund { background:#3a2c50; color:#d9bef7; border-color:#654b85; }
@media (max-width:360px) { .staff-toolbar { gap:8px; } .staff-back { padding:10px 12px; } .staff-panel .staff-actions > button { flex:1 1 100px; } }
/* Email login works in ordinary browsers and Telegram's web view. */
.email-auth-card { width:100%; max-width:520px; margin:0 auto; padding:clamp(20px,5vw,36px); border:1px solid var(--line); border-radius:28px; background:var(--surface-solid,#fff); color:var(--text); box-shadow:var(--shadow-soft); box-sizing:border-box; }
.email-auth-card h1 { font-size:clamp(24px,6vw,34px); line-height:1.2; overflow-wrap:anywhere; margin:20px 0 12px; }
.email-auth-card p { line-height:1.55; overflow-wrap:anywhere; }
.email-auth-card form { display:grid; gap:14px; margin:24px 0 16px; }
.email-auth-card input { width:100%; min-width:0; min-height:52px; padding:14px 16px; box-sizing:border-box; border:1px solid var(--line-strong); border-radius:14px; background:var(--surface-solid,#fff); color:var(--text); font-size:18px; }
.email-auth-card input:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.email-auth-card button { min-height:44px; max-width:100%; white-space:normal; }
.email-auth-card > .ghost-btn { width:100%; margin-top:10px; }
.email-auth-card .email-auth-back { width:auto; padding:10px 16px; }
.email-auth-card button:disabled { opacity:.55; cursor:wait; }
#email-login-code { letter-spacing:.25em; font-size:24px; text-align:center; }
#email-auth-message { min-height:24px; color:var(--muted); }
.email-account-controls small { overflow-wrap:anywhere; white-space:normal; }
.screen-email-auth, .screen-email-link-help { padding-bottom:var(--ios26-page-bottom-space-no-action,140px) !important; }
@media(min-width:900px) { .screen-email-auth .content, .screen-email-link-help .content { padding-top:32px; } }


/* Apple USA: one action in the store's rounded green style. */
.region-guide-button {
  display: grid; grid-template-columns: minmax(0, 1fr) 36px; align-items: center;
  gap: 14px; width: 100%; margin: 16px 0 22px; padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.36); border-radius: 28px;
  background: linear-gradient(135deg, #09824b, #087b46 65%, #056438);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.3), 0 10px 24px rgba(7,126,69,.16);
  color: #fff; font: inherit; font-size: 17px; font-weight: 800; line-height: 1.4;
  text-align: left; cursor: pointer;
}
.region-guide-button i {
  display: grid; place-items: center; width: 36px; height: 36px;
  border-radius: 50%; background: rgba(255,255,255,.18);
}
.region-guide-button svg { width: 20px; height: 20px; }
.region-guide-button:active { filter: brightness(.94); }
.region-guide-button:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 4px; }
html[data-theme="dark"] .region-guide-button {
  background: linear-gradient(135deg, #0a7e4a, #086c40);
  border-color: rgba(123,255,181,.3); box-shadow: inset 0 1px 1px rgba(255,255,255,.12), 0 10px 26px rgba(0,0,0,.22);
}
.screen-apple-turkey-guide { padding-bottom: var(--ios26-page-bottom-space, 230px) !important; }
.screen-apple-turkey-guide .content { min-width: 0; }
.guide-load-state { padding: 28px 22px; border-radius: 24px; background: var(--surface); color: var(--text); line-height: 1.6; }
.guide-load-state h1 { font-size: 24px; }
