﻿/* ============================================================
   Gisele Flávia Modas — Boutique Feminina
   Estilos principais (HTML/CSS/JS puro)
   ============================================================ */

:root {
  --pink-brand: #F80080;
  --pink-dark: #c4006a;
  --pink-deep: #9f005d;
  --pink-petal: #FFD6EC;
  --pink-light: #FFE4F2;
  --pink-soft: #FFF4FA;
  --green-brand: #063F2B;
  --green-dark: #04291C;
  --gold: #D4AF37;
  --gold-soft: #FBF1CE;
  --text-dark: #1F2937;
  --text-muted: #6B7280;
  --background: #FFF7FB;
  --white: #FFFFFF;
  --border: #F3D1E3;
  --success: #10B981;
  --warning: #F59E0B;
  --danger: #EF4444;

  --shadow-sm: 0 1px 3px rgba(31, 41, 55, 0.08);
  --shadow-md: 0 8px 24px rgba(248, 0, 128, 0.16);
  --shadow-lg: 0 18px 50px rgba(248, 0, 128, 0.20);
  --pink-ring: linear-gradient(135deg, var(--pink-brand), var(--pink-petal) 54%, var(--gold));
  --pink-hero: radial-gradient(circle at 88% 12%, rgba(255,255,255,0.34), transparent 28%),
    radial-gradient(circle at 78% 88%, rgba(212,175,55,0.34), transparent 24%),
    linear-gradient(135deg, var(--pink-brand) 0%, #ff4cab 46%, #ff89c9 100%);
  --radius: 18px;
  --radius-sm: 12px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  background: var(--background);
}

body {
  width: 100%;
  max-width: 100%;
  font-family: 'Poppins', system-ui, sans-serif;
  color: var(--text-dark);
  background: var(--background);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1, h2, h3 { font-family: 'Playfair Display', serif; }
img { max-width: 100%; display: block; }

/* ===================== TOPBAR ===================== */
.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: linear-gradient(180deg, var(--white) 0%, #fffafd 68%, var(--pink-soft) 100%);
  border-bottom: 2px solid rgba(248, 0, 128, 0.16);
  box-shadow: 0 10px 30px rgba(248, 0, 128, 0.08);
}

.topbar::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--pink-brand), var(--pink-petal), var(--gold), var(--pink-brand));
}

.topbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.brand-mark {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink-brand), var(--pink-dark) 68%, var(--pink-deep));
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-weight: 800;
  font-size: 22px;
  box-shadow: 0 12px 30px rgba(248, 0, 128, 0.24);
  border: 2px solid var(--gold);
  flex-shrink: 0;
}
.brand-mark.sm { width: 40px; height: 40px; font-size: 17px; }

.brand-text { display: flex; flex-direction: column; text-align: left; }

.brand-name {
  font-family: 'Playfair Display', serif;
  font-size: 21px;
  font-weight: 700;
  color: var(--pink-deep);
  line-height: 1.1;
}

.brand-tag {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--pink-brand);
  font-weight: 600;
}

/* nav central */
.main-nav { display: flex; gap: 4px; }
.nav-link {
  background: none;
  border: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  color: var(--text-dark);
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.nav-link:hover { background: var(--pink-soft); color: var(--pink-brand); }
.nav-link.active {
  background: var(--pink-brand);
  color: var(--white);
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(248, 0, 128, 0.18);
}

.topbar-actions { display: flex; gap: 10px; align-items: center; }
.btn-logout {
  padding-inline: 14px;
  border: 1px solid rgba(248, 0, 128, 0.18);
  color: var(--pink-brand);
  font-weight: 700;
}

/* botão carrinho */
.cart-btn {
  position: relative;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(248, 0, 128, 0.22);
  background: var(--pink-brand);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cart-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); background: var(--pink-dark); }
.cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--white);
}

/* ===================== BOTÕES ===================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  text-decoration: none;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-lg { padding: 14px 26px; font-size: 15px; }
.btn-sm { padding: 8px 14px; font-size: 13px; }
.btn-block { width: 100%; }

.btn-pink { background: var(--pink-brand); color: var(--white); box-shadow: var(--shadow-md); }
.btn-pink:hover { background: var(--pink-dark); }

.btn-gold { background: var(--gold); color: var(--green-dark); }
.btn-gold:hover { background: #c39e2c; }

.btn-instagram {
  background: var(--pink-brand);
  color: var(--white);
  border: 1px solid var(--pink-brand);
  box-shadow: 0 8px 22px rgba(248, 0, 128, 0.16);
}
.btn-instagram:hover { background: var(--pink-dark); }

.btn-outline-light {
  background: rgba(255,255,255,0.12);
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,0.55);
}
.btn-outline-light:hover { background: rgba(255,255,255,0.22); }

.btn-ghost { background: var(--pink-soft); color: var(--text-dark); }
.btn-ghost:hover { background: var(--pink-light); }

.link-btn {
  background: none;
  border: none;
  color: var(--pink-brand);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 6px 4px;
}
.link-btn:hover { text-decoration: underline; }

/* ===================== CONTEÚDO / TELAS ===================== */
.content { max-width: 1200px; margin: 0 auto; padding: 24px 20px 48px; }
.screen { display: none; animation: fade .3s ease; }
.screen.active { display: block; }
@keyframes fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ===================== HERO BANNER (HOME) ===================== */
.hero-banner {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--pink-hero);
  color: var(--white);
  padding: 56px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: var(--shadow-lg);
}
.hero-banner::before,
.hero-banner::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}
.hero-banner::before {
  width: 360px;
  height: 360px;
  right: -125px;
  top: -120px;
  border: 1px solid rgba(255,255,255,0.32);
  box-shadow: inset 0 0 0 34px rgba(255,255,255,0.08);
}
.hero-banner::after {
  width: 160px;
  height: 160px;
  left: 44%;
  bottom: -88px;
  background: rgba(6, 63, 43, 0.16);
}
.hero-banner-text { max-width: 560px; position: relative; z-index: 2; }
.hero-badge {
  display: inline-block;
  background: rgba(255,255,255,0.92);
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.hero-banner-title {
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.05;
  margin-bottom: 14px;
  text-shadow: 0 8px 28px rgba(159, 0, 93, 0.22);
}
.hero-banner-sub {
  font-size: 17px;
  color: rgba(255,255,255,0.92);
  margin-bottom: 28px;
  max-width: 480px;
}
.hero-banner-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.hero-banner-art { position: relative; width: 260px; height: 220px; flex-shrink: 0; }
.art-circle { position: absolute; border-radius: 50%; }
.art-1 {
  width: 220px; height: 220px; right: 0; top: 0;
  background: radial-gradient(circle at 30% 30%, var(--pink-petal), var(--pink-brand) 52%, var(--pink-dark));
  opacity: 0.95;
  box-shadow: 0 20px 48px rgba(159, 0, 93, 0.24);
}
.art-2 {
  width: 120px; height: 120px; right: 150px; bottom: -10px;
  background: var(--gold);
  opacity: 0.9;
}
.art-tag {
  position: absolute;
  right: 60px; top: 70px;
  font-family: 'Playfair Display', serif;
  font-size: 64px;
  font-weight: 800;
  color: var(--white);
  z-index: 2;
  text-shadow: 0 4px 18px rgba(0,0,0,0.25);
}

/* ===================== MENU CIRCULAR (DESTAQUES) ===================== */
.story-nav { margin: 28px 0 8px; }
.story-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  padding: 8px 4px 14px;
  scrollbar-width: thin;
}
.story-track::-webkit-scrollbar { height: 6px; }
.story-track::-webkit-scrollbar-thumb { background: var(--pink-light); border-radius: 99px; }

.story-item {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 78px;
  font-family: inherit;
}
.story-ring {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  padding: 3px;
  background: var(--pink-ring);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease;
}
.story-item:hover .story-ring { transform: scale(1.06); }
.story-item.active .story-ring {
  background: linear-gradient(135deg, var(--pink-deep), var(--pink-brand) 58%, var(--gold));
  box-shadow: 0 8px 18px rgba(248, 0, 128, 0.18);
}
.story-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--white), var(--pink-soft));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pink-brand);
}
.story-item.active .story-inner { color: var(--pink-brand); }
.story-inner svg { width: 28px; height: 28px; }
.story-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-dark);
  text-align: center;
}
.story-item.active .story-label { color: var(--pink-brand); font-weight: 600; }

/* ===================== SECTIONS / HOME ===================== */
.home-section { margin-top: 40px; }
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.section-title { font-size: 26px; font-weight: 700; color: var(--green-brand); }
.section-sub { font-size: 14px; color: var(--text-muted); margin-top: 4px; }

/* ===================== SHOP GRID (vitrine de cards) ===================== */
.shop-grid {
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(auto-fill, minmax(260px, 320px));
  justify-content: start;
  align-items: stretch;
  gap: 24px;
}

.topbar-inner,
.content,
.trust-inner,
.footer-inner,
.footer-bottom {
  width: min(100%, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
}

.screen,
.hero-banner,
.story-nav,
.story-track,
.home-section,
.section-head,
.shop-card {
  width: 100%;
  max-width: 320px;
  min-width: 0;
  max-width: 100%;
}

.story-nav { overflow: hidden; }
.story-track { overscroll-behavior-inline: contain; }

.shop-card {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease;
  display: flex;
  flex-direction: column;
}
.shop-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }

.shop-thumb {
  position: relative;
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 64px;
  font-weight: 800;
  color: rgba(255,255,255,0.92);
  transition: background .2s ease;
}
.shop-thumb .cat-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(255,255,255,0.9);
  color: var(--pink-deep);
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
}
.shop-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  color: var(--white);
}
.shop-tag.ok { background: var(--success); }
.shop-tag.low { background: var(--gold); color: var(--green-dark); }
.shop-tag.zero { background: var(--danger); }
.shop-tag.promo { background: var(--pink-brand); color: var(--white); top: 44px; }
.thumb-letter { position: relative; z-index: 1; }
.shop-thumb-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  z-index: 0;
}
.shop-thumb-img:not([hidden]) ~ .thumb-letter { display: none; }
.shop-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(31, 41, 55, 0.16), rgba(248, 0, 128, 0.14));
  pointer-events: none;
  z-index: 0;
}
.shop-thumb .cat-pill,
.shop-thumb .shop-tag,
.shop-thumb .thumb-color-label,
.shop-thumb .media-badge { z-index: 2; }
.media-badge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  background: rgba(6, 63, 43, 0.92);
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
}
.media-badge + .shop-thumb-img:not([hidden]) ~ .thumb-color-label { bottom: 46px; }
.thumb-color-label {
  position: absolute;
  left: 12px;
  bottom: 12px;
  background: rgba(255,255,255,0.92);
  color: var(--pink-deep);
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
}

.shop-body { padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.shop-cat { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--pink-brand); font-weight: 600; }
.shop-name { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 600; color: var(--text-dark); line-height: 1.3; }
.shop-price-row { display: flex; align-items: baseline; gap: 8px; }
.shop-price { font-size: 20px; font-weight: 700; color: var(--pink-brand); }
.shop-old-price { font-size: 14px; color: var(--text-muted); text-decoration: line-through; }

.shop-sizes { display: flex; flex-wrap: wrap; gap: 6px; }
.size-chip {
  min-width: 30px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 8px;
  background: var(--pink-soft);
  color: var(--pink-deep);
  border: 1px solid var(--border);
  cursor: pointer;
  font-family: inherit;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.size-chip.active {
  background: var(--pink-brand);
  border-color: var(--pink-brand);
  color: var(--white);
}
.size-chip.off,
.size-chip:disabled {
  opacity: 0.35;
  text-decoration: line-through;
  cursor: not-allowed;
}

.shop-colors { display: flex; flex-wrap: wrap; gap: 6px; }
.color-dot {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--text-muted);
  background: var(--pink-soft);
  border: 1px solid var(--border);
  padding: 4px 8px 4px 5px;
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.color-dot.active {
  background: var(--white);
  border-color: var(--pink-brand);
  color: var(--pink-brand);
  font-weight: 700;
}
.color-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(31, 41, 55, 0.18);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45);
}

