@font-face {
  font-family:'Manrope';
  src:url('/assets/fonts/manrope-variable.ttf') format('truetype');
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}

:root {
  color-scheme:dark;
  --paper:#111417;
  --white:#1b2026;
  --ink:#f3f0e9;
  --muted:#aeb4bd;
  --line:#353b43;
  --lime:#f4c68a;
  --soft:#242a32;
  --red:#f2a188;
  --radius:18px;
  --font-ui:'Manrope',Arial,Helvetica,sans-serif;
  font-family:var(--font-ui);
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

button,input,textarea,select {
  font:inherit;
}

button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
  color:inherit;
}

button {
  border:0;
  background:none;
}

button:disabled {
  opacity:.42;
  cursor:not-allowed;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid var(--lime);
  outline-offset:4px;
}

button,select {
  touch-action:manipulation;
}

a {
  color:inherit;
  text-underline-offset:4px;
}

svg {
  width:22px;
  height:22px;
  flex-shrink:0;
}

img {
  display:block;
  max-width:100%;
}

h1,h2,h3,p {
  margin-top:0;
}

h1 {
  font-size:42px;
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:600;
}

h2 {
  font-size:27px;
  letter-spacing:-.025em;
  font-weight:600;
}

h3 {
  font-size:16px;
  font-weight:600;
}

p {
  line-height:1.6;
}

small {
  font-size:12px;
}

.muted {
  color:var(--muted);
}

.eyebrow {
  font-size:10px;
  letter-spacing:1.9px;
  font-weight:700;
  line-height:1.6;
  display:block;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:9px;
  padding:14px 19px;
  font-size:14px;
  font-weight:600;
  min-height:46px;
  transition:background .15s,transform .15s;
}

.button:active {
  transform:scale(.98);
}

.dark {
  background:var(--lime);
  color:#171a1e;
}

.dark:hover {
  background:#ffdaa9;
}

.lime {
  background:var(--lime);
  color:#171a1e;
}

.lime:hover {
  background:#ffdaa9;
}

.outline {
  border:1px solid var(--line);
  background:transparent;
}

.outline:hover {
  background:var(--soft);
}

.wide {
  width:100%;
}

.icon-button {
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  position:relative;
}

.icon-button:hover {
  background:var(--soft);
}

.text-button {
  font-weight:600;
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 0;
}

.text-button svg {
  width:17px;
}

.text-button:hover {
  text-decoration:underline;
}

.centered {
  display:flex;
  margin:14px auto 0;
}

.count {
  position:absolute;
  top:2px;
  right:2px;
  background:var(--lime);
  color:#171a1e;
  border-radius:20px;
  font-size:9px;
  min-width:16px;
  height:16px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.demo-bar {
  display:flex;
  justify-content:center;
  gap:30px;
  align-items:center;
  background:var(--white);
  color:#bcc1c8;
  font-size:10px;
  padding:8px 20px;
  letter-spacing:.2px;
}

.demo-bar button {
  font-size:10px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:7px;
}

.demo-bar svg {
  width:13px;
  height:13px;
}

.header {
  border-bottom:1px solid var(--line);
  background:var(--paper);
}

.header-inner {
  max-width:1200px;
  margin:auto;
  padding:20px 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
}

.wordmark {
  font-size:29px;
  font-weight:800;
  letter-spacing:-1.6px;
  white-space:nowrap;
}

.wordmark sup,.wordmark>span {
  font-size:10px;
  vertical-align:top;
  margin-left:3px;
  line-height:2;
}

.header-caption {
  font-size:9px;
  letter-spacing:2px;
  margin-left:auto;
  color:var(--muted);
}

.header-actions {
  display:flex;
  align-items:center;
  gap:15px;
}

.admin-entry {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
}

.admin-entry svg {
  width:18px;
}

.admin-entry.active {
  font-weight:700;
}

.header-bag {
  margin-left:8px;
}

main {
  max-width:1200px;
  margin:auto;
  padding:32px 34px 30px;
  min-height:65vh;
}













.catalog-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:34px 36px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#1b2024;
  text-align:left;
}

.catalog-intro h1 {
  margin:0;
  color:var(--ink);
  font-size:40px;
  font-weight:600;
  line-height:1.12;
  letter-spacing:-1px;
}

.catalog-intro p {
  margin:14px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
}

.catalog-intro p strong {
  color:var(--ink);
  font-weight:600;
}

.catalog-intro-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-shrink:0;
  min-height:48px;
  padding:13px 18px;
  border:1px solid transparent;
  border-radius:10px;
  background:var(--lime);
  color:#171a1e;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  transition:background-color 150ms ease,transform 150ms ease-out;
}

.catalog-intro-link svg {
  width:18px;
  height:18px;
}

.catalog-intro-link:active { transform:scale(.97); }

@media(hover:hover) and (pointer:fine) {
  .catalog-intro-link:hover { background:#ffdaa9; }
}

@media(max-width:600px) {
  .catalog-intro {
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
    padding:24px;
  }
  .catalog-intro h1 { font-size:32px; letter-spacing:-.7px; }
  .catalog-intro p { margin-top:12px; }
}

.benefits {
  display:flex;
  padding:18px 0 0;
  gap:12px;
}

.benefit {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  flex:1;
  min-width:0;
  min-height:54px;
  gap:9px;
  padding:12px 36px;
  border:1px solid #f4c68a32;
  border-radius:12px;
  background:linear-gradient(135deg,#242a2e,#1b2026);
  box-shadow:inset 0 1px 0 #ffffff05;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}

.benefit>svg {
  position:absolute;
  left:12px;
  width:16px;
  height:16px;
  flex-shrink:0;
  color:var(--lime);
}

button.benefit:hover {
  border-color:#f4c68a80;
  background:linear-gradient(135deg,#2c302e,#22272c);
}

.catalog-section {
  padding-top:33px;
  scroll-margin-top:20px;
}

.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.section-heading .eyebrow {
  font-size:9px;
  color:var(--muted);
  margin-bottom:9px;
}

.section-heading h2 {
  margin:0;
}

.small-count {
  font-size:16px;
  font-weight:400;
  margin-left:7px;
}

.search {
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  width:235px;
  min-height:44px;
  padding:11px 32px;
  border:1px solid #f4c68a32;
  border-radius:12px;
  background:var(--white);
  margin:0;
}

.search:focus-within,.sort-control:focus-within {
  border-color:var(--lime);
  box-shadow:0 0 0 3px #f4c68a14;
}

.search svg {
  position:absolute;
  left:12px;
  width:17px;
  height:17px;
  flex-shrink:0;
  color:var(--lime);
}

.search input {
  background:none;
  border:0;
  outline:none;
  min-width:0;
  width:100%;
  font-size:11px;
  padding:0;
  text-align:center;
}

.catalog-tools {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
}

.category-scroll {
  display:flex;
  align-items:center;
  gap:7px;
  flex:1;
  min-width:0;
  max-width:100%;
}

.category-arrow {
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  height:44px;
  padding:0;
  border:1px solid #f4c68a32;
  border-radius:12px;
  background:linear-gradient(145deg,#272d31,#1b2026);
  color:var(--lime);
}

.has-overflow .category-arrow {
  display:flex;
}

.category-arrow svg {
  width:16px;
  height:16px;
}

.category-arrow[data-category-step="-1"] svg {
  transform:rotate(180deg);
}

.chips {
  display:flex;
  gap:7px;
  flex:1;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  max-width:100%;
  padding:4px 1px;
  touch-action:pan-x pan-y pinch-zoom;
  overscroll-behavior-x:contain;
  user-select:none;
  -webkit-user-select:none;
}

.chips::-webkit-scrollbar {
  display:none;
}

.chips .chip {
  flex:0 0 auto;
  min-height:44px;
  font-size:13px;
  padding:10px 16px;
  border:1px solid #f4c68a32;
  border-radius:12px;
  background:linear-gradient(145deg,#272d31,#1b2026);
  box-shadow:inset 0 1px 0 #ffffff06;
  text-align:center;
  font-weight:500;
}

.chips .chip.selected {
  background:linear-gradient(135deg,#f8d7a8,#edbb78);
  border-color:#f4c68a;
  box-shadow:inset 0 1px 0 #fff2;
  font-weight:600;
}

.chips .chip:hover:not(.selected) {
  border-color:#f4c68a80;
  background:#2c302f;
}

.chips .chip:focus-visible {
  outline-offset:-4px;
}

.chips .chip.selected:focus-visible {
  outline-color:#171a1e;
}

@media(hover:hover) and (pointer:fine) {
  .has-overflow .chips,.has-overflow .chips .chip {
    cursor:grab;
  }
  .has-overflow .chips.is-dragging,.has-overflow .chips.is-dragging .chip {
    cursor:grabbing;
  }
}

.chip {
  border:1px solid var(--line);
  border-radius:7px;
  padding:10px 14px;
  white-space:nowrap;
  font-size:13px;
  color:var(--muted);
  min-height:36px;
}

.chip.selected {
  background:var(--lime);
  color:#171a1e;
  border-color:var(--lime);
}

.chip:hover:not(.selected) {
  background:var(--soft);
}

.sale-chip {
  color:var(--red);
}

.sort-control {
  position:relative;
  width:170px;
  flex-shrink:0;
  margin:0;
  border:1px solid #f4c68a32;
  border-radius:12px;
  background:var(--white);
}

.sort-trigger>svg {
  position:absolute;
  right:11px;
  top:50%;
  width:14px;
  height:14px;
  transform:translateY(-50%) rotate(90deg);
  color:var(--lime);
  pointer-events:none;
}

.product-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 20px;
}

.product-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:7px;
  border:1px solid #f4c68a32;
  border-radius:19px;
  background:linear-gradient(150deg,#242a2f,#191e23);
  box-shadow:inset 0 1px 0 #ffffff05,0 6px 18px #00000012;
}

.product-card:focus-within {
  border-color:#f4c68a80;
}

.product-card-info {
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  padding:16px 7px 7px;
  text-align:center;
}

.product-picture {
  position:relative;
  aspect-ratio:1/1.1;
  border-radius:12px;
  overflow:hidden;
  background:var(--soft);
  flex-shrink:0;
}

.product-open {
  padding:0;
  width:100%;
  height:100%;
  display:block;
}

.product-open img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s;
}

.product-open:hover img {
  transform:scale(1.035);
}

.favorite {
  position:absolute;
  top:12px;
  right:12px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#191d22ed;
  border:1px solid #f4c68a32;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e4e7eb;
}

.favorite svg {
  width:17px;
  height:17px;
}

.favorite:hover {
  background:var(--white);
}

.favorite.is-favorite {
  color:var(--lime);
}

.favorite.is-favorite svg {
  fill:var(--lime);
}

.sale-badge {
  position:absolute;
  left:14px;
  top:14px;
  font-size:10px;
  background:#15181bee;
  border:1px solid #f4c68a40;
  color:var(--lime);
  padding:6px 9px;
  border-radius:8px;
  font-weight:600;
}

.sold-badge {
  position:absolute;
  bottom:15px;
  left:14px;
  background:var(--white);
  padding:6px 9px;
  border-radius:5px;
  font-size:10px;
}

.quick-add {
  position:absolute;
  bottom:12px;
  right:12px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--lime);
  border:1px solid #ffdfa8;
  color:#171a1e;
  box-shadow:0 3px 9px #0003;
  display:flex;
  justify-content:center;
  align-items:center;
}

.quick-add svg {
  width:17px;
  height:17px;
}

.quick-add:hover {
  background:#f8d8a9;
  color:#171a1e;
}

.product-title {
  display:block;
  width:100%;
  font-size:14px;
  font-weight:600;
  margin:0 0 6px;
  padding:0;
  text-align:center;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.product-color {
  font-size:10px;
  color:var(--muted);
  margin:0 0 12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.product-color span {
  color:var(--muted);
}

.product-price {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 8px;
  min-height:43px;
  padding:10px 8px;
  border:1px solid #f4c68a24;
  border-radius:11px;
  background:#f4c68a09;
  color:var(--lime);
  font-size:16px;
  font-weight:600;
  margin:auto 0 0;
}

.product-price del,.detail-price del {
  font-size:11px;
  font-weight:400;
  color:var(--muted);
  margin-left:8px;
}

.product-price del {
  margin-left:0;
}

.footer {
  max-width:1132px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:30px auto 120px;
  border-top:1px solid var(--line);
  padding:21px 0;
  color:var(--muted);
  font-size:10px;
}

.footer button {
  font-size:10px;
  display:flex;
  gap:8px;
  align-items:center;
  padding:0;
}

.footer svg {
  width:14px;
  height:14px;
}

.bottom-nav {
  position:fixed;
  bottom:17px;
  left:50%;
  transform:translateX(-50%);
  width:450px;
  padding:10px 20px;
  background:#1b2026f5;
  border:1px solid var(--line);
  border-radius:17px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  z-index:5;
  box-shadow:0 5px 30px #00000040;
  backdrop-filter:blur(14px);
}

.nav-item {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  position:relative;
  padding:5px 6px;
  min-width:0;
  color:#b5bac2;
  font-size:11px;
}

.nav-item svg {
  width:24px;
  height:24px;
  flex-shrink:0;
}

.nav-item.selected {
  color:var(--lime);
}

.nav-item.selected:before {
  content:"";
  position:absolute;
  top:-11px;
  left:calc(50% - 12px);
  width:24px;
  height:3px;
  background:var(--lime);
  border-radius:4px;
}

.nav-item .count {
  top:0;
  right:18px;
}

.empty {
  grid-column:1/-1;
  text-align:center;
  padding:65px 20px;
  min-height:350px;
}

.empty-icon {
  height:80px;
  width:80px;
  margin:0 auto 24px;
  border-radius:24px;
  background:var(--soft);
  display:flex;
  align-items:center;
  justify-content:center;
  transform:rotate(-7deg);
}

.empty-icon svg {
  width:37px;
  height:37px;
  transform:rotate(7deg);
  stroke-width:1.2;
}

.empty h2 {
  font-size:26px;
  margin-bottom:12px;
}

.empty p {
  font-size:13px;
  max-width:400px;
  margin:0 auto 25px;
  color:var(--muted);
}

.page-heading {
  margin:5px 0 34px;
}

.page-heading .eyebrow {
  color:var(--muted);
  margin-bottom:9px;
}

.page-heading h1 {
  margin:0;
}

.page-heading h1 .muted {
  font-size:28px;
  margin-left:7px;
}

.cart-layout {
  display:grid;
  grid-template-columns:1fr 330px;
  gap:40px;
}

.cart-line {
  display:flex;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.cart-line:first-child {
  padding-top:0;
}

.cart-line>img {
  width:105px;
  height:128px;
  object-fit:cover;
  border-radius:10px;
  background:var(--soft);
}

.cart-line-info {
  flex:1;
}

.cart-line-info h3 {
  margin:7px 0 6px;
}

.cart-line-info p {
  font-size:12px;
  color:var(--muted);
}

.product-quantity-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:20px 0 12px;
}

.product-quantity-row label {
  margin-bottom:8px;
  font-size:13px;
}

.product-quantity {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--white);
}

.product-quantity button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
}

.product-quantity svg {
  width:18px;
  height:18px;
}

.product-quantity #product-quantity {
  width:54px;
  height:44px;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  text-align:center;
  font-size:16px;
  appearance:textfield;
  -moz-appearance:textfield;
}

.product-quantity input::-webkit-inner-spin-button,
.product-quantity input::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}

.product-subtotal {
  text-align:right;
  padding-bottom:7px;
}

.product-subtotal span {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:8px;
}

.product-subtotal strong {
  font-size:22px;
  white-space:nowrap;
}

.cart-quantity {
  margin-top:8px;
}

.cart-quantity strong {
  min-width:30px;
  text-align:center;
  font-size:13px;
  color:var(--ink);
}

.category-list {
  display:grid;
  gap:14px;
}

.category-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.category-form .form-error:empty {
  display:none;
}

.category-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.category-buttons .button {
  padding:10px 12px;
  font-size:11px;
}

.button.danger {
  color:var(--red);
  border-color:var(--red);
}

#delete-category-form .button-row,
#delete-product-form .button-row,
#delete-promo-form .button-row {
  margin-top:24px;
}

.cart-line-end {
  display:flex;
  flex-direction:column;
  align-items:end;
  justify-content:space-between;
  font-size:14px;
  white-space:nowrap;
  padding-bottom:10px;
}

.cart-line-end .icon-button {
  width:28px;
  height:28px;
}

.cart-line-end svg {
  width:16px;
  height:16px;
}

.summary {
  padding:27px;
  background:var(--white);
  border-radius:16px;
  align-self:start;
}

.summary .eyebrow {
  color:var(--muted);
  margin-bottom:10px;
}

.summary h2 {
  margin-bottom:28px;
}

.total-row {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-bottom:20px;
  margin-bottom:18px;
  border-bottom:1px solid var(--line);
  font-size:13px;
}

.summary .muted {
  font-size:12px;
  margin-bottom:25px;
}

.fine-print {
  font-size:12px;
  color:var(--muted);
  line-height:1.65;
  display:block;
}

.summary .fine-print {
  margin:15px 0 0;
}

.profile-heading {
  display:flex;
  align-items:center;
  gap:20px;
  margin:10px 0 35px;
}

.avatar {
  position:relative;
  overflow:hidden;
  width:82px;
  height:82px;
  background:#39312a;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-family:var(--font-ui);
}

.avatar img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}