.shop-foot { margin-top: auto; padding-top: 6px; display: grid; gap: 8px; }
.shop-foot .btn { width: 100%; }
.btn-detail {
  border: 1px solid rgba(248, 0, 128, 0.18);
  color: var(--pink-brand);
}
.btn-buy:disabled { background: #e5e7eb; color: var(--text-muted); cursor: not-allowed; box-shadow: none; }
.btn-buy:disabled:hover { transform: none; }

/* ===================== FILTROS ===================== */
.filter-bar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.filter-pill {
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--text-dark);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  padding: 9px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: all .15s ease;
}
.filter-pill:hover { border-color: var(--pink-brand); color: var(--pink-brand); }
.filter-pill.active { background: var(--pink-brand); color: var(--white); border-color: var(--pink-brand); }

/* ===================== HERO (GESTÃO) ===================== */
.hero {
  background: linear-gradient(120deg, var(--pink-soft), var(--white) 62%, #fff0f8);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
  box-shadow: var(--shadow-sm);
}
.hero-text { max-width: 600px; }
.hero-title { font-size: 30px; font-weight: 700; color: var(--green-brand); margin: 12px 0 8px; }
.hero-sub { font-size: 15px; color: var(--text-muted); }
.hero-deco {
  font-family: 'Playfair Display', serif;
  font-size: 80px;
  font-weight: 800;
  color: var(--pink-light);
  flex-shrink: 0;
}

/* ===================== STAT CARDS ===================== */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-bottom: 30px;
}
.stat-card {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.14);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease;
}
.stat-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: var(--white);
}
.stat-icon svg { width: 24px; height: 24px; }
.stat-icon.pink { background: var(--pink-brand); }
.stat-icon.green { background: var(--green-brand); }
.stat-icon.warn { background: var(--warning); }
.stat-icon.gold { background: var(--gold); color: var(--green-dark); }
.stat-label { font-size: 13px; color: var(--text-muted); margin-bottom: 4px; }
.stat-value { font-size: 26px; font-weight: 700; color: var(--pink-deep); font-family: 'Playfair Display', serif; }

/* ===================== PANELS ===================== */
.dash-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 24px;
}
.panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 24px;
}
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.panel-head h3 { font-size: 18px; color: var(--green-brand); }
.panel-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.chip {
  font-size: 13px;
  font-weight: 700;
  padding: 3px 11px;
  border-radius: 999px;
}
.chip-warning { background: var(--gold-soft); color: #8a6d12; }

.low-row, .recent-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--pink-soft);
}
.low-row:last-child, .recent-row:last-child { border-bottom: none; }
.low-row .name, .recent-row .name { font-weight: 600; font-size: 14px; }
.low-row .meta, .recent-row .meta { font-size: 12px; color: var(--text-muted); }