.profile-heading .eyebrow {
  color:var(--muted);
  margin-bottom:4px;
}

.profile-heading h1 {
  font-size:30px;
  margin:0 0 5px;
}

.profile-heading p {
  margin:0;
  color:var(--muted);
  font-size:12px;
}

.profile-grid {
  display:grid;
  grid-template-columns:.9fr 1.3fr;
  gap:20px;
}

.bonus-card {
  background:linear-gradient(125deg,#352c24,#20252b);
  color:var(--ink);
  padding:30px;
  border-radius:16px;
  position:relative;
  overflow:hidden;
}

.bonus-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--lime);
  margin-bottom:25px;
}

.bonus-card h2 {
  font-size:45px;
  letter-spacing:-2px;
  margin:0 0 15px;
  position:relative;
  z-index:1;
}

.bonus-card h2 span {
  font-size:17px;
  letter-spacing:0;
  color:#dac8b2;
}

.bonus-card p {
  font-size:12px;
  color:#c6bbb0;
  margin:0;
  position:relative;
  z-index:1;
}

.bonus-watermark {
  font-size:155px;
  font-weight:bold;
  font-style:italic;
  position:absolute;
  right:10px;
  bottom:-45px;
  color:#ffffff08;
  letter-spacing:-20px;
}

.referral-card {
  border:1px solid var(--line);
  border-radius:16px;
  padding:30px;
}

.referral-card .eyebrow {
  color:var(--muted);
  margin-bottom:15px;
}

.referral-card h2 {
  font-size:27px;
  margin-bottom:12px;
}

.referral-card p {
  font-size:12px;
  color:var(--muted);
  max-width:410px;
}

.referral-card p b {
  color:var(--ink);
}

.referral-bottom {
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:22px;
}

.referral-bottom>span {
  font-size:11px;
  color:var(--muted);
}

.profile-section {
  margin-top:35px;
}

.profile-section h2 {
  font-size:24px;
}

.quiet-empty {
  padding:35px;
  background:var(--soft);
  border-radius:12px;
  color:var(--muted);
  text-align:center;
  font-size:13px;
}

.order-card {
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:10px;
  background:var(--white);
}

.order-card summary {
  display:flex;
  align-items:center;
  gap:14px;
  list-style:none;
  cursor:pointer;
  padding:17px 20px;
}

.order-card summary::-webkit-details-marker {
  display:none;
}

.order-card summary>svg {
  width:16px;
  height:16px;
  color:var(--muted);
  transition:transform .2s;
}

.order-card[open] summary>svg {
  transform:rotate(90deg);
}

.order-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  background:var(--soft);
  border-radius:10px;
}

.order-icon svg {
  width:20px;
  height:20px;
}

.order-heading {
  flex:1;
}

.order-heading strong {
  display:block;
  font-size:13px;
}

.order-heading small {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:6px;
}

.order-price {
  font-weight:600;
  font-size:13px;
  text-align:right;
}

.status {
  display:block;
  font-weight:400;
  font-size:9px;
  margin-top:7px;
  border-radius:5px;
  color:var(--muted);
}

.status.new {
  color:var(--lime);
}

.status.confirmed {
  color:#9fc9ec;
}

.status.completed {
  color:#acd993;
}

.status.cancelled {
  color:var(--red);
}

.order-detail {
  padding:20px;
  border-top:1px solid var(--line);
  font-size:12px;
}

.order-item {
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
  line-height:1.5;
}

.order-detail p {
  margin:15px 0;
}

.order-item b {
  white-space:nowrap;
}

.order-detail small {
  color:var(--muted);
}

.profile-links {
  display:grid;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  margin-top:30px;
}

.profile-links button {
  padding:18px 20px;
  background:var(--paper);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
}

.profile-links svg {
  width:18px;
  height:18px;
}

.profile-links button:hover {
  background:var(--soft);
}

.panel {
  padding:25px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--white);
}

.ledger-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
}

.ledger-row:last-child {
  border-bottom:0;
}

.ledger-row small {
  display:block;
  font-size:10px;
  margin-top:6px;
  color:var(--muted);
}

.positive {
  color:#acd993;
}

.admin-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-bottom:30px;
}

.stats>div {
  padding:20px;
  background:var(--white);
  border-radius:11px;
}

.stats small {
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:13px;
}

.stats strong {
  font-size:26px;
  font-weight:500;
  letter-spacing:-.8px;
}

.admin-tabs {
  display:flex;
  gap:8px;
  overflow:auto;
  padding:2px 1px 22px;
  margin-bottom:10px;
}

.admin-products {
  margin-top:20px;
}

.admin-product {
  display:flex;
  gap:18px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  align-items:center;
}

.admin-product>img {
  width:78px;
  height:94px;
  object-fit:cover;
  border-radius:9px;
  background:var(--soft);
}

.admin-product>div:nth-child(2) {
  flex:1;
}

.admin-product h3 {
  font-size:14px;
  margin:0 0 6px;
}

.admin-product p {
  font-size:11px;
  color:var(--muted);
  margin:0 0 10px;
}

.stock-chips {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.stock-chips span {
  display:flex;
  gap:7px;
  background:var(--soft);
  border-radius:4px;
  font-size:10px;
  padding:5px 7px;
}

.stock-chips .zero {
  color:#9ca3ae;
  background:#1c2026;
}

.admin-product-end {
  display:flex;
  flex-direction:column;
  align-items:end;
  gap:7px;
  font-size:13px;
}

.admin-product-end small {
  font-size:10px;
  color:var(--muted);
}

.admin-product-end .text-button {
  font-size:10px;
}

.admin-product-end .button {
  padding:8px 12px;
  min-height:36px;
  font-size:11px;
}

.admin-tabs+.section p,.admin-heading~section>.muted {
  font-size:12px;
}

.two-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.two-columns h2 {
  font-size:23px;
}

.two-columns>div>h2 {
  margin-top:8px;
}

label {
  display:block;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  margin-bottom:18px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select {
  display:block;
  width:100%;
  border:1px solid var(--line);
  border-radius:7px;
  padding:12px 13px;
  background:var(--white);
  color:var(--ink);
  margin-top:7px;
  font-size:13px;
}

textarea {
  resize:vertical;
  min-height:70px;
}

input::placeholder,textarea::placeholder {
  color:#9da5b0;
  opacity:1;
}

.search input {
  border:0!important;
  background:none!important;
  padding:0!important;
  margin:0!important;
  font-size:13px!important;
}

.catalog-search-row .sort-trigger {
  border:0;
  background:transparent;
  outline:none;
  margin:0;
  padding:11px 27px;
  min-height:42px;
  font-size:13px;
  width:100%;
  color:var(--muted);
  border-radius:inherit;
  text-align:center;
  cursor:pointer;
}

.check-label {
  display:flex;
  gap:11px;
  align-items:center;
  margin:20px 0;
}

.check-label input {
  width:18px;
  height:18px;
  accent-color:var(--lime);
  flex-shrink:0;
}

.check-label small {
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:400;
}

.promo-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-bottom:1px solid var(--line);
  padding:20px 0;
}

.promo-card strong {
  font-size:15px;
  letter-spacing:1px;
  overflow-wrap:anywhere;
}

.promo-actions {
  display:flex;
  flex-direction:column;
  gap:8px;
  flex-shrink:0;
}

.promo-actions .button {
  padding:10px 12px;
  font-size:11px;
}

.promo-card p {
  font-size:12px;
  margin:8px 0 3px;
}

.promo-card small {
  color:var(--muted);
  font-size:10px;
}

.broadcast-card {
  margin-bottom:12px;
}

.broadcast-card small {
  color:var(--muted);
}

.broadcast-card p {
  white-space:pre-wrap;
  font-size:13px;
  margin:15px 0;
  overflow-wrap:anywhere;
}

.notice {
  background:var(--soft);
  padding:16px;
  border-radius:9px;
  font-size:12px;
}

.rules li {
  padding-left:5px;
  margin-bottom:18px;
  font-size:13px;
  line-height:1.6;
}

.rules ol {
  padding-left:20px;
}

.queue-note {
  margin-top:25px;
  font-size:12px;
}

.queue-note p {
  margin:8px 0 0;
  color:var(--muted);
}

.button-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.button-row .button {
  font-size:14px;
}

.error-text {
  color:var(--red)!important;
  font-size:12px;
  line-height:1.5;
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
}

.upload-label {
  display:flex;
  align-items:center;
  gap:10px;
  border:1px dashed #737b87;
  padding:14px;
  border-radius:8px;
  position:relative;
  cursor:pointer;
  margin-bottom:6px;
  overflow:hidden;
  font-size:12px;
}

.upload-label input {
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
  width:100%;
  height:100%;
}

.upload-label svg {
  width:16px;
  height:16px;
}

#upload-status {
  margin-bottom:20px;
}