.tag-status { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
.tag-low { background: var(--gold-soft); color: #8a6d12; }
.tag-zero { background: #FEE2E2; color: var(--danger); }
.empty-note { color: var(--text-muted); font-size: 14px; padding: 12px 0; }

/* ===================== STOCK TABLE (GESTÃO) ===================== */
.stock-table-wrap { overflow-x: auto; }
.stock-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.stock-table th, .stock-table td {
  padding: 12px 10px;
  text-align: left;
  border-bottom: 1px solid var(--pink-soft);
  white-space: nowrap;
}
.stock-table th { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); }
.stock-table td .name { font-weight: 600; }
.stock-table .num { text-align: center; }
.stock-actions { display: flex; gap: 6px; }
.icon-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--white);
  cursor: pointer;
  transition: all .15s ease;
}
.icon-btn svg { width: 14px; height: 14px; }
.icon-btn.edit { color: var(--green-brand); }
.icon-btn.edit:hover { background: var(--pink-soft); }
.icon-btn.remove { color: var(--danger); }
.icon-btn.remove:hover { background: #FEE2E2; }

/* ===================== PDV ===================== */
.pdv-store-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.pdv-store-head .form-row { min-width:190px; margin:0; }
.pdv-store-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr); gap:22px; align-items:start; }
.pdv-store-main,.pdv-store-side { display:grid; gap:18px; }
.pdv-store-side { position:sticky; top:92px; }
.pdv-search-line { display:grid; grid-template-columns:1fr auto; gap:10px; }
.pdv-search-line input,.pdv-store-head select,#pdvDeliveryType { width:100%; padding:11px 14px; border:1px solid var(--border); border-radius:var(--radius-sm); font:inherit; }
.pdv-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.pdv-result-card { display:grid; gap:8px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--pink-soft); }
.pdv-result-card small { color:var(--text-muted); }
.pdv-result-card select { min-width:0; padding:8px; border:1px solid var(--border); border-radius:9px; background:white; }
.pdv-cart-line { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); }
.pdv-cart-line small { display:block; color:var(--text-muted); margin-top:3px; }
.qty-control { display:flex; align-items:center; border:1px solid var(--border); border-radius:999px; overflow:hidden; }
.qty-control button { width:30px; height:30px; border:0; background:var(--pink-soft); color:var(--pink-brand); cursor:pointer; font-size:18px; }
.qty-control span { min-width:28px; text-align:center; font-weight:700; }
.pdv-totals { display:grid; gap:9px; margin-top:18px; padding-top:15px; border-top:2px dashed var(--border); }
.pdv-totals>div,.payment-total { display:flex; justify-content:space-between; align-items:center; }
.pdv-totals label { display:flex; justify-content:space-between; align-items:center; color:var(--text-muted); }
.pdv-totals input { width:120px; padding:8px; border:1px solid var(--border); border-radius:9px; }
.pdv-totals .total { font-size:19px; color:var(--pink-brand); }
.pdv-delivery-fields { display:none; margin-top:16px; }.pdv-delivery-fields.show { display:block; }
.status-badge { border-radius:999px; padding:5px 10px; font-size:12px; font-weight:700; background:#eee; }.status-badge.open { background:#DCFCE7;color:#166534; }.status-badge.closed { background:#FEE2E2;color:#991B1B; }
.cash-status-list { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px; }.cash-status-list div { background:var(--pink-soft); border-radius:10px; padding:10px; }.cash-status-list dt { color:var(--text-muted);font-size:11px; }.cash-status-list dd { margin:3px 0 0;font-weight:700;color:var(--green-brand);font-size:13px; }
.cash-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.payment-total { padding:12px; margin-bottom:14px; border-radius:12px; background:var(--pink-soft); }.payment-total strong { color:var(--pink-brand);font-size:22px; }
.payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.payment-grid label { display:grid; gap:5px; color:var(--text-muted);font-size:12px;font-weight:600; }.payment-grid input,.payment-grid select { min-width:0;width:100%;padding:9px;border:1px solid var(--border);border-radius:9px;background:white; }
.payment-balance { margin:14px 0;padding:11px;border-radius:10px;font-weight:700;text-align:center; }.payment-balance.ok { background:#DCFCE7;color:#166534; }.payment-balance.warn { background:#FEF3C7;color:#92400E; }.payment-balance.error { background:#FEE2E2;color:#991B1B; }
.sale-success { display:grid; gap:3px; margin-top:12px; padding:12px; border-radius:10px; background:#DCFCE7;color:#166534; }.sale-success:empty { display:none; }
.cash-close summary { color:var(--green-brand);font-weight:700;cursor:pointer; }.cash-close form { margin-top:16px; }
.admin-notice { margin-bottom:14px; padding:12px 14px; border-left:4px solid var(--gold); border-radius:10px; background:var(--gold-soft); color:var(--green-brand); font-size:13px; }
.management-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0 24px; }.management-module { position:relative; min-height:112px; padding:17px 17px 15px 54px; overflow:hidden; border:1px solid rgba(248,0,128,.15); border-radius:16px; background:linear-gradient(145deg,#fff,#fff7fb); box-shadow:var(--shadow-sm); color:var(--text-dark); text-align:left; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }.management-module:hover { transform:translateY(-3px); border-color:rgba(248,0,128,.42); box-shadow:var(--shadow-md); }.management-module>span { position:absolute; left:14px; top:16px; display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:var(--pink-brand); color:#fff; font-size:11px; font-weight:800; }.management-module strong,.management-module small { display:block; }.management-module strong { color:var(--green-brand); font-size:14px; }.management-module small { margin-top:6px; color:var(--text-muted); font-size:11px; line-height:1.45; }.management-section { scroll-margin-top:100px; }.users-admin-panel { border-top:3px solid var(--pink-brand); }.users-admin-panel .stock-table td:first-child strong,.labels-variations-table td:first-child strong { display:block; color:var(--green-brand); }.users-admin-panel .stock-table td:first-child small,.labels-variations-table td small { display:block; margin-top:3px; color:var(--text-muted); font-size:11px; }.profile-badge,.user-status { display:inline-flex; align-items:center; width:max-content; padding:5px 9px; border-radius:999px; font-size:11px; font-weight:700; }.profile-badge { background:var(--pink-soft); color:var(--pink-deep); }.profile-badge.super_admin { background:linear-gradient(135deg,#063f2b,#0b6949); color:#fff; }.profile-badge.dona { background:#fff0f8; border:1px solid rgba(248,0,128,.2); }.user-status.active { background:#dcfce7; color:#166534; }.user-status.inactive { background:#fee2e2; color:#991b1b; }.super-admin-row { background:linear-gradient(90deg,rgba(6,63,43,.045),transparent); }.permission-summary { display:block; color:var(--text-dark); font-size:12px; }.permission-details { margin-top:6px; }.permission-details summary { width:max-content; color:var(--pink-brand); font-size:11px; font-weight:700; cursor:pointer; }.permission-groups { display:grid; grid-template-columns:repeat(2,minmax(130px,1fr)); gap:8px; min-width:330px; margin-top:9px; padding:10px; border:1px solid var(--border); border-radius:10px; background:#fff; }.permission-group>strong { display:block; margin-bottom:4px; color:var(--green-brand); font-size:10px; text-transform:uppercase; letter-spacing:.4px; }.permission-group>div { display:flex; flex-wrap:wrap; gap:4px; }.permission-group span { padding:3px 6px; border-radius:999px; background:var(--pink-soft); color:var(--text-muted); font-size:9px; }
.receipt-search { display:grid; grid-template-columns:1fr auto; gap:9px; }.receipt-search input { min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:10px; font:inherit; }
.sale-result-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.receipt-preview-modal { max-width:430px; }.receipt-preview-modal .modal-body { background:#eee; }.receipt-preview-actions { margin-top:18px; }
.print-area,.labels-print-area,#receiptPrintArea,#labelsPrintArea { display:none!important; visibility:hidden!important; height:0!important; min-height:0!important; overflow:hidden!important; padding:0!important; margin:0!important; position:fixed!important; inset:auto!important; pointer-events:none!important; }
.receipt-80mm { width:80mm; max-width:100%; margin:0 auto; padding:6mm; box-sizing:border-box; background:#fff; color:#000; font-family:Arial,Helvetica,sans-serif; font-size:12px; line-height:1.35; }
.receipt-header,.receipt-footer { text-align:center; }.receipt-header h2 { margin:0; font:700 20px/1.15 Arial,sans-serif; color:#000; }.receipt-header p,.receipt-footer p { margin:3px 0; }.receipt-separator { margin:8px 0; border-top:1px dashed #000; }.receipt-meta p,.receipt-delivery p { margin:2px 0; }.receipt-item { padding:4px 0; }.receipt-item>small { display:block; }.receipt-item>div,.receipt-values>div,.receipt-payments>div { display:flex; justify-content:space-between; gap:8px; }.receipt-values>div,.receipt-payments>div { margin:3px 0; }.receipt-total { margin:6px 0!important; padding:5px 0; border-top:1px solid #000; border-bottom:1px solid #000; font-size:15px; }.receipt-payments h4,.receipt-delivery h4 { margin:8px 0 4px; font-size:11px; }.receipt-footer strong { display:block; margin-bottom:5px; }.receipt-empty { text-align:center; font-style:italic; }
.labels-summary { margin-bottom:20px; }.scanner-print-notice { display:flex; align-items:center; gap:10px; margin:-4px 0 18px; padding:12px 14px; border:1px solid rgba(248,0,128,.14); border-radius:12px; background:#fff8fc; color:var(--text-muted); font-size:12px; }.scanner-print-notice strong { flex:none; color:var(--pink-deep); }.labels-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }.labels-catalog { min-width:0; }.labels-selection { position:sticky; top:92px; border-top:3px solid var(--pink-brand); }.labels-search { position:relative; }.labels-search input { width:100%; padding:12px 16px; border:1px solid var(--border); border-radius:12px; font:inherit; box-shadow:inset 0 1px 2px rgba(0,0,0,.025); }.labels-search input:focus { outline:none; border-color:var(--pink-brand); box-shadow:0 0 0 3px rgba(248,0,128,.08); }.smooth-scroll { scrollbar-width:thin; scrollbar-color:rgba(248,0,128,.45) transparent; }.smooth-scroll::-webkit-scrollbar { height:8px; }.smooth-scroll::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(248,0,128,.35); }.labels-variations-table { min-width:760px; }.labels-variations-table td { vertical-align:middle; }.variation-code { display:inline-block; max-width:190px; overflow:hidden; color:var(--green-brand); font-size:11px; text-overflow:ellipsis; }.variation-price { color:var(--pink-brand); white-space:nowrap; }.stock-pill { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:10px; font-weight:700; white-space:nowrap; }.stock-pill.available { background:#dcfce7; color:#166534; }.stock-pill.empty { background:#fee2e2; color:#991b1b; }.label-add-button { white-space:nowrap; }.labels-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.selected-label { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:9px; padding:12px 0; border-bottom:1px solid var(--border); }.selected-label small { display:block; margin-top:3px; color:var(--text-muted); line-height:1.45; }.labels-print-config { margin-top:18px; padding-top:14px; border-top:1px solid var(--border); }.labels-preview-modal { max-width:850px; }.labels-preview-modal .modal-body { background:#f2f2f2; }.labels-preview-modal .labels-sheet { border-radius:10px; box-shadow:0 8px 28px rgba(0,0,0,.08); }.labels-print-area { display:none; }.labels-sheet { display:grid; grid-template-columns:repeat(auto-fill,minmax(48mm,1fr)); gap:4mm; padding:5mm; background:#fff; color:#000; }.product-label { box-sizing:border-box; min-height:30mm; padding:3mm; border:1px dashed #555; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font:10px/1.2 Arial,sans-serif; color:#000; overflow:hidden; }.product-label header { font-size:9px; font-weight:700; }.label-product { width:100%; margin:2mm 0 1mm; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px; }.label-price { margin:1mm 0; font-size:15px; }.barcode-block { width:100%; padding:1.5mm 2mm; box-sizing:border-box; background:#fff; }.barcode-svg { display:block; width:auto; max-width:100%; height:auto; max-height:14mm; margin:0 auto; overflow:visible; background:#fff; }.barcode-fallback { width:90%; height:9mm; margin:0 auto; background:repeating-linear-gradient(90deg,#000 0,#000 1px,#fff 1px,#fff 3px,#000 3px,#000 5px,#fff 5px,#fff 7px); color:#000; font:8px/9mm Arial,sans-serif; white-space:nowrap; }.barcode-ready+.barcode-fallback,.barcode-ready .barcode-fallback { display:none; }.barcode-error .barcode-svg { display:none; }.barcode-error .barcode-fallback { height:auto; min-height:9mm; padding:2mm; background:#fff; line-height:1.25; white-space:normal; }.label-code-text { display:block; margin-top:1mm; color:#000; font:9px/1.2 monospace; letter-spacing:.6px; overflow-wrap:anywhere; }.labels-size-small .barcode-svg { max-height:9mm; }.labels-size-small .label-code-text { font-size:7px; }.labels-size-roll80 .barcode-svg { max-height:18mm; }.labels-size-roll80 .label-code-text { font-size:11px; }.labels-size-small { grid-template-columns:repeat(auto-fill,minmax(38mm,1fr)); }.labels-size-small .product-label { min-height:25mm; }.labels-size-medium { grid-template-columns:repeat(auto-fill,minmax(55mm,1fr)); }.labels-size-medium .product-label { min-height:35mm; }.labels-size-roll80 { width:80mm; grid-template-columns:1fr; margin:0 auto; }.labels-size-roll80 .product-label { min-height:35mm; }
.pdv-layout { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
.search-box {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 12px 18px;
  margin-bottom: 20px;
  color: var(--text-muted);
}
.search-box input { border: none; outline: none; flex: 1; font-family: inherit; font-size: 15px; background: none; color: var(--text-dark); }

.pdv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
.pdv-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 14px;
  box-shadow: var(--shadow-sm);
}
.pdv-thumb {
  height: 120px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 40px;
  font-weight: 800;
  color: rgba(255,255,255,0.92);
  margin-bottom: 10px;
}
.pdv-card .product-name { font-weight: 600; font-size: 14px; }
.pdv-card .product-price { font-size: 18px; font-weight: 700; color: var(--pink-brand); margin: 4px 0 10px; }
.pdv-select-row { display: flex; gap: 8px; margin-bottom: 10px; }
.pdv-select-row select {
  flex: 1;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  background: var(--white);
  color: var(--text-dark);
}
.pdv-add {
  width: 100%;
  background: var(--pink-brand);
  color: var(--white);
  border: none;
  border-radius: 999px;
  padding: 10px;
  font-family: inherit;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background .15s ease;
}
.pdv-add:hover { background: var(--pink-dark); }

/* carrinho */
.pdv-cart {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.18);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow-md);
  position: sticky;
  top: 90px;
}
.cart-title { font-size: 20px; color: var(--pink-deep); margin-bottom: 16px; }
.cart-items { max-height: 360px; overflow-y: auto; }
.cart-empty { color: var(--text-muted); font-size: 14px; text-align: center; padding: 30px 0; }
.cart-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--pink-soft);
}
.cart-row .name { font-weight: 600; font-size: 14px; }
.cart-row .meta { font-size: 12px; color: var(--text-muted); margin: 2px 0; }
.cart-row .sub { font-size: 14px; font-weight: 700; color: var(--pink-brand); }
.cart-remove {
  background: none;
  border: none;
  color: var(--danger);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}
.cart-footer { margin-top: 18px; padding-top: 16px; border-top: 2px dashed var(--border); }
.public-checkout-modal { display:flex; flex-direction:column; width:min(1100px,calc(100vw - 48px)); max-width:none; max-height:calc(100vh - 48px); overflow:hidden; }.public-checkout-modal>.modal-head { flex:0 0 auto; padding:20px 28px; }.public-checkout-modal>.modal-body { min-height:0; padding:28px; overflow-x:hidden; overflow-y:auto; }.checkout-step-note { margin-top:3px; color:var(--text-muted); font-size:12px; }.public-checkout-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr); gap:30px; align-items:start; }.public-checkout-layout>section { min-width:0; }.checkout-section-title { margin:24px 0 12px; color:var(--green-brand); font:700 14px/1.2 'Poppins',sans-serif; }.checkout-section-title:first-child { margin-top:0; }.public-cart-items { max-height:none; min-height:72px; padding:4px 14px; overflow:visible; border:1px solid var(--border); border-radius:14px; background:#fff; }.public-cart-row { grid-template-columns:minmax(240px,1fr) auto auto; gap:16px; min-height:76px; padding:14px 4px; }.public-cart-row .name { font-size:15px; }.public-cart-row .meta { margin-top:4px; }.public-cart-row .sub { margin-top:5px; font-size:15px; }.public-cart-row .qty-control { flex:none; }.checkout-payment-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.checkout-payment-options label { display:flex; align-items:center; gap:8px; min-height:48px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:#fff; font-size:12px; line-height:1.3; }.checkout-payment-options input { flex:none; accent-color:var(--pink-brand); }.public-order-summary { position:sticky; top:16px; min-width:0; padding:22px; border:1px solid rgba(248,0,128,.18); border-radius:16px; background:linear-gradient(155deg,#fff7fb,var(--pink-soft)); box-shadow:var(--shadow-sm); }.public-order-summary>h4 { margin-bottom:16px; color:var(--green-brand); font-size:18px; }.public-order-summary .cart-summary { display:grid; gap:10px; }.public-order-summary .cart-total { margin:18px 0; padding:15px 0; border-top:1px solid rgba(248,0,128,.2); border-bottom:1px solid rgba(248,0,128,.2); }.public-order-summary .cart-total strong { font-size:28px; }.public-order-summary #btnCheckout { min-height:48px; font-size:15px; box-shadow:0 10px 22px rgba(248,0,128,.22); }.public-order-success { padding:30px 20px; text-align:center; }.public-order-success h3 { margin:10px 0 8px; color:var(--green-brand); }.public-order-success p { margin:5px 0; color:var(--text-muted); }.public-order-success .btn { margin:16px 5px 0; }.success-mark { display:grid; place-items:center; width:58px; height:58px; margin:auto; border-radius:50%; background:#dcfce7; color:#166534; font-size:28px; font-weight:800; }
.public-checkout-layout > section,
.public-checkout-layout > aside,
.public-cart-row > * {
  min-width: 0;
  max-width: 100%;
}
.public-cart-row .name { overflow-wrap: anywhere; }
.checkout-payment-options { gap: 10px; }
.checkout-payment-options label {
  min-width: 0;
  min-height: 52px;
  padding: 11px 13px;
  gap: 9px;
  font-size: 13px;
}
.checkout-payment-options input { width: auto; }
.public-order-summary #btnCheckout { width: 100%; min-height: 50px; }

/* Checkout público em tela inteira */
.public-checkout-screen {
  width: min(100%, 1180px);
  margin-inline: auto;
}
.checkout-page-head {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 28px;
}
.checkout-page-head .section-title { margin-top: 6px; }
.public-checkout-screen .public-checkout-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
}
.checkout-main-column { display: grid; gap: 20px; }
.checkout-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: 18px;
  background: var(--white);
  box-shadow: var(--shadow-sm);
}
.checkout-card .checkout-section-title {
  margin: 0 0 18px;
  font-size: 17px;
}
.public-checkout-screen .form-row,
.public-checkout-screen .form-grid { min-width: 0; max-width: 100%; }
.public-checkout-screen input,
.public-checkout-screen select,
.public-checkout-screen textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.public-checkout-screen textarea {
  resize: vertical;
  padding: 11px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font: inherit;
}
.public-checkout-screen .public-cart-items {
  min-height: 0;
  padding: 0;
  border: 0;
}
.public-checkout-screen .public-cart-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 36px;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 16px;
  border: 1px solid var(--pink-light);
  border-radius: 13px;
  background: var(--pink-soft);
}
.public-checkout-screen .public-cart-row + .public-cart-row { margin-top: 10px; }
.checkout-choice-grid,
.checkout-payment-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.checkout-delivery-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.checkout-choice-grid label,
.public-checkout-screen .checkout-payment-options label {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
  min-height: 76px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
}
.checkout-choice-grid label:has(input:checked),
.public-checkout-screen .checkout-payment-options label:has(input:checked) {
  padding-right: 76px;
  border-color: var(--pink-brand);
  background: var(--pink-soft);
  box-shadow: 0 0 0 2px rgba(248, 0, 128, 0.08);
}
.checkout-choice-grid input,
.public-checkout-screen .checkout-payment-options input {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 2px;
  accent-color: var(--pink-brand);
}
.checkout-choice-grid span,
.public-checkout-screen .checkout-payment-options span { display: grid; gap: 3px; min-width: 0; }
.checkout-choice-grid small,
.public-checkout-screen .checkout-payment-options small { color: var(--text-muted); line-height: 1.35; }
.public-checkout-screen .shipping-local { margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--pink-light); }
.public-checkout-screen .public-order-summary { top: 90px; }
.public-checkout-screen .public-order-summary > h3 { margin-bottom: 18px; color: var(--green-brand); }
.checkout-empty-actions { padding: 24px; border-radius: 13px; background: var(--pink-soft); text-align: center; }
.checkout-empty-actions p { margin-bottom: 14px; color: var(--text-muted); }
.public-checkout-screen .public-order-success { max-width: 720px; margin: 40px auto; }