.input-action {
  display:flex;
  align-items:center;
  gap:8px;
}

.input-action input {
  min-width:0;
}

.input-action button {
  margin-top:7px;
  font-size:11px;
}

.checkout-totals {
  padding:22px 0;
  border-top:1px solid var(--line);
  margin-top:20px;
}

.checkout-totals>div {
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:12px;
  margin-bottom:13px;
}

.checkout-totals b {
  font-weight:500;
}

.checkout-totals .grand-total {
  font-size:19px;
  margin:20px 0 0;
}

.message-preview {
  padding:25px;
  background:var(--soft);
  border-radius:14px 14px 14px 0;
  white-space:pre-wrap;
  font-size:14px;
  line-height:1.7;
  margin:25px 0;
  overflow-wrap:anywhere;
}

.info-body p {
  font-size:13px;
  color:var(--muted);
}

.info-body h3 {
  margin:25px 0 8px;
}

.info-body .button {
  margin-top:25px;
}

.loading {
  min-height:60vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:13px;
  color:var(--muted);
  gap:10px;
}

.loading .wordmark {
  color:var(--ink);
}

.welcome-error {
  text-align:center;
  max-width:440px;
  margin:100px auto;
  padding:25px;
}

.welcome-error>img {
  width:60px;
  margin:0 auto 25px;
}

.welcome-error h1 {
  font-size:32px;
}

.welcome-error p {
  font-size:14px;
}

dialog {
  border:0;
  border-radius:20px;
  padding:0;
  background:var(--paper);
  color:var(--ink);
  width:510px;
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 50px);
  overflow-y:auto;
  overscroll-behavior:contain;
  box-shadow:0 30px 100px #0004;
}

dialog::backdrop {
  background:#000000b3;
  backdrop-filter:blur(4px);
}

.modal-close {
  position:absolute;
  right:12px;
  top:12px;
  z-index:3;
  background:#1b2026ed;
  width:34px;
  height:34px;
}

.modal-close svg {
  width:18px;
  height:18px;
}

.modal-body {
  padding:35px;
}

.modal-body>.eyebrow {
  color:var(--muted);
  margin-bottom:9px;
}

.modal-body h2 {
  font-size:27px;
  margin-bottom:22px;
}

.modal-body>.muted {
  font-size:12px;
  margin-top:-8px;
}

.bonus-info-modal {
  width:520px;
}

.bonus-info {
  text-align:center;
}

.bonus-info-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin:0 auto 16px;
  border:1px solid #f4c68a40;
  border-radius:15px;
  color:var(--lime);
  background:#f4c68a0d;
}

.bonus-info-icon svg {
  width:25px;
  height:25px;
}

.bonus-info section {
  margin:22px 0;
}

.bonus-info h3 {
  margin:0 0 9px;
  font-size:15px;
}

.bonus-info section p {
  font-size:12px;
  line-height:1.65;
  color:var(--muted);
  margin:8px 0;
}

.bonus-info b {
  color:var(--ink);
}

.bonus-example {
  border:1px solid #f4c68a32;
  border-radius:14px;
  padding:16px;
  background:linear-gradient(135deg,#292c29,#1b2026);
}

.bonus-example-values {
  display:grid;
  grid-template-columns:1fr 20px 1fr;
  align-items:center;
  gap:14px;
  margin-top:12px;
}

.bonus-example-values small {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:6px;
}

.bonus-example-values strong {
  font-size:26px;
  color:var(--lime);
}

.bonus-example-values svg {
  width:20px;
  color:var(--muted);
}

.bonus-info .fine-print {
  font-size:10px;
  line-height:1.65;
  margin:0 0 20px;
}

.product-modal {
  width:850px;
}

.product-modal[open] {
  display:grid;
  grid-template-columns:1fr 1fr;
}

.product-modal-image {
  position:relative;
  min-height:440px;
  background:var(--soft);
}

.product-modal-image>img {
  height:100%;
  width:100%;
  object-fit:cover;
}

.product-modal-info {
  padding:45px 30px 30px;
}

.product-modal-info .eyebrow {
  color:var(--muted);
  font-size:9px;
}

.product-modal-info h2 {
  font-size:31px;
  margin:13px 0 15px;
}

.product-price-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}

.stock-badge {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid #365f49;
  border-radius:999px;
  background:#1b3025;
  color:#a1ddb5;
  font-size:11px;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
}

.stock-badge::before {
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  flex-shrink:0;
}

.stock-badge.unavailable {
  color:#c3c9d0;
  background:#252b31;
  border-color:#494f56;
}

.detail-price {
  font-size:24px;
  font-weight:600;
}

.detail-price del {
  font-size:15px;
}

.description {
  font-size:12px;
  color:var(--muted);
  margin:22px 0;
  white-space:pre-wrap;
}

.sizes {
  border:0;
  padding:0;
  margin:20px 0 0;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.sizes legend {
  font-size:12px;
  font-weight:600;
  margin-bottom:12px;
}

.size-option {
  margin:0;
  position:relative;
}

.size-option input {
  position:absolute;
  width:100%;
  height:100%;
  opacity:0;
  margin:0;
}

.size-option span {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:39px;
  border:1px solid var(--line);
  border-radius:6px;
  font-size:12px;
  padding:0 10px;
}

.size-option input:checked+span {
  background:var(--lime);
  border-color:var(--lime);
  color:#171a1e;
}

.size-option input:disabled+span {
  color:#7c838e;
  border-color:var(--line);
  text-decoration:line-through;
}

.size-option input:focus-visible+span {
  outline:2px solid var(--lime);
  outline-offset:3px;
}

.product-modal-info>.fine-print {
  margin:15px 0 22px;
  font-size:10px;
}

.success-screen {
  text-align:center;
  padding:55px 35px 35px;
}

.success-icon {
  width:75px;
  height:75px;
  background:var(--lime);
  color:#171a1e;
  margin:0 auto 25px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.success-icon svg {
  width:35px;
  height:35px;
}

.success-screen .eyebrow {
  color:var(--muted);
  margin-bottom:12px;
}

.success-screen h2 {
  font-size:29px;
  margin-bottom:15px;
}

.success-screen p {
  font-size:13px;
  color:var(--muted);
}

.success-screen>strong {
  display:block;
  font-size:24px;
  margin:22px 0 30px;
}

#toast {
  position:fixed;
  bottom:112px;
  left:50%;
  transform:translate(-50%,15px);
  max-width:min(90vw,520px);
  padding:15px 22px;
  border-radius:11px;
  background:var(--soft);
  border:1px solid var(--line);
  color:var(--ink);
  font-size:12px;
  line-height:1.6;
  box-shadow:0 8px 35px #0002;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  z-index:100;
}

#toast.show {
  opacity:1;
  transform:translate(-50%,0);
}

[hidden] {
  display:none!important;
}

@media(min-width:1280px) {
  .product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:850px) {
  .header-inner {
    padding:18px 24px;
  }
  .header-caption {
    display:none;
  }
  main {
    padding:24px;
  }
  .benefits {
    gap:12px;
  }
  .benefit {
    font-size:12px;
    gap:6px;
  }
  .product-grid {
    gap:24px 15px;
  }
  .product-color span {
    display:none;
  }
  .catalog-tools {
    flex-wrap:wrap;
    gap:8px;
  }
  .sort-control {
    margin-left:auto;
  }
  .chips {
    flex:1;
  }
  .footer {
    margin:20px 24px 115px;
  }
  .cart-layout {
    grid-template-columns:1fr 280px;
    gap:22px;
  }
  .summary {
    padding:22px;
  }
  .cart-line {
    gap:12px;
  }
  .cart-line>img {
    width:82px;
    height:105px;
  }
  .cart-line-info h3 {
    font-size:14px;
  }
  .cart-line-end {
    font-size:12px;
  }
  .profile-grid {
    grid-template-columns:1fr 1fr;
    gap:15px;
  }
  .bonus-card,.referral-card {
    padding:24px;
  }
  .referral-card h2 {
    font-size:24px;
  }
  .referral-bottom {
    flex-direction:column;
    align-items:start;
    gap:12px;
  }
  .stats {
    gap:10px;
  }
  .stats>div {
    padding:17px;
  }
  .stats strong {
    font-size:23px;
  }
  .stats small {
    font-size:10px;
  }
  .two-columns {
    gap:20px;
  }
  .panel {
    padding:20px;
  }
  .product-modal-info {
    padding:40px 24px 24px;
  }
  .product-modal-info h2 {
    font-size:28px;
  }
}