.shipping-box {
  background: var(--pink-soft);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius-sm);
  padding: 14px;
  margin-bottom: 14px;
}
.shipping-box h4 {
  color: var(--green-brand);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  margin-bottom: 10px;
}
.form-row.compact { margin-bottom: 10px; }
.form-row.compact label { font-size: 12px; }
.form-row.compact input,
.form-row.compact select {
  border-radius: 10px;
  font-size: 13px;
  padding: 9px 11px;
}
.shipping-custom { display: none; }
.shipping-custom.show { display: flex; }
.shipping-local { display: none; }
.shipping-local.show { display: block; }
.shipping-address-grid {
  grid-template-columns: minmax(0, 1fr) 72px;
  gap: 8px;
}
.btn-shipping-calc {
  margin-top: 2px;
  padding: 9px 12px;
  font-size: 13px;
}
.shipping-status {
  min-height: 18px;
  margin-top: 8px;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.4;
}
.shipping-status.ok { color: var(--green-brand); font-weight: 700; }
.shipping-status.warn { color: var(--pink-deep); font-weight: 700; }
.cart-summary {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}
.cart-summary div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-muted);
  font-size: 13px;
}
.cart-summary strong {
  color: var(--green-brand);
  font-size: 14px;
}
.cart-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.cart-total span { color: var(--text-muted); }
.cart-total strong { font-size: 24px; color: var(--pink-brand); font-family: 'Playfair Display', serif; }

/* buy modal */
.buy-product { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; }
.buy-thumb {
  width: 70px; height: 90px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 800;
  color: rgba(255,255,255,0.92); flex-shrink: 0;
}
.buy-info .name { font-weight: 600; }
.buy-info .price { font-size: 20px; font-weight: 700; color: var(--pink-brand); }

/* ===================== MOVIMENTAÇÕES ===================== */
.movement-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 85% 18%, rgba(212,175,55,0.30), transparent 26%),
    linear-gradient(135deg, var(--green-brand), var(--pink-brand) 52%, #ff83c6);
  color: var(--white);
  border-radius: var(--radius);
  padding: 34px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 22px;
  box-shadow: var(--shadow-lg);
}
.movement-hero::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: -86px;
  bottom: -104px;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.28);
}
.movement-title {
  position: relative;
  z-index: 1;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
  margin-bottom: 10px;
}
.movement-sub {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,0.9);
  max-width: 620px;
}
.movement-hero-mark {
  position: relative;
  z-index: 1;
  align-self: center;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 40px;
  font-weight: 800;
  color: var(--green-dark);
  background: var(--gold);
  box-shadow: 0 18px 38px rgba(6, 63, 43, 0.18);
}
.movement-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 16px;
  margin-bottom: 30px;
}
.movement-stat {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius-sm);
  padding: 18px;
  box-shadow: var(--shadow-sm);
}
.movement-stat span {
  display: block;
  color: var(--text-muted);
  font-size: 13px;
  margin-bottom: 6px;
}
.movement-stat strong {
  font-family: 'Playfair Display', serif;
  font-size: 30px;
  line-height: 1;
}
.movement-stat.pink strong { color: var(--pink-brand); }
.movement-stat.green strong { color: var(--green-brand); }
.movement-stat.gold strong { color: var(--gold); }
.movement-list { display: grid; gap: 12px; }
.movement-row {
  display: grid;
  grid-template-columns: 160px minmax(190px, 1fr) auto 72px 150px;
  gap: 16px;
  align-items: center;
  background: linear-gradient(90deg, var(--white), var(--pink-soft));
  border: 1px solid rgba(248, 0, 128, 0.14);
  border-radius: var(--radius-sm);
  padding: 16px;
}
.movement-date span,
.movement-qty span,
.movement-owner span {
  display: block;
  color: var(--text-muted);
  font-size: 12px;
}
.movement-date strong {
  display: block;
  color: var(--pink-brand);
  font-size: 13px;
  margin-top: 4px;
}
.movement-main h3 {
  color: var(--green-brand);
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  margin-bottom: 3px;
}
.movement-main p {
  color: var(--text-muted);
  font-size: 13px;
}
.movement-type {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 12px;
  text-align: center;
}
.movement-type.entrada { background: #D1FAE5; color: var(--green-brand); }
.movement-type.saida { background: var(--pink-light); color: var(--pink-deep); }
.movement-type.ajuste { background: var(--gold-soft); color: #8a6d12; }
.movement-qty strong,
.movement-owner strong {
  color: var(--text-dark);
  font-size: 14px;
}
.movement-qty strong {
  color: var(--pink-brand);
  font-size: 18px;
}

/* ===================== FORNECEDORES ===================== */
.supplier-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 88% 18%, rgba(212,175,55,0.28), transparent 26%),
    linear-gradient(135deg, var(--pink-brand), #ff5eb3 58%, var(--pink-petal));
  color: var(--white);
  border-radius: var(--radius);
  padding: 34px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 22px;
  box-shadow: var(--shadow-lg);
}
.supplier-hero::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -70px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(6, 63, 43, 0.18);
}
.supplier-title {
  position: relative;
  z-index: 1;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
  margin-bottom: 10px;
}
.supplier-sub {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,0.9);
  max-width: 620px;
}
.supplier-hero-mark {
  position: relative;
  z-index: 1;
  align-self: center;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.48);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 800;
  color: var(--white);
  background: rgba(255,255,255,0.14);
}
.supplier-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 16px;
  margin-bottom: 30px;
}
.supplier-stat {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius-sm);
  padding: 18px;
  box-shadow: var(--shadow-sm);
}
.supplier-stat span {
  display: block;
  color: var(--text-muted);
  font-size: 13px;
  margin-bottom: 6px;
}
.supplier-stat strong {
  font-family: 'Playfair Display', serif;
  font-size: 30px;
  line-height: 1;
}
.supplier-stat.pink strong { color: var(--pink-brand); }
.supplier-stat.green strong { color: var(--green-brand); }
.supplier-stat.gold strong { color: var(--gold); }
.supplier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.supplier-card {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius);
  padding: 20px;
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease;
}
.supplier-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.supplier-card-top {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--pink-soft);
}
.supplier-avatar {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--pink-brand), var(--pink-dark));
  color: var(--white);
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  font-weight: 800;
  box-shadow: var(--shadow-md);
}
.supplier-card h3 {
  color: var(--green-brand);
  font-size: 20px;
  margin: 5px 0 2px;
}
.supplier-card p { color: var(--text-muted); font-size: 13px; }
.supplier-rating {
  display: inline-flex;
  background: var(--gold-soft);
  color: var(--green-dark);
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.supplier-info {
  display: grid;
  gap: 12px;
  padding: 16px 0;
}
.supplier-info div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.supplier-info span {
  color: var(--text-muted);
  font-size: 12px;
}
.supplier-info strong {
  color: var(--text-dark);
  font-size: 13px;
  text-align: right;
}
.supplier-card-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--pink-soft);
  color: var(--text-muted);
  font-size: 12px;
}
.supplier-status {
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 12px;
  font-weight: 700;
}
.supplier-status.active { background: #D1FAE5; color: var(--green-brand); }
.supplier-status.inactive { background: var(--pink-light); color: var(--pink-deep); }
.supplier-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.supplier-action {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--white);
  color: var(--green-brand);
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 12px;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.supplier-action:hover {
  background: var(--pink-soft);
  color: var(--pink-brand);
  transform: translateY(-1px);
}
.supplier-action.primary {
  background: var(--pink-brand);
  border-color: var(--pink-brand);
  color: var(--white);
}
.supplier-action.primary:hover { background: var(--pink-dark); color: var(--white); }

/* ===================== FRETES POR BAIRRO ===================== */
.freight-admin-panel { margin-top: 24px; }
.freight-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.freight-stat {
  background: var(--pink-soft);
  border: 1px solid rgba(248, 0, 128, 0.14);
  border-radius: var(--radius-sm);
  padding: 14px;
}
.freight-stat span {
  display: block;
  color: var(--text-muted);
  font-size: 12px;
  margin-bottom: 4px;
}
.freight-stat strong {
  color: var(--pink-brand);
  font-size: 22px;
  font-family: 'Playfair Display', serif;
}
.freight-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 160px;
  gap: 12px;
  margin-bottom: 16px;
}
.freight-search { margin-bottom: 0; }
.freight-filter {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--text-dark);
  font-family: inherit;
  padding: 11px 14px;
}
.freight-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px;
}
.freight-status.active { background: #D1FAE5; color: var(--green-brand); }
.freight-status.inactive { background: var(--pink-light); color: var(--pink-deep); }
.form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-dark);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 14px;
}
.form-check input { accent-color: var(--pink-brand); }

/* ===================== HISTÓRICO ===================== */
.history-list { display: flex; flex-direction: column; gap: 18px; }
.history-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow-sm);
  overflow-x: auto;
}
.history-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.history-id { font-weight: 700; color: var(--green-brand); font-size: 16px; }
.history-date { font-size: 13px; color: var(--text-muted); }
.history-value { font-size: 22px; font-weight: 700; color: var(--pink-brand); font-family: 'Playfair Display', serif; }
.history-shipping {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  background: var(--pink-soft);
  border: 1px solid rgba(248, 0, 128, 0.12);
  border-radius: var(--radius-sm);
  padding: 12px;
  margin-bottom: 14px;
}
.history-shipping span {
  display: block;
  color: var(--text-muted);
  font-size: 12px;
  margin-bottom: 2px;
}
.history-shipping strong {
  color: var(--green-brand);
  font-size: 13px;
}
.history-items { width: 100%; border-collapse: collapse; font-size: 14px; }
.history-items th, .history-items td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--pink-soft); }
.history-items th { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); }

/* ===================== MODAIS ===================== */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 41, 28, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 60;
  padding: 20px;
}
.modal-overlay.open { display: flex; animation: fade .2s ease; }
.modal {
  background: var(--white);
  border-radius: var(--radius);
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-lg);
}
.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 24px;
  border-bottom: 1px solid var(--border);
}
.modal-head h3 { font-size: 20px; color: var(--green-brand); }
.modal-close { background: none; border: none; font-size: 28px; line-height: 1; color: var(--text-muted); cursor: pointer; }
.modal-body { padding: 24px; }

.product-detail-modal { max-width: 860px; }
.detail-layout {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 22px;
  align-items: stretch;
}
.detail-gallery {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.detail-media-stage {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--pink-soft);
  border: 1px solid rgba(248, 0, 128, 0.14);
  box-shadow: var(--shadow-md);
}
.detail-media-main {
  display: block;
  width: 100%;
  height: 310px;
  object-fit: cover;
  background: var(--green-brand);
}
video.detail-media-main { object-fit: contain; }
.detail-visual-fallback {
  position: absolute;
  inset: 0;
  display: none;
  min-height: 100%;
  border-radius: 0;
  box-shadow: none;
}
.detail-media-stage.media-error .detail-visual-fallback { display: flex; }
.detail-media-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(68px, 1fr));
  gap: 8px;
}
.detail-media-thumb {
  position: relative;
  min-height: 68px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: var(--pink-soft);
  color: var(--pink-brand);
  cursor: pointer;
  font-family: inherit;
}
.detail-media-thumb.active {
  border-color: var(--pink-brand);
  box-shadow: 0 8px 18px rgba(248, 0, 128, 0.16);
}
.detail-media-thumb img {
  width: 100%;
  height: 100%;
  min-height: 68px;
  object-fit: cover;
  display: block;
}
.media-video-thumb {
  display: grid;
  place-items: center;
  min-height: 68px;
  background: linear-gradient(135deg, var(--green-brand), var(--pink-brand));
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
}
.media-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--white);
  font-size: 22px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}
.detail-media-thumb small {
  position: absolute;
  right: 6px;
  bottom: 5px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: var(--pink-brand);
  font-size: 10px;
  font-weight: 800;
}
.detail-visual {
  min-height: 310px;
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--white);
  box-shadow: var(--shadow-md);
}
.detail-visual span {
  font-family: 'Playfair Display', serif;
  font-size: 82px;
  font-weight: 800;
  line-height: 1;
}
.detail-visual strong {
  background: rgba(255,255,255,0.9);
  color: var(--pink-deep);
  border-radius: 999px;
  font-size: 12px;
  padding: 6px 12px;
}
.detail-content h2 {
  color: var(--green-brand);
  font-size: 28px;
  line-height: 1.1;
  margin: 8px 0;
}
.detail-price {
  color: var(--pink-brand);
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 10px;
}
.detail-description {
  color: var(--text-muted);
  font-size: 14px;
  margin-bottom: 14px;
}
.detail-block { margin-top: 14px; }
.detail-block h4,
.detail-section h4 {
  color: var(--green-brand);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  margin-bottom: 8px;
}
.detail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.detail-color-chip,
.detail-size-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--pink-soft);
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
}
.detail-size-chip.off {
  opacity: .38;
  text-decoration: line-through;
}
.detail-section {
  margin-top: 22px;
}
.detail-measures {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.detail-measures th,
.detail-measures td {
  border-bottom: 1px solid var(--pink-soft);
  padding: 9px 8px;
  text-align: left;
}
.detail-measures th {
  background: var(--pink-soft);
  color: var(--green-brand);
  font-size: 11px;
  text-transform: uppercase;
}
.detail-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.detail-info-grid div {
  background: var(--pink-soft);
  border: 1px solid rgba(248, 0, 128, 0.12);
  border-radius: var(--radius-sm);
  padding: 14px;
}
.detail-info-grid p,
.detail-note {
  color: var(--text-muted);
  font-size: 13px;
}
.detail-note {
  border-left: 4px solid var(--gold);
  background: var(--gold-soft);
  border-radius: 10px;
  margin-top: 16px;
  padding: 10px 12px;
}

.form-row { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
.form-row label { font-size: 13px; font-weight: 600; color: var(--text-dark); }
.form-row input, .form-row select {
  padding: 11px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 15px;
  background: var(--white);
  color: var(--text-dark);
}
.form-row input:focus, .form-row select:focus { outline: none; border-color: var(--pink-brand); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.size-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.size-input { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.size-input span { font-size: 13px; font-weight: 600; color: var(--green-brand); }
.size-input input { width: 100%; text-align: center; padding: 8px 4px; }
.modal-foot { display: flex; gap: 10px; justify-content: flex-end; margin-top: 8px; }

.login-modal { max-width: 460px; }
.login-sub {
  color: var(--text-muted);
  font-size: 14px;
  margin-bottom: 18px;
}
.login-error {
  min-height: 20px;
  color: var(--danger);
  font-size: 13px;
  font-weight: 600;
  margin: -4px 0 12px;
}
.login-modal .btn-pink:disabled {
  opacity: 0.65;
  cursor: wait;
  transform: none;
}

/* ===================== RELATÓRIOS ===================== */
.hero-text .btn { margin-top: 16px; }
.report-modal { max-width: 760px; }
.report-custom-period { display: none; }
.report-custom-period.show { display: block; }
.report-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.report-checks label {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--pink-soft);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text-dark);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px;
}
.report-checks input { accent-color: var(--pink-brand); }
.report-output {
  max-width: 1200px;
  margin: 0 auto 36px;
  padding: 0 20px;
}
.report-output:empty { display: none; }
.report-paper {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 28px;
}
.report-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  border-bottom: 3px solid var(--pink-brand);
  padding-bottom: 18px;
  margin-bottom: 20px;
}
.report-head h1 {
  color: var(--pink-deep);
  font-size: 30px;
  line-height: 1.1;
}
.report-head p { color: var(--green-brand); font-weight: 700; margin-top: 4px; }
.report-meta {
  display: grid;
  gap: 4px;
  color: var(--text-muted);
  font-size: 13px;
  text-align: right;
}
.report-meta strong { color: var(--green-brand); font-size: 16px; }
.report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.report-table th,
.report-table td {
  border-bottom: 1px solid var(--pink-soft);
  padding: 10px 8px;
  text-align: left;
  vertical-align: top;
}
.report-table th {
  color: var(--green-brand);
  background: var(--pink-soft);
  font-size: 11px;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.report-empty {
  color: var(--text-muted);
  background: var(--pink-soft);
  border-radius: var(--radius-sm);
  padding: 16px;
}

/* ===================== RODAPÉ ===================== */
.trust-strip {
  background: linear-gradient(180deg, var(--white), var(--pink-soft));
  border-top: 1px solid rgba(248, 0, 128, 0.12);
  padding: 24px 20px;
}
.trust-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.trust-card {
  background: var(--white);
  border: 1px solid rgba(248, 0, 128, 0.16);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 70px;
  padding: 14px;
}
.trust-card span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pink-brand);
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
}
.trust-card strong {
  color: var(--green-brand);
  font-size: 13px;
  line-height: 1.3;
}