@media(max-width:600px) {
  .demo-bar {
    padding:7px 16px;
    justify-content:space-between;
    gap:12px;
    font-size:8px;
  }
  .demo-bar>span {
    max-width:170px;
    line-height:1.5;
  }
  .demo-bar button {
    font-size:8px;
    max-width:145px;
    line-height:1.4;
  }
  .header-inner {
    padding:17px 18px;
    gap:10px;
  }
  .brand {
    gap:8px;
  }
  .wordmark {
    font-size:25px;
  }
  .header-actions {
    gap:8px;
  }
  .admin-entry {
    gap:6px;
    font-size:10px;
  }
  .admin-entry svg {
    width:16px;
  }
  .header-bag {
    margin:0;
    width:30px;
    height:30px;
  }
  .header-bag svg {
    width:20px;
  }
  .header-bag .count {
    top:-1px;
    right:-1px;
  }
  main {
    padding:18px 17px 22px;
  }
  .benefits {
    padding:14px 0 0;
    gap:10px;
  }
  .benefit {
    font-size:12px;
    line-height:1.5;
    gap:8px;
    padding:11px 28px;
  }
  .benefits>.benefit:last-child {
    display:none;
  }
  .benefits svg {
    width:18px;
    height:18px;
  }
  .catalog-section {
    padding-top:26px;
  }
  .section-heading {
    margin-bottom:17px;
    gap:12px;
    align-items:center;
  }
  .section-heading .eyebrow {
    font-size:7px;
    letter-spacing:1.6px;
    margin-bottom:7px;
  }
  .section-heading h2 {
    font-size:25px;
  }
  .search {
    width:150px;
    padding:10px 28px;
  }
  .search input {
    font-size:13px!important;
  }
  .search svg {
    width:15px;
    height:15px;
  }
  .small-count {
    font-size:13px;
    margin-left:3px;
  }
  .catalog-tools {
    display:block;
    margin-bottom:17px;
    position:relative;
  }
  .chips {
    gap:6px;
  }
  .chip {
    padding:8px 12px;
    font-size:13px;
    min-height:33px;
    border-radius:6px;
  }
  .sort-control {
    margin:9px 0 0 auto;
    width:150px;
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
  }
  .product-card {
    padding:6px;
    border-radius:17px;
  }
  .product-card-info {
    padding:13px 3px 4px;
  }
  .product-picture {
    border-radius:11px;
    aspect-ratio:1/1.15;
  }
  .product-title {
    font-size:14px;
    margin:0 0 5px;
  }
  .product-color {
    font-size:11px;
    margin-bottom:10px;
  }
  .product-color span {
    display:inline;
  }
  .product-price {
    font-size:16px;
    min-height:40px;
    padding:9px 5px;
    gap:5px 7px;
  }
  .product-price del {
    font-size:11px;
    margin-left:0;
  }
  .sale-badge {
    top:10px;
    left:10px;
    font-size:10px;
    padding:5px 7px;
  }
  .favorite {
    top:8px;
    right:8px;
    width:32px;
    height:32px;
  }
  .favorite svg {
    width:15px;
    height:15px;
  }
  .quick-add {
    bottom:9px;
    right:9px;
    width:34px;
    height:34px;
  }
  .sold-badge {
    left:8px;
    bottom:10px;
    font-size:8px;
  }
  .footer {
    margin:20px 17px 100px;
    padding:20px 0;
    font-size:8px;
    gap:15px;
  }
  .footer button {
    font-size:8px;
  }
  .footer svg {
    width:12px;
    height:12px;
  }
  .bottom-nav {
    width:100%;
    bottom:0;
    border-radius:16px 16px 0 0;
    border-bottom:0;
    padding:12px 10px calc(12px + env(safe-area-inset-bottom));
    gap:4px;
    box-shadow:0 -3px 25px #172b1509;
  }
  .nav-item {
    padding:3px 2px;
    font-size:11px;
    gap:6px;
    min-width:0;
  }
  .nav-item svg {
    width:21px;
    height:21px;
  }
  .nav-item.selected:before {
    top:-13px;
    width:20px;
    left:calc(50% - 10px);
  }
  .nav-item .count {
    right:6px;
    top:-2px;
  }
  .page-heading {
    margin:12px 0 25px;
  }
  .page-heading .eyebrow {
    font-size:8px;
  }
  .page-heading h1 {
    font-size:33px;
  }
  .page-heading h1 .muted {
    font-size:22px;
  }
  .empty {
    padding:60px 10px;
    min-height:380px;
  }
  .empty h2 {
    font-size:25px;
    line-height:1.2;
    max-width:290px;
    margin:0 auto 15px;
  }
  .empty p {
    font-size:13px;
  }
  .empty .button {
    font-size:14px;
  }
  .cart-layout {
    display:block;
  }
  .cart-list {
    margin-bottom:25px;
  }
  .cart-line {
    gap:14px;
    padding:18px 0;
  }
  .cart-line>img {
    width:82px;
    height:105px;
  }
  .cart-line-info h3 {
    font-size:13px;
  }
  .cart-line-info p {
    font-size:10px;
    margin-bottom:8px;
  }
  .cart-line-end {
    font-size:12px;
  }
  .summary {
    padding:25px;
  }
  .summary h2 {
    font-size:26px;
    margin-bottom:22px;
  }
  .profile-heading {
    margin:12px 0 26px;
    gap:16px;
  }
  .avatar {
    width:67px;
    height:67px;
    font-size:28px;
  }
  .profile-heading .eyebrow {
    font-size:8px;
  }
  .profile-heading h1 {
    font-size:28px;
  }
  .profile-heading p {
    font-size:11px;
  }
  .profile-grid {
    grid-template-columns:1fr;
    gap:15px;
  }
  .bonus-card {
    padding:24px;
    min-height:200px;
  }
  .bonus-top {
    margin-bottom:18px;
  }
  .bonus-card h2 {
    font-size:43px;
  }
  .bonus-card p {
    font-size:12px;
  }
  .referral-card {
    padding:24px;
  }
  .referral-card h2 {
    font-size:25px;
  }
  .referral-card p {
    font-size:13px;
  }
  .referral-bottom {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .referral-bottom .button {
    font-size:11px;
    padding:12px 14px;
    gap:9px;
  }
  .referral-bottom>span {
    font-size:10px;
  }
  .profile-section {
    margin-top:28px;
  }
  .profile-section h2 {
    font-size:23px;
  }
  .order-card summary {
    padding:15px 13px;
    gap:10px;
  }
  .order-icon {
    width:35px;
    height:35px;
  }
  .order-heading strong {
    font-size:12px;
  }
  .order-heading small {
    font-size:9px;
    line-height:1.5;
  }
  .order-price {
    font-size:12px;
  }
  .order-detail {
    padding:18px 15px;
  }
  .order-item {
    font-size:11px;
    gap:14px;
  }
  .quiet-empty {
    font-size:12px;
    padding:30px 20px;
  }
  .two-columns {
    grid-template-columns:1fr;
    gap:23px;
  }
  .two-columns h2 {
    font-size:24px;
  }
  .panel {
    padding:22px;
  }
  .rules li {
    font-size:12px;
  }
  .form-grid {
    gap:0 12px;
  }
  .product-modal[open] {
    display:block;
    width:100%;
  }
  .product-modal-image {
    min-height:0;
    height:290px;
  }
  .product-modal-image>img {
    object-fit:contain;
    background:var(--soft);
  }
  .product-modal-info {
    padding:28px 24px;
  }
  .product-modal-info h2 {
    font-size:30px;
  }
  .product-modal-info .description {
    font-size:13px;
  }
  .product-modal-info>.fine-print {
    font-size:11px;
  }
  .product-modal-info .button {
    font-size:14px;
  }
  .modal-body {
    padding:32px 24px 25px;
  }
  .modal-body h2 {
    font-size:27px;
  }
  .modal-body .eyebrow {
    font-size:8px;
  }
  dialog {
    border-radius:16px;
    max-width:calc(100vw - 20px);
    max-height:calc(100dvh - 24px);
  }
  .product-modal {
    margin:auto;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select {
    font-size:16px;
  }
  .search input {
    font-size:13px!important;
  }
  .catalog-search-row .sort-trigger {
    font-size:13px;
  }
  .success-screen {
    padding:45px 25px 30px;
  }
  .success-screen h2 {
    font-size:28px;
  }
  .success-screen p {
    font-size:12px;
  }
  #toast {
    bottom:100px;
    font-size:11px;
    width:max-content;
  }
  .header .admin-entry:focus-visible {
    outline-offset:2px;
  }
}

.catalog-heading { align-items:baseline; gap:16px; margin-bottom:16px; }
.catalog-heading h2 { font-size:30px; line-height:1.2; letter-spacing:-.8px; }
.catalog-count {
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.catalog-search-row { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:12px; margin-bottom:14px; }
.catalog-search-row .search { width:100%; min-width:0; min-height:44px; border-color:var(--line); background:#1b2026; }
.catalog-search-row .sort-control { width:auto; margin:0; border-color:var(--line); background:#1b2026; }
.catalog-search-row .search:focus-within,.catalog-search-row .sort-control:focus-within { border-color:var(--lime); }
.catalog-search-row .sort-menu { min-width:192px; }
.catalog-section .catalog-tools { margin-bottom:20px; }
@media(max-width:600px) {
  .catalog-heading { margin-bottom:14px; }
  .catalog-heading h2 { font-size:28px; }
  .catalog-count { font-size:12px; }
  .catalog-search-row { grid-template-columns:minmax(0,1fr) 168px; gap:10px; margin-bottom:12px; }
  .catalog-search-row .sort-trigger { padding-inline:22px; }
  .catalog-section .catalog-tools { margin-bottom:18px; }
}
@media(max-width:360px) {
  .catalog-search-row { grid-template-columns:minmax(0,1fr) 152px; gap:8px; }
  .catalog-search-row .search { padding-inline:23px; }
  .catalog-search-row .search svg { left:7px; width:13px; height:13px; }
  .catalog-search-row .sort-trigger { padding-inline:20px; }
}

/* Customer panels share the catalog's warm outline and dark surfaces. */
.sort-control {
  width:180px;
  background:linear-gradient(145deg,#242a2f,#1b2026);
}
.sort-trigger { position:relative; }
.sort-trigger[aria-expanded="true"]>svg { transform:translateY(-50%) rotate(-90deg); }
.sort-menu {
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  z-index:20;
  width:100%;
  padding:5px;
  border:1px solid #f4c68a55;
  border-radius:14px;
  background:#20262c;
  box-shadow:0 12px 32px #0006;
}
.sort-menu button {
  position:relative;
  width:100%;
  min-height:44px;
  padding:10px 23px;
  border-radius:9px;
  text-align:center;
  font-size:13px;
  color:var(--muted);
}
.sort-menu button>svg {
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:13px;
  height:13px;
  visibility:hidden;
}
.sort-menu button[aria-checked="true"] { color:var(--lime); background:#f4c68a13; }
.sort-menu button[aria-checked="true"]>svg { visibility:visible; }
.sort-menu button:focus-visible { outline:1px solid var(--lime); outline-offset:-1px; background:#f4c68a18; }
.cart-page .page-heading { text-align:center; margin:8px 0 26px; }
.cart-page .page-heading h1 .muted,.profile-count {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  min-width:30px;
  height:30px;
  padding:0 9px;
  border:1px solid #f4c68a32;
  border-radius:10px;
  background:#f4c68a0c;
  color:var(--lime);
  font-size:13px;
  letter-spacing:0;
}
.cart-page .empty,.cart-page .cart-line,.cart-page .summary,
.profile-page .profile-heading,.profile-page .referral-card,.profile-page .order-card,
.profile-page .quiet-empty,.profile-page .panel,.profile-links button {
  border:1px solid #f4c68a32;
  border-radius:19px;
  background:linear-gradient(145deg,#242a2f,#191e23);
  box-shadow:inset 0 1px 0 #ffffff05,0 6px 18px #00000012;
}
.cart-page .empty { min-height:0; padding:42px 22px; }
.cart-page .empty-icon { color:var(--lime); background:#f4c68a0c; border:1px solid #f4c68a32; transform:none; }
.cart-page .empty-icon svg { transform:none; }
.cart-page .cart-layout { gap:24px; grid-template-columns:minmax(0,1fr) 330px; }
.cart-page .cart-list { display:grid; gap:14px; align-content:start; min-width:0; }
.cart-page .cart-line {
  position:relative;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:14px;
}
.cart-page .cart-line>img { width:100px; height:114px; border-radius:12px; }
.cart-page .cart-line-info { min-width:0; text-align:center; padding:14px 22px 0 0; }
.cart-page .cart-line-info h3 { font-size:15px; line-height:1.4; margin:0 0 7px; overflow-wrap:anywhere; }
.cart-page .cart-line-info p { font-size:12px; margin:0 0 10px; }
.cart-page .cart-unit-price { font-size:12px; color:var(--lime); }
.cart-page .cart-remove {
  position:absolute;
  top:8px;
  right:8px;
  width:30px;
  height:30px;
  border:1px solid #f4c68a26;
  border-radius:50%;
  color:var(--muted);
  background:#191e23;
}
.cart-remove svg { width:14px; height:14px; }
.cart-line-controls { grid-column:1/-1; display:flex; align-items:stretch; justify-content:space-between; gap:12px; }
.cart-page .cart-quantity { margin:0; border-color:#f4c68a32; border-radius:12px; }
.cart-page .cart-quantity strong { min-width:30px; text-align:center; font-variant-numeric:tabular-nums; }
.cart-page .cart-quantity button { width:42px; height:42px; color:var(--lime); }
.cart-line-price {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  padding:10px 16px;
  border:1px solid #f4c68a32;
  border-radius:12px;
  color:var(--lime);
  background:#f4c68a08;
  font-size:16px;
  font-variant-numeric:tabular-nums;
}
.cart-page .cart-continue { border-color:#f4c68a32; border-radius:12px; color:var(--muted); }
.cart-page .summary { text-align:center; padding:26px; }
.cart-page .summary h2 { margin-bottom:22px; }
.cart-page .total-row { align-items:center; border:1px solid #f4c68a32; border-radius:12px; background:#f4c68a08; padding:16px 12px; margin-bottom:18px; }
.cart-page .total-row strong { color:var(--lime); font-size:21px; white-space:nowrap; }
.cart-page .summary .muted { line-height:1.7; margin-bottom:20px; }
.cart-page .button.dark,.profile-page .button.dark { background:linear-gradient(135deg,#f6cd98,#edba76); color:#211c16; border-radius:12px; }
.profile-page { max-width:940px; margin:0 auto; }
.profile-page .profile-heading { justify-content:center; padding:24px; margin:8px 0 18px; text-align:center; }
.profile-page .profile-heading>div:last-child { min-width:0; }
.profile-page .profile-heading h1,.profile-page .profile-heading p { overflow-wrap:anywhere; }
.profile-page .avatar { flex-shrink:0; width:64px; height:64px; font-size:28px; border-radius:20px; border:1px solid #f4c68a66; background:linear-gradient(140deg,#544332,#302c28); color:var(--lime); }
.profile-page .profile-grid { gap:18px; }
.profile-page .bonus-card,.profile-page .referral-card { padding:25px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.profile-page .bonus-card { border:1px solid #f4c68a66; border-radius:19px; background:radial-gradient(ellipse at 50% 0,#59433070,transparent 80%),linear-gradient(145deg,#292b2d,#1b2026); min-height:0; }
.profile-page .bonus-top { justify-content:center; gap:9px; margin-bottom:14px; }
.profile-page .bonus-top svg { width:20px; height:20px; }
.profile-page .bonus-card h2 { color:var(--lime); font-size:42px; margin-bottom:10px; }
.profile-page .bonus-card p { line-height:1.7; }
.bonus-rules { display:flex; gap:7px; align-items:center; justify-content:center; min-height:44px; margin-top:18px; font-size:13px; color:var(--lime); border-top:1px solid #f4c68a26; width:100%; padding:12px 0 0; }
.bonus-rules svg { width:13px; height:13px; }
.profile-page .referral-card .eyebrow { margin-bottom:12px; }
.profile-page .referral-card h2 { font-size:25px; }
.profile-page .referral-card p { line-height:1.75; margin:0 auto 18px; }
.profile-page .referral-card p b { color:var(--lime); }
.profile-page .referral-bottom { flex-direction:column; align-items:center; justify-content:center; gap:12px; margin-top:auto; width:100%; }
.profile-page .referral-bottom .button { width:100%; font-size:14px; min-height:46px; }
.profile-page .referral-bottom>span { padding:6px 12px; border-radius:8px; background:#f4c68a08; }
.profile-page .referral-bottom b { color:var(--lime); }
.profile-page .profile-section { margin-top:26px; }
.profile-page .profile-section>.section-heading { justify-content:center; gap:12px; margin-bottom:16px; }
.profile-page .profile-section h2 { font-size:24px; text-align:center; }
.profile-page .quiet-empty { display:flex; flex-direction:column; align-items:center; gap:12px; padding:28px 22px; line-height:1.6; }
.profile-page .quiet-empty svg { width:28px; height:28px; color:var(--lime); }
.profile-page .quiet-empty strong { font-size:14px; color:var(--ink); }
.profile-page .order-icon { flex-shrink:0; border:1px solid #f4c68a32; color:var(--lime); background:#f4c68a08; border-radius:12px; }
.profile-page .order-price { color:var(--lime); }
.profile-page .order-card .status { padding:4px 7px; background:#ffffff05; border:1px solid #ffffff0a; border-radius:6px; text-align:center; }
.profile-page .order-card summary { border-radius:18px; }
.profile-page .order-heading { min-width:0; }
.profile-page .order-item>span { min-width:0; overflow-wrap:anywhere; }
.profile-links { display:grid; gap:10px; margin-top:24px; border:0; background:none; overflow:visible; }
.profile-links button { display:grid; grid-template-columns:20px minmax(0,1fr) 20px; align-items:center; gap:12px; min-height:58px; padding:16px; font-size:14px; text-align:center; }
.profile-links svg { color:var(--lime); width:18px; height:18px; }
.profile-links button>svg:last-child { color:var(--muted); width:14px; height:14px; justify-self:end; }
.sort-trigger:active,.sort-menu button:active,.bonus-rules:active,.profile-links button:active { transform:scale(.98); }
@media(hover:hover) and (pointer:fine) {
  .sort-menu button:hover { background:#f4c68a18; color:var(--ink); }
  .profile-links button:hover,.cart-page .cart-continue:hover { border-color:#f4c68a70; background:#282d32; }
  .cart-page .cart-remove:hover { color:var(--red); border-color:var(--red); }
}
@media(max-width:850px) {
  .cart-page .cart-layout { grid-template-columns:minmax(0,1fr) 280px; gap:18px; }
}
@media(max-width:600px) {
  .sort-control { width:174px; }
  .cart-page .cart-layout { display:grid; grid-template-columns:1fr; gap:20px; }
  .cart-page .cart-list { margin-bottom:0; }
  .cart-page .cart-line { grid-template-columns:82px minmax(0,1fr); padding:12px; gap:12px; }
  .cart-page .cart-line>img { width:82px; height:100px; }
  .cart-page .cart-line-info h3 { font-size:14px; }
  .cart-page .summary { padding:22px; }
  .cart-page .empty h2 { font-size:25px; }
  .profile-page .profile-heading { flex-direction:column; gap:12px; padding:22px; }
  .profile-page .profile-heading h1 { font-size:26px; }
  .profile-page .profile-grid { gap:14px; }
  .profile-page .bonus-card,.profile-page .referral-card { padding:22px; }
  .profile-page .profile-section h2 { font-size:22px; }
}

@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}

@media(max-width:380px) {
  .benefit { flex-direction:column; gap:6px; padding:12px 10px; }
  .benefit>svg { position:static; }
}

.volume-heading {
  margin:24px 0 12px;
}

.variant-row {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) 30px;
  gap:10px;
  align-items:end;
  margin-bottom:12px;
}

.variant-row label {
  min-width:0;
  margin:0;
  font-size:11px;
}

.variant-row input {
  padding:11px 9px;
  width:100%;
  min-width:0;
}

.variant-row .icon-button {
  width:30px;
  height:42px;
  display:grid;
  place-items:center;
}

.size-option span {
  min-width:74px;
  padding:0 12px;
}

@media(max-width:600px) {
  .variant-row {
    gap:6px;
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) 26px;
  }
  .variant-row input {
    padding:11px 6px;
  }
}

/* Admin screens use the same warm outlines and readable controls as the shop. */
.admin-page { max-width:1100px; margin:0 auto; font-size:14px; }
.admin-page .admin-heading { gap:16px; margin:8px 0 24px; }
.admin-page .admin-heading h1 { font-size:34px; margin:6px 0 0; }
:is(.admin-page,.admin-modal) .eyebrow { font-size:11px; letter-spacing:1.4px; color:var(--muted); }
.admin-page .stats { gap:12px; margin-bottom:22px; }
.admin-page .stats>div,
.admin-page :is(.panel,.admin-product,.promo-card,.order-card,.quiet-empty) {
  border:1px solid #f4c68a32;
  border-radius:18px;
  background:linear-gradient(145deg,#242a2f,#191e23);
  box-shadow:inset 0 1px 0 #ffffff05,0 6px 18px #00000012;
}
.admin-page .stats>div { display:flex; flex-direction:column; justify-content:space-between; gap:12px; padding:20px 14px; text-align:center; }
.admin-page .stats small { font-size:13px; line-height:1.5; margin:0; }
.admin-page .stats strong { font-size:28px; font-weight:600; letter-spacing:-.03em; color:var(--lime); font-variant-numeric:tabular-nums; }
.admin-page .admin-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; overflow:visible; padding:0; margin:0 0 28px; }
.admin-page .admin-tabs .chip {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  min-width:0;
  padding:10px 12px;
  border:1px solid #f4c68a32;
  border-radius:12px;
  background:linear-gradient(145deg,#242a2f,#1b2026);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  white-space:normal;
  text-align:center;
}
.admin-page .admin-tabs .selected { background:linear-gradient(135deg,#f6cd98,#edba76); color:#211c16; border-color:#f4c68a; box-shadow:0 3px 12px #f4c68a12; }
.admin-page .admin-content>.muted { font-size:14px; line-height:1.7; margin:0 0 18px; }
.admin-page .section-heading { gap:16px; margin-bottom:16px; }
.admin-page :is(.section-heading,.two-columns) h2 { font-size:24px; line-height:1.3; }
.admin-page .two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.admin-page .two-columns>* { min-width:0; }
.admin-page .panel { padding:24px; }
.admin-page .panel h2 { margin:0 0 22px; }
:is(.admin-page,.admin-modal) p { font-size:14px; line-height:1.7; }
:is(.admin-page,.admin-modal) .fine-print { display:block; font-size:13px; line-height:1.65; }
:is(.admin-page,.admin-modal) .error-text { font-size:13px; }
:is(.admin-page,.admin-modal) .form-error:empty { display:none; }
:is(.admin-page,.admin-modal) label { font-size:14px; font-weight:600; margin-bottom:18px; }
:is(.admin-page,.admin-modal) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),textarea,select) {
  min-width:0;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #f4c68a36;
  border-radius:11px;
  background:#171c21;
  font-size:16px;
  line-height:1.5;
  color:var(--ink);
  color-scheme:dark;
}
:is(.admin-page,.admin-modal) input[readonly] { color:var(--muted); background:#ffffff04; }
:is(.admin-page,.admin-modal) .check-label { align-items:center; font-weight:500; gap:12px; line-height:1.6; }
:is(.admin-page,.admin-modal) .check-label input { width:20px; height:20px; }
:is(.admin-page,.admin-modal) .button {
  min-height:46px;
  padding:12px 16px;
  gap:8px;
  border-radius:12px;
  font-size:14px;
  line-height:1.45;
  text-align:center;
}
:is(.admin-page,.admin-modal) .button svg { width:18px; height:18px; flex-shrink:0; }
:is(.admin-page,.admin-modal) .button.dark { background:linear-gradient(135deg,#f6cd98,#edba76); color:#211c16; }
:is(.admin-page,.admin-modal) .button.outline { border-color:#f4c68a3d; background:#ffffff03; }
:is(.admin-page,.admin-modal) .button.danger { border-color:#f2a18845; color:var(--red); background:#f2a18806; }
:is(.admin-page,.admin-modal) .text-button { min-height:44px; font-size:14px; color:var(--lime); }
.admin-page .admin-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.admin-page .admin-product { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:16px; padding:16px; }
.admin-page .admin-product>img { width:82px; height:100px; border-radius:12px; }
.admin-page .admin-product-info { min-width:0; }
.admin-page .admin-product h3 { font-size:16px; line-height:1.4; margin:0 0 6px; overflow-wrap:anywhere; }
.admin-page .admin-product p { font-size:13px; line-height:1.5; margin:0 0 12px; overflow-wrap:anywhere; }
.admin-page .stock-chips { gap:6px; }
.admin-page .stock-chips span { align-items:center; gap:9px; padding:6px 9px; border:1px solid #f4c68a24; border-radius:8px; background:#f4c68a08; font-size:12px; }
.admin-page .stock-chips b { color:var(--lime); font-weight:600; white-space:nowrap; }
.admin-page .stock-chips .zero { border-color:#f2a18830; background:#f2a18808; }
.admin-page .stock-chips .zero b { color:var(--red); }
.admin-page .admin-product-end {
  grid-column:1/-1;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  margin:0;
  padding:12px 14px;
  border:1px solid #f4c68a26;
  border-radius:11px;
  background:#f4c68a08;
}
.admin-page .admin-product-end>b { color:var(--lime); font-size:18px; font-variant-numeric:tabular-nums; }
.admin-page .admin-product-end small { max-width:none; font-size:12px; line-height:1.5; }
.admin-product-actions { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.admin-page .category-actions { align-items:stretch; gap:12px; }
.admin-page .category-actions>.fine-print { width:100%; margin:0; }
.admin-page .category-buttons { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; width:100%; }
.admin-page .category-buttons .button { padding-inline:12px; }
.admin-page .promo-card { display:grid; gap:18px; padding:22px; margin-bottom:14px; }
.admin-page .promo-card>div { min-width:0; }
.admin-page .promo-card strong { color:var(--lime); font-size:20px; letter-spacing:.05em; }
.admin-page .promo-card p { font-size:14px; margin:10px 0 5px; }
.admin-page .promo-card small { font-size:13px; line-height:1.6; }
.admin-page .promo-usage { padding:10px 12px; border:1px solid #f4c68a26; border-radius:10px; background:#f4c68a08; }
.admin-page .promo-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:8px; }
.admin-page .promo-actions .button { flex:1 1 auto; }
.admin-page .notice { border:1px solid #f4c68a32; border-radius:12px; background:#f4c68a08; padding:16px; font-size:13px; line-height:1.7; }
.admin-page .broadcast-card small { font-size:13px; }
.admin-page .rules ol { padding-left:22px; }
.admin-page .rules li { font-size:14px; line-height:1.75; padding-left:6px; }
.admin-page .rules li::marker { color:var(--lime); font-weight:600; }
.admin-page .queue-note { font-size:14px; margin-top:20px; }
.admin-page .quiet-empty { padding:28px 20px; font-size:14px; line-height:1.7; }
.admin-page .order-card summary { gap:12px; padding:18px; border-radius:18px; }
.admin-page .order-icon { flex-shrink:0; border:1px solid #f4c68a32; color:var(--lime); background:#f4c68a08; }
.admin-page .order-heading { min-width:0; }
.admin-page .order-heading strong { font-size:16px; }
.admin-page .order-heading small { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.admin-page .order-price { color:var(--lime); font-size:16px; flex-shrink:0; }
.admin-page .status { font-size:12px; padding:4px 8px; background:#ffffff05; border:1px solid #ffffff0a; border-radius:7px; text-align:center; }
.admin-page .order-detail { border-color:#f4c68a26; padding:20px; font-size:14px; }
.admin-page .order-item { font-size:14px; }
.admin-page .order-detail small { font-size:12px; }
.admin-page .order-item>span { min-width:0; overflow-wrap:anywhere; }
.admin-page .order-detail a { color:var(--lime); }
.admin-modal { width:620px; border:1px solid #f4c68a40; background:linear-gradient(145deg,#242a2f,#191e23); border-radius:20px; }
.admin-modal .modal-body { padding:32px; }
.admin-modal .modal-body>h2 { padding-right:28px; font-size:28px; line-height:1.3; margin-bottom:24px; }
.admin-modal .modal-body>.eyebrow { padding-right:32px; }
.admin-modal .modal-close { position:absolute; border:1px solid #f4c68a32; border-radius:12px; width:40px; height:40px; color:var(--muted); }
.admin-modal .form-grid { gap:0 16px; align-items:end; }
.admin-modal .form-grid label { min-width:0; }
.admin-modal .upload-label { justify-content:center; padding:14px; border-color:#f4c68a50; border-radius:12px; background:#f4c68a08; color:var(--lime); font-size:14px; }
.admin-modal .volume-heading { font-size:18px; line-height:1.4; margin:26px 0 14px; }
.admin-modal .variant-row { gap:12px; padding:16px; margin-bottom:12px; border:1px solid #f4c68a32; border-radius:14px; background:#11141760; grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr)) 32px; }
.admin-modal .variant-row.existing-variant { grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr)); }
.admin-modal .variant-row label { font-size:13px; margin:0; }
.admin-modal .variant-row input { padding:11px 10px; }
.admin-modal .variant-row .icon-button { width:32px; height:48px; color:var(--red); }
:is(.admin-page,.admin-modal) :is(button,input,textarea,select,summary):focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.admin-page .admin-tabs .chip:active { transform:scale(.98); }
@media(hover:hover) and (pointer:fine) {
  .admin-page .admin-tabs .chip:not(.selected):hover { background:#2c3034; border-color:#f4c68a70; }
  :is(.admin-page,.admin-modal) .button.outline:hover { background:#f4c68a10; border-color:#f4c68a70; }
  :is(.admin-page,.admin-modal) .button.dark:hover { background:linear-gradient(135deg,#ffdaa9,#f4c68a); }
  :is(.admin-page,.admin-modal) .button.danger:hover { background:#f2a18814; border-color:#f2a18880; }
}
@media(max-width:850px) {
  .admin-page .admin-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-page .two-columns { grid-template-columns:minmax(0,1fr); }
  .admin-page .admin-products { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  .admin-page .admin-heading { gap:12px; align-items:center; }
  .admin-page .admin-heading h1 { font-size:28px; }
  .admin-page .admin-heading .eyebrow { font-size:10px; letter-spacing:1px; }
  .admin-page .admin-heading .button { padding:10px 12px; }
  .admin-page .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .admin-page .stats>div { padding:16px 12px; gap:10px; }
  .admin-page .stats small { font-size:12px; }
  .admin-page .stats strong { font-size:26px; }
  .admin-page .admin-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:26px; }
  .admin-page .section-heading { flex-wrap:wrap; gap:12px; }
  .admin-page .section-heading h2 { font-size:24px; }
  .admin-page .panel,.admin-page .promo-card { padding:20px; }
  .admin-page .admin-product { padding:14px; gap:14px; }
  .admin-page .admin-product-actions .button { padding-inline:12px; }
  .admin-page .order-card summary { display:grid; grid-template-columns:36px minmax(0,1fr) 16px; gap:10px; padding:16px; }
  .admin-page .order-icon { width:36px; height:36px; }
  .admin-page .order-price { grid-column:2; grid-row:2; display:flex; align-items:center; gap:12px; flex-wrap:wrap; text-align:left; }
  .admin-page .order-price .status { margin:0; }
  .admin-page .order-card summary>svg { grid-column:3; grid-row:1; }
  .admin-page .order-detail { padding:16px; }
  .admin-modal .modal-body { padding:28px 20px 22px; }
  .admin-modal .modal-body>h2 { font-size:25px; }
  .admin-modal .form-grid { grid-template-columns:minmax(0,1fr); }
  .admin-modal .variant-row { grid-template-columns:repeat(2,minmax(0,1fr)) 32px; padding:14px; gap:12px 10px; }
  .admin-modal .variant-row>label:first-child { grid-column:1/3; }
  .admin-modal .variant-row>label:nth-child(2) { grid-column:1; grid-row:2; }
  .admin-modal .variant-row>label:nth-child(3) { grid-column:2/4; grid-row:2; }
  .admin-modal .variant-row>.icon-button { grid-column:3; grid-row:1; }
  .admin-modal .variant-row.existing-variant { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-modal .variant-row.existing-variant>label:nth-child(3) { grid-column:2; }
}
@media(max-width:380px) {
  .admin-page .admin-heading { flex-wrap:wrap; }
  .admin-page .admin-heading .button { margin-left:auto; }
  .admin-page .category-buttons { grid-template-columns:minmax(0,1fr); }
  .admin-page .section-heading>.button { width:100%; }
}