.footer {
  background: #09090B;
  color: #D1D5DB;
  padding: 54px 20px 0;
  margin-top: 30px;
  border-top: 4px solid var(--pink-brand);
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.35fr repeat(4, 1fr);
  gap: 34px;
  align-items: start;
}
.footer-col h3 {
  color: var(--pink-brand);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  letter-spacing: .8px;
  margin-bottom: 14px;
  text-transform: uppercase;
}
.footer-brand h2 {
  color: var(--white);
  font-size: 30px;
  line-height: 1;
  margin-bottom: 8px;
}
.footer-brand > span {
  display: inline-block;
  color: var(--pink-brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  margin-bottom: 16px;
}
.footer p,
.footer li {
  color: #D1D5DB;
  font-size: 13px;
  line-height: 1.7;
}
.footer ul {
  list-style: none;
  display: grid;
  gap: 8px;
}
.footer a {
  color: #D1D5DB;
  text-decoration: none;
  transition: color .15s ease;
}
.footer a:hover { color: var(--pink-brand); }
.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.footer-socials a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(248, 0, 128, 0.12);
  border: 1px solid rgba(248, 0, 128, 0.34);
  color: var(--white);
  font-size: 12px;
  font-weight: 800;
}
.footer-socials a:hover {
  background: var(--pink-brand);
  color: var(--white);
}
.payment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.payment-list span {
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  color: #E5E7EB;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 10px;
}
.footer-bottom {
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  text-align: center;
}
.footer-bottom p { color: #9CA3AF; font-size: 12px; }
.footer-admin-link { margin-top: 8px; border: 0; background: transparent; color: #9CA3AF; cursor: pointer; font: inherit; font-size: 11px; text-decoration: underline; }
.machine-summary { margin-bottom: 20px; }
.machine-toolbar { display: grid; grid-template-columns: 1fr 180px; gap: 12px; margin-bottom: 18px; }
.machine-toolbar input, .machine-toolbar select { padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); font: inherit; }
.mp-notice { border-left: 4px solid var(--gold); background: var(--gold-soft); border-radius: var(--radius-sm); margin-bottom: 20px; padding: 16px; }
.mp-notice strong { color: var(--green-brand); }
.mp-notice p { color: var(--text-muted); font-size: 13px; margin-top: 4px; }
.form-check { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; }

/* ===================== TOAST ===================== */
.toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translate(-50%, 30px);
  background: var(--green-brand);
  color: var(--white);
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  box-shadow: var(--shadow-lg);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  z-index: 80;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ===================== PEDIDOS DO SITE ===================== */
.orders-page-head { align-items: center; }
.site-orders-filters {
  display: grid;
  grid-template-columns: minmax(210px,1.4fr) repeat(3,minmax(145px,.8fr)) repeat(2,minmax(135px,.65fr)) auto;
  gap: 10px;
  margin-bottom: 12px;
}
.site-orders-filters input,
.site-orders-filters select,
.site-order-actions select {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  color: var(--text-dark);
  font: inherit;
}
.site-orders-table td strong,.site-orders-table td small { display:block; }
.site-orders-table td small { margin-top:4px; color:var(--text-muted); font-size:11px; }
.order-status { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:11px; font-weight:700; }
.order-status.success { background:#dcfce7; color:#166534; }
.order-status.warning { background:#fef3c7; color:#92400e; }
.order-status.info { background:#dbeafe; color:#1e40af; }
.order-status.danger { background:#fee2e2; color:#991b1b; }
.site-order-modal { max-width:900px; }
.site-order-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.site-order-meta>div { display:grid; gap:4px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--pink-soft); }
.site-order-meta span,.site-order-meta small { color:var(--text-muted); font-size:11px; }
.site-order-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:20px; }
.site-order-actions select { flex:1 1 190px; }
.btn-danger { border:1px solid #fecaca; background:#fff; color:#b91c1c; }
.site-order-print-area { display:none; }

/* Cadastro de Produtos e Estoque V2 */
.product-v2-modal {
  display:flex;
  flex-direction:column;
  width:min(95vw,1180px);
  max-width:1180px;
  height:min(92vh,900px);
  max-height:92vh;
  overflow:hidden;
}
.product-v2-modal>.modal-head {
  position:relative;
  z-index:2;
  flex:0 0 auto;
  background:#fff;
}
.product-v2-modal>.modal-body {
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.product-v2-form { display:grid; align-content:start; gap:18px; padding-bottom:28px; }
.product-v2-form>.modal-foot {
  position:sticky;
  z-index:2;
  bottom:-28px;
  flex-shrink:0;
  margin:4px -24px -28px;
  padding:16px 24px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.98);
  box-shadow:0 -8px 20px rgba(31,41,55,.05);
}
body:has(#productModal.open) { overflow:hidden; }
.product-step { display:flex; align-items:center; gap:12px; padding:13px 15px; border:1px solid rgba(248,0,128,.14); border-radius:14px; background:#fff7fb; }
.product-step>span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:#F80080; font-weight:800; }
.product-step strong,.product-step small { display:block; }
.product-step small { margin-top:2px; color:var(--text-muted); }
.product-v2-list { display:grid; gap:12px; }
.product-v2-item { position:relative; padding:16px; border:1px solid var(--pink-light); border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
.product-v2-item>.link-btn { margin-top:10px; }
.product-media-preview { display:block; width:92px; height:92px; margin-top:12px; border-radius:12px; object-fit:cover; background:#f7f7f7; }
.product-media-preview-wrap { display:grid; place-items:center; width:112px; min-height:112px; margin-top:12px; border:1px dashed var(--pink-light); border-radius:12px; color:var(--text-muted); background:#fffafd; font-size:11px; text-align:center; }
.product-media-preview-wrap .product-media-preview { grid-area:1/1; width:100%; height:110px; margin:0; }
.product-media-preview-wrap img+span,.stock-detail-image img+span { display:none; }
.product-advanced { padding:10px 12px; border:1px solid var(--pink-light); border-radius:12px; background:#fffafd; }
.product-advanced summary { cursor:pointer; color:var(--pink-brand); font-weight:700; }
.product-advanced p { margin:8px 0; color:var(--text-muted); font-size:12px; }
.stock-v2-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
.stock-v2-summary>div { display:flex; justify-content:space-between; align-items:center; padding:13px; border:1px solid var(--pink-light); border-radius:13px; background:#fffafd; }
.stock-v2-summary span { color:var(--text-muted); font-size:12px; }.stock-v2-summary strong { color:var(--pink-brand); font-size:20px; }
.stock-v2-filters { display:grid; grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr) minmax(140px,.3fr); gap:10px; margin-bottom:12px; }
.stock-v2-filters input,.stock-v2-filters select { width:100%; min-height:42px; border:1px solid var(--border); border-radius:10px; padding:9px 11px; box-sizing:border-box; }
#stockTable tbody tr[data-stock-detail] { cursor:pointer; }#stockTable tbody tr[data-stock-detail]:hover td { background:#fffafd; }
.stock-detail-modal { width:min(820px,calc(100vw - 30px)); }.stock-detail-head { display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:center; }.stock-detail-image { display:grid; place-items:center; width:150px; height:150px; border-radius:14px; overflow:hidden; color:var(--text-muted); background:#fff5fa; text-align:center; }.stock-detail-image img { grid-area:1/1; width:100%; height:100%; object-fit:cover; }.stock-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0; }.stock-detail-grid>div { display:grid; gap:4px; padding:12px; border:1px solid var(--pink-light); border-radius:11px; }.stock-detail-grid span,.stock-detail-moves small { color:var(--text-muted); font-size:11px; }.stock-detail-moves { display:grid; gap:8px; }.stock-detail-moves>div { display:grid; grid-template-columns:100px 1fr auto; gap:8px; padding:9px 0; border-bottom:1px solid var(--border); }
.catalog-empty { grid-column:1/-1; display:grid; place-items:center; gap:5px; min-height:150px; padding:24px; border:1px dashed var(--pink-light); border-radius:16px; color:var(--text-muted); background:#fffafd; text-align:center; }.catalog-empty strong { color:var(--green-brand); font-size:17px; }
.stock-table td small { display:block; margin-top:3px; color:var(--text-muted); }
.product-file-button { width:100%; min-height:52px; font-size:15px; }
.product-files-preview,.current-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,180px)); justify-content:start; gap:14px; }
.product-file-card,.current-gallery-grid article { position:relative; display:grid; align-content:start; gap:8px; width:100%; min-width:0; padding:10px; border:1px solid var(--pink-light); border-radius:13px; background:#fff; box-sizing:border-box; }
.product-file-card.principal { border-color:#F80080; box-shadow:0 0 0 2px rgba(248,0,128,.08); }
.product-file-card img,.product-file-card video,.current-gallery-grid img,.current-gallery-grid video { width:100%; aspect-ratio:4/5; border-radius:9px; object-fit:cover; object-position:center top; background:#f5f5f5; }
.product-file-card strong,.product-file-card span,.current-gallery-grid span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.product-file-card span,.current-gallery-grid span { color:var(--text-muted); font-size:11px; }
.product-current-gallery>h4 { margin:6px 0 10px; }
.shop-thumb { aspect-ratio:4/5; min-height:0; }
.shop-thumb-img { object-fit:cover!important; object-position:center top; }
.shop-photo-fallback { position:absolute; inset:0; z-index:0; display:none; place-content:center; justify-items:center; gap:7px; padding:20px; color:var(--text-muted); background:#fff7fb; font:500 12px/1.4 'Poppins',sans-serif; text-align:center; }
.shop-photo-fallback.is-visible { display:grid; }
.shop-photo-fallback>span { font-size:22px; opacity:.55; }
.detail-visual-empty,.detail-visual-fallback { flex-direction:column; gap:8px; color:var(--text-muted); font:500 13px/1.4 'Poppins',sans-serif; }
.detail-media-stage .detail-visual-fallback { display:none; pointer-events:none; }
.detail-media-stage.media-error .detail-visual-fallback { display:flex; }
.detail-visual-empty>span,.detail-visual-fallback>span { font-size:26px; opacity:.55; }
.current-media-visual { position:relative; display:grid; place-items:center; aspect-ratio:4/5; overflow:hidden; border-radius:9px; color:var(--text-muted); background:#f7f7f7; font-size:11px; text-align:center; }
.current-media-visual img,.current-media-visual video { grid-area:1/1; height:100%; }
.current-media-visual>span { grid-area:1/1; padding:10px; white-space:normal; }
.current-media-visual img:not([hidden])+span,.current-media-visual video+span { display:none; }
.media-preview-error>span { display:block!important; }
.current-media-badge { position:absolute; z-index:2; top:17px; left:17px; padding:5px 8px; border-radius:999px; color:#fff; background:#F80080; font-size:10px; }
.current-media-card>small { color:var(--text-muted); font-size:11px; }
.media-thumb-error::after { content:'Indisponível'; display:grid; place-items:center; position:absolute; inset:0; color:var(--text-muted); background:#fff7fb; font-size:9px; }
.detail-media-main { object-position:center top; }
.detail-media-thumbs { overflow-x:auto; scrollbar-width:thin; }
.category-picker { display:flex; gap:8px; }.category-picker select { flex:1; min-width:0; }
.size-suggestions { display:grid; gap:5px; margin-top:8px; }.size-suggestions>span { color:var(--text-muted); font-size:10px; font-weight:700; text-transform:uppercase; }.size-suggestions>div { display:flex; flex-wrap:wrap; gap:5px; }.size-suggestions button { min-width:34px; padding:5px 7px; border:1px solid var(--pink-light); border-radius:999px; color:var(--green-brand); background:#fff; cursor:pointer; }.size-suggestions button:hover,.size-suggestions button.active { border-color:#F80080; color:#F80080; background:#fff1f8; }
.numeric-size-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }.numeric-size-grid label { display:grid; grid-template-columns:auto 1fr 64px; gap:7px; align-items:center; padding:8px; border:1px solid var(--pink-light); border-radius:10px; }.numeric-size-grid input[type=number] { width:100%; min-width:0; }
.category-management-list { display:grid; gap:6px; margin-top:16px; max-height:260px; overflow:auto; }.category-management-list>div { display:flex; justify-content:space-between; align-items:center; padding:8px 10px; border:1px solid var(--border); border-radius:9px; }
@media (max-width:768px){.product-v2-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.product-v2-modal>.modal-head{padding:16px 18px}.product-v2-modal>.modal-body{padding:18px}.product-v2-form{gap:14px;padding-bottom:24px}.product-v2-form>.modal-foot{bottom:-24px;margin:4px -18px -24px;padding:14px 18px}.product-v2-item{padding:12px}.stock-v2-summary{grid-template-columns:1fr 1fr}.stock-v2-filters{grid-template-columns:1fr}.stock-detail-head{grid-template-columns:1fr}.stock-detail-image{width:100%;height:190px}.stock-detail-grid{grid-template-columns:1fr 1fr}.stock-detail-moves>div{grid-template-columns:1fr}.product-files-preview,.current-gallery-grid{grid-template-columns:1fr 1fr}}

@media (max-width:768px){
  .product-v2-modal { height:calc(100dvh - 16px); }
}

@media (max-width:560px){
  .shop-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .shop-card { max-width:none; }
  .shop-thumb { aspect-ratio:4/5; }
  .product-files-preview,.current-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ===================== POLIMENTO UX/UI GERAL V1 ===================== */
.screen > .section-head:first-child { margin-bottom: 26px; }
.section-title { letter-spacing: -.35px; }
.section-sub { max-width: 680px; line-height: 1.6; }
.panel,.checkout-card,.management-module,.stat-card { transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn { min-height: 40px; }
.btn-ghost { border-color: rgba(248,0,128,.2); background: #fff; }
.btn-ghost:hover { border-color: rgba(248,0,128,.48); background: var(--pink-soft); color: var(--pink-deep); }

/* Checkout público */
.public-checkout-screen { padding-bottom: 24px; }
.checkout-page-head {
  padding: 22px 24px;
  border: 1px solid rgba(248,0,128,.13);
  border-radius: 18px;
  background: linear-gradient(135deg,#fff 0%,#fff7fb 100%);
  box-shadow: var(--shadow-sm);
}
.checkout-page-head > div { min-width: 0; }
.checkout-main-column { gap: 22px; }
.checkout-card { padding: 26px; border-color: rgba(248,0,128,.14); }
.checkout-card:hover { border-color: rgba(248,0,128,.24); box-shadow: 0 10px 30px rgba(31,41,55,.07); }
.checkout-card .checkout-section-title { display:flex; align-items:center; gap:9px; font-size:18px; }
.checkout-card .checkout-section-title::before { content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--pink-brand); box-shadow:0 0 0 5px rgba(248,0,128,.09); }
.checkout-choice-grid label,
.public-checkout-screen .checkout-payment-options label { position:relative; min-height:84px; border-width:1.5px; transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease; }
.checkout-choice-grid label:hover,
.public-checkout-screen .checkout-payment-options label:hover { transform:translateY(-2px); border-color:rgba(248,0,128,.42); box-shadow:0 8px 20px rgba(31,41,55,.06); }
.checkout-choice-grid label:has(input:checked)::after,
.public-checkout-screen .checkout-payment-options label:has(input:checked)::after { content:"Selecionado"; position:absolute; top:8px; right:9px; color:var(--pink-deep); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.45px; }
.checkout-choice-grid strong,.public-checkout-screen .checkout-payment-options strong { color:var(--green-brand); font-size:14px; }
.public-checkout-screen input:focus,.public-checkout-screen textarea:focus { outline:none; border-color:var(--pink-brand); box-shadow:0 0 0 3px rgba(248,0,128,.08); }
.public-checkout-screen .public-order-summary { border-top:4px solid var(--pink-brand); background:linear-gradient(160deg,#fff,#fff7fb); box-shadow:0 14px 36px rgba(31,41,55,.09); }
.public-order-summary .cart-summary > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:5px 0; }
.public-order-summary .cart-summary span { color:var(--text-muted); }
.public-order-summary .cart-total { margin:20px 0; padding:18px 0; }
.public-order-summary #cartTotal { color:var(--pink-brand); font-family:'Playfair Display',serif; font-size:31px; }
.public-order-summary #btnCheckout { border-radius:12px; box-shadow:0 10px 24px rgba(248,0,128,.24); }
.public-order-success { overflow:hidden; border-top:4px solid var(--success); background:linear-gradient(145deg,#fff,#f0fdf4); }
.public-order-success .success-mark { width:72px; height:72px; margin-bottom:18px; font-size:34px; box-shadow:0 0 0 10px rgba(16,185,129,.09); }
.public-order-success h3 { font-size:26px; }
.public-order-success p strong { display:inline-block; margin:5px 0; padding:7px 14px; border-radius:999px; background:#fff; color:var(--pink-deep); font-size:18px; box-shadow:var(--shadow-sm); }
.public-order-success .btn { min-width:190px; margin-top:20px; }

/* Pedidos do Site */
.orders-summary { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.orders-summary .stat-card { position:relative; min-height:118px; padding:20px; overflow:hidden; border-top:3px solid var(--pink-brand); background:linear-gradient(145deg,#fff,#fff8fc); }
.orders-summary .stat-card::after { content:""; position:absolute; right:-24px; bottom:-30px; width:88px; height:88px; border-radius:50%; background:rgba(248,0,128,.055); }
.orders-summary .stat-card span { display:block; max-width:150px; color:var(--text-muted); font-size:12px; line-height:1.4; }
.orders-summary .stat-card strong { display:block; margin-top:9px; color:var(--green-brand); font:700 30px/1 'Playfair Display',serif; }
.site-orders-filters { gap:12px; padding:16px; border:1px solid var(--pink-light); border-radius:14px; background:var(--pink-soft); }
.site-orders-filters input,.site-orders-filters select { min-height:44px; border-color:rgba(248,0,128,.16); }
.site-orders-filters input:focus,.site-orders-filters select:focus,.site-order-actions select:focus { outline:none; border-color:var(--pink-brand); box-shadow:0 0 0 3px rgba(248,0,128,.08); }
.site-orders-table { border-collapse:separate; border-spacing:0 8px; }
.site-orders-table th { border:0; padding-bottom:6px; }
.site-orders-table td { padding-block:14px; border-top:1px solid var(--pink-light); border-bottom:1px solid var(--pink-light); background:#fff; vertical-align:middle; }
.site-orders-table td:first-child { border-left:1px solid var(--pink-light); border-radius:12px 0 0 12px; }
.site-orders-table td:last-child { border-right:1px solid var(--pink-light); border-radius:0 12px 12px 0; }
.site-orders-table tr:hover td { background:#fffafd; }
.order-status { align-items:center; gap:5px; padding:6px 10px; }
.order-status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.65; }
.site-order-modal { width:min(900px,calc(100% - 32px)); }
.site-order-modal>.modal-head { background:linear-gradient(135deg,#fff,#fff7fb); }
.site-order-modal>.modal-body { padding:26px; }
.site-order-meta>div { min-height:88px; padding:16px; }
.site-order-meta strong { color:var(--green-brand); font-size:15px; }
.site-order-actions { padding-top:18px; border-top:1px solid var(--pink-light); }
.site-order-actions .btn { min-height:42px; }
.btn-danger:hover { border-color:#fca5a5; background:#fef2f2; }

/* PDV Loja */
.pdv-store-head { padding:22px 24px; border:1px solid rgba(248,0,128,.14); border-radius:18px; background:linear-gradient(135deg,#fff,#fff7fb); box-shadow:var(--shadow-sm); }
.pdv-store-layout .panel { border-color:rgba(248,0,128,.13); }
.pdv-store-layout .panel-head { padding-bottom:12px; border-bottom:1px solid var(--pink-light); }
.pdv-store-side .panel { box-shadow:0 8px 24px rgba(31,41,55,.06); }
#pdvCashPanel { border-top:4px solid #ef4444; }
#pdvCashPanel:has(.status-badge.open) { border-top-color:var(--success); background:linear-gradient(160deg,#fff,#f0fdf4); }
.status-badge { display:inline-flex; align-items:center; gap:6px; padding:6px 11px; }
.status-badge::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.pdv-result-card { transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.pdv-result-card:hover { transform:translateY(-2px); border-color:rgba(248,0,128,.35); box-shadow:var(--shadow-sm); }
.payment-total { padding:16px; border:1px solid rgba(248,0,128,.12); }
.payment-total strong { font-size:26px; }
.payment-grid label { padding:11px; border:1px solid var(--pink-light); border-radius:11px; background:#fffafd; }
.payment-grid input:focus,.payment-grid select:focus { outline:none; border-color:var(--pink-brand); box-shadow:0 0 0 3px rgba(248,0,128,.07); }
.payment-balance { min-height:46px; display:grid; place-items:center; border:1px solid transparent; line-height:1.35; }
.payment-balance.ok { border-color:#bbf7d0; }.payment-balance.warn { border-color:#fde68a; }.payment-balance.error { border-color:#fecaca; }
#pdvFinalize { min-height:50px; border-radius:12px; font-size:15px; box-shadow:0 10px 22px rgba(248,0,128,.22); }

/* Gestão, etiquetas e usuários */
.management-modules { gap:15px; margin-block:26px 30px; }
.management-module { min-height:122px; padding:20px 20px 18px 60px; }
.management-module>span { left:17px; top:19px; width:32px; height:32px; }
.management-module strong { font-size:15px; }.management-module small { font-size:12px; }
.management-section { margin-top:28px; }
.scanner-print-notice { margin-bottom:20px; padding:10px 13px; border-style:dashed; background:#fff; font-size:11px; }
.labels-selection { overflow:hidden; box-shadow:0 10px 28px rgba(31,41,55,.07); }
.selected-label { margin-bottom:8px; padding:13px; border:1px solid var(--pink-light); border-radius:12px; background:#fffafd; }
.selected-label:last-child { border-bottom:1px solid var(--pink-light); }
.labels-actions { margin-top:4px; }.labels-actions .btn { min-height:44px; }
.labels-preview-modal .modal-body { padding:22px; background:#e9ecef; }
.labels-preview-modal .labels-sheet { max-height:65vh; overflow:auto; }
.labels-variations-table { min-width:940px; }
.variation-sku { display:block; max-width:210px; overflow:hidden; color:var(--text-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.variation-code.needs-short-code { color:#9a3412; }
.label-generate-code { display:block; margin-top:5px; font-size:10px; }
.label-variation { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.label-sku { display:block; max-width:100%; margin-top:1mm; overflow:hidden; color:#333; font:7px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.users-admin-panel .stock-table { border-collapse:separate; border-spacing:0 6px; }
.users-admin-panel .stock-table td { background:#fff; }
.profile-badge,.user-status { padding:6px 10px; letter-spacing:.1px; }
.profile-badge.super_admin { background:#e8f4ef; color:#07543b; border:1px solid #b7ddcf; }
.profile-badge.dona { background:#fff3f9; color:var(--pink-deep); }
.permission-details summary { padding:5px 0; }
.permission-groups { box-shadow:0 8px 20px rgba(31,41,55,.05); }

/* ===================== NOTA FISCAL — PREPARAÇÃO ===================== */
.fiscal-warning { display:flex; align-items:flex-start; gap:12px; margin-bottom:20px; padding:15px 17px; border:1px solid #fde68a; border-left:5px solid var(--warning); border-radius:13px; background:#fffbeb; color:#78350f; }
.fiscal-warning strong { flex:none; }.fiscal-warning span { color:#92400e; font-size:13px; }
.fiscal-tabs { display:flex; gap:8px; margin-bottom:20px; padding:6px; overflow-x:auto; border:1px solid var(--border); border-radius:14px; background:#fff; }
.fiscal-tabs button { flex:1 0 auto; min-height:42px; padding:9px 15px; border:0; border-radius:10px; background:transparent; color:var(--text-muted); font:600 13px 'Poppins',sans-serif; cursor:pointer; }
.fiscal-tabs button.active { background:var(--pink-brand); color:#fff; box-shadow:0 6px 16px rgba(248,0,128,.2); }
.fiscal-tab-panel { display:none; }.fiscal-tab-panel.active { display:block; }
.fiscal-tab-panel input,.fiscal-tab-panel select,.fiscal-tab-panel textarea { width:100%; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:10px; font:inherit; }
.fiscal-tab-panel input:focus,.fiscal-tab-panel select:focus,.fiscal-tab-panel textarea:focus { outline:none; border-color:var(--pink-brand); box-shadow:0 0 0 3px rgba(248,0,128,.08); }
.fiscal-environment { padding:6px 10px; border-radius:999px; background:#dbeafe; color:#1e40af; font-size:11px; font-weight:700; }.fiscal-environment.production { background:#fee2e2; color:#991b1b; }
.fiscal-checks { display:flex; flex-wrap:wrap; gap:18px; margin:2px 0 18px; }.fiscal-checks label { display:flex; align-items:center; gap:8px; }.fiscal-checks input { width:17px; height:17px; accent-color:var(--pink-brand); }
.fiscal-search { margin-bottom:10px; }.fiscal-products-table,.fiscal-docs-table { min-width:840px; }.fiscal-products-table td strong,.fiscal-products-table td small { display:block; }.fiscal-products-table td small { color:var(--text-muted); }
.fiscal-status,.fiscal-doc-status { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:10px; font-weight:700; text-transform:capitalize; }.fiscal-status.completo,.fiscal-doc-status.complete { background:#dcfce7;color:#166534; }.fiscal-status.incompleto,.fiscal-doc-status.draft { background:#fef3c7;color:#92400e; }.fiscal-doc-status.error { background:#fee2e2;color:#991b1b; }
.fiscal-prepare { display:grid; grid-template-columns:minmax(180px,300px) auto; gap:10px; margin-bottom:10px; }
.fiscal-modal { max-width:720px; }.fiscal-document-modal { max-width:900px; }.fiscal-doc-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:16px; }.fiscal-alerts { margin-bottom:15px; padding:14px 16px; border-radius:12px; background:#fff7ed; color:#9a3412; }.fiscal-alerts ul { margin:8px 0 0 20px; }.fiscal-json { max-height:48vh; padding:16px; overflow:auto; border-radius:12px; background:#111827; color:#e5e7eb; font:11px/1.5 Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }

/* ===================== MERCADO PAGO — CHECKOUT PRO ===================== */
.btn-mp { border-color:#009ee3; background:#009ee3; color:#fff; }.btn-mp:hover { border-color:#008dcc; background:#008dcc; color:#fff; }
.mp-config-panel { border-top:4px solid #009ee3; }.mp-config-panel input,.mp-config-panel select { width:100%; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:10px; font:inherit; }.mp-security-note { margin:4px 0 16px; padding:12px 14px; border-radius:11px; background:#eff8ff; color:#075985; font-size:12px; }.mp-security-note code { font-weight:700; }
.mp-payment-result { display:grid; gap:9px; margin-top:14px; padding:15px; border:1px solid #bae6fd; border-radius:13px; background:#f0f9ff; }.mp-payment-result>a { color:#0369a1; font-size:12px; overflow-wrap:anywhere; }.mp-payment-result>div { display:flex; flex-wrap:wrap; gap:8px; }.mp-payment-result small,.mp-checkout-note { color:#075985; }.mp-checkout-note { max-width:520px; margin:18px auto 0!important; padding:12px 14px; border-radius:11px; background:#eff8ff; font-size:12px; }

/* ===================== RESPONSIVO ===================== */
@media (max-width: 1024px) {
  .orders-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-orders-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .public-checkout-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .public-order-summary { position: static; }
  .public-cart-row { grid-template-columns: minmax(0, 1fr) auto auto; }
  .public-checkout-screen .public-checkout-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .management-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .labels-layout { grid-template-columns:1fr; }.labels-selection { position:static; }
  .pdv-store-layout { grid-template-columns:1fr; }.pdv-store-side { position:static; }
  .pdv-store-head { align-items:flex-start; }
  .main-nav { order: 3; width: 100%; justify-content: center; }
  .dash-bottom { grid-template-columns: 1fr; }
  .pdv-layout { grid-template-columns: 1fr; }
  .pdv-cart { position: static; }
  .hero-banner { padding: 40px 28px; }
  .hero-banner-art { display: none; }
  .movement-hero { padding: 30px; }
  .movement-hero-mark { display: none; }
  .movement-row { grid-template-columns: 1fr 1fr; }
  .movement-main { grid-column: 1 / -1; }
  .supplier-hero { padding: 30px; }
  .supplier-hero-mark { display: none; }
  .trust-inner { grid-template-columns: repeat(2, 1fr); }
  .footer-inner { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .hide-sm { display: none; }
  .topbar-inner { padding: 12px 14px; gap: 12px; }
  .brand { max-width: calc(100% - 58px); gap: 10px; }
  .brand-mark { width: 44px; height: 44px; font-size: 18px; }
  .content { padding: 18px 16px 40px; }
  .brand-name { font-size: 17px; }
  .brand-tag { font-size: 10px; letter-spacing: 1.4px; }
  .topbar-actions { margin-left: auto; }
  .main-nav {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 2px 0 6px;
    scrollbar-width: none;
  }
  .main-nav::-webkit-scrollbar { display: none; }
  .nav-link {
    flex: 0 0 auto;
    padding: 8px 12px;
    font-size: 13px;
    white-space: nowrap;
  }
  .btn { min-width: 0; white-space: normal; text-align: center; }
  .btn-lg { width: 100%; padding: 12px 18px; }
  .hero-banner {
    min-height: auto;
    padding: 30px 22px;
    border-radius: var(--radius-sm);
  }
  .hero-banner-title { font-size: 30px; }
  .hero-banner-sub { font-size: 14px; margin-bottom: 20px; }
  .hero-banner-actions { width: 100%; }
  .hero-banner-actions .btn { width: 100%; }
  .story-track {
    gap: 14px;
    padding-bottom: 12px;
  }
  .story-item { width: 66px; }
  .story-ring { width: 62px; height: 62px; }
  .story-label { font-size: 11px; }
  .shop-grid,
  .pdv-grid,
  .cards-grid {
    grid-template-columns: 1fr;
  }
  .shop-thumb { aspect-ratio: 4 / 3; font-size: 54px; }
  .shop-body { padding: 14px; }
  .shop-foot .btn { width: 100%; }
  .pdv-select-row { flex-direction: column; }
  .pdv-cart { padding: 18px; }
  .cart-row { align-items: flex-start; }
  .shipping-box { padding: 12px; }
  .hero { flex-direction: column; text-align: center; }
  .hero-deco { display: none; }
  .hero-title { font-size: 26px; }
  .form-grid { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: flex-start; }
  .panel-head { align-items: flex-start; flex-direction: column; }
  .panel,
  .history-card { padding: 16px; }
  .stock-table-wrap,
  .history-card,
  .report-output {
    overflow-x: auto;
  }
  .stock-table,
  .history-items,
  .report-table {
    min-width: 620px;
  }
  .modal-overlay {
    align-items: flex-start;
    padding: 12px;
    overflow-y: auto;
  }
  .modal {
    max-width: none;
    width: min(100%, 520px);
    max-height: calc(100vh - 24px);
    border-radius: 14px;
  }
  .modal-head { padding: 18px; }
  .modal-body { padding: 18px; }
  .modal-foot {
    flex-direction: column-reverse;
  }
  .modal-foot .btn { width: 100%; }
  .detail-layout,
  .detail-info-grid { grid-template-columns: 1fr; }
  .detail-visual { min-height: 220px; }
  .detail-media-stage { min-height: 240px; }
  .detail-media-main { height: 240px; }
  .detail-media-thumbs { grid-template-columns: repeat(4, minmax(58px, 1fr)); }
  .detail-content h2 { font-size: 24px; }
  .detail-measures { min-width: 520px; }
  .detail-section { overflow-x: auto; }
  .movement-hero { padding: 26px 22px; }
  .movement-row { grid-template-columns: 1fr; }
  .movement-date,
  .movement-qty,
  .movement-owner { width: 100%; }
  .supplier-hero { padding: 26px 22px; }
  .supplier-grid { grid-template-columns: 1fr; }
  .supplier-info div,
  .supplier-card-bottom { align-items: flex-start; flex-direction: column; }
  .supplier-info strong { text-align: left; }
  .supplier-actions { width: 100%; justify-content: stretch; }
  .supplier-action { flex: 1; }
  .trust-inner { grid-template-columns: 1fr; }
  .trust-card { min-height: 64px; }
  .footer { padding-top: 42px; }
  .footer-inner { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { text-align: left; }
  .toast {
    width: calc(100% - 32px);
    border-radius: 14px;
    text-align: center;
    bottom: 18px;
  }
}


@media (max-width: 560px) {
  .public-cart-row { grid-template-columns:1fr auto; }.public-cart-row .qty-control { grid-column:1; width:max-content; }.public-cart-row .cart-remove { grid-column:2; grid-row:1; }
  .labels-actions { grid-template-columns:1fr; }.labels-sheet { grid-template-columns:1fr; padding:3mm; }
  .management-modules { grid-template-columns:1fr; gap:9px; }.management-module { min-height:90px; }.permission-groups { grid-template-columns:1fr; min-width:0; }.scanner-print-notice { align-items:flex-start; flex-direction:column; gap:4px; }
  .users-admin-panel .stock-table,.labels-variations-table { min-width:0; width:100%; }.users-admin-panel .stock-table thead,.labels-variations-table thead { display:none; }.users-admin-panel .stock-table tbody,.users-admin-panel .stock-table tr,.users-admin-panel .stock-table td,.labels-variations-table tbody,.labels-variations-table tr,.labels-variations-table td { display:block; width:100%; box-sizing:border-box; }.users-admin-panel .stock-table tr,.labels-variations-table tr { margin-bottom:12px; padding:13px; border:1px solid var(--border); border-radius:13px; background:#fff; box-shadow:var(--shadow-sm); }.users-admin-panel .stock-table td,.labels-variations-table td { display:grid; grid-template-columns:88px minmax(0,1fr); gap:9px; align-items:start; padding:6px 0; border:0; text-align:left; }.users-admin-panel .stock-table td::before,.labels-variations-table td::before { content:attr(data-label); color:var(--text-muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.35px; }.users-admin-panel .stock-table td>* ,.labels-variations-table td>* { min-width:0; }.users-admin-panel .stock-table td:first-child,.labels-variations-table td:first-child { padding-top:0; }.users-admin-panel .stock-table td:last-child,.labels-variations-table td:last-child { padding-bottom:0; }.label-add-button { width:100%; }.variation-code { max-width:100%; word-break:break-all; }.selected-label { grid-template-columns:1fr auto; }.selected-label>.cart-remove { grid-column:2; grid-row:1; }.selected-label>.qty-control { grid-column:1/-1; width:max-content; }
  .receipt-search { grid-template-columns:1fr; }.receipt-preview-modal .modal-body { padding:10px; }.receipt-80mm { width:100%; }
  .pdv-store-head { align-items:stretch;flex-direction:column; }.pdv-store-head .form-row { min-width:0; }.pdv-search-line { grid-template-columns:1fr; }.pdv-result-grid,.payment-grid { grid-template-columns:1fr; }.pdv-cart-line { grid-template-columns:1fr auto; }.pdv-cart-line>.qty-control { grid-row:2; }.cash-status-list { grid-template-columns:1fr; }
  .filter-bar {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  .filter-bar::-webkit-scrollbar { display: none; }
  .filter-pill { flex: 0 0 auto; }
  .shop-colors,
  .shop-sizes { gap: 7px; }
  .color-dot { max-width: 100%; }
  .cart-summary div,
  .cart-total {
    align-items: flex-start;
    gap: 8px;
  }
  .cart-total strong { font-size: 22px; text-align: right; }
  .buy-product { align-items: flex-start; }
  .panel-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .panel-actions .btn,
  .panel-actions .link-btn { width: 100%; }
  .freight-toolbar { grid-template-columns: 1fr; }
  .freight-filter { width: 100%; }
  .stock-actions {
    flex-wrap: wrap;
    min-width: 130px;
  }
  .history-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .history-value { font-size: 20px; }
  .report-output { padding-inline: 16px; }
  .report-paper { padding: 18px; }
  .report-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .report-meta { text-align: left; }
  .detail-media-thumbs { grid-template-columns: repeat(3, minmax(56px, 1fr)); }
  .footer-socials,
  .payment-list { max-width: 100%; }
}
@media (max-width: 380px) {
  .topbar-inner { padding-inline: 12px; }
  .brand { max-width: 100%; }
  .topbar-actions { width: 100%; justify-content: space-between; }
  .btn-instagram { flex: 1; }
  .cart-btn { flex: 0 0 44px; width: 44px; height: 44px; }
  .hero-banner-title { font-size: 27px; }
  .section-title { font-size: 23px; }
  .shop-grid,
  .pdv-grid,
  .cards-grid { gap: 16px; }
  .modal-overlay { padding: 8px; }
  .modal { max-height: calc(100vh - 16px); }
  .stock-table,
  .history-items,
  .report-table { min-width: 560px; }
}

@media print {
  body { background: var(--white); }
  body * { visibility: hidden; }
  #reportOutput,
  #reportOutput * { visibility: visible; }
  #reportOutput {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .report-paper {
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 20mm;
  }
  .report-table th,
  .report-table td {
    border-bottom: 1px solid #ddd;
  }
}

@media (max-width: 768px) {
  .fiscal-tab-panel .form-grid { grid-template-columns:1fr; gap:0; }
  .fiscal-prepare { grid-template-columns:1fr; }
  .site-orders-filters { grid-template-columns:1fr 1fr; }
  .site-orders-table { min-width:0; border-spacing:0; }
  .site-orders-table thead { display:none; }
  .site-orders-table tbody,.site-orders-table tr,.site-orders-table td { display:block; width:100%; box-sizing:border-box; }
  .site-orders-table tr { margin-bottom:14px; padding:15px; border:1px solid var(--pink-light); border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
  .site-orders-table td,.site-orders-table td:first-child,.site-orders-table td:last-child { display:grid; grid-template-columns:108px minmax(0,1fr); gap:10px; align-items:start; padding:7px 0; border:0; border-radius:0; white-space:normal; background:transparent; }
  .site-orders-table td::before { content:attr(data-label); color:var(--text-muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.45px; }
  .site-orders-table td:not([data-label]) { display:block; padding:0; }
  .site-orders-table td:not([data-label])::before { display:none; }
  .site-orders-table td .btn { width:100%; }
  .site-order-meta { grid-template-columns:1fr; }
  .public-checkout-layout { grid-template-columns:1fr; gap:20px; }
  .public-order-summary { position:static; padding:18px; }
  .checkout-payment-options { grid-template-columns:1fr; }
  .public-cart-items { padding:2px 11px; }
  .public-cart-row { grid-template-columns:minmax(0,1fr) auto; gap:10px; min-height:0; padding:13px 0; }
  .public-cart-row .qty-control { grid-column:1; grid-row:2; width:max-content; }
  .public-cart-row .cart-remove { grid-column:2; grid-row:1; }
  .public-order-summary #btnCheckout { position:sticky; bottom:0; z-index:2; }
  .checkout-page-head { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 20px; }
  .public-checkout-screen .form-grid { grid-template-columns: 1fr; gap: 0; }
  .checkout-delivery-options,
  .public-checkout-screen .checkout-payment-options { grid-template-columns: 1fr; }
  .public-checkout-screen .public-cart-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }
  .public-checkout-screen .public-cart-row .qty-control { grid-column: 1; grid-row: 2; }
  .public-checkout-screen .public-cart-row .cart-remove { grid-column: 2; grid-row: 1; }
  .checkout-page-head,.pdv-store-head { padding:18px; }
  .checkout-card { padding:20px; }
  .public-order-success .btn { width:100%; min-width:0; margin:10px 0 0; }
  .site-order-modal { width:calc(100% - 20px); max-height:calc(100vh - 20px); }
  .site-order-modal>.modal-body { padding:18px; }
  .site-order-actions .btn,.site-order-actions select { flex:1 1 calc(50% - 9px); }
}

@media (max-width: 560px) {
  .fiscal-warning { flex-direction:column; }.fiscal-tabs button { font-size:11px; padding-inline:10px; }
  .orders-summary { grid-template-columns:1fr 1fr; gap:10px; }
  .orders-summary .stat-card { min-height:104px; padding:15px; }
  .orders-summary .stat-card strong { font-size:25px; }
  .orders-page-head { align-items:flex-start; flex-direction:column; }
  .site-orders-filters { grid-template-columns:1fr; }
  .site-order-actions>* { width:100%; }
  .checkout-payment-options label { min-height: 54px; font-size: 14px; }
  .checkout-card { padding: 18px; border-radius: 14px; }
  .public-checkout-screen .public-cart-row { padding: 14px; }
  .public-checkout-screen .public-order-summary #btnCheckout { position: static; }
  .checkout-page-head .btn { width:100%; }
  .checkout-choice-grid label,.public-checkout-screen .checkout-payment-options label { min-height:78px; padding:14px; }
  .management-module { min-height:96px; padding:16px 16px 14px 54px; }
  .management-module>span { left:13px; top:15px; }
  .site-order-actions .btn,.site-order-actions select { flex-basis:100%; }
}

@media print {
  body.printing-site-order * { visibility:hidden!important; }
  body.printing-site-order #siteOrderPrintArea,
  body.printing-site-order #siteOrderPrintArea * { visibility:visible!important; }
  body.printing-site-order #siteOrderPrintArea { display:block!important; position:absolute; inset:0 auto auto 0; width:100%; padding:10mm; color:#000; background:#fff; font:12pt/1.4 Arial,sans-serif; }
  body.printing-site-order #siteOrderPrintArea h1 { margin-bottom:6mm; }
  body.printing-site-order #siteOrderPrintArea table { width:100%; margin:5mm 0; border-collapse:collapse; }
  body.printing-site-order #siteOrderPrintArea th,
  body.printing-site-order #siteOrderPrintArea td { padding:2.5mm; border:1px solid #000; text-align:left; }
  body.printing-labels #receiptPrintArea { display:none!important; }
  body.printing-labels #labelsPrintArea,body.printing-labels #labelsPrintArea * { visibility:visible!important; }
  body.printing-labels #labelsPrintArea { display:grid!important; position:absolute; left:0; top:0; width:100%; margin:0; color:#000!important; background:#fff!important; }
  body.printing-labels #labelsPrintArea * { color:#000!important; box-shadow:none!important; }
  body.printing-labels #reportOutput { display:none!important; }
}

@media print {
  @page { margin:0; }
  html,body { margin:0!important; padding:0!important; background:#fff!important; }
  body.printing-receipt { width:80mm; }
  body.printing-receipt * { visibility:hidden!important; }
  body.printing-receipt #receiptPrintArea,body.printing-receipt #receiptPrintArea * { visibility:visible!important; }
  body.printing-receipt #receiptPrintArea { display:block!important; visibility:visible!important; position:absolute!important; inset:0 auto auto 0!important; width:80mm; height:auto!important; min-height:0!important; overflow:visible!important; margin:0!important; padding:4mm!important; color:#000!important; background:#fff!important; pointer-events:auto!important; }
  body.printing-receipt #reportOutput { display:none!important; }
  body.printing-receipt #receiptPrintArea * { color:#000!important; background:transparent!important; box-shadow:none!important; }
}

@media print {
  body.printing-labels { width:auto!important; }
  body.printing-labels #receiptPrintArea { display:none!important; visibility:hidden!important; }
  body.printing-labels #labelsPrintArea,body.printing-labels #labelsPrintArea * { visibility:visible!important; }
  body.printing-labels #labelsPrintArea { display:grid!important; visibility:visible!important; position:absolute!important; inset:0 auto auto 0!important; width:100%; height:auto!important; min-height:0!important; overflow:visible!important; margin:0!important; padding:5mm!important; background:#fff!important; pointer-events:auto!important; }
  body.printing-labels .product-label { break-inside:avoid; page-break-inside:avoid; overflow:visible; background:#fff!important; }
  body.printing-labels .barcode-block,body.printing-labels .barcode-svg { background:#fff!important; }
  body.printing-labels .label-code-text { color:#000!important; }
}

