:root {
  --bg: #f4f6fb;
  --bg-alt: #eef2f8;
  --panel: #ffffff;
  --panel-2: #fafbff;
  --card: #ffffff;
  --card-2: #f7f8fc;
  --card-3: #eef2f8;
  --text: #1c2435;
  --text-soft: #36435d;
  --muted: #74819a;
  --muted-2: #95a0b5;
  --line: #e5e9f2;
  --line-strong: #d8dfeb;
  --primary: #5b8def;
  --primary-2: #8eb5ff;
  --primary-soft: rgba(91, 141, 239, 0.14);
  --success: #28c48f;
  --success-soft: rgba(40, 196, 143, 0.14);
  --warning: #ffb648;
  --warning-soft: rgba(255, 182, 72, 0.14);
  --danger: #f15c75;
  --danger-soft: rgba(241, 92, 117, 0.14);
  --info: #5ba6ff;
  --info-soft: rgba(91, 166, 255, 0.14);
  --shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 14px;
  --sidebar-width: 272px;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body.theme-light {
  --bg: #eff3f8;
  --bg-alt: #f6f8fc;
  --panel: #ffffff;
  --panel-2: #f8faff;
  --card: #ffffff;
  --card-2: #f7f9fd;
  --card-3: #edf2f9;
  --text: #172033;
  --text-soft: #2b3a55;
  --muted: #66768f;
  --muted-2: #7d8ea7;
  --line: #d9e2ee;
  --line-strong: #c7d4e4;
  --primary-soft: rgba(91, 141, 239, 0.1);
  --success-soft: rgba(40, 196, 143, 0.12);
  --warning-soft: rgba(255, 182, 72, 0.12);
  --danger-soft: rgba(241, 92, 117, 0.12);
  --info-soft: rgba(91, 166, 255, 0.12);
  --shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);
  color: var(--text);
  color-scheme: light;
}
body.theme-light { color-scheme: light; }
.hidden { display: none !important; }

button, input, select, textarea {
  font: inherit;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; }

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  min-height: 100vh;
  background: var(--panel);
  border-right: 1px solid var(--line);
  padding: 24px 18px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 4px 8px 18px;
  border-bottom: 1px solid var(--line);
}

.brand-logo {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(233, 81, 184, 0.3);
  flex-shrink: 0;
}

.brand h1,
.topbar h2,
.card-header h3,
.auth-brand h1 {
  margin: 0;
}

.brand h1 {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.brand p,
.topbar p,
.auth-brand p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.nav-menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.nav-btn {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 16px;
  color: var(--text-soft);
  text-align: left;
  cursor: pointer;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  transition: 0.18s ease;
}

.nav-btn:hover {
  background: var(--card-2);
  border-color: var(--line);
  color: var(--text);
}

.nav-btn.active {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)), var(--card-2);
  border-color: color-mix(in srgb, var(--primary) 34%, white);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.nav-ico {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  color: var(--muted);
  flex-shrink: 0;
}

.nav-btn.active .nav-ico {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 20px rgba(233, 81, 184, 0.28);
}

.nav-ico svg {
  width: 18px;
  height: 18px;
  display: block;
}

.sidebar-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.user-badge {
  border-radius: 14px;
  padding: 13px 14px;
  background: var(--card-2);
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.main-content {
  min-width: 0;
  padding: 24px;
}

.topbar {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  padding: 20px 22px;
  margin-bottom: 22px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

.topbar-title-block { display: flex; flex-direction: column; gap: 4px; }
.section-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--primary-2);
}
.topbar h2 {
  font-size: 34px;
  letter-spacing: -0.04em;
}
.topbar p { font-size: 14px; }

.topbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--muted);
  flex-wrap: wrap;
  justify-content: flex-end;
}
.topbar-statuses { display: flex; gap: 10px; align-items: center; }

.header-badge,
.badge,
.section-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid transparent;
}

.header-badge,
.header-badge-neutral {
  background: var(--card-2);
  color: var(--text-soft);
  border-color: var(--line);
}

.badge.success { background: var(--success-soft); color: var(--success); border-color: rgba(40,196,143,0.2); }
.badge.danger { background: var(--danger-soft); color: var(--danger); border-color: rgba(241,92,117,0.22); }
.badge.warning { background: var(--warning-soft); color: var(--warning); border-color: rgba(255,182,72,0.2); }
.badge.info { background: var(--info-soft); color: var(--info); border-color: rgba(91,166,255,0.2); }
.section-pill { background: var(--card-2); color: var(--muted); border-color: var(--line); }

.section { display: none; }
.section.active { display: block; }

.stats-grid,
.cards-grid,
.summary-grid,
.settings-panel-grid,
.finance-stack,
.customer-summary {
  display: grid;
  gap: 18px;
  align-items: start;
}

.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; }
.cards-grid.two-col { grid-template-columns: 400px minmax(0, 1fr); }
.cards-grid.pos-layout { grid-template-columns: minmax(0, 1.3fr) 420px; }
.summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.finance-stack { grid-template-columns: 1fr; margin-top: 18px; }
.settings-panel-grid { grid-template-columns: minmax(0,1fr) minmax(320px,.9fr); }
.customer-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.card,
.stat-card,
.auth-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}

.card { padding: 22px; min-width: 0; align-self: start; }
.stat-card { padding: 18px 20px; }

.stat-card span,
.summary-grid small,
.list-item small,
.small-note,
.card label span,
.form-grid label span {
  color: var(--muted);
}

.stat-card span {
  display: block;
  font-size: 13px;
  margin-bottom: 8px;
}
.stat-card strong {
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
#dashCashStatus { color: var(--primary-2); }

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.card-header h3 {
  font-size: 18px;
  letter-spacing: -0.02em;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.form-grid.single-col { grid-template-columns: 1fr; }
.span-2 { grid-column: span 2; }

.form-grid label,
.card label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
}

.form-grid input,
.form-grid select,
.card input,
.card select,
.search-input,
.selected-inline,
#cashChange,
#backupRestoreStatus,
#resetStatus {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--card-2);
  color: var(--text);
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.search-input { min-width: 220px; }
textarea,
input[type="file"] { color: var(--text); }

::placeholder { color: var(--muted-2); opacity: 1; }

.form-grid input:focus,
.form-grid select:focus,
.card input:focus,
.card select:focus,
.search-input:focus {
  border-color: color-mix(in srgb, var(--primary) 56%, white);
  box-shadow: 0 0 0 4px rgba(233, 81, 184, 0.12);
}

.form-grid select,
.card select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 44px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position: calc(100% - 20px) calc(50% - 2px), calc(100% - 14px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

select, option, optgroup {
  background: var(--panel);
  color: var(--text);
}

.primary-btn,
.secondary-btn,
.danger-btn,
.action-btn {
  border-radius: 14px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid transparent;
  font-weight: 700;
  cursor: pointer;
  transition: 0.16s ease;
}

.primary-btn {
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 12px 26px rgba(233, 81, 184, 0.26);
}
.primary-btn:hover { filter: brightness(1.04); transform: translateY(-1px); }
.secondary-btn {
  color: var(--text-soft);
  background: var(--card-2);
  border-color: var(--line);
}
.secondary-btn:hover { background: var(--card-3); color: var(--text); }
.danger-btn,
.action-btn.delete,
.action-btn.danger {
  color: #fff;
  background: linear-gradient(135deg, #ef5a72, #c7335e);
}
.danger-btn:hover,
.action-btn.delete:hover,
.action-btn.danger:hover { filter: brightness(1.03); }
.full { width: 100%; }

.action-btn {
  min-height: 36px;
  padding: 0 12px;
  background: var(--card-2);
  color: var(--text-soft);
  border-color: var(--line);
}
.action-btn.edit { background: var(--success-soft); color: var(--success); border-color: rgba(40,196,143,0.18); }
.action-btn.light { background: var(--card-2); color: var(--text-soft); }

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.table-wrap {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: auto;
  max-height: 68vh;
  background: var(--card-2);
}
.table {
  width: 100%;
  min-width: 740px;
  border-collapse: collapse;
}
.table th,
.table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}
.table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--card-2);
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.table td { color: var(--text-soft); }
.table tbody tr:hover td { background: rgba(255,255,255,0.02); }
body.theme-light .table tbody tr:hover td { background: rgba(23,32,51,0.02); }

.topbar-theme-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border: 1px solid var(--line);
  background: var(--card-2);
  border-radius: 14px;
}
.theme-quick-btn {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-soft);
  font-weight: 700;
  cursor: pointer;
}
.theme-quick-btn.active {
  background: var(--card);
  color: var(--text);
  border-color: var(--line);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.file-btn input { display:none; }
.table-thumb {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.table-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.table-thumb-empty {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.suggestions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
}
.suggestions.compact { max-height: 180px; }
.suggestion-item,
.list-item {
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--card-2);
  padding: 12px 14px;
}
.suggestion-item {
  cursor: pointer;
}
.suggestion-item:hover { border-color: color-mix(in srgb, var(--primary) 32%, white); }
.list { display: flex; flex-direction: column; gap: 10px; }
.list-item strong { display: block; margin-bottom: 4px; }

.cart-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 120px;
  margin: 16px 0;
}
.cart-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: var(--card-2);
}
.cart-item small,
.list-item small { display: block; margin-top: 4px; }
.qty-controls { display: flex; align-items: center; gap: 8px; }
.qty-btn {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--card-3);
  color: var(--text);
  cursor: pointer;
}
.pos-summary {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.pos-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  color: var(--muted);
}
.pos-summary strong { color: var(--text); }
.total-line {
  color: var(--text) !important;
  font-size: 24px;
  font-weight: 800;
}
.total-line strong {
  color: var(--primary-2);
  font-size: 30px;
  letter-spacing: -0.04em;
}
.compact { margin: 18px 0 0; }

.summary-grid > div,
.summary-grid .mini-card,
.promo-result-card,
.selected-customer-box,
.selected-inline,
.customer-picker,
.settings-panel-card,
.product-photo-preview,
.logo-preview,
.user-badge,
.auth-theme-switch,
.promo-notice {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card-2);
}
.summary-grid > div,
.summary-grid .mini-card { padding: 14px; }
.summary-grid strong { font-size: 20px; }
.selected-customer-box,
.promo-notice {
  padding: 14px 16px;
}
.selected-inline {
  height: auto;
  min-height: 46px;
  display: flex;
  align-items: center;
}
.customer-benefits-title {
  font-weight: 700;
  margin-bottom: 10px;
}
.muted-mini { color: var(--muted); font-size: 12px; }
.align-end { align-self: end; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.promo-notice {
  background: var(--warning-soft);
  color: var(--warning);
  border-color: rgba(255,182,72,0.24);
}
.promo-result-card { padding: 18px; }
.promo-result-card h4, .promo-result-card p { margin: 0 0 8px; }

.auth-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(233,81,184,0.12), transparent 26%),
    radial-gradient(circle at bottom right, rgba(91,166,255,0.12), transparent 24%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);
}
.auth-card {
  width: 100%;
  max-width: 460px;
  padding: 28px;
}
.auth-brand { margin-bottom: 18px; }
.auth-message { min-height: 22px; color: var(--danger); margin-top: 12px; }
.auth-theme-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 18px;
}
.auth-theme-switch span { color: var(--muted); font-size: 14px; font-weight: 600; }
.theme-switch-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.theme-toggle-btn { min-width: 92px; }
.theme-toggle-btn.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  border-color: transparent;
  color: #fff;
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  background: var(--panel);
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  padding: 14px 18px;
  border-radius: 16px;
  opacity: 0;
  transform: translateY(12px);
  transition: .2s;
  pointer-events: none;
  z-index: 1000;
}
.toast.show { opacity: 1; transform: translateY(0); }

.logo-config-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.logo-preview,
.product-photo-preview {
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--muted);
  font-weight: 700;
}
.logo-preview { width: 80px; height: 80px; }
.product-photo-box {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 14px;
  align-items: start;
}
.product-photo-preview {
  width: 104px;
  height: 104px;
  border-radius: 20px;
}
.product-photo-preview img,
.logo-preview img,
.brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-photo-actions { display: flex; flex-direction: column; gap: 12px; }
.small-note { font-size: 12px; }

input[type="color"] {
  appearance: none;
  -webkit-appearance: none;
  width: 56px;
  height: 44px;
  border: none;
  padding: 0;
  background: transparent;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
}
input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
input[type="color"]::-webkit-color-swatch { border: none; border-radius: 14px; }
.color-input-row { display: grid; grid-template-columns: 56px 1fr; gap: 10px; align-items: center; }
.color-text { text-transform: uppercase; letter-spacing: 0.02em; }
.settings-panel-card { padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.settings-panel-head h4 { margin: 0 0 4px; font-size: 16px; }
.settings-panel-head p { margin: 0; color: var(--muted); font-size: 13px; }
.settings-field-stack { display: grid; gap: 14px; }
.settings-logo-box { padding-top: 6px; justify-content: flex-start; }

.mt-16 { margin-top: 16px; }
.disabled-block { opacity: .58; pointer-events: none; filter: grayscale(.25); }
.sales-status-cancelled { color: var(--danger); font-weight: 700; }

@media (max-width: 1380px) {
  .cards-grid.two-col { grid-template-columns: 360px minmax(0,1fr); }
  .cards-grid.pos-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1180px) {
  .stats-grid,
  .cards-grid.two-col,
  .settings-panel-grid,
  .customer-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: relative;
    min-height: auto;
    border-right: none;
    border-bottom: 1px solid var(--line);
  }
  .topbar { flex-direction: column; align-items: flex-start; }
  .topbar-right { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .main-content { padding: 16px; }
  .topbar { padding: 18px; }
  .topbar h2 { font-size: 28px; }
  .stats-grid,
  .summary-grid,
  .form-grid,
  .product-photo-box { grid-template-columns: 1fr; }
  .span-2 { grid-column: span 1; }
  .cart-item { grid-template-columns: 1fr; }
  .brand h1 { font-size: 17px; }
  .search-input { min-width: 0; }
}


.theme-dot{width:10px;height:10px;border-radius:999px;display:inline-block;flex-shrink:0}.theme-dot-light{background:#f6c445;box-shadow:0 0 0 2px rgba(246,196,69,.18)}.theme-dot-dark{background:#7f8cff;box-shadow:0 0 0 2px rgba(127,140,255,.18)}
.theme-quick-btn{display:inline-flex;align-items:center;gap:8px}
.hidden-file-input{display:none !important}
.input-label{font-size:13px;color:var(--muted);font-weight:700}
.photo-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.file-name{font-size:12px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.product-photo-box{grid-template-columns:96px minmax(0,1fr);align-items:start}
.product-photo-preview{width:96px;height:96px;border-radius:16px;background:var(--card-3)}
.product-photo-preview.has-image{padding:0}
.product-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.product-photo-actions .form-actions{margin-top:0}
.table-thumb{width:34px;height:34px;border-radius:8px}
.table td .table-thumb{margin:auto}
body.theme-light .theme-quick-btn.active{background:#fff;border-color:var(--line-strong)}


.product-photo-box { grid-template-columns: 110px minmax(0, 1fr) !important; }
.product-photo-preview {
  width: 110px !important;
  height: 110px !important;
  border: 1px solid var(--line);
  background: var(--card-2);
}
.product-photo-preview.has-image {
  padding: 0 !important;
  background: var(--card-2);
}
.product-photo-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: auto;
}
.file-btn { white-space: nowrap; }
.file-name {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
}
.hidden-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.table-thumb {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--card-2);
}
.table-thumb img { object-fit: cover; }
body.theme-light .auth-shell,
body.theme-light .app-shell,
body.theme-light .sidebar,
body.theme-light .auth-panel,
body.theme-light .auth-hero,
body.theme-light .panel,
body.theme-light .card,
body.theme-light .table-wrap,
body.theme-light .table thead th,
body.theme-light .table tbody td,
body.theme-light .toolbar,
body.theme-light .metric-card,
body.theme-light .list-card {
  color: var(--text);
}
body.theme-light input,
body.theme-light select,
body.theme-light textarea {
  background: #ffffff;
  color: var(--text);
  border-color: var(--line-strong);
}

html.theme-light, html[data-theme='light'] { background:#eff3f8; }
html.theme-light body, body[data-theme='light'] { background:linear-gradient(180deg,#eff3f8 0%,#f6f8fc 100%) !important; }
.product-photo-preview { background: var(--card-2); }
.product-photo-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.table-thumb { width:44px; height:44px; border-radius:12px; overflow:hidden; border:1px solid var(--line); background:var(--card-2); display:grid; place-items:center; }
.table-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.product-photo-box input[type='file'] { display:none; }


/* ===== PDV PRO SOFTWARE REDESIGN v45 ===== */
:root {
  --primary: #ff4fc4;
  --primary-2: #ff7ae0;
  --primary-soft: rgba(255,79,196,.10);
  --success: #10b981;
  --success-soft: rgba(16,185,129,.12);
  --warning: #f59e0b;
  --warning-soft: rgba(245,158,11,.13);
  --danger: #ef4444;
  --danger-soft: rgba(239,68,68,.12);
  --info: #3b82f6;
  --info-soft: rgba(59,130,246,.12);
  --shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  --radius-xl: 22px;
  --radius-lg: 16px;
  --radius-md: 12px;
  --sidebar-width: 266px;
}
html, body { background: var(--bg) !important; }
body { font-family: Inter, system-ui, sans-serif; color-scheme: light; }
body.theme-light { color-scheme: light; }
body:not(.theme-light) { color-scheme: dark; }
.app-shell { background: var(--bg); }
.sidebar {
  background: linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);
  padding: 18px 16px;
}
.brand { padding: 6px 8px 18px; gap: 12px; }
.brand-logo { width: 54px; height: 54px; border-radius: 18px; font-size: 21px; }
.brand h1 { font-size: 17px; }
.brand p { font-size: 13px; }
.nav-menu { gap: 6px; }
.nav-btn {
  border-radius: 14px;
  padding: 10px 12px;
  color: var(--text-soft);
}
.nav-btn.active {
  color: var(--text);
  background: linear-gradient(180deg, #fff, #fff), var(--card);
  box-shadow: 0 10px 24px rgba(255,79,196,.08);
  border-color: rgba(255,79,196,.26);
}
body:not(.theme-light) .nav-btn.active {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)), var(--card-2);
  color: #fff;
}
.nav-ico { width: 40px; height: 40px; border-radius: 14px; }
.nav-btn span:last-child { font-size: 15px; }
.main-content { padding: 18px; }
.topbar {
  background: var(--panel);
  padding: 18px 22px;
  margin-bottom: 18px;
  border-radius: 18px;
}
.section-eyebrow { color: var(--primary); letter-spacing: .16em; }
.topbar h2 { font-size: 28px; }
.topbar-right { gap: 12px; }
.header-badge, .badge, .section-pill { font-size: 12px; min-height: 30px; }
.topbar-theme-switch {
  background: var(--card-2);
  border-radius: 14px;
}
.theme-quick-btn { min-height: 36px; padding: 0 12px; }
.theme-quick-btn.active {
  background: #fff;
  color: #111827;
  border-color: rgba(255,79,196,.2);
}
body:not(.theme-light) .theme-quick-btn.active {
  background: rgba(255,255,255,.08);
  color: #fff;
}
.stats-grid { grid-template-columns: repeat(4, minmax(220px, 1fr)); }
.stat-card, .card, .auth-card {
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.stat-card { padding: 20px 22px; }
.stat-card span { font-size: 13px; color: var(--muted); }
.stat-card strong { font-size: 26px; color: var(--text); }
#dashCashStatus { color: var(--primary); }
.card { padding: 20px; }
.card-header h3 { font-size: 20px; }
.form-grid { gap: 12px 14px; }
.form-grid label, .card label { gap: 7px; }
.form-grid label span, .card label span { font-weight: 600; color: var(--text-soft); }
.form-grid input,
.form-grid select,
.card input,
.card select,
.search-input,
.selected-inline,
#cashChange,
#backupRestoreStatus,
#resetStatus,
textarea {
  background: var(--card-2);
  border: 1px solid var(--line);
  color: var(--text);
  border-radius: 12px;
  box-shadow: none;
}
textarea { padding: 12px 14px; min-height: 92px; }
body.theme-light .form-grid input,
body.theme-light .form-grid select,
body.theme-light .card input,
body.theme-light .card select,
body.theme-light .search-input,
body.theme-light textarea {
  background: #fff;
}
.form-grid input:focus,
.form-grid select:focus,
.card input:focus,
.card select:focus,
.search-input:focus, textarea:focus {
  border-color: rgba(255,79,196,.52);
  box-shadow: 0 0 0 4px rgba(255,79,196,.11);
}
.primary-btn, .secondary-btn, .danger-btn, .action-btn {
  min-height: 42px;
  border-radius: 12px;
}
.primary-btn {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 10px 24px rgba(255,79,196,.2);
}
.secondary-btn { background: var(--card-2); }
.table-wrap {
  border-radius: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
}
.table { min-width: 860px; }
.table th, .table td { padding: 12px 12px; }
.table th {
  background: var(--card-2);
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .12em;
}
.table td { color: var(--text-soft); }
.table tbody tr:hover td { background: var(--primary-soft); }
.list-item, .suggestion-item { border-radius: 14px; }
.list-item strong { color: var(--text); font-size: 15px; }
.summary-grid > div, .summary-grid .mini-card, .promo-result-card, .selected-customer-box, .selected-inline, .customer-picker, .settings-panel-card, .product-photo-preview, .logo-preview, .user-badge, .auth-theme-switch, .promo-notice {
  border-radius: 16px;
}
.auth-screen {
  background: radial-gradient(circle at top left, rgba(255,79,196,.10), transparent 26%), radial-gradient(circle at bottom right, rgba(255,79,196,.08), transparent 24%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%) !important;
}
.auth-card { max-width: 520px; padding: 28px; }
.auth-theme-switch { background: var(--card-2); }
.auth-brand { display: flex; align-items: center; gap: 14px; }
.auth-brand .brand-logo, #authBrandLogo { width: 58px; height: 58px; }
.cards-grid.pos-layout { grid-template-columns: minmax(0, 1fr) 420px; }
#posProducts, #dashRecentSales { max-height: 58vh; overflow: auto; }
.cart-item {
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  padding: 12px 14px;
  border-radius: 14px;
}
.qty-btn { width: 32px; height: 32px; border-radius: 10px; }
.pos-summary { gap: 8px; }
.total-line { font-size: 28px; }
.total-line strong { font-size: 36px; color: var(--primary); }
.selected-customer-box { background: var(--card-2); }
.product-photo-box {
  grid-template-columns: 84px minmax(0, 1fr) !important;
  gap: 12px;
}
.product-photo-preview {
  width: 84px !important;
  height: 84px !important;
  border-radius: 14px;
  background: var(--card-2);
}
.table-thumb { width: 38px !important; height: 38px !important; border-radius: 10px !important; }
.logo-preview { border-radius: 18px; }
body.theme-light .sidebar,
body.theme-light .topbar,
body.theme-light .card,
body.theme-light .stat-card,
body.theme-light .auth-card,
body.theme-light .table-wrap {
  background: #fff;
}
body.theme-light .sidebar { background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%); }
body.theme-light .nav-btn.active { background: linear-gradient(180deg, #fff, #fff); }
body.theme-light .nav-ico { background: #f7f8fc; }
body.theme-light .topbar-theme-switch,
body.theme-light .user-badge,
body.theme-light .auth-theme-switch,
body.theme-light .summary-grid > div,
body.theme-light .summary-grid .mini-card,
body.theme-light .list-item,
body.theme-light .suggestion-item,
body.theme-light .selected-customer-box,
body.theme-light .selected-inline,
body.theme-light .promo-result-card,
body.theme-light .settings-panel-card,
body.theme-light .product-photo-preview,
body.theme-light .logo-preview {
  background: #f7f8fc;
}
body.theme-light .table th { background: #f7f8fc; }
body.theme-light .primary-btn { color: #fff; }
body.theme-light .secondary-btn { background: #f7f8fc; }
body.theme-light .section-eyebrow { color: var(--primary); }
body.theme-light .topbar h2,
body.theme-light .card-header h3,
body.theme-light .stat-card strong,
body.theme-light .list-item strong { color: #1c2435; }
body.theme-light .brand h1, body.theme-light .brand p { color: #1c2435; }
body.theme-light .brand p, body.theme-light .topbar p, body.theme-light .stat-card span, body.theme-light .form-grid label span { color: #72809a; }
body.theme-light .nav-btn { color: #44516a; }
body.theme-light .nav-btn.active { color: #1c2435; }
body.theme-light .nav-btn.active .nav-ico { color: #fff; }
body.theme-light .nav-btn .nav-ico { color: #72809a; }
body.theme-light .total-line strong { color: var(--primary); }
body:not(.theme-light) .sidebar, body:not(.theme-light) .topbar, body:not(.theme-light) .card, body:not(.theme-light) .stat-card, body:not(.theme-light) .auth-card, body:not(.theme-light) .table-wrap {
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)), var(--panel);
}
body:not(.theme-light) .topbar-theme-switch,
body:not(.theme-light) .auth-theme-switch,
body:not(.theme-light) .summary-grid > div,
body:not(.theme-light) .summary-grid .mini-card,
body:not(.theme-light) .list-item,
body:not(.theme-light) .suggestion-item,
body:not(.theme-light) .selected-customer-box,
body:not(.theme-light) .selected-inline,
body:not(.theme-light) .promo-result-card,
body:not(.theme-light) .settings-panel-card,
body:not(.theme-light) .product-photo-preview,
body:not(.theme-light) .logo-preview { background: var(--card-2); }
@media (max-width: 1380px) {
  .cards-grid.two-col { grid-template-columns: 360px minmax(0,1fr); }
}
@media (max-width: 1180px) {
  .stats-grid, .cards-grid.two-col, .cards-grid.pos-layout { grid-template-columns: 1fr; }
}

.topbar-theme-switch, .auth-theme-switch { display:none !important; }


/* v48 light professional PDV overrides */
body, body.theme-light, html.theme-light body { background: #f3f5fb !important; color: #172033; }
.sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfe 100%);
  border-right: 1px solid #e8ebf4;
  box-shadow: 8px 0 24px rgba(18, 32, 61, 0.04);
}
.brand { padding-bottom: 22px; }
.brand-logo, .logo-preview, .auth-brand .brand-logo {
  background: linear-gradient(135deg, #ff4fbf 0%, #ff7ad9 100%) !important;
  box-shadow: 0 16px 30px rgba(255,79,191,0.25);
}
.nav-btn { border-radius: 18px; padding: 12px 14px; color: #465675; }
.nav-btn.active {
  background: linear-gradient(135deg, #ff4fbf 0%, #ff7ad9 100%);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 18px 32px rgba(255,79,191,0.28);
}
.nav-btn.active .nav-ico { background: rgba(255,255,255,0.16); box-shadow: none; }
.nav-btn:hover { background: #f7f8fd; }
.nav-ico { background: #f7f8fd; border-color: #ebeff6; color: #74819a; }
.topbar {
  background: #ffffff;
  border: 1px solid #e7ebf3;
  box-shadow: 0 18px 38px rgba(17, 24, 39, 0.06);
  border-radius: 26px;
}
.section-eyebrow { color: #ff4fbf; }
.topbar h2 { font-size: 32px; color: #101828; }
.header-badge, .badge, .section-pill {
  border-radius: 999px;
  background: #fff4fb;
  color: #d22e97;
  border: 1px solid #ffd0ec;
  font-weight: 700;
}
.header-badge-neutral { background: #f5f7fb; color: #51627d; border-color: #e6ebf2; }
.stats-grid { gap: 18px; }
.stat-card {
  background: linear-gradient(180deg,#ffffff 0%,#fcfcff 100%);
  border: 1px solid #e7ebf3;
  border-radius: 22px;
  padding: 18px 20px;
  box-shadow: 0 14px 30px rgba(17,24,39,0.05);
}
.stat-card span { color: #66768f; font-weight: 600; }
.stat-card strong { font-size: 28px; color: #121a2b; letter-spacing: -0.03em; }
.card {
  background: #ffffff;
  border: 1px solid #e7ebf3;
  border-radius: 24px;
  box-shadow: 0 16px 34px rgba(17,24,39,0.05);
}
.card-header { padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid #eef1f6; }
.card-header h3 { color: #101828; font-size: 18px; }
label > span, .muted-mini, .summary-grid small { color: #60708d; }
input, select, textarea {
  background: #f8f9fc !important;
  border: 1px solid #dbe3ef !important;
  color: #132032 !important;
  border-radius: 16px !important;
  min-height: 48px;
  padding: 12px 14px;
  box-shadow: none !important;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: #ff4fbf !important;
  box-shadow: 0 0 0 4px rgba(255,79,191,0.14) !important;
  background: #fff !important;
}
.primary-btn, .secondary-btn, .danger-btn {
  min-height: 48px;
  border-radius: 16px;
  font-weight: 700;
}
.primary-btn {
  background: linear-gradient(135deg, #ff4fbf 0%, #ff7ad9 100%) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 18px 28px rgba(255,79,191,0.28);
}
.secondary-btn {
  background: #fff !important;
  color: #324158 !important;
  border: 1px solid #dee5f0 !important;
}
.primary-btn:hover { filter: brightness(0.98); transform: translateY(-1px); }
.search-input { min-width: 260px; }
.table-wrap {
  border: 1px solid #edf1f6;
  border-radius: 20px;
  overflow: auto;
  background: #fbfcfe;
}
.table-wrap table { border-collapse: separate; border-spacing: 0; }
.table-wrap th {
  position: sticky; top: 0; z-index: 2;
  background: #f7f9fc;
  color: #55657f;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.table-wrap td, .table-wrap th { border-bottom: 1px solid #edf1f6; padding: 12px 14px; }
.table-wrap tr:hover td { background: #fff7fc; }
.pos-layout { grid-template-columns: minmax(0, 1.25fr) 420px; align-items: start; }
#pos .card:first-child { padding-bottom: 10px; }
#pos .card:first-child .card-header h3,
#pos .card:last-child .card-header h3 { font-size: 20px; }
#posSearch {
  min-height: 56px !important;
  font-size: 18px;
  padding-left: 16px;
  background: #ffffff !important;
  border: 2px solid #ffd4ef !important;
}
#pos .suggestions { margin-top: 10px; border-radius: 16px; border: 1px solid #eef1f6; background:#fff; }
.cart-list { min-height: 360px; max-height: 52vh; overflow: auto; padding-right: 4px; }
.cart-item, .list-item {
  background: #fff;
  border: 1px solid #edf1f6;
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 10px;
}
.pos-summary {
  margin-top: 14px;
  border-radius: 20px;
  background: linear-gradient(180deg, #fff6fb 0%, #fff 100%);
  border: 1px solid #ffd8ef;
  padding: 18px;
}
.pos-summary.compact { display:none; }
.pos-total-panel {
  margin-top: 18px;
  padding: 20px;
  border-radius: 22px;
  background: linear-gradient(135deg, #171d2e 0%, #27314d 100%);
  color: #fff;
  box-shadow: 0 24px 40px rgba(23,29,46,.25);
}
.pos-total-label { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.74); }
.pos-total-giant { font-size: 48px; font-weight: 800; line-height: 1.05; margin-top: 10px; letter-spacing: -0.04em; }
.pos-total-note { margin-top: 10px; color: rgba(255,255,255,.75); font-size: 13px; }
.quick-pay-grid {
  display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:10px; margin-bottom: 2px;
}
.quick-pay-btn {
  min-height: 48px; border-radius: 16px; border:1px solid #e6ecf5; background:#f8f9fc; color:#22314a; font-weight:700; cursor:pointer;
}
.quick-pay-btn.active, .quick-pay-btn:hover { background:#fff1fa; border-color:#ff7ad9; color:#bf2f8e; }
.selected-customer-box {
  border: 1px solid #edf1f6;
  border-radius: 18px;
  padding: 16px;
  background: #fbfcfe;
}
.auth-screen {
  min-height: 100vh;
  display: grid; place-items: center;
  background: radial-gradient(circle at top left, rgba(255,79,191,.14), transparent 26%), linear-gradient(180deg, #f5f7fb 0%, #edf2f8 100%) !important;
}
.auth-card {
  width: min(480px, calc(100vw - 32px));
  background: rgba(255,255,255,0.96);
  border: 1px solid #e7ebf3;
  box-shadow: 0 28px 60px rgba(17,24,39,0.08);
  border-radius: 28px;
  padding: 28px;
}
.auth-brand { margin-bottom: 20px; }
.auth-card .form-grid input { background:#fff !important; }
.product-photo-preview {
  width: 132px; height: 132px; border-radius: 18px; overflow:hidden; background:#f8f9fc; border:1px dashed #d8dfeb; display:grid; place-items:center;
}
.product-photo-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.product-thumb, .table-thumb {
  width: 46px !important; height: 46px !important; min-width:46px; border-radius: 12px; object-fit: cover; background:#f2f4f8; border:1px solid #e6ecf5;
}
.section { display:none; }
.section.active { display:block; }
#installAppBtn:not(.hidden) { display:inline-flex !important; }
@media (max-width: 1180px) {
  .pos-layout { grid-template-columns: 1fr; }
  .topbar { flex-direction: column; align-items: stretch; }
}
@media (max-width: 920px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; min-height: auto; }
  .main-content { padding: 16px; }
  .stats-grid, .cards-grid.two-col { grid-template-columns: 1fr; }
}


.label-title{display:block;font-size:14px;font-weight:700;color:var(--text-soft);margin-bottom:10px;}
.promo-method-grid{display:flex;flex-wrap:wrap;gap:10px;}
.check-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);font-weight:700;color:var(--text);cursor:pointer;}
.check-chip input{accent-color:var(--primary);}
.check-chip:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px rgba(255,79,216,.12);background:#fff7fd;}
.mt-8{margin-top:8px;}

.finance-chart-card { margin-top: 18px; }
.finance-chart-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.finance-chart-controls { display:flex; gap:12px; flex-wrap:wrap; }
.finance-chart-controls label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--text-soft); }
.finance-chart-controls select { min-width: 220px; }
.finance-chart-legend { display:flex; gap:18px; flex-wrap:wrap; margin: 0 0 12px; color:var(--text-soft); font-size:13px; }
.legend-dot { width:12px; height:12px; border-radius:999px; display:inline-block; margin-right:8px; vertical-align:-1px; }
.legend-current { background: linear-gradient(135deg, var(--primary), #ff78e6); }
.legend-previous { background: #cfd5e2; }
.finance-chart {
  border:1px solid var(--line);
  border-radius:18px;
  background: linear-gradient(180deg, #fff, #fbfcff);
  padding:16px;
}
.finance-chart-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(48px, 1fr));
  gap:10px;
  align-items:end;
  min-height:260px;
}
.finance-chart-col { display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:8px; min-width:0; }
.finance-bars { height:220px; width:100%; display:flex; align-items:flex-end; justify-content:center; gap:6px; }
.finance-bar {
  width:16px;
  border-radius:999px 999px 6px 6px;
  min-height:4px;
  position:relative;
}
.finance-bar.current { background: linear-gradient(180deg, var(--primary), #ff78e6); box-shadow: 0 8px 20px rgba(255,78,214,.18); }
.finance-bar.previous { background: #d9dfeb; }
.finance-bar:hover::after {
  content: attr(data-value);
  position:absolute;
  left:50%; transform:translateX(-50%);
  bottom: calc(100% + 8px);
  background:#141a29; color:#fff; font-size:12px;
  padding:6px 8px; border-radius:8px; white-space:nowrap; z-index:4;
}
.finance-chart-label { font-size:12px; color:var(--text-soft); text-align:center; line-height:1.1; }
.finance-chart-empty { padding:32px; text-align:center; color:var(--text-soft); }

.settings-static-note{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft);color:var(--muted);font-size:.95rem;line-height:1.45}


.form-note{padding:10px 12px;border-radius:12px;background:#fff4e8;color:#7a4a09;border:1px solid #ffd6aa;font-size:.92rem}
.variation-panel{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fbfcff}
.variation-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.variation-panel-head h4{margin:0 0 4px 0;font-size:1rem}
.variation-panel-head p{margin:0;color:var(--muted);font-size:.9rem}
.variation-panel-head.compact{margin-bottom:10px}
.variation-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:10px}
.variation-actions-row{margin-bottom:12px}
.small-empty{padding:14px;border:1px dashed var(--border);border-radius:14px;background:#fff}
.product-variation-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.product-variation-chip{display:inline-flex;align-items:center;gap:6px;background:#f1f4fb;border:1px solid #dde5f2;border-radius:999px;padding:4px 10px;font-size:.82rem;color:#3a4761}
.stock-variation-grid{display:grid;gap:10px}
.stock-variation-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#fff}
.stock-variation-row strong{display:block}
.stock-variation-row small{color:var(--muted)}
.stock-variation-row input{height:42px}

.stock-variation-tools{display:grid;gap:10px;margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:16px;background:#fff}
.compact-variation-grid{margin-bottom:0}
.stock-variation-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.stock-variation-row-rich{grid-template-columns:minmax(0,1fr) 110px auto}
.ghost-danger-btn{height:42px;padding:0 14px;border-radius:12px;border:1px solid #f5c2c7;background:#fff5f5;color:#c62828;font-weight:700;cursor:pointer}
.ghost-danger-btn:hover{background:#ffe8e8}
.app-modal{position:fixed;inset:0;background:rgba(16,24,40,.48);display:flex;align-items:center;justify-content:center;z-index:60;padding:18px}
.app-modal.hidden{display:none}
.app-modal-card{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(18,28,45,.2);border:1px solid #e6ebf5}
.app-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;border-bottom:1px solid #eef1f6}
.app-modal-header h3{margin:0 0 4px;font-size:1.2rem}
.app-modal-header p{margin:0;color:var(--muted)}
.icon-close-btn{width:38px;height:38px;border-radius:50%;border:1px solid #d8e1ef;background:#fff;font-size:1.4rem;cursor:pointer}
.variation-modal-card .form-actions{padding:0 22px 22px}
.variation-modal-body{padding:18px 22px;display:grid;gap:18px}
.variation-picker-block small{display:block;margin-bottom:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.choice-grid{display:flex;flex-wrap:wrap;gap:10px}
.choice-chip{border:1px solid #d7deea;background:#fff;border-radius:14px;padding:10px 14px;cursor:pointer;font-weight:700;color:#334155;transition:.16s}
.choice-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:0 10px 22px var(--primary-soft)}
.choice-chip.disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.variation-stock-info{padding:14px 16px;border-radius:16px;background:#f8faff;border:1px solid #e6edf9;color:#3b4a67;font-weight:600}
.variation-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.78rem;font-weight:700;border:1px solid #bfdbfe}
@media (max-width: 860px){.variation-form-grid{grid-template-columns:1fr}.stock-variation-row,.stock-variation-row-rich{grid-template-columns:1fr}.stock-variation-row-actions{justify-content:flex-start}.app-modal{padding:10px}.app-modal-card{border-radius:18px}}


.dashboard-alert-wrap{margin-bottom:14px}.dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;border:1px solid #f0d79d;background:#fff8e8}.dashboard-alert.success{background:#eefbf3;border-color:#ccebd8}.dashboard-alert.warning{background:#fff8e8;border-color:#f0d79d}.dashboard-alert strong{display:block;font-size:16px}.dashboard-alert small{display:block;color:#667085;margin-top:4px}.table-actions-stack{display:flex;flex-wrap:wrap;gap:8px}


/* ===== Layout polish for PDV + catálogo selling version ===== */
.main-content {
  padding: 26px;
}
.topbar {
  padding: 22px 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.96));
}
.topbar-right {
  gap: 12px 14px;
}
.stat-card {
  position: relative;
  overflow: hidden;
  min-height: 122px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.stat-card::after {
  content: "";
  position: absolute;
  inset: auto -28px -30px auto;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,79,196,.12), rgba(255,79,196,0));
}
.card,
.stat-card,
.topbar,
.app-modal-card,
.variation-panel,
.table-wrap {
  box-shadow: 0 18px 42px rgba(20, 28, 45, 0.07);
}
.card-header h3 {
  font-size: 19px;
}
.form-grid input,
.form-grid select,
.card input,
.card select,
.search-input,
.selected-inline,
#cashChange,
#backupRestoreStatus,
#resetStatus,
textarea {
  min-height: 50px;
  background: #fff;
  border-color: var(--line-strong);
}
textarea {
  min-height: 110px;
  padding: 14px;
  border-radius: 16px;
}
.form-grid label span,
.card label span,
.input-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.primary-btn,
.secondary-btn,
.danger-btn {
  min-height: 48px;
  border-radius: 16px;
  padding: 0 18px;
}
.action-btn {
  min-height: 38px;
  border-radius: 12px;
}
.table-wrap {
  border-radius: 22px;
  background: #fff;
}
.table th {
  background: linear-gradient(180deg, #fafbff, #f4f7fc);
}
.table td {
  background: #fff;
}
.table tbody tr:hover td {
  background: #faf6fd;
}
.variation-panel {
  padding: 18px;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
}
.variation-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.variation-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#productVariationsEmpty,
.small-empty {
  border: 1px dashed var(--line-strong);
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  color: var(--muted);
}
.stock-variation-tools {
  background: linear-gradient(180deg, #fff, #fbfcff);
  border-radius: 18px;
}
.stock-variation-row,
.stock-variation-row-rich {
  min-height: 76px;
  border-radius: 16px;
  border-color: var(--line-strong);
  background: linear-gradient(180deg, #fff, #fbfcff);
}
.stock-variation-row input,
.stock-variation-row-rich input {
  background: #fff;
}
.choice-grid {
  gap: 12px;
}
.choice-chip {
  min-height: 50px;
  border-radius: 16px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.variation-picker-block {
  display: grid;
  gap: 10px;
}
.variation-picker-block > strong,
.variation-picker-block > .title,
.variation-modal-body strong {
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted);
}
.variation-stock-info {
  min-height: 62px;
  display: flex;
  align-items: center;
  border-radius: 18px;
  background: linear-gradient(180deg, #f9fbff, #f2f6ff);
}
.icon-close-btn {
  width: 44px;
  height: 44px;
  border-radius: 16px;
}
#variationModalConfirm,
#variationModalCancel {
  min-width: 170px;
}
/* more polished product/stock area */
#products .cards-grid.two-col,
#inventory .cards-grid.two-col {
  align-items: start;
}
#products .card:first-child,
#inventory .card:first-child {
  position: sticky;
  top: 20px;
}
/* Dashboard alert */
.dashboard-alert-wrap {
  display: grid;
  gap: 14px;
}
/* mobile + tablet */
@media (max-width: 1180px) {
  .main-content { padding: 18px; }
  #products .card:first-child,
  #inventory .card:first-child { position: static; }
}
@media (max-width: 980px) {
  .sidebar {
    padding: 12px 14px 14px;
  }
  .brand {
    padding-bottom: 12px;
    margin-bottom: 4px;
  }
  .nav-menu {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(120px, 1fr);
    overflow-x: auto;
    padding-bottom: 4px;
    gap: 8px;
    scrollbar-width: none;
  }
  .nav-menu::-webkit-scrollbar { display: none; }
  .nav-btn {
    min-width: 120px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
  }
  .nav-ico {
    width: 42px;
    height: 42px;
  }
  .topbar {
    padding: 18px;
    border-radius: 22px;
  }
  .topbar h2 {
    font-size: 30px;
  }
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .cards-grid.pos-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .main-content {
    padding: 12px;
  }
  .topbar {
    padding: 16px;
    gap: 14px;
  }
  .topbar h2 {
    font-size: 26px;
  }
  .stats-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .card,
  .stat-card {
    border-radius: 20px;
    padding: 16px;
  }
  .form-grid,
  .variation-form-grid,
  .summary-grid,
  .customer-summary {
    grid-template-columns: 1fr !important;
  }
  .table {
    min-width: 620px;
  }
  .stock-variation-row,
  .stock-variation-row-rich {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .app-modal {
    align-items: flex-end;
    padding: 8px;
  }
  .app-modal-card {
    width: 100%;
    max-height: 94vh;
    border-radius: 24px 24px 0 0;
  }
  .app-modal-header,
  .variation-modal-body,
  .variation-modal-card .form-actions {
    padding-left: 16px;
    padding-right: 16px;
  }
  .choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .choice-chip {
    width: 100%;
  }
}


/* Ajustes visuais catálogo e promoções */
.hero-card-clean{display:block;}
.hero-card-clean .search-row{margin-top:0;}

.check-chip{position:relative;overflow:hidden;min-height:58px;padding:12px 18px;border-radius:18px;transition:.18s ease;background:linear-gradient(180deg,#ffffff 0%,#fafbff 100%);box-shadow:0 4px 14px rgba(16,24,40,.04);}
.check-chip input{position:absolute;opacity:0;pointer-events:none;}
.check-chip span{display:inline-flex;align-items:center;gap:10px;line-height:1.1;}
.check-chip span::before{content:"";width:20px;height:20px;border-radius:7px;border:1.8px solid #cfd6e4;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px rgba(16,24,40,.05);flex:0 0 20px;transition:.18s ease;}
.check-chip:hover{transform:translateY(-1px);border-color:#c8d1e0;box-shadow:0 10px 22px rgba(16,24,40,.08);}
.check-chip:has(input:checked){border-color:var(--primary);background:linear-gradient(180deg,#fff7fd 0%,#fff 100%);box-shadow:0 0 0 3px rgba(255,79,216,.10),0 12px 24px rgba(255,79,216,.08);color:var(--text);}
.check-chip:has(input:checked) span::before{content:"✓";font-size:13px;font-weight:900;color:#fff;background:linear-gradient(180deg,var(--primary) 0%, var(--primary-2) 100%);border-color:transparent;}
.promo-method-grid{gap:12px;}
@media (max-width: 700px){
  .promo-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .check-chip{width:100%;justify-content:flex-start;padding:12px 14px;min-height:54px;}
  .check-chip span{font-size:14px;}
}


.check-chip.is-checked{border-color:var(--primary);background:linear-gradient(180deg,#fff7fd 0%,#fff 100%);box-shadow:0 0 0 3px rgba(255,79,216,.10),0 12px 24px rgba(255,79,216,.08);color:var(--text);}
.check-chip.is-checked span::before{content:"✓";font-size:13px;font-weight:900;color:#fff;background:linear-gradient(180deg,var(--primary) 0%, var(--primary-2) 100%);border-color:transparent;}
.check-chip.is-disabled{opacity:.72;}


/* ===== Final professional polish - desktop + mobile ===== */
:root {
  --surface-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
  --surface-shadow-soft: 0 10px 24px rgba(15, 23, 42, 0.05);
}
body {
  background:
    radial-gradient(circle at top left, rgba(255, 79, 191, 0.10), transparent 24%),
    radial-gradient(circle at top right, rgba(91, 166, 255, 0.08), transparent 20%),
    linear-gradient(180deg, #f6f8fc 0%, #edf2f8 100%);
}
.sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,.96));
  backdrop-filter: blur(16px);
}
.brand {
  padding-bottom: 20px;
}
.brand-logo {
  width: 58px;
  height: 58px;
  border-radius: 20px;
}
.nav-btn {
  min-height: 62px;
  border-radius: 18px;
  padding: 12px 14px;
}
.nav-btn.active {
  background: linear-gradient(135deg, rgba(255,79,216,.14), rgba(255,123,207,.10));
  border-color: rgba(233,81,184,.30);
  color: var(--text);
  box-shadow: 0 10px 24px rgba(233,81,184,.10);
}
.nav-btn.active .nav-ico {
  box-shadow: 0 12px 24px rgba(233,81,184,.22);
}
.nav-btn span:last-child {
  font-size: 1rem;
}
.user-badge,
.auth-theme-switch,
.settings-static-note,
.selected-customer-box,
.selected-inline,
.customer-picker,
.summary-grid > div,
.mini-card,
.logo-preview,
.product-photo-preview,
.promo-notice,
.dashboard-alert,
.empty,
.list-item,
.kpi-card,
.metric-card {
  box-shadow: var(--surface-shadow-soft);
}
.main-content {
  max-width: 1680px;
}
.topbar {
  position: sticky;
  top: 14px;
  z-index: 20;
  box-shadow: var(--surface-shadow);
}
.topbar-right {
  align-items: center;
}
#currentDate {
  font-weight: 600;
}
.header-badge {
  min-height: 38px;
  border-radius: 999px;
  padding: 0 14px;
  font-weight: 700;
}
.stats-grid {
  gap: 16px;
}
.stat-card {
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid rgba(216,223,235,.95);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}
.stat-card span {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  font-weight: 700;
}
.stat-card strong {
  margin-top: 8px;
  font-size: clamp(1.3rem, 2vw, 1.9rem);
  line-height: 1.05;
  letter-spacing: -.03em;
}
.cards-grid {
  gap: 18px;
}
.card {
  border-radius: 24px;
  border: 1px solid rgba(216,223,235,.95);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,252,255,.98));
}
.card-header {
  align-items: center;
  gap: 12px;
}
.card-header h3 {
  letter-spacing: -.02em;
}
.table-wrap {
  overflow: auto;
}
.table {
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
}
.table th {
  position: sticky;
  top: 0;
  z-index: 1;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.table td {
  vertical-align: middle;
}
.table tbody tr {
  transition: background .16s ease;
}
.table tbody tr:hover td {
  background: #fff7fd;
}
.search-input,
.form-grid input,
.form-grid select,
.form-grid textarea,
.card input,
.card select,
.card textarea,
.input,
.select,
textarea {
  border-radius: 16px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(233,81,184,.45) !important;
  box-shadow: 0 0 0 4px rgba(233,81,184,.10);
}
.form-grid {
  gap: 14px;
}
.form-grid label,
.card label {
  gap: 8px;
}
.form-grid label span,
.card label span,
.input-label,
.label-title,
.variation-picker-block small {
  color: #6b7893;
}
.primary-btn,
.secondary-btn,
.danger-btn,
.action-btn,
.quick-pay-btn,
.file-btn {
  font-weight: 800;
  letter-spacing: -.01em;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.primary-btn:hover,
.secondary-btn:hover,
.danger-btn:hover,
.action-btn:hover,
.quick-pay-btn:hover,
.file-btn:hover {
  transform: translateY(-1px);
}
.primary-btn {
  box-shadow: 0 14px 28px rgba(233,81,184,.22);
}
.secondary-btn {
  background: linear-gradient(180deg, #ffffff, #f8faff);
}
.form-actions {
  gap: 10px;
  flex-wrap: wrap;
}
.product-photo-box {
  align-items: center;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
  border: 1px solid rgba(216,223,235,.95);
}
.product-photo-preview {
  width: 150px;
  height: 150px;
  border-radius: 22px;
  background: linear-gradient(180deg, #f8faff, #eef3fb);
}
.file-name {
  color: var(--muted);
  font-size: 14px;
}
.section-pill,
.badge,
.variation-badge,
.tag,
.inline-tag {
  border-radius: 999px;
}
.variation-panel {
  border-radius: 22px;
}
.variation-panel-head {
  margin-bottom: 14px;
}
.variation-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.choice-chip {
  min-width: 92px;
}
.pos-layout,
.cards-grid.pos-layout {
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  align-items: start;
}
.pos-layout .card,
.cards-grid.pos-layout .card {
  min-width: 0;
}
#posCartTable .table,
#salesTable .table,
#customersTable .table,
#productsTable .table,
#promotionsTable .table,
#onlineOrdersTable .table {
  min-width: 780px;
}
.pos-total-box {
  border-radius: 24px;
}
.pos-total-giant {
  font-size: clamp(2.2rem, 5vw, 3.25rem);
}
.pos-cart-row,
.online-order-card,
.sale-card,
.customer-card,
.finance-mini-card {
  border-radius: 18px;
  border: 1px solid rgba(216,223,235,.92);
  background: linear-gradient(180deg, #fff, #fbfcff);
  box-shadow: var(--surface-shadow-soft);
}
.stock-variation-row,
.stock-variation-row-rich,
.cart-summary-box,
.customer-summary,
.cash-box,
.report-box {
  box-shadow: var(--surface-shadow-soft);
}
.dashboard-alert {
  border-radius: 20px;
}
.check-chip {
  min-width: 150px;
}
.check-chip span {
  font-weight: 800;
}
.auth-card {
  padding: 32px;
}
.auth-brand h1 {
  font-size: 30px;
  letter-spacing: -.03em;
}
/* Better mobile experience */
@media (max-width: 980px) {
  .app-shell {
    grid-template-columns: 1fr;
  }
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    min-height: auto;
    padding: 12px 12px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .sidebar-footer {
    display: none;
  }
  .brand {
    border-bottom: 0;
    padding: 4px 4px 10px;
    margin-bottom: 2px;
  }
  .brand h1 {
    font-size: 16px;
  }
  .main-content {
    padding: 14px;
  }
  .topbar {
    top: 12px;
    margin-bottom: 16px;
  }
  .topbar-right {
    justify-content: flex-start;
  }
  .cards-grid.two-col,
  .cards-grid.pos-layout,
  .pos-layout {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .nav-menu {
    grid-auto-columns: minmax(108px, 1fr);
    gap: 8px;
  }
  .nav-btn {
    min-width: 108px;
    min-height: 96px;
    padding: 12px 10px;
    align-items: flex-start;
  }
  .nav-btn span:last-child {
    font-size: 13px;
    line-height: 1.1;
  }
  .nav-ico {
    width: 40px;
    height: 40px;
  }
  .topbar {
    border-radius: 20px;
    padding: 16px;
  }
  .topbar h2 {
    font-size: 28px;
  }
  .topbar p {
    font-size: 13px;
  }
  .header-badge,
  .section-pill,
  .badge {
    font-size: 12px;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .card {
    border-radius: 20px;
  }
  .card-header {
    flex-wrap: wrap;
  }
  .primary-btn,
  .secondary-btn,
  .danger-btn,
  .action-btn,
  .quick-pay-btn {
    width: 100%;
  }
  .form-actions > * {
    flex: 1 1 100%;
  }
  .product-photo-box {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .product-photo-preview {
    width: 100%;
    max-width: 180px;
    margin: 0 auto;
  }
  .variation-form-grid,
  .summary-grid,
  .customer-summary,
  .checkout-grid {
    grid-template-columns: 1fr !important;
  }
  .table {
    min-width: 640px;
  }
  .check-chip {
    min-width: 0;
  }
}


/* ===== final polish: navegação, formulários, tabelas e responsividade ===== */
.mobile-menu-btn,
.sidebar-overlay { display: none; }

.main-content {
  min-width: 0;
}

.section {
  animation: sectionFade .18s ease;
}
@keyframes sectionFade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 18;
  backdrop-filter: blur(12px);
}

.card, .table-wrap, .stat-card, .settings-panel-card, .auth-card, .promo-result-card, .selected-customer-box, .customer-picker, .selected-inline, .summary-grid > div {
  box-shadow: 0 16px 40px rgba(16, 24, 40, 0.07) !important;
}

.nav-btn {
  min-height: 62px;
  border-radius: 22px;
  transition: transform .14s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.nav-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(233,81,184,.10);
}
.nav-btn.active {
  box-shadow: 0 18px 34px rgba(233,81,184,.18);
}

.brand-logo {
  box-shadow: 0 18px 36px rgba(233,81,184,.2);
}

.primary-btn, .secondary-btn, .danger-btn, .ghost-danger-btn, .action-btn, .quick-pay-btn {
  min-height: 48px;
  border-radius: 16px !important;
  font-weight: 700;
}
.primary-btn {
  box-shadow: 0 16px 32px rgba(233,81,184,.22);
}
.primary-btn:hover, .secondary-btn:hover, .danger-btn:hover, .quick-pay-btn:hover {
  transform: translateY(-1px);
}

.form-grid input, .form-grid select, .form-grid textarea,
.variation-form-grid input, .variation-form-grid select, .variation-form-grid textarea,
.search-box input, .search-box select, .search-box textarea,
.table-toolbar input, .table-toolbar select, .table-toolbar textarea {
  min-height: 52px;
  border-radius: 16px !important;
}
textarea {
  min-height: 120px;
}

.form-grid label, .variation-form-grid label {
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(250,251,255,.96));
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 12px;
}
.form-grid label span, .variation-form-grid label span {
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.table-wrap {
  overflow: auto;
  border-radius: 22px !important;
}
.table-wrap table {
  min-width: 760px;
}
.table-wrap th {
  position: sticky;
  top: 0;
  z-index: 1;
}
.table-wrap tr:hover td {
  background: linear-gradient(180deg, #fff9fd, #fff7fb) !important;
}
.table-actions-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.summary-grid, .dashboard-grid, .stats-grid, .cards-grid {
  align-items: stretch;
}

.product-photo-preview, .logo-preview {
  border-radius: 24px;
  overflow: hidden;
}

.stock-variation-row-rich, .stock-variation-row {
  border-radius: 20px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #ffffff, #fbfcff);
  padding: 14px;
}
.stock-variation-row-rich input, .stock-variation-row input {
  min-height: 46px;
  border-radius: 14px;
}

.app-modal {
  backdrop-filter: blur(8px);
}
.app-modal-card {
  border-radius: 28px;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.18);
}

.pdv-shell, .pos-grid, .payment-grid, .checkout-grid {
  align-items: start;
}
#cartItems .cart-item, .cart-item {
  border-radius: 18px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #ffffff, #fbfcff);
}

.payment-method-chip, .promo-method-chip, .chip-button {
  min-height: 64px;
  border-radius: 20px !important;
  padding: 12px 14px;
}

#onlineOrdersTable .action-btn,
#salesTable .action-btn,
#customersTable .action-btn,
#productsTable .action-btn,
#stockTable .action-btn {
  min-width: 110px;
}

@media (max-width: 980px) {
  .app-shell {
    grid-template-columns: 1fr;
  }
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 320px);
    z-index: 40;
    transform: translateX(-110%);
    transition: transform .22s ease;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
  }
  body.sidebar-open .sidebar {
    transform: translateX(0);
  }
  .sidebar-overlay {
    display: block;
    position: fixed;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, .34);
    z-index: 35;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease;
  }
  body.sidebar-open .sidebar-overlay {
    opacity: 1;
    visibility: visible;
  }
  .mobile-menu-btn {
    display: inline-flex;
    width: 52px;
    height: 52px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, #fff, #f8faff);
    border-radius: 16px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
    margin-bottom: 12px;
  }
  .mobile-menu-btn span {
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: var(--text);
    display: block;
  }
  .topbar {
    padding-top: 16px !important;
  }
  .topbar-right {
    width: 100%;
    flex-wrap: wrap;
  }
  .topbar-right > * {
    width: 100%;
  }
  .table-wrap table {
    min-width: 680px;
  }
}

@media (max-width: 640px) {
  .main-content {
    padding: 12px;
  }
  .topbar {
    padding: 14px !important;
    border-radius: 22px !important;
  }
  .card, .table-wrap, .stat-card, .settings-panel-card, .auth-card, .promo-result-card, .selected-customer-box, .customer-picker, .selected-inline {
    border-radius: 20px !important;
  }
  .form-actions {
    flex-direction: column;
  }
  .form-actions > * {
    width: 100%;
  }
  .primary-btn, .secondary-btn, .danger-btn, .ghost-danger-btn, .action-btn, .quick-pay-btn {
    width: 100%;
  }
}

/* ===== ajustes mantendo base boa + produtos/estoque empilhados ===== */
#products .cards-grid.two-col,
#stock .cards-grid.two-col {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px;
}

#products .card,
#stock .card {
  width: 100%;
  min-width: 0;
}

#products .card:first-child,
#stock .card:first-child {
  position: static !important;
}

#products .card-header,
#stock .card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

#products .search-input,
#stock .search-input {
  width: min(100%, 360px);
}

#products .form-grid,
#stock .form-grid {
  gap: 16px;
}

#products .form-grid label,
#stock .form-grid label {
  min-width: 0;
}

#products .table-wrap,
#stock .table-wrap {
  margin-top: 10px;
}

#products .product-photo-box {
  margin-top: 4px;
}

#stock .variation-panel {
  margin-top: 10px;
}

#stock .variation-panel-head.compact {
  margin-bottom: 12px;
}

#stock #stockVariationsTable .stock-variation-row-rich,
#stock #stockVariationsTable .stock-variation-row {
  margin-bottom: 12px;
}

#stock #stockTable .table,
#products #productsTable .table {
  min-width: 860px;
}

#products .section-pill,
#stock .section-pill {
  white-space: nowrap;
}

@media (max-width: 900px) {
  #products .search-input,
  #stock .search-input {
    width: 100%;
  }

  #products .card-header,
  #stock .card-header {
    align-items: stretch;
  }

  #products #productsTable .table,
  #stock #stockTable .table {
    min-width: 720px;
  }
}


/* PDV fullscreen */
body.pdv-fullscreen-mode {
  grid-template-columns: 1fr !important;
}
body.pdv-fullscreen-mode .sidebar,
body.pdv-fullscreen-mode .sidebar-overlay,
body.pdv-fullscreen-mode .topbar > :not(.topbar-title-block):not(div:first-of-type),
body.pdv-fullscreen-mode #mobileMenuBtn,
body.pdv-fullscreen-mode .topbar-statuses,
body.pdv-fullscreen-mode #currentDate,
body.pdv-fullscreen-mode #installAppBtn,
body.pdv-fullscreen-mode #quickOpenCashBtn {
  display: none !important;
}
body.pdv-fullscreen-mode .main-content {
  padding: 0 !important;
}
body.pdv-fullscreen-mode .topbar {
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 14px 18px !important;
  position: sticky;
  top: 0;
  z-index: 20;
}
body.pdv-fullscreen-mode .topbar-right {
  display: flex !important;
}
body.pdv-fullscreen-mode #togglePdvFullscreenBtn {
  display: inline-flex !important;
}
body.pdv-fullscreen-mode #pos.section.active {
  padding: 18px !important;
}
body.pdv-fullscreen-mode #pos .cards-grid.pos-layout {
  gap: 18px;
}
@media (max-width: 980px) {
  body.pdv-fullscreen-mode .topbar {
    align-items: stretch;
  }
  body.pdv-fullscreen-mode .topbar-right {
    justify-content: flex-end;
  }
}

/* Strong PDV fullscreen fix */
body.pdv-fullscreen-mode #app.app-shell {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
}
body.pdv-fullscreen-mode .sidebar,
body.pdv-fullscreen-mode .sidebar-overlay {
  display: none !important;
}
body.pdv-fullscreen-mode .main-content {
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 18px 18px !important;
}
body.pdv-fullscreen-mode .topbar {
  width: 100% !important;
}
body.pdv-fullscreen-mode #pos.section.active {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 18px 0 0 !important;
}
body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
body.pdv-fullscreen-mode #pos .pos-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(420px, .85fr) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 18px !important;
  align-items: start !important;
}
body.pdv-fullscreen-mode #pos .card {
  width: 100% !important;
  min-width: 0 !important;
}
body.pdv-fullscreen-mode #pos #cartList {
  max-height: 62vh !important;
}
@media (max-width: 980px) {
  body.pdv-fullscreen-mode .main-content {
    padding: 0 12px 12px !important;
  }
  body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
  body.pdv-fullscreen-mode #pos .pos-layout {
    grid-template-columns: 1fr !important;
  }
}


/* PDV professional fullscreen and modal */
body.pdv-fullscreen-mode #pos .card:first-child {
  padding-bottom: 18px !important;
}
body.pdv-fullscreen-mode #pos .card:last-child {
  padding-bottom: 18px !important;
}
body.pdv-fullscreen-mode #posSearch {
  min-height: 68px !important;
  font-size: 22px !important;
  border-width: 2px !important;
}
body.pdv-fullscreen-mode #pos .card-header h3 {
  font-size: 28px !important;
}
body.pdv-fullscreen-mode #pos .quick-pay-btn {
  min-height: 62px !important;
  font-size: 20px !important;
  border-radius: 18px !important;
}
body.pdv-fullscreen-mode #pos .form-grid label span,
body.pdv-fullscreen-mode #pos .selected-customer-box small,
body.pdv-fullscreen-mode #pos .muted-mini {
  font-size: 14px !important;
}
body.pdv-fullscreen-mode #pos input,
body.pdv-fullscreen-mode #pos select,
body.pdv-fullscreen-mode #pos textarea {
  min-height: 56px !important;
  font-size: 18px !important;
}
body.pdv-fullscreen-mode #pos .pos-summary {
  padding: 22px !important;
}
body.pdv-fullscreen-mode #pos .pos-summary strong {
  font-size: 26px !important;
}
body.pdv-fullscreen-mode #pos .total-line strong,
body.pdv-fullscreen-mode #posTotal {
  font-size: 44px !important;
  line-height: 1 !important;
}
body.pdv-fullscreen-mode #pos #goPaymentBtn,
body.pdv-fullscreen-mode #pos #clearCartBtn,
body.pdv-fullscreen-mode #pos #finishSaleBtn {
  min-height: 58px !important;
  font-size: 18px !important;
}
body.pdv-fullscreen-mode #pos #cartList {
  min-height: 56vh !important;
  max-height: 56vh !important;
}
#pos #variationModal.app-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
}
body.pdv-fullscreen-mode #pos #variationModal.app-modal {
  padding: 24px !important;
  align-items: center !important;
  justify-content: center !important;
}
body.pdv-fullscreen-mode #pos #variationModal .app-modal-card {
  width: min(920px, calc(100vw - 48px)) !important;
  max-height: 90vh !important;
  border-radius: 28px !important;
}
body.pdv-fullscreen-mode #pos #variationModal .app-modal-header h3 {
  font-size: 2rem !important;
}
body.pdv-fullscreen-mode #pos #variationModal .app-modal-header p {
  font-size: 1.15rem !important;
}
body.pdv-fullscreen-mode #pos #variationModal .choice-grid {
  gap: 14px !important;
}
body.pdv-fullscreen-mode #pos #variationModal [data-choice-color],
body.pdv-fullscreen-mode #pos #variationModal [data-choice-size] {
  min-height: 64px !important;
  min-width: 120px !important;
  font-size: 1.4rem !important;
  border-radius: 18px !important;
}
body.pdv-fullscreen-mode #pos #variationStockInfo {
  min-height: 72px !important;
  font-size: 1.25rem !important;
  padding: 18px 22px !important;
}
body.pdv-fullscreen-mode #pos #variationModalConfirm,
body.pdv-fullscreen-mode #pos #variationModalCancel {
  min-height: 60px !important;
  font-size: 1.2rem !important;
  min-width: 220px !important;
}
@media (max-width: 980px) {
  body.pdv-fullscreen-mode #pos #variationModal .app-modal-card {
    width: calc(100vw - 20px) !important;
  }
  body.pdv-fullscreen-mode #pos #variationModal [data-choice-color],
  body.pdv-fullscreen-mode #pos #variationModal [data-choice-size] {
    min-width: 92px !important;
    font-size: 1.1rem !important;
  }
}


/* Fullscreen PDV scroll and reachability fix */
html:has(body.pdv-fullscreen-mode),
body.pdv-fullscreen-mode {
  height: 100%;
  overflow: hidden !important;
}
body.pdv-fullscreen-mode #app.app-shell {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}
body.pdv-fullscreen-mode .main-content {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 26px !important;
}
body.pdv-fullscreen-mode #pos.section.active {
  min-height: calc(100vh - 84px) !important;
  padding-bottom: 28px !important;
}
body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
body.pdv-fullscreen-mode #pos .pos-layout {
  min-height: auto !important;
  align-items: start !important;
}
body.pdv-fullscreen-mode #pos .card {
  height: auto !important;
}
body.pdv-fullscreen-mode #pos #cartList {
  min-height: 220px !important;
  max-height: none !important;
}
body.pdv-fullscreen-mode #pos .card:last-child {
  position: sticky;
  top: 92px;
  align-self: start;
}
@media (max-width: 1180px) {
  body.pdv-fullscreen-mode #pos .card:last-child {
    position: static;
    top: auto;
  }
}

/* ===== FULLSCREEN PDV FINAL FIX ===== */
body.pdv-fullscreen-mode .sidebar,
body.pdv-fullscreen-mode .app-header,
body.pdv-fullscreen-mode .page-header {
  display: none !important;
}

body.pdv-fullscreen-mode .main-content {
  margin: 0 !important;
  padding: 10px !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

body.pdv-fullscreen-mode .pdv-layout {
  display: grid !important;
  grid-template-columns: 1.3fr 0.7fr !important;
  gap: 12px !important;
  min-height: 100vh !important;
}

body.pdv-fullscreen-mode #pdvSection,
body.pdv-fullscreen-mode .pdv-layout {
  max-height: 100vh;
  overflow-y: auto;
}

body.pdv-fullscreen-mode input,
body.pdv-fullscreen-mode select {
  height: 42px !important;
  font-size: 0.9rem !important;
}

body.pdv-fullscreen-mode .payment-btn {
  min-height: 48px !important;
  font-size: 0.9rem !important;
}

body.pdv-fullscreen-mode .cart-item {
  padding: 8px 10px !important;
}


/* =========================
   AJUSTES FINAIS DE LAYOUT
   sem mexer na lógica
========================= */

/* Caixa: empilhado, igual produtos/estoque */
#cash .cards-grid.two-col {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

/* Clientes: tudo empilhado e mais espaçoso */
#customers .cards-grid.two-col,
#customers .customers-layout {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

#customers .card-header,
#cash .card-header {
  align-items: center;
  gap: 12px;
}

#customers .search-input,
#cash .search-input {
  width: 100%;
  max-width: 420px;
}

#customers .table-wrap,
#cash .table-wrap {
  overflow-x: auto;
}

/* PDV tela cheia mais equilibrado, menos gigante */
body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
body.pdv-fullscreen-mode #pos .pos-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr) !important;
  gap: 14px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

body.pdv-fullscreen-mode .main-content {
  padding: 0 12px 18px !important;
}

body.pdv-fullscreen-mode #pos.section.active {
  padding: 14px 0 0 !important;
}

body.pdv-fullscreen-mode #pos .card {
  padding: 16px !important;
  border-radius: 18px !important;
}

body.pdv-fullscreen-mode #pos .card-header h3 {
  font-size: 20px !important;
}

body.pdv-fullscreen-mode #posSearch {
  min-height: 52px !important;
  font-size: 17px !important;
}

body.pdv-fullscreen-mode #pos input,
body.pdv-fullscreen-mode #pos select,
body.pdv-fullscreen-mode #pos textarea {
  min-height: 46px !important;
  font-size: 15px !important;
}

body.pdv-fullscreen-mode #pos .quick-pay-btn,
body.pdv-fullscreen-mode #pos #goPaymentBtn,
body.pdv-fullscreen-mode #pos #clearCartBtn,
body.pdv-fullscreen-mode #pos #finishSaleBtn {
  min-height: 48px !important;
  font-size: 15px !important;
  border-radius: 14px !important;
}

body.pdv-fullscreen-mode #pos .pos-summary {
  padding: 16px !important;
}

body.pdv-fullscreen-mode #pos .pos-summary strong {
  font-size: 20px !important;
}

body.pdv-fullscreen-mode #pos .total-line strong,
body.pdv-fullscreen-mode #posTotal {
  font-size: 32px !important;
}

body.pdv-fullscreen-mode #pos #cartList {
  min-height: 240px !important;
  max-height: none !important;
}

body.pdv-fullscreen-mode #pos .cart-item {
  padding: 10px 12px !important;
}

body.pdv-fullscreen-mode #pos .form-grid label span,
body.pdv-fullscreen-mode #pos .selected-customer-box small,
body.pdv-fullscreen-mode #pos .muted-mini {
  font-size: 12px !important;
}

/* Modal de cor/tamanho menos exagerado */
body.pdv-fullscreen-mode #pos #variationModal .app-modal-card {
  width: min(760px, calc(100vw - 32px)) !important;
  max-height: 88vh !important;
  border-radius: 22px !important;
}

body.pdv-fullscreen-mode #pos #variationModal .app-modal-header h3 {
  font-size: 1.45rem !important;
}

body.pdv-fullscreen-mode #pos #variationModal .app-modal-header p {
  font-size: 0.98rem !important;
}

body.pdv-fullscreen-mode #pos #variationModal [data-choice-color],
body.pdv-fullscreen-mode #pos #variationModal [data-choice-size] {
  min-height: 52px !important;
  min-width: 92px !important;
  font-size: 1rem !important;
  border-radius: 14px !important;
}

body.pdv-fullscreen-mode #pos #variationStockInfo {
  min-height: 56px !important;
  font-size: 1rem !important;
  padding: 14px 16px !important;
}

body.pdv-fullscreen-mode #pos #variationModalConfirm,
body.pdv-fullscreen-mode #pos #variationModalCancel {
  min-height: 48px !important;
  font-size: 1rem !important;
  min-width: 160px !important;
}

/* Responsivo */
@media (max-width: 980px) {
  #cash .cards-grid.two-col,
  #customers .cards-grid.two-col,
  #customers .customers-layout {
    grid-template-columns: 1fr !important;
  }

  body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
  body.pdv-fullscreen-mode #pos .pos-layout {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.pdv-fullscreen-mode #pos .card {
    padding: 14px !important;
  }

  body.pdv-fullscreen-mode #posSearch {
    min-height: 48px !important;
    font-size: 16px !important;
  }
}


/* ===== Caixa visual corrigido ===== */
#cashSummary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px !important;
}
#cashSummary > div {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-width: 0;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
}
#cashSummary > div small {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  color: var(--muted);
  margin: 0;
}
#cashSummary > div strong {
  display: block;
  margin: 0;
  font-size: 18px;
  line-height: 1.1;
  text-align: right;
  white-space: nowrap;
}

/* ===== PDV botões de ação alinhados ===== */
#pos .pos-summary .btn-row,
#pos .btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
#goPaymentBtn,
#clearCartBtn,
#finishSaleBtn {
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap;
}

/* botão instalar app mais bonito */
#installAppBtn,
.install-app-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  box-shadow: var(--shadow-sm, 0 8px 24px rgba(15,23,42,.06));
}

@media (max-width: 980px) {
  #cashSummary {
    grid-template-columns: 1fr !important;
  }
  #cashSummary > div {
    align-items: center !important;
  }
}


/* Botões ocupados do caixa */
button.is-busy {
  opacity: 0.7;
  cursor: wait;
}


/* =========================
   PDV VISUAL PROFISSIONAL
   (somente layout)
========================= */

/* Layout principal do PDV */
#pos .cards-grid.pos-layout,
#pos .pos-layout {
  align-items: start;
  gap: 18px !important;
}

/* Cards do PDV */
#pos .card,
#pos .pdv-card {
  border-radius: 22px !important;
  padding: 18px !important;
  box-shadow: 0 8px 30px rgba(16,24,40,0.04);
}

/* Busca principal */
#posSearch {
  min-height: 58px !important;
  font-size: 18px !important;
  border-radius: 18px !important;
}

/* Lista / carrinho */
#pos #cartList {
  min-height: 280px;
}

#pos .cart-item,
#pos .sale-item,
#pos .pdv-sale-item {
  border-radius: 18px !important;
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 18px rgba(15,23,42,0.04);
}

#pos .cart-item-title,
#pos .sale-item-title,
#pos .pdv-sale-item-title {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

#pos .cart-item-subtitle,
#pos .sale-item-subtitle,
#pos .pdv-sale-item-subtitle {
  font-size: .95rem !important;
  opacity: .85;
}

#pos .qty-btn,
#pos .cart-item .icon-btn,
#pos .pdv-sale-item .icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 12px !important;
}

#pos .danger-btn,
#pos .remove-item-btn {
  border-radius: 14px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  font-weight: 700 !important;
}

/* Resumo do total antes do pagamento */
#pos .pos-summary,
#pos .checkout-summary,
#pos .totals-card {
  border-radius: 24px !important;
  padding: 18px 20px !important;
}

#pos .total-line {
  align-items: end;
}

#pos .total-line strong,
#pos #posTotal,
#pos .grand-total,
#pos .summary-total-value {
  font-size: 2.75rem !important;
  line-height: 1 !important;
  letter-spacing: -0.03em;
}

/* Botões do PDV */
#goPaymentBtn,
#clearCartBtn,
#finishSaleBtn {
  min-height: 56px !important;
  border-radius: 18px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  padding: 0 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap;
}

#goPaymentBtn {
  min-width: 230px;
}

#clearCartBtn {
  min-width: 190px;
}

#finishSaleBtn {
  width: 100%;
  margin-top: 6px;
  box-shadow: 0 10px 24px rgba(236,72,153,0.24);
}

/* Linha dos botões principais */
#pos .pdv-main-actions,
#pos .cart-actions,
#pos .summary-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px !important;
  align-items: center;
}

#pos .pdv-main-actions > *,
#pos .cart-actions > *,
#pos .summary-actions > * {
  margin: 0 !important;
}

/* Área pagamento */
#pos .payment-methods-grid,
#pos .quick-pay-grid,
#pos .payment-grid {
  gap: 12px !important;
}

#pos .quick-pay-btn,
#pos .payment-btn,
#pos .forma-pagamento-btn {
  min-height: 60px !important;
  border-radius: 18px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

#pos .form-grid label {
  gap: 8px;
}

#pos .form-grid label span,
#pos .field-label {
  font-size: .92rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

#pos input,
#pos select,
#pos textarea {
  min-height: 50px !important;
  border-radius: 16px !important;
  font-size: 1rem !important;
}

#pos textarea {
  min-height: 92px !important;
}

/* Card final de pagamento */
#pos .payment-final-card,
#pos .checkout-total-card,
#pos .pdv-final-card {
  border-radius: 24px !important;
  overflow: hidden;
}

#pos .payment-final-card .value,
#pos .checkout-total-card .value,
#pos .pdv-final-card .value {
  font-size: 4rem !important;
  letter-spacing: -0.04em;
}

/* Fullscreen mais bonito e funcional */
body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
body.pdv-fullscreen-mode #pos .pos-layout {
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr) !important;
  max-width: 1360px !important;
  gap: 18px !important;
  margin: 0 auto !important;
}

body.pdv-fullscreen-mode #pos .card,
body.pdv-fullscreen-mode #pos .pdv-card {
  padding: 18px !important;
  border-radius: 22px !important;
}

body.pdv-fullscreen-mode #posSearch {
  min-height: 54px !important;
  font-size: 17px !important;
}

body.pdv-fullscreen-mode #goPaymentBtn,
body.pdv-fullscreen-mode #clearCartBtn,
body.pdv-fullscreen-mode #finishSaleBtn {
  min-height: 52px !important;
  font-size: 1rem !important;
}

body.pdv-fullscreen-mode #pos .quick-pay-btn,
body.pdv-fullscreen-mode #pos .payment-btn,
body.pdv-fullscreen-mode #pos .forma-pagamento-btn {
  min-height: 54px !important;
  font-size: .98rem !important;
}

body.pdv-fullscreen-mode #pos .total-line strong,
body.pdv-fullscreen-mode #pos #posTotal,
body.pdv-fullscreen-mode #pos .grand-total,
body.pdv-fullscreen-mode #pos .summary-total-value {
  font-size: 2.35rem !important;
}

body.pdv-fullscreen-mode #pos .payment-final-card .value,
body.pdv-fullscreen-mode #pos .checkout-total-card .value,
body.pdv-fullscreen-mode #pos .pdv-final-card .value {
  font-size: 3.35rem !important;
}

body.pdv-fullscreen-mode #pos #variationModal .app-modal-card {
  width: min(760px, calc(100vw - 40px)) !important;
  border-radius: 24px !important;
}

/* Responsivo */
@media (max-width: 1200px) {
  #pos .cards-grid.pos-layout,
  #pos .pos-layout,
  body.pdv-fullscreen-mode #pos .cards-grid.pos-layout,
  body.pdv-fullscreen-mode #pos .pos-layout {
    grid-template-columns: 1fr !important;
  }

  #goPaymentBtn,
  #clearCartBtn,
  #finishSaleBtn {
    width: 100%;
  }

  #pos .pdv-main-actions,
  #pos .cart-actions,
  #pos .summary-actions {
    flex-direction: column;
    align-items: stretch;
  }
}


/* =========================
   CAIXA E PDV - AJUSTES FINOS
========================= */

/* Caixa: cards de resumo com número sem sobrepor texto */
#cashSummary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px !important;
}

#cashSummary > div {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  border: 1px solid #d8e0ef;
  border-radius: 22px;
  background: #fff;
}

#cashSummary > div small {
  display: block;
  font-size: 14px;
  color: #667691;
  margin: 0;
}

#cashSummary > div strong {
  display: block;
  font-size: 21px;
  line-height: 1.1;
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 980px) {
  #cashSummary {
    grid-template-columns: 1fr !important;
  }
}

/* PDV: ações alinhadas e com espaço correto */
#goPaymentBtn,
#clearCartBtn {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
}

#pos .summary-actions,
#pos .cart-actions,
#pos .pdv-main-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px !important;
  align-items: center !important;
  margin-top: 14px !important;
}

#goPaymentBtn,
#clearCartBtn,
#finishSaleBtn {
  box-sizing: border-box;
}

#finishSaleBtn {
  position: static !important;
  inset: auto !important;
  margin: 12px 0 0 !important;
}

/* Formulários do pagamento mais bonitos */
#pos .form-grid,
#pos .payment-form-grid {
  gap: 14px !important;
}

#pos .form-grid label,
#pos .payment-form-grid label {
  padding: 14px !important;
  border-radius: 20px !important;
  background: #fff;
  border: 1px solid #dbe2ef;
}

#pos .quick-pay-btn:nth-child(1) { background: linear-gradient(180deg,#fff8e8,#fff1cc); }
#pos .quick-pay-btn:nth-child(2) { background: linear-gradient(180deg,#f5fff9,#dcfce7); }
#pos .quick-pay-btn:nth-child(3) { background: linear-gradient(180deg,#eff6ff,#dbeafe); }
#pos .quick-pay-btn:nth-child(4) { background: linear-gradient(180deg,#eef2ff,#e0e7ff); }
#pos .quick-pay-btn:nth-child(5) { background: linear-gradient(180deg,#faf5ff,#f3e8ff); }

#pos .quick-pay-btn,
#pos .payment-btn,
#pos .forma-pagamento-btn {
  border: 1px solid #d7dfef !important;
}

body.pdv-fullscreen-mode #pos .summary-actions,
body.pdv-fullscreen-mode #pos .cart-actions,
body.pdv-fullscreen-mode #pos .pdv-main-actions {
  margin-top: 16px !important;
}

button.is-busy {
  opacity: .72;
  cursor: wait;
}


/* =========================
   MARKETING
========================= */
.marketing-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
}
.marketing-summary-card {
  border-radius: 22px !important;
  padding: 18px !important;
}
.marketing-summary-card small {
  display: block;
  color: #667085;
  font-size: 13px;
}
.marketing-summary-card strong {
  display: block;
  font-size: 2rem;
  line-height: 1.05;
  margin: 8px 0 6px;
}
.marketing-summary-card span {
  color: #667085;
  font-size: 13px;
}
.marketing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px !important;
}
.marketing-templates {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}
.marketing-template-btn {
  min-height: 44px;
  border-radius: 14px;
}
.marketing-template-btn.active {
  border-color: #ec4899 !important;
  box-shadow: 0 0 0 3px rgba(236,72,153,0.12);
}
.marketing-template-preview {
  min-height: 130px;
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 16px;
  white-space: pre-line;
  color: #344054;
  line-height: 1.5;
}
.actions-cell .secondary-btn {
  min-height: 40px;
  border-radius: 12px;
}
@media (max-width: 980px) {
  .marketing-summary-grid,
  .marketing-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================
   MARKETING DETALHADO
========================= */
.marketing-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
}
.marketing-summary-card {
  border-radius: 22px !important;
  padding: 18px !important;
}
.marketing-summary-card small {
  display: block;
  color: #667085;
  font-size: 13px;
}
.marketing-summary-card strong {
  display: block;
  font-size: 2rem;
  line-height: 1.05;
  margin: 8px 0 6px;
}
.marketing-summary-card span {
  color: #667085;
  font-size: 13px;
}
.marketing-toolbar {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}
.marketing-segment-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.marketing-segment-btn {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #fff;
  font-weight: 700;
}
.marketing-segment-btn.active {
  border-color: #ec4899;
  box-shadow: 0 0 0 3px rgba(236,72,153,0.12);
}
.marketing-toolbar-copy strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 4px;
}
.marketing-toolbar-copy span {
  color: #667085;
}
.marketing-main-grid {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.95fr);
  gap: 18px !important;
}
.marketing-client-list {
  display: grid;
  gap: 12px;
}
.marketing-client-item {
  width: 100%;
  text-align: left;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 18px;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.marketing-client-item.active {
  border-color: #ec4899;
  box-shadow: 0 0 0 3px rgba(236,72,153,0.12);
}
.marketing-client-item-main {
  display: grid;
  gap: 4px;
}
.marketing-client-item-main span,
.marketing-client-item-side {
  color: #667085;
  font-size: 13px;
}
.marketing-detail-card {
  min-height: 100%;
}
.marketing-empty-state {
  min-height: 180px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px dashed #d0d8e8;
  border-radius: 18px;
  color: #667085;
  padding: 18px;
}
.marketing-detail-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.marketing-client-badge {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff1f7;
  color: #be185d;
  font-weight: 700;
}
.marketing-detail-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
  margin-bottom: 16px;
}
.marketing-stat-box {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 14px;
  background: #fff;
}
.marketing-stat-box small {
  display: block;
  color: #667085;
  font-size: 12px;
  margin-bottom: 6px;
}
.marketing-stat-box strong {
  font-size: 1.15rem;
}
.marketing-message-box {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 14px;
  margin-bottom: 16px;
}
.marketing-message-head {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}
.marketing-template-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.marketing-template-btn {
  min-height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  font-weight: 700;
}
.marketing-template-btn.active {
  border-color: #ec4899 !important;
  box-shadow: 0 0 0 3px rgba(236,72,153,0.12);
}
.marketing-message-preview {
  width: 100%;
  min-height: 150px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 14px;
  resize: vertical;
  font-family: inherit;
  line-height: 1.5;
}
.marketing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.marketing-actions .primary-btn,
.marketing-actions .secondary-btn {
  min-height: 48px;
  border-radius: 14px;
}
@media (max-width: 980px) {
  .marketing-summary-grid,
  .marketing-main-grid,
  .marketing-detail-stats {
    grid-template-columns: 1fr !important;
  }
  .marketing-client-item {
    flex-direction: column;
    align-items: start;
  }
}


/* Marketing: botão enviar catálogo */
#marketingSendCatalogBtn {
  min-height: 48px;
  border-radius: 14px;
}


/* Catálogo: continuar comprando no carrinho */
.cart-drawer-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
#cartContinueBtn {
  min-height: 48px;
  border-radius: 14px;
  flex: 1 1 42%;
}
#cartCheckoutBtn {
  flex: 1 1 58%;
}
@media (max-width: 640px) {
  .cart-drawer-actions {
    flex-direction: column;
  }
  #cartContinueBtn,
  #cartCheckoutBtn {
    width: 100%;
  }
}


/* Mobile fix: continuar comprando no drawer */
body.drawer-open {
  overflow: hidden;
}
#cartContinueBtn {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}


/* portal / multi-store */
.portal-body { min-height: 100vh; background: radial-gradient(circle at top left, rgba(91,141,239,.18), transparent 32%), radial-gradient(circle at bottom right, rgba(233,81,184,.14), transparent 26%), linear-gradient(180deg, #f5f8fd 0%, #eef3fb 100%); }
.portal-shell { max-width: 1180px; margin: 0 auto; min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: center; padding: 32px; }
.portal-hero, .portal-card, .portal-card-inner, .dashboard-side.light { background: rgba(255,255,255,.78); border: 1px solid rgba(218,228,241,.85); box-shadow: 0 24px 60px rgba(27, 39, 67, 0.08); backdrop-filter: blur(10px); }
.portal-hero { border-radius: 32px; padding: 40px; }
.portal-badge, .section-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: rgba(91, 141, 239, .1); color: #295ab3; font-size: 12px; font-weight: 700; }
.portal-hero h1 { margin: 14px 0 10px; font-size: clamp(36px, 6vw, 58px); line-height: 1; letter-spacing: -.04em; }
.portal-hero p { font-size: 17px; color: var(--text-soft); max-width: 620px; }
.portal-points { display: grid; gap: 14px; margin-top: 28px; }
.portal-point { display: grid; gap: 4px; padding: 16px 18px; background: rgba(248,251,255,.9); border: 1px solid #e2ebf5; border-radius: 18px; }
.portal-card { border-radius: 28px; padding: 28px; }
.portal-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; }
.portal-logo, .store-mini-logo { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow: 0 14px 28px var(--primary-soft); }
.portal-help { margin-top: 18px; padding: 14px 16px; border-radius: 18px; background: #f6f9fe; border: 1px solid #dfebf9; color: var(--text-soft); display: grid; gap: 6px; }
.portal-help code { background: #eaf2ff; padding: 2px 6px; border-radius: 8px; }
.portal-dashboard { background: linear-gradient(180deg, #f7f9fd, #eef3f9); }
.dashboard-shell { min-height: 100vh; display: grid; grid-template-columns: 290px 1fr; gap: 24px; padding: 24px; }
.dashboard-side.light { border-radius: 28px; padding: 22px; display: flex; flex-direction: column; gap: 20px; }
.dashboard-main { display: grid; gap: 22px; }
.dashboard-header { display:flex; justify-content:space-between; align-items:flex-start; gap: 16px; background: rgba(255,255,255,.76); border: 1px solid rgba(218,228,241,.85); border-radius: 28px; padding: 24px 28px; box-shadow: 0 24px 60px rgba(27, 39, 67, 0.06); }
.dashboard-header h1 { margin: 0; font-size: 32px; letter-spacing: -.03em; }
.dashboard-header p { margin: 6px 0 0; color: var(--muted); }
.dashboard-grid.two { display:grid; grid-template-columns: 1.2fr .8fr; gap:22px; }
.portal-card-inner { border-radius: 28px; padding: 24px; }
.note-list { display: grid; gap: 14px; color: var(--text-soft); }
.side-info { display: grid; gap: 12px; }
.side-kpi { background: #f8fbff; border: 1px solid #dfe8f4; border-radius: 18px; padding: 14px 16px; display:flex; justify-content:space-between; align-items:center; }
.side-kpi span { color: var(--muted); font-size: 13px; }
.side-kpi strong { font-size: 24px; }
.store-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
.store-card { background: #fbfdff; border: 1px solid #dde8f4; border-radius: 22px; padding: 18px; display:grid; gap:14px; }
.store-card.compact { gap: 10px; }
.store-card-top { display:flex; gap: 12px; align-items:center; }
.store-card h4 { margin:0; font-size: 17px; }
.store-card p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.store-meta, .store-links, .store-actions-inline, .row-actions { display:flex; flex-wrap:wrap; gap:10px; }
.status-pill { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; }
.status-pill.ok { background: rgba(40,196,143,.12); color: #117a57; }
.status-pill.warn { background: rgba(255,182,72,.18); color: #9b6112; }
@media (max-width: 980px) { .portal-shell, .dashboard-shell, .dashboard-grid.two { grid-template-columns: 1fr; } .portal-shell { padding: 18px; } .dashboard-shell { padding: 18px; } }


/* ==== HOTFIX 2026-03-31 ==== */
:root{
  --primary:#5b8def;
  --primary-2:#8eb5ff;
  --primary-2:#7ea6ff;
  --primary-soft: color-mix(in srgb, var(--primary) 12%, white);
}
body, .portal-body, .portal-dashboard{ background: linear-gradient(180deg, #f5f8fd 0%, #eef3fb 100%) !important; }
.primary-btn{
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%) !important;
  color:#fff !important;
  border:none !important;
  opacity:1 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.primary-btn.full{ width:100%; }
.primary-btn:disabled{ opacity:.58 !important; cursor:not-allowed; box-shadow:none !important; }
.portal-card .primary-btn, .portal-card-inner .primary-btn{ min-height:56px; }
.portal-card .primary-btn.full{ box-shadow: 0 16px 28px color-mix(in srgb, var(--primary) 28%, transparent) !important; }
.nav-btn.active{
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  border-color: transparent !important;
  color:#fff !important;
}
.nav-btn.active .nav-ico{
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
.brand-logo, .portal-logo, .store-mini-logo{
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--primary) 25%, transparent) !important;
}
.section-eyebrow, .section-pill, .badge, .portal-badge{ color: var(--primary) !important; }
.quick-pay-btn.active, .theme-toggle-btn.active{
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  color:#fff !important; border-color: transparent !important;
}
.total-line strong, .pos-total-giant, .kpi-value, .stat-card strong{ color: var(--primary) !important; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, input:focus, select:focus, textarea:focus{
  border-color: color-mix(in srgb, var(--primary) 45%, white) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent) !important;
}
.sidebar, .topbar, .card, .portal-card, .portal-card-inner, .dashboard-side.light{ background:#fff !important; }
.sidebar-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.32); border:none; opacity:0; pointer-events:none; transition:.2s; z-index:20; }
body.sidebar-open .sidebar-overlay{ opacity:1; pointer-events:auto; }
@media (max-width: 980px){
  .app-shell{ grid-template-columns: 1fr !important; }
  .sidebar{ position:fixed; left:0; top:0; bottom:0; width:min(86vw, 320px); transform:translateX(-102%); transition:.22s; z-index:30; }
  body.sidebar-open .sidebar{ transform:translateX(0); }
  .main-content{ padding:16px; }
}


/* 2026-03-31 polish */
.auth-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
}
.auth-card {
  width: min(100%, 560px);
  padding: 34px;
  border-radius: 30px;
  box-shadow: 0 28px 60px rgba(20, 31, 58, .14);
}
.auth-brand {
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.auth-brand h1 {
  font-size: 2.1rem;
  line-height: 1.05;
  margin: 0 0 6px;
}
.auth-brand p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
}
#authBrandLogo.brand-logo, .auth-brand .brand-logo {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  font-size: 1.45rem;
}
#loginForm label span { font-weight: 800; letter-spacing: .02em; }
#loginForm input {
  min-height: 58px;
  font-size: 1rem;
  border-radius: 18px;
}
#loginForm .primary-btn, #forceLoginBtn.secondary-btn {
  min-height: 56px;
  border-radius: 18px;
  font-size: 1.02rem;
}
.portal-dashboard .dashboard-header h1 { margin-bottom: 6px; }
.portal-logo img, .store-mini-logo img, .brand-logo img { width: 100%; height: 100%; object-fit: cover; }


/* admin redesign 2026-03-31 */
.admin-redesign .dashboard-shell{align-items:start;}
.admin-sidebar{position:sticky;top:24px;min-height:calc(100vh - 48px);gap:18px;}
.admin-sidebar .side-brand{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:2px;}
.admin-sidebar .side-brand h2{font-size:18px;margin:0 0 4px;}
.admin-sidebar .side-brand p{margin:0;color:var(--muted);font-size:13px;}
.admin-side-nav{display:grid;gap:10px;}
.admin-side-link{text-decoration:none;color:var(--text);display:flex;align-items:center;gap:12px;padding:14px 14px;border:1px solid var(--line);border-radius:18px;background:#fbfcff;transition:.18s ease;box-shadow:0 4px 14px rgba(15,23,42,.03);}
.admin-side-link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 28%, white);background:#fff;}
.admin-side-link.active{background:color-mix(in srgb,var(--primary) 8%, white);border-color:color-mix(in srgb,var(--primary) 26%, white);}
.admin-side-link strong{display:block;font-size:15px;line-height:1.1;}
.admin-side-link small{display:block;color:var(--muted);font-size:12px;margin-top:3px;}
.admin-side-ico{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:18px;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 20%, transparent);flex-shrink:0;}
.sidebar-footer.clean{margin-top:auto;display:grid;gap:12px;}
.sidebar-footer.clean .user-badge{background:#f8fbff;border-radius:16px;padding:14px 15px;font-weight:600;color:var(--text-soft);}
.sidebar-logout{min-height:52px;border-radius:16px;background:#fff;border:1px solid var(--line);font-weight:700;}
.admin-hero{align-items:center;}
.admin-hero .hero-actions{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;min-width:min(100%,520px);}
.hero-btn{min-height:56px;border-radius:18px;text-decoration:none;font-weight:800;}
.dashboard-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.quick-link-card{display:grid;gap:16px;padding:22px;}
.quick-link-top{display:flex;gap:14px;align-items:flex-start;}
.quick-link-top h3{margin:0 0 4px;font-size:18px;}
.quick-link-top p{margin:0;color:var(--muted);font-size:14px;line-height:1.45;}
.quick-link-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%, white);font-size:24px;flex-shrink:0;}
.admin-main-grid{align-items:start;}
#staffList .store-card.compact{padding:20px;border-radius:20px;background:#fff;}
#staffList .store-card.compact .store-meta{justify-content:space-between;align-items:center;}
#staffList .store-card.compact .status-pill{font-size:11px;}
.quick-links-grid .secondary-btn,.quick-links-grid .primary-btn,.hero-actions .secondary-btn,.hero-actions .primary-btn{text-decoration:none;}
@media (max-width: 1100px){.dashboard-grid.three{grid-template-columns:1fr;}.admin-hero .hero-actions{grid-template-columns:1fr;min-width:0;width:100%;}}
@media (max-width: 980px){.admin-sidebar{position:relative;top:0;min-height:auto;}.admin-hero{padding:22px;}.admin-hero .hero-actions{width:100%;}.admin-side-nav{grid-template-columns:1fr 1fr;}.sidebar-footer.clean{grid-template-columns:1fr;}}
@media (max-width: 640px){.admin-side-nav{grid-template-columns:1fr;}.admin-hero .hero-actions{grid-template-columns:1fr;}.quick-link-card{padding:18px;}}


/* polish: preserve uploaded logos/photos */
.brand-logo.has-image, .portal-logo.has-image, .store-mini-logo.has-image, .logo.has-image, .logo-preview.has-image {
  background: #ffffff !important;
  color: transparent !important;
}
.brand-logo.has-image img, .portal-logo.has-image img, .store-mini-logo.has-image img, .logo.has-image img, .logo-preview.has-image img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  display: block;
  background: #ffffff;
  padding: 6px;
  border-radius: inherit;
}
body.store-pending { visibility: hidden; }
body.store-ready { visibility: visible; }


/* 2026-03-31 admin/login cleanup */
.hero-actions-equal .secondary-btn, .hero-actions-equal .primary-btn{min-height:56px;border-radius:18px;background:#fff !important;border:1px solid var(--line) !important;color:var(--text) !important;box-shadow:none !important;}
.hero-actions-equal .secondary-btn:hover, .hero-actions-equal .primary-btn:hover{border-color:color-mix(in srgb,var(--primary) 30%, white) !important;color:var(--primary) !important;background:#fff !important;}
.quick-links-grid .secondary-btn.full, .quick-links-grid .primary-btn.full{background:#fff !important;border:1px solid var(--line) !important;color:var(--text) !important;box-shadow:none !important;}
.quick-links-grid .secondary-btn.full:hover, .quick-links-grid .primary-btn.full:hover{color:var(--primary) !important;border-color:color-mix(in srgb,var(--primary) 30%, white) !important;background:#fff !important;}
.admin-subtitle{margin:0;color:var(--muted);font-size:13px;}
.logo-upload{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fbfcff;}
.logo-upload-head{display:grid;gap:4px;}
.logo-upload-head small{color:var(--muted);}
.logo-upload-body{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.file-btn{cursor:pointer;}
.identity-preview-box{display:flex;gap:16px;align-items:center;padding:18px;border:1px dashed color-mix(in srgb,var(--primary) 24%, white);border-radius:22px;background:#fff;}
.identity-preview-box p{margin:4px 0 0;color:var(--muted);}
.logo-preview{width:84px;height:84px;border-radius:24px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 25%, transparent);overflow:hidden;flex-shrink:0;}
.logo-preview.has-image img{padding:0 !important;object-fit:contain !important;background:#fff;}
.store-login-card{width:min(100%,560px);}


/* 2026-03-31 final polish */
body.store-pending{opacity:0;visibility:hidden;transition:opacity .18s ease;}
body.store-ready{opacity:1;visibility:visible;}
.portal-logo.has-image img,
.brand-logo.has-image img,
.store-mini-logo.has-image img,
.logo-preview.has-image img,
#authBrandLogo.has-image img,
.auth-brand .brand-logo.has-image img{
  object-fit: contain !important;
  background:#fff !important;
  padding:4px !important;
}
.store-login-card{
  width:min(100%,460px) !important;
  padding:34px 30px !important;
  border-radius:28px !important;
}
.store-login-card .portal-brand{justify-content:center;text-align:center;}
.store-login-card .portal-brand > div:last-child{display:flex;flex-direction:column;align-items:center;}
.store-login-card .portal-brand p{max-width:34ch;}
.store-login-card .primary-btn,
.store-login-card .secondary-btn{
  min-height:54px;
  border-radius:18px;
  font-size:1rem;
  text-decoration:none !important;
}
.store-login-card .primary-btn{
  background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 18px 36px color-mix(in srgb,var(--primary) 26%, transparent) !important;
}
.store-login-card .primary-btn:hover{filter:brightness(1.03);transform:translateY(-1px);}
.store-login-card label span{font-weight:800;color:var(--text);} 
.admin-redesign .hero-actions-equal{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;}
.admin-redesign .hero-actions-equal .hero-btn,
.admin-redesign .quick-links-grid .secondary-btn,
.admin-redesign .quick-links-grid .primary-btn{
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:18px !important;
  text-decoration:none !important;
  font-weight:800 !important;
}
.admin-redesign .hero-actions-equal .hero-btn,
.admin-redesign .quick-links-grid .secondary-btn,
.admin-redesign .quick-links-grid .primary-btn{
  background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 16px 30px color-mix(in srgb,var(--primary) 24%, transparent) !important;
}
.admin-redesign .hero-actions-equal .hero-btn:hover,
.admin-redesign .quick-links-grid .secondary-btn:hover,
.admin-redesign .quick-links-grid .primary-btn:hover{filter:brightness(1.03);transform:translateY(-1px);}
.admin-sidebar .admin-side-link,
.admin-sidebar .sidebar-logout,
.admin-sidebar .user-badge{
  border-radius:18px !important;
}
.admin-sidebar .sidebar-logout{min-height:52px; font-weight:800; text-decoration:none !important;}
@media (max-width: 980px){
  .admin-redesign .hero-actions-equal{grid-template-columns:1fr;}
}


/* 2026-03-31 preload + logo preview polish */
.portal-brand .portal-logo, #identityLogoPreview.logo-preview, #adminLogo.portal-logo { overflow:hidden; }
.portal-brand .portal-logo.has-image img,
#identityLogoPreview.logo-preview.has-image img,
#adminLogo.portal-logo.has-image img {
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
  background: #fff !important;
  padding: 4px !important;
}

body.store-pending{display:none !important;}
body.store-ready{display:block !important;}
#catalogStoreName:empty,#catalogWhatsappInfo:empty,#brandStoreName:empty,#authBrandStoreName:empty,#authStoreName:empty{min-height:1em;display:block;}
#catalogLogo:empty::before,#brandLogo:empty::before,#authBrandLogo:empty::before{content:"";display:block;width:100%;height:100%;}


.staff-card .staff-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.staff-card .staff-actions .secondary-btn[disabled]{opacity:.55;cursor:not-allowed}
.store-card.compact.staff-card{display:flex;flex-direction:column;gap:10px}
.portal-body.store-ready,.portal-dashboard.store-ready,body.store-ready{opacity:1 !important;visibility:visible !important}

/* 2026-04-01 sales + billing */
.sales-body{
  margin:0;
  background:linear-gradient(180deg,#f4f7fc 0%,#eef3fb 100%);
  color:var(--text);
}
.sales-shell{
  width:min(1180px,calc(100% - 28px));
  margin:32px auto 52px;
  display:grid;
  gap:24px;
}
.sales-hero{
  padding:28px;
}
.sales-hero h1{margin:14px 0 10px;font-size:clamp(2rem,4vw,3rem)}
.sales-hero p{max-width:760px;color:var(--text-soft);font-size:1.05rem}
.sales-bullets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.sales-bullets > div{background:var(--card-2);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px}
.sales-bullets strong{font-size:1rem}
.sales-bullets span,.sales-contact{color:var(--muted)}
.sales-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:24px;align-items:start}
.sales-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sales-plan{appearance:none;border:1px solid var(--line);background:#fff;border-radius:22px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:.18s ease;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.sales-plan:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 38%, var(--line))}
.sales-plan.is-selected{border-color:var(--primary);box-shadow:0 18px 32px color-mix(in srgb,var(--primary) 16%, transparent);background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--primary) 4%, #fff) 100%)}
.sales-plan.is-featured{outline:2px solid color-mix(in srgb,var(--primary) 20%, transparent)}
.sales-plan-price{font-size:1.2rem;font-weight:800;color:var(--primary)}
.sales-plan small{color:var(--muted);line-height:1.45}
.sales-form-card,.sales-plans-card{padding:18px}
.sales-form .sales-summary{display:grid;gap:8px;background:var(--card-2);border:1px solid var(--line);border-radius:18px;padding:16px}
.summary-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.status-shell{width:min(560px,calc(100% - 28px));margin:72px auto;padding:34px;text-align:center;display:grid;gap:18px}
.status-shell .portal-logo{margin:0 auto}
.master-layout .master-nav-list{display:grid;gap:10px;margin-bottom:18px}
.order-card .note-list.compact{gap:8px;margin-top:8px}
.order-card .store-actions-inline.wrap{flex-wrap:wrap}
@media (max-width:980px){
  .sales-grid,.sales-bullets{grid-template-columns:1fr}
  .sales-plan-grid{grid-template-columns:1fr}
}


.home-shell { grid-template-columns: 1.15fr .85fr; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top: 24px; }
.home-access-card { max-width: 460px; justify-self: end; }
.slug-access-wrap { display:flex; align-items:center; border:1px solid #d8e4f0; border-radius:16px; background:#fff; overflow:hidden; min-height:56px; }
.slug-prefix { padding: 0 14px; color:#6b7280; font-weight:600; background:#f8fafc; border-right:1px solid #e5edf6; white-space:nowrap; }
.slug-access-wrap input { border:0 !important; box-shadow:none !important; background:transparent !important; }
.slug-access-wrap input:focus { outline:none; }
.home-divider { position:relative; text-align:center; margin:18px 0; }
.home-divider::before { content:''; position:absolute; left:0; right:0; top:50%; height:1px; background:#e5edf6; }
.home-divider span { position:relative; display:inline-block; padding:0 12px; background:rgba(255,255,255,.92); color:#8a94a6; font-size:13px; font-weight:700; }
.home-quick-actions { display:grid; gap:12px; }
.ghost-link { text-decoration:none; color:var(--text-soft); font-weight:700; padding:12px 14px; border-radius:14px; }
.ghost-link:hover { background:#f5f8fd; color:var(--text); }
@media (max-width: 980px) {
  .home-shell { grid-template-columns: 1fr; }
  .home-access-card { justify-self: stretch; max-width: none; }
}
@media (max-width: 640px) {
  .slug-access-wrap { flex-direction:column; align-items:stretch; }
  .slug-prefix { border-right:0; border-bottom:1px solid #e5edf6; padding:10px 14px; }
  .home-hero-actions { display:grid; }
}


/* ===== Home v2 comercial ===== */
.site-home-v2{max-width:1240px;margin:0 auto;padding:24px 18px 56px;display:grid;gap:24px}
.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 2px}
.home-topbar__brand{display:flex;align-items:center;gap:14px}
.home-topbar__brand strong{display:block;font-size:1rem;color:var(--text)}
.home-topbar__brand span{display:block;font-size:.9rem;color:var(--text-soft)}
.home-topbar__logo{width:48px;height:48px;border-radius:16px;font-size:1rem}
.home-topbar__actions{display:flex;flex-wrap:wrap;gap:12px}
.home-v2-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:24px;align-items:start}
.home-v2-hero{padding:48px}
.home-v2-hero p{max-width:720px}
.home-feature-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.home-feature-chips span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid #e4ebf5;color:var(--text);font-weight:700;font-size:.92rem;box-shadow:0 8px 24px rgba(22,39,67,.05)}
.home-hero-actions--large .primary-btn,.home-hero-actions--large .secondary-btn{min-height:56px;border-radius:18px;padding-inline:20px;text-decoration:none;font-weight:800}
.home-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.home-stat-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid #e3ebf7;box-shadow:0 12px 26px rgba(31,49,82,.06)}
.home-stat-card strong{display:block;font-size:1rem;color:var(--text);margin-bottom:6px}
.home-stat-card span{display:block;color:var(--text-soft);font-size:.94rem;line-height:1.5}
.home-login-card-v2{max-width:none;padding:28px;position:sticky;top:20px}
.portal-brand--stacked{flex-direction:column;text-align:center;align-items:center}
.portal-brand--stacked .portal-logo{width:64px;height:64px;border-radius:22px;font-size:1.05rem}
.home-help-clean{margin-top:16px}
.home-card-cta-block{margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(248,251,255,.98),rgba(240,246,255,.96));border:1px solid #dfe8f5;display:grid;gap:14px}
.home-card-cta-block strong{display:block;color:var(--text)}
.home-card-cta-block span{display:block;color:var(--text-soft);margin-top:4px}
.home-section-block{display:grid;gap:22px}
.section-title-wrap{display:grid;gap:8px;text-align:center;max-width:860px;margin:0 auto}
.section-kicker{display:inline-flex;justify-content:center;align-items:center;justify-self:center;padding:8px 14px;border-radius:999px;background:#edf4ff;color:var(--primary);font-weight:800;font-size:.82rem;border:1px solid color-mix(in srgb,var(--primary) 14%, white)}
.section-title-wrap h2{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05;color:var(--text)}
.section-title-wrap p{margin:0;color:var(--text-soft);font-size:1.03rem}
.home-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-resource-card{padding:24px;border-radius:24px;background:rgba(255,255,255,.9);border:1px solid #e3ebf7;box-shadow:0 16px 32px rgba(24,40,67,.06)}
.home-resource-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.4rem;background:linear-gradient(180deg,#f4f8ff,#e9f1ff);border:1px solid #d9e6fb;margin-bottom:16px}
.home-resource-card h3{margin:0 0 8px;font-size:1.08rem;color:var(--text)}
.home-resource-card p{margin:0;color:var(--text-soft);line-height:1.6}
.home-plans-highlight{padding:8px 0}
.home-plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.home-plan-card{position:relative;padding:24px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid #e3ebf7;box-shadow:0 16px 34px rgba(24,40,67,.06);display:grid;gap:10px;align-content:start}
.home-plan-card h3{margin:0;color:var(--text);font-size:1.02rem}
.home-plan-card strong{font-size:1.8rem;line-height:1;color:var(--text)}
.home-plan-card p{margin:0;color:var(--text-soft);line-height:1.5}
.home-plan-card--trial{background:linear-gradient(180deg,rgba(237,244,255,.98),rgba(255,255,255,.94));border:1px solid color-mix(in srgb,var(--primary) 24%, white)}
.home-plan-badge{position:absolute;top:14px;right:14px;padding:6px 10px;border-radius:999px;background:var(--primary);color:#fff;font-size:.72rem;font-weight:800}
.home-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(246,250,255,.94));border:1px solid #dce7f6;box-shadow:0 20px 42px rgba(24,40,67,.06)}
.home-bottom-cta h2{margin:6px 0 10px;font-size:clamp(1.6rem,4vw,2.3rem);color:var(--text)}
.home-bottom-cta p{margin:0;color:var(--text-soft);max-width:680px}
.home-bottom-cta__actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:1100px){.home-v2-grid,.home-resource-grid,.home-plan-grid,.home-stat-grid{grid-template-columns:1fr 1fr}.home-login-card-v2{position:static}.home-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-bottom-cta{flex-direction:column;align-items:flex-start}}
@media (max-width:760px){.site-home-v2{padding:16px 14px 40px}.home-topbar,.home-v2-grid,.home-resource-grid,.home-plan-grid,.home-stat-grid{grid-template-columns:1fr}.home-topbar{flex-direction:column;align-items:stretch}.home-topbar__actions,.home-bottom-cta__actions,.home-hero-actions--large{display:grid;grid-template-columns:1fr}.home-v2-hero{padding:28px}.home-login-card-v2{padding:22px}}


/* ===== 2026-04-01 polished public pages ===== */
.primary-btn,.secondary-btn{ text-decoration:none !important; }
.home-btn{ min-height:54px; border-radius:18px !important; padding:0 20px !important; font-weight:800 !important; text-decoration:none !important; box-shadow:none !important; }
.secondary-btn.home-btn{ background:#fff !important; color:var(--text) !important; border:1px solid #dbe5f2 !important; }
.secondary-btn.home-btn:hover{ color:var(--primary) !important; border-color:color-mix(in srgb,var(--primary) 28%, white) !important; background:#fff !important; }
.primary-btn.home-btn{ box-shadow:0 16px 30px color-mix(in srgb,var(--primary) 24%, transparent) !important; }
.home-btn--lg{ min-height:58px; padding-inline:24px !important; }

.site-home-v3{max-width:1240px;margin:0 auto;padding:24px 18px 56px;display:grid;gap:24px}
.home-v3-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-v3-brand{display:flex;align-items:center;gap:14px}
.home-v3-brand__logo{width:50px;height:50px;border-radius:18px;font-size:1rem}
.home-v3-brand strong{display:block;font-size:1rem;color:var(--text)}
.home-v3-brand span{display:block;color:var(--text-soft);font-size:.94rem}
.home-v3-topbar__actions{display:flex;flex-wrap:wrap;gap:12px}
.home-v3-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:start;padding:40px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,248,255,.96));border:1px solid #dde7f4;box-shadow:0 20px 50px rgba(24,40,67,.08)}
.home-v3-hero > .portal-badge,.home-v3-hero > h1,.home-v3-hero > p,.home-v3-hero > .home-v3-chip-row,.home-v3-hero > .home-v3-hero__actions,.home-v3-hero > .home-v3-showcase{grid-column:1 / 2}
.home-v3-hero h1{margin:14px 0 10px;font-size:clamp(2.2rem,5vw,4rem);line-height:1.02;color:var(--text);max-width:760px}
.home-v3-hero p{margin:0;max-width:720px;color:var(--text-soft);font-size:1.08rem;line-height:1.7}
.home-v3-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.home-v3-chip-row span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #e1eaf5;font-weight:700;color:var(--text);font-size:.92rem}
.home-v3-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.home-v3-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.home-v3-showcase__card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:22px;background:#fff;border:1px solid #e3ebf7;box-shadow:0 14px 30px rgba(24,40,67,.06)}
.home-v3-showcase__icon{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#f1f6ff,#e8f0ff);border:1px solid #d7e4fb;font-size:1.25rem;flex:0 0 50px}
.home-v3-showcase__card strong{display:block;color:var(--text);margin-bottom:4px}
.home-v3-showcase__card span{display:block;color:var(--text-soft);line-height:1.55;font-size:.94rem}
.home-v3-access-card{grid-column:2 / 3;grid-row:1 / span 1;align-self:stretch;padding:28px;display:grid;gap:18px}
.home-v3-access-card__head{display:flex;align-items:center;gap:14px}
.home-v3-access-card__logo{width:64px;height:64px;border-radius:22px;font-size:1rem;flex:0 0 64px}
.home-v3-access-card__head h2{margin:0 0 4px;font-size:1.24rem;color:var(--text)}
.home-v3-access-card__head p{margin:0;color:var(--text-soft);line-height:1.55}
.home-v3-access-form{gap:14px}
.slug-access-wrap--clean{border:1px solid #dbe5f2;background:#fff;min-height:58px;border-radius:18px}
.slug-access-wrap--clean .slug-prefix{background:#f8fbff;border-right:1px solid #e2eaf4;font-weight:700;color:#6b7280}
.home-v3-access-note{padding:16px 18px;border-radius:18px;background:#f8fbff;border:1px solid #e3ebf7;display:grid;gap:6px}
.home-v3-access-note strong{color:var(--text)}
.home-v3-access-note span{color:var(--text-soft);line-height:1.55}
.home-v3-mini-cta{padding:18px;border-radius:22px;background:linear-gradient(180deg,#f7fbff,#eef5ff);border:1px solid #dde8f6;display:grid;gap:8px}
.home-v3-mini-cta strong{color:var(--text)}
.home-v3-mini-cta span{color:var(--text-soft);line-height:1.55}
.home-v3-section{display:grid;gap:22px}
.home-v3-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-v3-feature-card{padding:24px;border-radius:24px;background:rgba(255,255,255,.94);border:1px solid #e3ebf7;box-shadow:0 14px 30px rgba(24,40,67,.06)}
.home-v3-feature-card__icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#f4f8ff,#e9f1ff);border:1px solid #d9e6fb;margin-bottom:16px;font-size:1.45rem}
.home-v3-feature-card h3{margin:0 0 8px;color:var(--text);font-size:1.08rem}
.home-v3-feature-card p{margin:0;color:var(--text-soft);line-height:1.62}
.home-v3-plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.home-v3-plan-card{position:relative;padding:24px;border-radius:24px;background:#fff;border:1px solid #e3ebf7;box-shadow:0 14px 30px rgba(24,40,67,.06);display:grid;gap:10px;align-content:start}
.home-v3-plan-card h3{margin:0;color:var(--text);font-size:1.02rem}
.home-v3-plan-card strong{font-size:1.75rem;line-height:1;color:var(--text)}
.home-v3-plan-card p{margin:0;color:var(--text-soft);line-height:1.55}
.home-v3-plan-card--trial{background:linear-gradient(180deg,#edf5ff,#ffffff);border-color:color-mix(in srgb,var(--primary) 22%, white)}
.home-v3-plan-card__tag{position:absolute;top:14px;right:14px;padding:6px 10px;border-radius:999px;background:var(--primary);color:#fff;font-size:.74rem;font-weight:800}
.home-v3-final-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px;border-radius:30px;background:linear-gradient(180deg,#ffffff,#f4f8ff);border:1px solid #dce7f6;box-shadow:0 18px 38px rgba(24,40,67,.06)}
.home-v3-final-cta h2{margin:6px 0 10px;font-size:clamp(1.6rem,4vw,2.35rem);color:var(--text)}
.home-v3-final-cta p{margin:0;color:var(--text-soft);max-width:720px;line-height:1.65}
.home-v3-final-cta__actions{display:flex;flex-wrap:wrap;gap:12px}

.sales-shell--refined{width:min(1220px,calc(100% - 28px));gap:26px}
.sales-hero--refined{padding:30px;background:linear-gradient(180deg,#ffffff,#f6faff)}
.sales-bullets--refined>div{background:#fff}
.card-header--tight h3{margin:0;color:var(--text)}
.card-header__hint{margin:4px 0 0;color:var(--text-soft);font-size:.95rem}
.sales-grid--refined{grid-template-columns:1fr 1.03fr}
.sales-plans-card--refined,.sales-form-card--refined{padding:22px}
.sales-plan-grid--refined{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sales-plan{position:relative;padding:20px;border-radius:24px;text-decoration:none !important}
.sales-plan-top{display:flex;justify-content:flex-start;min-height:26px}
.sales-plan strong{font-size:1.06rem;color:var(--text)}
.sales-plan-price{font-size:1.35rem;line-height:1.1}
.sales-plan small{font-size:.92rem}
.sales-plan::after{content:'';position:absolute;inset:0;border-radius:24px;pointer-events:none;box-shadow:inset 0 0 0 1px transparent;transition:.18s ease}
.sales-plan.is-selected::after{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 34%, white)}
.sales-form--refined{gap:16px}
.sales-summary--refined{background:linear-gradient(180deg,#f8fbff,#f2f7ff);border-color:#deebfb}
.sales-help-clean{color:var(--text-soft);line-height:1.6}

@media (max-width:1100px){.home-v3-hero{grid-template-columns:1fr}.home-v3-access-card{grid-column:auto;grid-row:auto}.home-v3-showcase,.home-v3-feature-grid,.home-v3-plan-grid{grid-template-columns:1fr 1fr}.home-v3-final-cta{flex-direction:column;align-items:flex-start}.sales-grid--refined{grid-template-columns:1fr}}
@media (max-width:760px){.site-home-v3{padding:16px 14px 40px}.home-v3-topbar,.home-v3-showcase,.home-v3-feature-grid,.home-v3-plan-grid{grid-template-columns:1fr}.home-v3-topbar{flex-direction:column;align-items:stretch}.home-v3-topbar__actions,.home-v3-hero__actions,.home-v3-final-cta__actions{display:grid;grid-template-columns:1fr}.home-v3-hero{padding:26px}.home-v3-access-card{padding:22px}.sales-bullets--refined,.sales-plan-grid--refined{grid-template-columns:1fr}}


/* ==== master polish merged ==== */
.master-auth-page{min-height:100vh;background:linear-gradient(180deg,#f5f8fe 0%,#eef3fb 100%);}
.master-auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 18px;}
.master-auth-card{width:min(100%,520px);padding:32px;border-radius:30px;box-shadow:0 24px 60px rgba(15,23,42,.08);background:#fff;border:1px solid #dfe7f3;display:grid;gap:16px;}
.master-auth-card h1{margin:0;font-size:clamp(2rem,4vw,2.6rem);line-height:1.05;color:var(--text);}
.master-auth-card p{margin:0;color:var(--muted);font-size:1.02rem;}
.master-login-form{margin-top:6px;}
.master-layout .master-nav-list{display:grid;gap:10px;margin-bottom:18px}
.master-stats{margin-bottom:24px;}
.dashboard-grid.four{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat-card{display:grid;gap:6px;padding:20px 22px;}
.stat-card strong{font-size:34px;line-height:1;color:var(--text);}
.stat-card small,.stat-label{color:var(--muted);}
.stat-card.warning{background:linear-gradient(180deg,#fffaf2,#fff);}
.form-intro{margin:-6px 0 14px;color:var(--muted);}
.master-store-card .store-mini-logo.with-image{padding:0;overflow:hidden;background:#eef4ff !important;}
.master-store-card .store-mini-logo.with-image img{width:100%;height:100%;object-fit:cover;display:block;}
.danger-btn{min-height:46px;padding:0 16px;border-radius:14px;border:1px solid #f0c8c8;background:#fff6f6;color:#c23f3f;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.danger-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(194,63,63,.08);}
.renewal-banner{margin-bottom:24px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #dce8f4;}
.renewal-banner-grid{display:grid;grid-template-columns:1.2fr auto;gap:18px;align-items:center;}
.renewal-banner strong{display:block;font-size:1.25rem;color:var(--text);margin-bottom:6px;}
.renewal-banner-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.stores-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:8px 0 18px;}
.stores-filter-chips{display:flex;gap:10px;flex-wrap:wrap;}
.filter-chip{appearance:none;border:1px solid #d7e3f1;background:#fff;border-radius:999px;padding:10px 16px;font-weight:700;color:#51607a;cursor:pointer;transition:.18s ease;}
.filter-chip:hover{border-color:#9db7e8;color:#1b2a43;transform:translateY(-1px);}
.filter-chip.is-active{background:linear-gradient(180deg,#eef5ff 0%,#f8fbff 100%);border-color:#8fb0ea;color:#2257c4;box-shadow:0 10px 22px rgba(91,141,239,.10);}
.stores-search{display:grid;gap:8px;min-width:min(280px,100%);}
.stores-search span{font-size:.88rem;font-weight:700;color:var(--muted);}
.master-stores-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.polished-store-card{padding:20px;border-radius:24px;border:1px solid #dfe8f4;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 18px 34px rgba(15,23,42,.04);}
.polished-store-card .store-card-top{align-items:flex-start;gap:14px;}
.store-card-identify h4{margin:0 0 4px;}
.store-card-identify p{margin:0;color:var(--muted);font-weight:600;}
.compact-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.status-pill.neutral{background:#f5f8fc;color:#52627d;border:1px solid #d9e2ee;}
.store-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px;}
.store-info-grid>div{background:#f8fbff;border:1px solid #e1eaf5;border-radius:18px;padding:12px 14px;display:grid;gap:6px;}
.meta-label{font-size:.8rem;font-weight:800;letter-spacing:.04em;color:#74839c;text-transform:uppercase;}
.top-links{margin-bottom:2px;}
.primary-actions{margin-top:2px;}
@media (max-width: 1100px){.dashboard-grid.four{grid-template-columns:repeat(2,1fr);} .renewal-banner-grid{grid-template-columns:1fr;} .renewal-banner-actions{justify-content:flex-start;} .store-info-grid{grid-template-columns:1fr;}}
@media (max-width: 760px){.dashboard-grid.four{grid-template-columns:1fr;} .master-auth-card{padding:24px;} .stores-toolbar{align-items:stretch;} .stores-search{min-width:100%;}}

/* === 2026-04 Professional public + master refresh === */
.home-pro-body,
.sales-pro-body,
.master-auth-page {
  background:
    radial-gradient(circle at top left, rgba(91,141,239,0.16), transparent 30%),
    radial-gradient(circle at top right, rgba(40,196,143,0.12), transparent 28%),
    linear-gradient(180deg, #f4f8fd 0%, #eef3fa 100%);
}

.home-pro-shell,
.sales-pro-shell {
  width: min(1240px, calc(100% - 28px));
  margin: 0 auto;
  padding: 22px 0 48px;
}

.home-pro-header {
  position: sticky;
  top: 14px;
  z-index: 15;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  margin-bottom: 20px;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(220, 229, 242, 0.95);
  border-radius: 24px;
  box-shadow: 0 18px 38px rgba(16, 24, 40, 0.08);
  backdrop-filter: blur(12px);
}

.home-pro-brand { display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; }
.home-pro-brand .portal-logo { width: 52px; height:52px; border-radius:18px; font-size:1rem; }
.home-pro-brand strong { display:block; font-size:1rem; color:var(--text); }
.home-pro-brand span { display:block; font-size:.92rem; color:var(--text-soft); }
.home-pro-nav { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.home-pro-nav a {
  text-decoration:none; color:var(--text-soft); font-weight:700; font-size:.95rem;
  padding:10px 14px; border-radius:14px; transition:.18s ease; background:transparent;
}
.home-pro-nav a:hover { color:var(--primary); background:rgba(91,141,239,0.08); }
.home-pro-header-actions { display:flex; gap:12px; flex-wrap:wrap; }

.home-pro-hero {
  display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(340px, .95fr); gap:28px;
  align-items:center; padding:42px; border-radius:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,251,255,.97));
  border:1px solid #dbe5f4; box-shadow:0 24px 60px rgba(15,23,42,.08);
}
.home-pro-hero-copy h1 { margin:14px 0 14px; font-size:clamp(2.3rem, 5vw, 4.4rem); line-height:1.02; letter-spacing:-.04em; }
.home-pro-hero-copy p { margin:0; font-size:1.08rem; line-height:1.75; color:var(--text-soft); max-width:700px; }
.home-pro-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.home-pro-hero-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.home-pro-hero-points span {
  padding:10px 14px; border-radius:999px; background:#fff; border:1px solid #dfe8f6;
  font-weight:700; color:var(--text); box-shadow:0 10px 22px rgba(15,23,42,.04);
}

.home-pro-window {
  background:#fff; border:1px solid #dce6f3; border-radius:30px; overflow:hidden;
  box-shadow:0 24px 60px rgba(15,23,42,.1);
}
.home-pro-window-bar { display:flex; gap:8px; padding:14px 18px; background:#f6f9ff; border-bottom:1px solid #e6edf8; }
.home-pro-window-bar span { width:10px; height:10px; border-radius:999px; background:#d0d9ea; }
.home-pro-window-bar span:nth-child(1){background:#ff9b9b;}
.home-pro-window-bar span:nth-child(2){background:#ffd45a;}
.home-pro-window-bar span:nth-child(3){background:#5cd48c;}
.home-pro-window-body { display:grid; grid-template-columns:160px minmax(0,1fr); min-height:420px; }
.home-pro-window-sidebar { padding:20px; background:#f9fbff; border-right:1px solid #ebf1f9; display:grid; gap:12px; align-content:start; }
.home-pro-mini-card { padding:14px; border-radius:18px; border:1px solid #e2eaf6; background:#fff; font-weight:700; color:var(--text-soft); }
.home-pro-mini-card.is-active { background:linear-gradient(180deg, #5b8def, #3f79eb); color:#fff; border-color:transparent; box-shadow:0 16px 30px rgba(91,141,239,.26); }
.home-pro-window-content { padding:22px; display:grid; gap:18px; }
.home-pro-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.home-pro-stat-row article, .home-pro-visual-grid article {
  padding:18px; border-radius:22px; background:#fff; border:1px solid #e3ebf7;
  box-shadow:0 14px 28px rgba(15,23,42,.05);
}
.home-pro-stat-row strong { display:block; font-size:1.55rem; color:var(--text); margin-bottom:4px; }
.home-pro-stat-row span { color:var(--text-soft); }
.home-pro-visual-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.home-pro-visual-grid h3 { margin:0 0 8px; }
.home-pro-visual-grid p { margin:0; color:var(--text-soft); line-height:1.55; }

.home-pro-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px; }
.home-pro-benefit-card,
.home-pro-service-card,
.home-pro-plan-card,
.home-pro-access,
.home-pro-contact {
  background:rgba(255,255,255,.96); border:1px solid #dce6f4; box-shadow:0 18px 34px rgba(15,23,42,.06);
}
.home-pro-benefit-card { padding:22px; border-radius:24px; display:grid; gap:8px; }
.home-pro-benefit-card strong { font-size:1.05rem; }
.home-pro-benefit-card span { color:var(--text-soft); line-height:1.6; }
.home-pro-section { display:grid; gap:22px; padding-top:22px; }
.home-pro-title-wrap h2 { margin-bottom:10px; }
.home-pro-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.home-pro-service-card { padding:24px; border-radius:26px; }
.home-pro-service-icon {
  width:58px; height:58px; border-radius:18px; display:grid; place-items:center;
  background:linear-gradient(180deg,#f4f8ff,#e7f0ff); border:1px solid #d9e4f7; margin-bottom:16px; font-size:1.4rem;
}
.home-pro-service-card h3 { margin:0 0 8px; }
.home-pro-service-card p { margin:0; color:var(--text-soft); line-height:1.65; }

.home-pro-plans-section { margin-top:6px; }
.home-pro-plans-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.home-pro-plan-card { position:relative; padding:26px; border-radius:28px; display:grid; gap:12px; align-content:start; }
.home-pro-plan-card strong { font-size:1.85rem; color:var(--text); }
.home-pro-plan-card p { margin:0; color:var(--text-soft); line-height:1.6; }
.home-pro-plan-card.is-trial {
  background:linear-gradient(180deg, #edf5ff 0%, #ffffff 100%);
  border-color: color-mix(in srgb, var(--primary) 26%, white);
}
.home-pro-plan-badge {
  position:absolute; top:16px; right:16px; padding:6px 10px; border-radius:999px;
  background:var(--primary); color:#fff; font-weight:800; font-size:.74rem;
}
.home-pro-access, .home-pro-contact {
  margin-top:24px; padding:30px; border-radius:30px; display:grid; gap:18px;
}
.home-pro-access { grid-template-columns:minmax(0,.9fr) minmax(340px,.85fr); align-items:center; }
.home-pro-access p, .home-pro-contact p { margin:0; color:var(--text-soft); line-height:1.7; }
.home-pro-access-form { display:grid; gap:14px; }
.home-pro-contact { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.home-pro-contact-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Sales page */
.sales-pro-shell { display:grid; gap:22px; }
.sales-pro-hero,
.sales-pro-step {
  background:rgba(255,255,255,.97); border:1px solid #dbe6f4; border-radius:30px;
  box-shadow:0 22px 46px rgba(15,23,42,.07);
}
.sales-pro-hero { padding:32px; display:grid; gap:12px; }
.sales-pro-hero h1 { margin:0; font-size:clamp(2rem, 4vw, 3.2rem); letter-spacing:-.03em; }
.sales-pro-hero p { margin:0; color:var(--text-soft); line-height:1.72; max-width:840px; }
.sales-pro-step { padding:28px; display:grid; gap:20px; }
.sales-pro-step-header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.sales-pro-step-header h2 { margin:4px 0 8px; }
.sales-pro-step-header p { margin:0; color:var(--text-soft); line-height:1.65; }
.sales-pro-selected {
  padding:12px 14px; border-radius:16px; background:#f5f8ff; border:1px solid #d9e5f7; font-weight:700; color:var(--text);
}
.sales-plan-grid--step { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.sales-plan {
  text-align:left; border:1px solid #dde6f4; background:#fff; border-radius:24px; padding:22px;
  display:grid; gap:10px; cursor:pointer; box-shadow:0 12px 24px rgba(15,23,42,.05); transition:.18s ease;
}
.sales-plan:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--primary) 28%, white); box-shadow:0 20px 36px rgba(91,141,239,.12); }
.sales-plan.is-selected { border-color:transparent; background:linear-gradient(180deg,#5b8def,#427aec); color:#fff; box-shadow:0 22px 40px rgba(91,141,239,.24); }
.sales-plan.is-selected small, .sales-plan.is-selected .sales-plan-price { color:#fff; opacity:.95; }
.sales-plan-top { min-height:22px; }
.sales-plan strong { font-size:1.08rem; }
.sales-plan-price { font-size:1.6rem; font-weight:800; color:var(--text); }
.sales-plan small { color:var(--text-soft); line-height:1.55; }
.sales-form--pro label { gap:8px; }
.sales-form--pro input, .sales-form--pro select { min-height:52px; border-radius:16px; }
.sales-summary--pro { padding:18px; border-radius:20px; background:#f6f9ff; border:1px solid #dde8f6; }

/* Master */
.master-layout {
  grid-template-columns: 320px minmax(0, 1fr);
  align-items:start;
}
.master-layout .dashboard-side.light {
  position:sticky; top:20px; align-self:start; max-height:calc(100vh - 40px); overflow:auto;
  border-radius:30px; padding:24px; background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
}
.master-layout .dashboard-main { min-width:0; }
.master-header {
  padding:24px 26px; border-radius:28px; background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,251,255,.97));
  border:1px solid #dde7f4; box-shadow:0 20px 38px rgba(15,23,42,.06);
}
.master-header h1 { margin:0 0 8px; font-size:clamp(1.9rem,3vw,2.6rem); }
.master-header p { margin:0; color:var(--text-soft); line-height:1.65; max-width:760px; }
.master-nav-list a {
  display:flex; align-items:center; justify-content:flex-start; min-height:52px;
  border-radius:18px !important; font-weight:700 !important; text-decoration:none !important;
}
.master-nav-list .secondary-btn { background:#fff !important; border:1px solid #dce5f2 !important; color:var(--text) !important; }
.master-nav-list .secondary-btn:hover { border-color:color-mix(in srgb,var(--primary) 28%, white) !important; color:var(--primary) !important; }
.side-info { display:grid; gap:10px; }
.side-kpi { padding:14px 16px; border-radius:18px; background:#fff; border:1px solid #e0e8f4; display:flex; align-items:center; justify-content:space-between; }
.side-kpi span { color:var(--text-soft); font-weight:600; }
.side-kpi strong { font-size:1.2rem; }
.master-auth-wrap { min-height:100vh; display:grid; place-items:center; padding:22px; }
.master-auth-card { width:min(520px, 100%); padding:32px; border-radius:30px; }
.master-login-form input { min-height:54px; border-radius:16px; }
.master-login-form .primary-btn { min-height:54px; }

.stores-toolbar { display:flex; gap:16px; align-items:end; justify-content:space-between; flex-wrap:wrap; margin-bottom:18px; }
.stores-filter-chips { display:flex; flex-wrap:wrap; gap:10px; }
.filter-chip { border:none; cursor:pointer; padding:12px 14px; border-radius:999px; font-weight:700; background:#fff; border:1px solid #dde7f4; color:var(--text-soft); }
.filter-chip.is-active { background:linear-gradient(180deg,#5b8def,#437ced); color:#fff; border-color:transparent; box-shadow:0 14px 26px rgba(91,141,239,.24); }
.stores-search span { display:block; margin-bottom:8px; font-weight:700; }
.stores-search input { min-width:280px; }

.card.portal-card-inner,
.portal-card-inner,
.store-card,
.order-card,
.stat-card { border-radius:26px !important; }
.store-actions-inline.wrap,
.row-actions { display:flex; gap:10px; flex-wrap:wrap; }
.store-actions-inline .primary-btn,
.store-actions-inline .secondary-btn,
.store-actions-inline .danger-btn,
.row-actions .primary-btn,
.row-actions .secondary-btn,
.home-btn,
.primary-btn,
.secondary-btn { min-height:48px; align-items:center; justify-content:center; padding:0 18px !important; border-radius:16px !important; font-weight:800 !important; }
.primary-btn {
  background:linear-gradient(180deg,#5b8def,#4179ea) !important; color:#fff !important; border:1px solid transparent !important;
  box-shadow:0 16px 30px rgba(91,141,239,.26) !important;
}
.primary-btn:hover { filter:brightness(1.03); transform:translateY(-1px); }
.secondary-btn {
  background:#fff !important; color:var(--text) !important; border:1px solid #dce5f2 !important;
}
.secondary-btn:hover { color:var(--primary) !important; border-color:color-mix(in srgb,var(--primary) 28%, white) !important; }
.danger-btn { background:#fff6f7 !important; border-color:#f3c8d0 !important; }

@media (max-width: 1180px) {
  .home-pro-hero,
  .home-pro-access,
  .home-pro-contact,
  .master-layout { grid-template-columns:1fr; }
  .home-pro-plans-grid,
  .sales-plan-grid--step { grid-template-columns:repeat(2,1fr); }
  .home-pro-services-grid,
  .home-pro-benefits { grid-template-columns:repeat(2,1fr); }
  .home-pro-window-body { grid-template-columns:130px 1fr; }
}

@media (max-width: 860px) {
  .home-pro-header { grid-template-columns:1fr; top:8px; }
  .home-pro-nav { justify-content:flex-start; overflow:auto; padding-bottom:2px; }
  .home-pro-header-actions { width:100%; display:grid; grid-template-columns:1fr; }
  .home-pro-hero,
  .sales-pro-hero,
  .sales-pro-step,
  .home-pro-access,
  .home-pro-contact { padding:22px; }
  .home-pro-benefits,
  .home-pro-services-grid,
  .home-pro-plans-grid,
  .sales-plan-grid--step,
  .home-pro-stat-row,
  .home-pro-visual-grid { grid-template-columns:1fr; }
  .home-pro-window-body { grid-template-columns:1fr; }
  .home-pro-window-sidebar { grid-template-columns:repeat(2,1fr); }
  .home-pro-contact { align-items:flex-start; }
  .home-pro-contact-actions,
  .home-pro-hero-actions,
  .home-pro-header-actions { display:grid; grid-template-columns:1fr; }
  .master-layout .dashboard-side.light { position:relative; top:0; max-height:none; overflow:visible; }
  .stores-search input { min-width:0; width:100%; }
}


/* ===== Final polish: home + master ===== */
.home-btn,
.primary-btn,
.secondary-btn,
.danger-btn,
.action-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.15!important;text-decoration:none!important;vertical-align:middle;}
.home-btn{padding-inline:22px!important;letter-spacing:-.01em;}
.secondary-btn.home-btn{background:linear-gradient(180deg,#ffffff 0%,#f5f8ff 100%)!important;border:1px solid #d7e3f2!important;box-shadow:0 10px 24px rgba(15,23,42,.05)!important;}
.secondary-btn.home-btn:hover{background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%)!important;}
.home-pro-shell{width:min(1260px,calc(100% - 24px));padding-top:18px;}
.home-pro-header{padding:16px 18px;border-radius:28px;grid-template-columns:auto 1fr auto;gap:20px;}
.home-pro-nav a{padding:12px 16px;border-radius:16px;font-weight:800;}
.home-pro-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);padding:34px 34px 30px;gap:24px;overflow:hidden;}
.home-pro-hero-copy h1{font-size:clamp(2.35rem,4.5vw,4.05rem);line-height:.98;max-width:720px;margin-top:8px;}
.home-pro-hero-copy p{max-width:680px;}
.home-pro-hero-actions{margin-top:26px;align-items:stretch;}
.home-pro-window{align-self:stretch;min-height:100%;}
.home-pro-window-body{grid-template-columns:130px minmax(0,1fr);min-height:388px;}
.home-pro-window-sidebar{padding:16px;gap:10px;}
.home-pro-mini-card{padding:12px 14px;border-radius:16px;font-size:.95rem;}
.home-pro-window-content{padding:18px;gap:14px;}
.home-pro-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.home-pro-stat-row article,.home-pro-visual-grid article{padding:16px;border-radius:20px;}
.home-pro-stat-row strong{font-size:1.35rem;}
.home-pro-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.home-pro-plans-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;}
.home-pro-plan-card,.home-pro-service-card,.home-pro-benefit-card,.home-pro-access,.home-pro-contact{box-shadow:0 18px 40px rgba(15,23,42,.06);}
.home-pro-contact-actions .secondary-btn.home-btn{min-width:250px;}

.master-layout{grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start;}
.master-layout .dashboard-side.light{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;padding:24px 22px;border-radius:30px;box-shadow:0 22px 48px rgba(15,23,42,.08);}
.master-layout .dashboard-main{display:grid;gap:22px;min-width:0;}
.master-header,.renewal-banner,.master-layout .card.portal-card-inner{box-shadow:0 18px 38px rgba(15,23,42,.06);}
.master-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px;}
.master-nav-list .secondary-btn{min-height:50px;justify-content:flex-start!important;padding-inline:16px!important;border-radius:16px!important;}
.side-kpi{padding:14px 14px;border-radius:16px;}
.section-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:800;background:linear-gradient(180deg,#eef4ff 0%,#f9fbff 100%);border:1px solid #d6e3f6;color:#3d67c5;}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.card-header h3{margin:0;font-size:1.25rem;}
.master-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.stat-card{padding:22px 20px;}
.stat-card strong{display:block;font-size:2rem;margin-top:12px;}
.stat-card small{display:block;margin-top:6px;color:var(--text-soft);}
.stores-toolbar{padding:16px 18px;border-radius:22px;background:linear-gradient(180deg,#f9fbff 0%,#f3f7fd 100%);border:1px solid #dde8f4;}
.stores-search input{min-width:300px;height:50px;border-radius:16px;}
.store-grid,.master-stores-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px;}
.store-card,.order-card{padding:22px;border-radius:26px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid #dfe8f4;box-shadow:0 18px 34px rgba(15,23,42,.04);}
.store-mini-logo{width:58px;height:58px;border-radius:18px;font-size:1.15rem;display:grid;place-items:center;color:#fff;font-weight:800;}
.store-card-top{align-items:flex-start;gap:14px;}
.store-card-identify h4,.order-card h4{font-size:1.2rem;margin:0 0 4px;}
.store-info-grid>div{min-height:82px;align-content:start;}
.store-actions-inline.wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.store-actions-inline.wrap .primary-btn,.store-actions-inline.wrap .secondary-btn,.store-actions-inline.wrap .danger-btn{width:100%;}
.store-links.top-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.store-links.top-links .secondary-btn{width:100%;}
.order-card .note-list.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.order-card .note-list.compact>div{padding:10px 12px;border-radius:14px;background:#f8fbff;border:1px solid #e1eaf5;}
.renewal-banner-grid{grid-template-columns:1fr auto;align-items:center;}
.renewal-banner-actions .primary-btn,.renewal-banner-actions .secondary-btn{min-width:180px;}

@media (max-width: 1180px){
  .home-pro-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .master-layout{grid-template-columns:1fr;}
  .master-layout .dashboard-side.light{position:relative;top:0;max-height:none;overflow:visible;}
  .master-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 860px){
  .home-pro-header{grid-template-columns:1fr;position:static;}
  .home-pro-header-actions,.home-pro-hero-actions,.home-pro-contact-actions{display:grid;grid-template-columns:1fr;gap:12px;}
  .home-pro-hero{grid-template-columns:1fr;padding:24px;gap:20px;}
  .home-pro-window-body,.home-pro-stat-row,.home-pro-visual-grid,.home-pro-services-grid,.home-pro-benefits,.home-pro-plans-grid,.master-stats,.store-actions-inline.wrap,.store-links.top-links,.order-card .note-list.compact{grid-template-columns:1fr;}
  .home-pro-window-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));border-right:none;border-bottom:1px solid #ebf1f9;}
  .stores-toolbar{padding:14px;}
  .stores-search input{min-width:100%;}
}


/* ===== master menu flow fix ===== */
.master-layout{align-items:start;}
.master-layout .dashboard-side.light{
  position:relative !important;
  top:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
.master-header{
  position:relative;
  z-index:1;
}
@media (max-width: 980px){
  .master-layout .dashboard-side.light{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

/* Premium product photos: up to 5 images */
.product-photo-preview{position:relative;overflow:hidden;}
.product-photo-preview.has-image > img{width:100%;height:100%;object-fit:cover;display:block;}
.product-photo-mini-grid{position:absolute;left:6px;right:6px;bottom:6px;display:flex;gap:4px;justify-content:center;pointer-events:none;}
.product-photo-mini{width:18px;height:18px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.2);background:#fff;}
.product-photo-mini img{width:100%;height:100%;object-fit:cover;display:block;}
.product-photo-mini.active{outline:2px solid var(--primary, #5b8def);}

/* Alertas fortes para pedidos online pagos */
.online-alert-banner{margin:0 0 14px;padding:14px 16px;border-radius:18px;background:#fff3cd;border:1px solid #ffd36a;color:#5b3d00;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 12px 30px rgba(255,174,0,.16)}
.online-alert-banner strong{font-size:1.02rem}.online-alert-banner span{font-weight:700}.badge.danger{background:#ffe1e1!important;color:#a40000!important;border:1px solid #ff9b9b!important}.badge.pulse{animation:paidPulse 1.1s infinite}@keyframes paidPulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.35)}70%{box-shadow:0 0 0 9px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
.customer-security-card{margin-top:14px;border-top:1px solid #eef1f8;padding-top:14px}

/* Atualização pedidos online + Melhor Envio */
.shipping-quotes{display:grid;gap:8px;margin:6px 0 2px}.shipping-empty{font-size:12px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px}.shipping-option{display:flex;align-items:center;gap:10px;justify-content:space-between;border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:10px;cursor:pointer}.shipping-option.selected{border-color:var(--primary,#ec4899);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#ec4899) 14%,transparent)}.shipping-option span{display:flex;flex-direction:column;gap:2px;flex:1}.shipping-option small{color:#64748b}.shipping-option input{accent-color:var(--primary,#ec4899)}
.online-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:18px;padding:14px;margin:0 0 14px;box-shadow:0 16px 40px rgba(159,18,57,.08)}.online-alert-banner span{display:block;font-size:13px;color:#be123c;margin-top:3px}.badge.pulse{animation:pulseBadge 1.1s ease-in-out infinite}@keyframes pulseBadge{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media(max-width:760px){.shipping-option{border-radius:14px;padding:12px}.online-alert-banner{align-items:flex-start;flex-direction:column}.checkout-card{max-height:96vh;overflow:auto}.checkout-summary-panel{position:static}}

/* Checkout entrega/frete refinado */
.delivery-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 14px}
.delivery-mode-card{display:flex;align-items:flex-start;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:14px;cursor:pointer;min-height:84px;transition:.18s ease}
.delivery-mode-card input{margin-top:3px;accent-color:var(--primary,#ec4899)}
.delivery-mode-card span{display:flex;flex-direction:column;gap:4px;line-height:1.25}
.delivery-mode-card strong{font-size:14px;color:#0f172a}
.delivery-mode-card small{font-size:12px;color:#64748b;font-weight:600}
.delivery-mode-card.selected{border-color:var(--primary,#ec4899);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#ec4899) 13%,transparent);background:color-mix(in srgb,var(--primary,#ec4899) 7%,#fff)}
.shipping-quotes{display:grid;gap:10px;margin:10px 0 14px}
.shipping-option{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:14px;cursor:pointer;line-height:1.25}
.shipping-option.selected{border-color:var(--primary,#ec4899);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#ec4899) 13%,transparent)}
.shipping-option input{accent-color:var(--primary,#ec4899);width:18px;height:18px}.shipping-option .ship-info{display:flex;flex-direction:column;gap:4px;min-width:0}.shipping-option .ship-info strong{font-size:14px;color:#0f172a}.shipping-option .ship-info small{font-size:12px;color:#64748b;font-weight:600}.shipping-option b{font-size:15px;white-space:nowrap;color:#0f172a}.shipping-empty{font-size:13px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:13px;line-height:1.35}.shipping-empty.shipping-free{border-style:solid;background:color-mix(in srgb,var(--primary,#ec4899) 7%,#fff);border-color:color-mix(in srgb,var(--primary,#ec4899) 25%,#e2e8f0);color:#334155}.shipping-empty strong{color:#0f172a}.hidden{display:none!important}
@media(max-width:760px){.delivery-mode-grid{grid-template-columns:1fr}.delivery-mode-card{min-height:auto;padding:13px;border-radius:16px}.shipping-option{grid-template-columns:auto 1fr;align-items:flex-start;padding:13px}.shipping-option b{grid-column:2;font-size:16px}.checkout-address-grid,.checkout-city-grid{grid-template-columns:1fr!important}.checkout-card{width:min(100vw - 16px,760px)!important;border-radius:22px!important}.checkout-summary-panel{position:static!important}}

/* Login no checkout - modal profissional */
.checkout-login-modal{
  position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center;
  padding:18px; background:rgba(15,23,42,.58); backdrop-filter:blur(6px);
}
.checkout-login-modal.open{display:flex;}
.checkout-login-card{
  width:min(440px,100%); background:#fff; border:1px solid rgba(148,163,184,.28); border-radius:30px;
  padding:26px; box-shadow:0 30px 80px rgba(15,23,42,.26); position:relative;
}
.checkout-login-close{
  position:absolute; right:16px; top:16px; width:44px; height:44px; border:0; border-radius:16px;
  background:#f1f5f9; color:#0f172a; font-size:26px; cursor:pointer;
}
.checkout-login-card .login-badge{
  display:inline-flex; padding:10px 16px; border-radius:999px; background:color-mix(in srgb, var(--accent, #ff38df) 14%, white);
  color:var(--accent, #ff38df); font-weight:900; margin-bottom:12px;
}
.checkout-login-card h2{font-size:30px; line-height:1.05; margin:4px 0 8px; color:#0f172a;}
.checkout-login-card p{font-size:15px; line-height:1.45; color:#64748b; margin:0 0 18px;}
.login-field-label{display:block; font-size:13px; color:#64748b; font-weight:800; margin:12px 0 6px;}
.checkout-login-card .login-field{width:100%; min-height:56px; font-size:16px;}
.checkout-login-msg{min-height:22px; margin:12px 0 6px; color:#64748b; font-weight:800; font-size:14px;}
.checkout-login-submit{width:100%; min-height:56px; justify-content:center; font-size:17px; margin-top:6px;}
.checkout-login-footer{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:16px; color:#64748b; font-weight:700;}
.checkout-login-footer button{border:0; background:transparent; color:var(--accent, #ff38df); font-weight:900; cursor:pointer; font-size:15px;}
@media(max-width:640px){
  .checkout-login-modal{align-items:flex-end; padding:0;}
  .checkout-login-card{width:100%; border-radius:28px 28px 0 0; padding:24px 20px 28px; max-height:92vh; overflow:auto;}
  .checkout-login-card h2{font-size:26px;}
  .checkout-login-submit{min-height:58px;}
}


/* Ajuste final login checkout */
.checkout-login-modal{position:fixed!important;inset:0!important;z-index:100000!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(15,23,42,.62)!important;backdrop-filter:blur(5px)!important}
.checkout-login-modal.open{display:flex!important}
.checkout-login-card{width:min(420px,calc(100vw - 32px))!important;background:#fff!important;border-radius:26px!important;padding:24px!important;box-shadow:0 30px 90px rgba(15,23,42,.32)!important;border:1px solid rgba(148,163,184,.28)!important;position:relative!important;margin:auto!important;transform:none!important}
.checkout-login-close{position:absolute!important;right:14px!important;top:14px!important;width:42px!important;height:42px!important;border:0!important;border-radius:16px!important;background:#f1f5f9!important;color:#0f172a!important;font-size:24px!important;line-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
.checkout-login-card .login-badge,.checkout-login-card p{display:none!important}
.checkout-login-card h2{font-size:28px!important;line-height:1.1!important;margin:4px 52px 18px 0!important;color:#0f172a!important;font-weight:950!important}
.checkout-login-card .login-field{width:100%!important;min-height:56px!important;border-radius:18px!important;font-size:16px!important}
.checkout-login-submit{width:100%!important;min-height:56px!important;border-radius:18px!important;justify-content:center!important;font-size:17px!important;margin-top:8px!important}
.checkout-login-footer{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin-top:14px!important;font-size:14px!important}
@media(max-width:640px){.checkout-login-modal{align-items:flex-end!important;padding:0!important}.checkout-login-card{width:100%!important;border-radius:26px 26px 0 0!important;padding:24px 20px calc(28px + env(safe-area-inset-bottom))!important;max-height:88vh!important;overflow:auto!important}.checkout-login-card h2{font-size:26px!important}.checkout-login-submit{min-height:58px!important}}


/* Pedido online pago: alerta destacado e persistente */
.floating-online-alert{position:fixed;right:20px;bottom:22px;z-index:99999;display:flex;align-items:center;gap:14px;background:#e11d48;color:#fff;border-radius:22px;padding:16px 18px;box-shadow:0 24px 70px rgba(225,29,72,.38);max-width:min(440px,calc(100vw - 28px));border:2px solid rgba(255,255,255,.45)}
.floating-online-alert-icon{width:42px;height:42px;border-radius:999px;background:#fff;color:#e11d48;display:grid;place-items:center;font-weight:1000;font-size:28px;flex-shrink:0}
.floating-online-alert-text{display:flex;flex-direction:column;gap:2px;min-width:0}.floating-online-alert-text strong{font-size:16px;line-height:1.15}.floating-online-alert-text span{font-size:13px;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-online-alert button{border:0;border-radius:14px;background:#fff;color:#be123c;font-weight:900;padding:11px 14px;cursor:pointer;white-space:nowrap}.pulse-strong{animation:onlinePulse 1s infinite}@keyframes onlinePulse{0%,100%{transform:scale(1);box-shadow:0 24px 70px rgba(225,29,72,.38)}50%{transform:scale(1.025);box-shadow:0 26px 86px rgba(225,29,72,.58)}}
.online-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff1f2;border:2px solid #fb7185;color:#9f1239;border-radius:20px;padding:16px 18px;margin:0 0 14px;box-shadow:0 14px 34px rgba(225,29,72,.10)}.online-alert-banner strong{font-size:18px}.online-alert-banner span{font-weight:700}
@media (max-width: 700px){.floating-online-alert{left:12px;right:12px;bottom:12px;border-radius:18px;padding:14px}.floating-online-alert button{padding:10px 12px}.floating-online-alert-text strong{font-size:14px}.online-alert-banner{align-items:flex-start;flex-direction:column}}

/* Online orders detail / separation workflow */
.online-order-modal-card{width:min(920px,96vw)}
.online-detail{display:grid;gap:18px;color:#172033}
.online-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #e8edf7}
.online-detail-head h2{margin:3px 0;font-size:1.7rem;line-height:1.05}
.online-detail-head p{margin:0;color:#71809a}.online-detail-section h3{margin:0 0 10px;font-size:1rem}.online-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.online-detail-grid div{border:1px solid #e6ebf5;border-radius:16px;padding:12px;background:#fff}.online-detail-grid span{display:block;color:#71809a;font-size:.82rem;margin-bottom:3px}.online-detail-grid strong{font-size:.96rem;overflow-wrap:anywhere}.online-delivery-box{border:1px solid #e6ebf5;border-radius:18px;padding:14px;background:#fbfcff}.online-delivery-box p{margin:6px 0 0;color:#4d5b76}.online-detail-items{display:grid;gap:8px}.online-detail-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e6ebf5;border-radius:16px;padding:12px;background:#fff}.online-detail-item-qty{width:42px;height:42px;border-radius:14px;background:var(--primary-soft,#eef4ff);display:grid;place-items:center;font-weight:900;color:var(--primary,#5b8def)}.online-detail-item-main strong{display:block;overflow-wrap:anywhere}.online-detail-item-main span{display:block;color:#71809a;font-size:.88rem;margin-top:3px}.online-detail-item-price{font-weight:900;white-space:nowrap}.online-detail-totals{border:1px solid #e6ebf5;border-radius:18px;overflow:hidden;background:#fff}.online-detail-totals div{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid #eef2f8}.online-detail-totals div:last-child{border-bottom:0;background:#f8fbff;font-size:1.05rem}.online-detail-totals span{color:#58677f}.online-detail-actions{gap:10px;flex-wrap:wrap;border-top:1px solid #eef2f8}.seen-line{color:#71809a}.badge.warning{background:#fff7e6;color:#9a5a00;border-color:#ffd38a}.muted-text{color:#71809a}.online-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #fecaca;background:#fff1f2;color:#991b1b;border-radius:18px;padding:14px 16px;margin:12px 0}.online-alert-banner span{color:#7f1d1d}
@media (max-width:760px){.online-order-modal-card{width:100%;max-height:94vh;border-radius:22px}.online-detail-head{flex-direction:column}.online-detail-grid{grid-template-columns:1fr}.online-detail-item{grid-template-columns:42px minmax(0,1fr);align-items:start}.online-detail-item-price{grid-column:2;text-align:left}.online-detail-actions .btn{width:100%}.online-alert-banner{align-items:flex-start;flex-direction:column}.table-actions-stack{gap:7px}.table-actions-stack .action-btn{width:100%;justify-content:center}}

/* Pedidos online: abas profissionais */
.online-orders-card .online-orders-header{
  align-items:flex-start;
  gap:16px;
}
.online-orders-header h3{margin-bottom:4px;}
.online-orders-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.4;}
.online-orders-header .search-input{max-width:360px;min-width:260px;}
.online-orders-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 16px;
  padding:6px;
  background:#f7f8fc;
  border:1px solid var(--border);
  border-radius:18px;
}
.online-tab{
  border:0;
  background:transparent;
  color:var(--muted);
  font-weight:800;
  border-radius:14px;
  padding:10px 14px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:.18s ease;
}
.online-tab span{
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#e9ecf5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  color:#1f2937;
}
.online-tab.active{
  background:var(--primary, #ff4fd8);
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}
.online-tab.active span{background:rgba(255,255,255,.22);color:#fff;}
.online-orders-table-wrap .empty-state.compact{
  padding:28px;
  border:1px dashed var(--border);
  border-radius:18px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:6px;
  color:var(--muted);
}
.online-orders-table-wrap .empty-state.compact strong{color:var(--text);font-size:16px;}
@media (max-width: 768px){
  .online-orders-card .online-orders-header{display:flex;flex-direction:column;align-items:stretch;}
  .online-orders-header .search-input{max-width:100%;min-width:0;width:100%;}
  .online-orders-tabs{display:grid;grid-template-columns:1fr;gap:8px;padding:8px;background:#fff;}
  .online-tab{justify-content:space-between;background:#f7f8fc;border:1px solid var(--border);padding:13px 14px;}
  .online-tab.active{border-color:transparent;}
}


.card-installment-box{margin-top:10px;padding:12px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.05)}
.card-installment-box.hidden{display:none!important}.card-installment-box label{display:block;font-size:12px;color:#475569;font-weight:700}.card-installment-box label span{display:block;margin-bottom:5px}.card-installment-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.compact-select,.compact-field{min-height:42px!important;padding:10px 12px!important}@media(max-width:720px){.card-installment-row{grid-template-columns:1fr}.card-installment-box{border-radius:14px;padding:10px}}

/* Pagamento checkout profissional */
.checkout-payment-area{display:flex;flex-direction:column;gap:10px}
.checkout-payment-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.payment-method-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.payment-method-card{display:flex;align-items:center;gap:10px;width:100%;border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:18px;padding:14px 12px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.05);transition:.18s ease;border-color:rgba(15,23,42,.12)}
.payment-method-card strong{display:block;color:#0f172a;font-size:14px;line-height:1.15}.payment-method-card small{display:block;color:#64748b;font-size:11px;margin-top:3px}.payment-method-icon{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,23,42,.06);font-weight:900;color:var(--accent,#ec4899)}
.payment-method-card.active{border-color:var(--accent,#ec4899);box-shadow:0 12px 28px rgba(236,72,153,.14);background:linear-gradient(180deg,#fff,rgba(236,72,153,.04))}.payment-method-card.active .payment-method-icon{background:var(--accent,#ec4899);color:#fff}.payment-hint-box{font-size:12px;font-weight:700;color:#334155;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:10px 12px}.gateway-note{font-size:12px;color:#475569;background:#f8fafc;border:1px dashed rgba(15,23,42,.16);border-radius:14px;padding:10px 12px}.gateway-note.hidden{display:none!important}.card-installment-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:10px}.card-installment-title strong{font-size:13px;color:#0f172a}.card-installment-title span{font-size:11px;color:#64748b;text-align:right}
@media(max-width:720px){.payment-method-cards{grid-template-columns:1fr}.payment-method-card{padding:14px;border-radius:16px}.card-installment-title{display:block}.card-installment-title span{text-align:left;display:block;margin-top:2px}}

/* ===== Configurações profissionais: integrações e frete ===== */
.settings-panel-card.integrations-panel{border:1px solid rgba(15,23,42,.08)!important;background:linear-gradient(180deg,#fff,#fbfcff)!important;border-radius:28px!important;box-shadow:0 20px 50px rgba(15,23,42,.07)!important;overflow:hidden!important}
.settings-panel-card.integrations-panel .settings-panel-head{padding:20px 22px!important;margin:-1px -1px 18px!important;background:linear-gradient(135deg,rgba(236,72,153,.08),rgba(91,141,239,.08))!important;border-bottom:1px solid rgba(15,23,42,.07)!important}
.settings-panel-card.integrations-panel .settings-panel-head h4{font-size:1.15rem!important;font-weight:950!important;margin:0 0 5px!important;color:#0f172a!important}
.settings-panel-card.integrations-panel .settings-panel-head p{margin:0!important;color:#64748b!important;font-weight:700!important;line-height:1.4!important}
.settings-panel-card.integrations-panel .form-grid{gap:14px!important}
.settings-panel-card.integrations-panel label{background:#fff!important;border:1px solid #e7ecf5!important;border-radius:18px!important;padding:13px!important;box-shadow:0 8px 22px rgba(15,23,42,.035)!important}
.settings-panel-card.integrations-panel label span{display:block!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#64748b!important;font-weight:950!important;margin-bottom:7px!important}
.settings-panel-card.integrations-panel input,.settings-panel-card.integrations-panel select{width:100%!important;min-height:48px!important;border-radius:14px!important;border:1px solid #dfe5f0!important;background:#fff!important;padding:11px 12px!important;font-size:15px!important;color:#0f172a!important;outline:none!important}
.settings-panel-card.integrations-panel input:focus,.settings-panel-card.integrations-panel select:focus{border-color:var(--primary,#5b8def)!important;box-shadow:0 0 0 4px rgba(91,141,239,.14)!important}
.settings-panel-card.integrations-panel small.muted,.settings-panel-card.integrations-panel .small.muted{display:block!important;margin-top:8px!important;color:#64748b!important;font-weight:700!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important}
.settings-panel-card.integrations-panel .settings-subtitle{background:#f8fafc!important;border:1px solid #e7ecf5!important;border-radius:18px!important;padding:14px 16px!important;color:#334155!important;line-height:1.4!important}
.settings-panel-card.integrations-panel .settings-subtitle strong{font-size:1rem!important;color:#0f172a!important;font-weight:950!important}
.settings-panel-card.integrations-panel .checkout-status{border-radius:18px!important;padding:14px 16px!important;background:#f8fafc!important;border:1px solid #e7ecf5!important;color:#334155!important;font-weight:800!important}
@media(max-width:760px){.settings-panel-card.integrations-panel{border-radius:22px!important}.settings-panel-card.integrations-panel .settings-panel-head{padding:17px!important}.settings-panel-card.integrations-panel label{border-radius:16px!important;padding:12px!important}.settings-panel-card.integrations-panel input,.settings-panel-card.integrations-panel select{font-size:16px!important;min-height:52px!important}.settings-panel-card.integrations-panel .form-grid{grid-template-columns:1fr!important}.settings-panel-card.integrations-panel .span-2{grid-column:auto!important}}

/* Cliente - timeline e rastreio do pedido */
.order-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}
.order-timeline span{font-size:12px;text-align:center;padding:7px 6px;border-radius:999px;background:#f1f5f9;color:#64748b;font-weight:800}
.order-timeline span.done{background:var(--brand-soft, #ffe4f4);color:var(--brand,#e91e63)}
.tracking-box{margin:12px 0;padding:12px 14px;border:1px solid #dbe4f0;border-radius:16px;background:#f8fafc;color:#0f172a}
.tracking-box a{color:var(--brand,#e91e63);font-weight:900;text-decoration:none}

/* Financeiro profissional */
.finance-operational-grid { margin: 18px 0; }
.finance-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.finance-mini-card {
  border: 1px solid rgba(15, 23, 42, .08);
  background: linear-gradient(180deg, #fff, #fafafa);
  border-radius: 18px;
  padding: 14px;
  min-height: 88px;
}
.finance-mini-card span { display:block; font-size: 12px; color: #64748b; margin-bottom: 6px; }
.finance-mini-card strong { display:block; font-size: 20px; color: #0f172a; }
.finance-mini-card small { display:block; margin-top: 6px; color:#64748b; line-height:1.35; }
.finance-mini-card.total { border-color: color-mix(in srgb, var(--accent, #ff1493) 30%, #fff); background: color-mix(in srgb, var(--accent, #ff1493) 7%, #fff); }
.compact-table table td, .compact-table table th { white-space: nowrap; }
@media (max-width: 780px) {
  .finance-breakdown-grid { grid-template-columns: 1fr; }
  .finance-breakdown-card .card-header { gap: 12px; align-items: stretch; }
  #printFinanceDailyReportBtn { width: 100%; }
}

/* ===== Revisão UX final: galeria profissional e fluxo sem obstáculos ===== */
body.modal-lock, body.photo-zoom-open { overflow: hidden !important; touch-action: none; }
#catalogModal.modal { z-index: 9000; }
#catalogModal.modal.open { backdrop-filter: blur(8px); background: rgba(15,23,42,.62); }
#catalogModal .modal-card.product-modal-card { position: relative; box-shadow: 0 30px 90px rgba(15,23,42,.28); }
#catalogModal .modal-media { position: relative; }
#catalogModal .premium-gallery { width:100%; height:100%; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:12px; padding:14px; box-sizing:border-box; }
#catalogModal .premium-gallery-main { position:relative; min-height:0; border-radius:24px; overflow:hidden; background:#fff; display:flex; align-items:center; justify-content:center; cursor:zoom-in; }
#catalogModal .premium-gallery-main img { width:100%; height:100%; object-fit:contain; display:block; user-select:none; -webkit-user-drag:none; }
#catalogModal .gallery-zoom-hint { position:absolute; left:14px; bottom:14px; background:rgba(15,23,42,.72); color:#fff; border-radius:999px; padding:8px 12px; font-size:.78rem; font-weight:800; backdrop-filter:blur(6px); }
#catalogModal .premium-thumbs { display:flex; gap:10px; overflow-x:auto; padding:2px 2px 4px; scrollbar-width:thin; }
#catalogModal .premium-thumb { flex:0 0 66px; width:66px; height:66px; border:2px solid transparent; border-radius:16px; overflow:hidden; background:#fff; padding:0; cursor:pointer; box-shadow:0 8px 20px rgba(15,23,42,.08); }
#catalogModal .premium-thumb.active { border-color:var(--primary,#ec4899); }
#catalogModal .premium-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
#catalogModal .modal-body { overscroll-behavior: contain; }
#catalogModal .modal-head { position:sticky; top:0; z-index:4; background:linear-gradient(180deg,#fff 78%,rgba(255,255,255,.92)); padding-bottom:10px; }
#catalogModal .close { min-width:44px; min-height:44px; border-radius:16px; display:grid; place-items:center; }
#modalAddCartBtn, #modalAddCartBtnMobile { min-height:54px; font-size:1rem; font-weight:900; justify-content:center; }
.product-zoom-modal { position:fixed; inset:0; z-index:120000; background:rgba(5,10,25,.94); display:none; align-items:center; justify-content:center; padding:18px; }
.product-zoom-modal.open { display:flex; }
.product-zoom-stage { width:100%; height:100%; max-width:1280px; max-height:calc(100vh - 36px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; }
.product-zoom-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#fff; }
.product-zoom-top strong { font-size:clamp(1rem,2vw,1.25rem); line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-zoom-close { border:0; background:#fff; color:#111827; width:48px; height:48px; border-radius:18px; font-size:28px; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.product-zoom-image-wrap { position:relative; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:24px; background:rgba(255,255,255,.04); }
.product-zoom-image-wrap img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; transform-origin:center; transition:transform .18s ease; cursor:zoom-in; }
.product-zoom-image-wrap img.zoomed { transform:scale(1.8); cursor:zoom-out; }
.product-zoom-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:58px; border:0; border-radius:18px; background:rgba(255,255,255,.9); font-size:28px; cursor:pointer; box-shadow:0 12px 32px rgba(0,0,0,.24); }
.product-zoom-prev { left:14px; }
.product-zoom-next { right:14px; }
.product-zoom-thumbs { display:flex; gap:10px; overflow-x:auto; justify-content:center; padding:2px 0 4px; }
.product-zoom-thumb { flex:0 0 62px; width:62px; height:62px; border:2px solid rgba(255,255,255,.25); border-radius:16px; overflow:hidden; padding:0; background:#111827; cursor:pointer; }
.product-zoom-thumb.active { border-color:#fff; }
.product-zoom-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
@media (min-width: 981px) {
  #catalogModal .modal-card.product-modal-card { width:min(1180px, calc(100vw - 56px)) !important; max-height:calc(100vh - 56px) !important; grid-template-columns:minmax(460px, .95fr) minmax(420px, .85fr) !important; }
  #catalogModal .modal-media { height:calc(100vh - 56px) !important; max-height:780px !important; }
  #catalogModal .modal-body { max-height:calc(100vh - 56px) !important; }
}
@media (max-width: 980px) {
  #catalogModal.modal { align-items:flex-end !important; padding:0 !important; }
  #catalogModal .modal-card.product-modal-card { width:100% !important; height:100dvh !important; max-height:100dvh !important; border-radius:0 !important; grid-template-columns:1fr !important; grid-template-rows:46dvh minmax(0,1fr) !important; overflow:hidden !important; }
  #catalogModal .modal-media { height:46dvh !important; min-height:0 !important; }
  #catalogModal .premium-gallery { padding:10px; gap:8px; }
  #catalogModal .premium-gallery-main { border-radius:20px; }
  #catalogModal .gallery-zoom-hint { font-size:.72rem; left:10px; bottom:10px; padding:7px 10px; }
  #catalogModal .premium-thumb { width:54px; height:54px; flex-basis:54px; border-radius:14px; }
  #catalogModal .modal-body { max-height:54dvh !important; overflow:auto !important; padding:15px 15px calc(92px + env(safe-area-inset-bottom)) !important; }
  #catalogModal .modal-head { margin:-2px -2px 0; }
  #catalogModal .option-grid { grid-template-columns:1fr !important; gap:10px; }
  #catalogModal .field, #catalogModal .select { min-height:52px; font-size:16px; }
  #catalogModal .mobile-sticky-whats { position:fixed; left:0; right:0; bottom:0; z-index:9100; display:block !important; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 35%); box-shadow:0 -12px 32px rgba(15,23,42,.12); }
  #modalAddCartBtnMobile { width:100% !important; min-height:58px !important; border-radius:18px !important; }
  .product-zoom-modal { padding:10px; }
  .product-zoom-stage { max-height:calc(100dvh - 20px); }
  .product-zoom-nav { width:42px; height:50px; border-radius:16px; font-size:24px; }
  .product-zoom-prev { left:8px; }
  .product-zoom-next { right:8px; }
  .product-zoom-top strong { max-width:calc(100vw - 92px); }
}
@media (max-width: 420px) {
  #catalogModal .modal-card.product-modal-card { grid-template-rows:42dvh minmax(0,1fr) !important; }
  #catalogModal .modal-media { height:42dvh !important; }
  #catalogModal .modal-body { max-height:58dvh !important; }
  #catalogModal #modalTitle { font-size:1.25rem !important; }
}

/* ===== Correção definitiva: produto, galeria e zoom mobile/desktop ===== */
html:has(body.modal-lock), html:has(body.photo-zoom-open) { overflow: hidden !important; }
body.modal-lock .top, body.photo-zoom-open .top { pointer-events: none; }
#catalogModal.modal.open { z-index: 100000 !important; }
#catalogModal .modal-card.product-modal-card { isolation: isolate; }
#catalogModal .premium-gallery-main { -webkit-tap-highlight-color: transparent; }
#catalogModal .premium-gallery-main img { object-fit: contain !important; }
.product-zoom-modal { z-index: 2147483000 !important; background: #05070f !important; padding: max(12px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important; overscroll-behavior: none; }
.product-zoom-stage { max-width: 100vw !important; max-height: 100dvh !important; grid-template-rows: 58px minmax(0,1fr) auto !important; gap: 8px !important; }
.product-zoom-top { min-height: 52px; padding: 0 4px; }
.product-zoom-top strong { font-size: 15px !important; font-weight: 800; opacity: .92; }
.product-zoom-close { width: 46px !important; height: 46px !important; border-radius: 999px !important; font-size: 26px !important; flex: 0 0 auto; }
.product-zoom-image-wrap { border-radius: 18px !important; background: #05070f !important; touch-action: none !important; user-select: none; -webkit-user-select: none; cursor: grab; }
.product-zoom-image-wrap:active { cursor: grabbing; }
.product-zoom-image-wrap img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; transition: none !important; will-change: transform; transform: translate3d(0,0,0) scale(1); cursor: zoom-in; -webkit-user-drag: none; user-select: none; }
.product-zoom-image-wrap img.is-zoomed { cursor: grab; }
.product-zoom-image-wrap img.zoomed { transform: none !important; }
.product-zoom-thumbs { justify-content: flex-start !important; padding: 6px 4px 8px !important; scrollbar-width: none; }
.product-zoom-thumbs::-webkit-scrollbar { display: none; }
.product-zoom-thumb { width: 58px !important; height: 58px !important; flex-basis: 58px !important; border-radius: 14px !important; opacity: .72; }
.product-zoom-thumb.active { opacity: 1; border-color: #fff !important; }
@media (min-width: 981px) {
  #catalogModal .modal-card.product-modal-card { margin-top: 0 !important; transform: none !important; }
  #catalogModal .modal-media { background: #f8fafc; }
  #catalogModal .premium-gallery-main { min-height: 520px; }
  .product-zoom-nav { opacity: .92; }
}
@media (max-width: 980px) {
  body.modal-lock .top { visibility: hidden !important; }
  #catalogModal.modal.open { align-items: stretch !important; padding: 0 !important; }
  #catalogModal .modal-card.product-modal-card { height: 100dvh !important; max-height: 100dvh !important; width: 100vw !important; border-radius: 0 !important; grid-template-rows: 48dvh minmax(0,1fr) !important; margin: 0 !important; }
  #catalogModal .modal-media { height: 48dvh !important; min-height: 0 !important; z-index: 2; background: #f8fafc; }
  #catalogModal .premium-gallery { padding: 8px !important; gap: 7px !important; }
  #catalogModal .premium-gallery-main { border-radius: 16px !important; min-height: 0 !important; }
  #catalogModal .premium-thumbs { gap: 7px !important; padding-bottom: 2px !important; }
  #catalogModal .premium-thumb { width: 50px !important; height: 50px !important; flex-basis: 50px !important; border-radius: 12px !important; }
  #catalogModal .modal-body { position: relative; z-index: 3; max-height: 52dvh !important; padding: 14px 14px calc(94px + env(safe-area-inset-bottom)) !important; background: #fff; }
  #catalogModal .modal-head { position: sticky !important; top: 0 !important; background: #fff !important; z-index: 5 !important; padding-top: 4px !important; }
  #catalogModal .gallery-zoom-hint { left: 10px !important; bottom: 10px !important; font-size: 11px !important; padding: 7px 10px !important; }
  #catalogModal .mobile-sticky-whats { position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 100010 !important; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important; background: linear-gradient(180deg,rgba(255,255,255,.82),#fff 38%) !important; box-shadow: 0 -14px 34px rgba(15,23,42,.14) !important; }
  #modalAddCartBtnMobile { width: 100% !important; max-width: 100% !important; margin: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .product-zoom-nav { display: none !important; }
  .product-zoom-stage { grid-template-rows: 54px minmax(0,1fr) 70px !important; }
  .product-zoom-top strong::after { content: ' · arraste para trocar, belisque para ampliar'; font-weight: 600; opacity: .72; }
}
@media (max-width: 420px) {
  #catalogModal .modal-card.product-modal-card { grid-template-rows: 46dvh minmax(0,1fr) !important; }
  #catalogModal .modal-media { height: 46dvh !important; }
  #catalogModal .modal-body { max-height: 54dvh !important; }
  .product-zoom-thumb { width: 52px !important; height: 52px !important; flex-basis: 52px !important; }
}

/* ===== FIX FINAL PRODUTO MOBILE: galeria separada, sem sobrepor, zoom com 1 toque ===== */
#catalogModal .premium-gallery-main,
#catalogModal .premium-gallery-main * {
  -webkit-tap-highlight-color: transparent !important;
}
#catalogModal .premium-gallery-main {
  touch-action: manipulation !important;
  cursor: zoom-in !important;
  border: 0 !important;
  padding: 0 !important;
}
#catalogModal .premium-gallery-main img {
  pointer-events: none !important;
}
.product-zoom-modal.open {
  display: flex !important;
}
.product-zoom-image-wrap img {
  touch-action: none !important;
}
.product-zoom-image-wrap img.is-zoomed {
  cursor: grab !important;
}
@media (max-width: 980px) {
  #catalogModal.modal.open {
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  #catalogModal .modal-card.product-modal-card {
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 0 !important;
    background: #fff !important;
    margin: 0 !important;
  }
  #catalogModal .modal-media {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 46dvh !important;
    min-height: 300px !important;
    max-height: 430px !important;
    overflow: hidden !important;
    z-index: 1 !important;
    background: #f8fafc !important;
  }
  #catalogModal .premium-gallery {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 58px !important;
    padding: 8px !important;
    gap: 7px !important;
    box-sizing: border-box !important;
  }
  #catalogModal .premium-gallery-main {
    min-height: 0 !important;
    height: 100% !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(226,232,240,.9) !important;
  }
  #catalogModal .premium-gallery-main img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  #catalogModal .premium-thumbs {
    height: 58px !important;
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding: 0 0 2px !important;
  }
  #catalogModal .premium-thumb {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
    border-radius: 12px !important;
  }
  #catalogModal .modal-body {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    max-height: none !important;
    min-height: 54dvh !important;
    overflow: visible !important;
    padding: 16px 14px calc(96px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    box-shadow: 0 -10px 26px rgba(15,23,42,.06) !important;
  }
  #catalogModal .modal-head {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    background: transparent !important;
    padding-top: 0 !important;
  }
  #catalogModal .mobile-sticky-whats {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100010 !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.70), #fff 38%) !important;
    box-shadow: 0 -12px 32px rgba(15,23,42,.16) !important;
  }
  #modalAddCartBtnMobile {
    min-height: 58px !important;
    border-radius: 18px !important;
    font-size: 16px !important;
  }
  .product-zoom-modal {
    padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0 !important;
    background: #05070f !important;
  }
  .product-zoom-stage {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    grid-template-rows: 56px minmax(0,1fr) 68px !important;
    gap: 0 !important;
  }
  .product-zoom-top {
    padding: 6px 12px !important;
    min-height: 56px !important;
  }
  .product-zoom-top strong::after { content: '' !important; }
  .product-zoom-image-wrap {
    border-radius: 0 !important;
    background: #05070f !important;
  }
  .product-zoom-thumbs {
    height: 68px !important;
    padding: 8px 10px !important;
    align-items: center !important;
  }
}
@media (min-width: 981px) {
  #catalogModal .modal-card.product-modal-card {
    overflow: hidden !important;
  }
  #catalogModal .modal-media,
  #catalogModal .modal-body {
    min-height: 0 !important;
  }
}

/* ===== HOTFIX FINAL: página de produto e visualizador de fotos estável ===== */
body.clean-photo-open{overflow:hidden!important;touch-action:none!important}
.clean-photo-viewer{position:fixed;inset:0;z-index:2147483647;background:#05070f;display:none;color:#fff;align-items:stretch;justify-content:center;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-sizing:border-box;overscroll-behavior:none}
.clean-photo-viewer.open{display:flex!important}
.clean-photo-top{height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}
.clean-photo-title{font-weight:900;font-size:14px;line-height:1.2;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 88px)}
.clean-photo-close{width:46px;height:46px;border-radius:999px;border:0;background:#fff;color:#111827;font-size:28px;font-weight:900;display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.28);cursor:pointer;flex:0 0 auto}
.clean-photo-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#05070f;touch-action:none;user-select:none;-webkit-user-select:none}
.clean-photo-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;transition:transform .12s ease;user-select:none;-webkit-user-drag:none;touch-action:none;cursor:zoom-in}
.clean-photo-img.zoomed{cursor:grab}
.clean-photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:58px;border:0;border-radius:18px;background:rgba(255,255,255,.92);color:#111827;font-size:32px;font-weight:900;display:grid;place-items:center;box-shadow:0 12px 32px rgba(0,0,0,.25);cursor:pointer}
.clean-photo-prev{left:12px}.clean-photo-next{right:12px}
.clean-photo-strip{height:70px;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;flex:0 0 auto;padding-top:8px}.clean-photo-strip::-webkit-scrollbar{display:none}
.clean-photo-thumb{width:56px;height:56px;flex:0 0 56px;border-radius:14px;border:2px solid rgba(255,255,255,.28);overflow:hidden;background:#111827;padding:0;opacity:.7}.clean-photo-thumb.active{border-color:#fff;opacity:1}.clean-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.product-page-shell{scroll-margin-top:90px}.product-page-main-img{cursor:zoom-in!important;-webkit-tap-highlight-color:transparent!important}.product-page-main-img img{pointer-events:none!important}
@media(max-width:768px){.clean-photo-viewer{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0}.clean-photo-top{height:56px;padding:6px 12px;box-sizing:border-box}.clean-photo-nav{display:none}.clean-photo-stage{width:100vw}.clean-photo-strip{height:66px;padding:7px 10px;box-sizing:border-box}.clean-photo-thumb{width:52px;height:52px;flex-basis:52px}.product-page-shell{padding-bottom:86px!important}.product-page-gallery{position:relative!important;z-index:1!important}.product-page-info{position:relative!important;z-index:2!important;background:#fff!important}.product-page-main-img{min-height:340px!important;max-height:58vh!important;overflow:hidden!important}.product-page-main-img img{width:100%!important;height:100%!important;object-fit:contain!important}}

/* ===== FINAL UX FIX: banner sem cortar, produto zoom e rodapé profissional ===== */
.ecom-hero-banner{height:clamp(210px,24vw,340px)!important;background:#fff!important}
.ecom-hero-banner img{object-fit:contain!important;object-position:center!important;background:#fff!important}
@media(max-width:760px){.ecom-hero-banner{height:clamp(150px,44vw,230px)!important;border-radius:20px!important}.ecom-hero-banner img{object-fit:contain!important}}
.product-page-shell{align-items:start!important;overflow:visible!important}
.product-page-gallery{position:sticky;top:94px;align-self:start;z-index:1}
.product-page-main-img{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;border:0!important;background:#fff!important;cursor:zoom-in!important;overflow:hidden!important;min-height:520px!important;max-height:calc(100vh - 150px)!important;border-radius:26px!important;box-shadow:0 16px 48px rgba(15,23,42,.08)!important}
.product-page-main-img img{width:100%!important;height:100%!important;max-height:inherit!important;object-fit:contain!important;display:block!important;pointer-events:none!important;-webkit-user-drag:none!important;background:#fff!important}
.product-page-main-img::after{content:'Clique para ampliar';position:absolute;left:18px;bottom:18px;background:rgba(15,23,42,.72);color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;backdrop-filter:blur(8px)}
.product-page-main-img{position:relative!important}.product-page-thumbs{display:flex!important;gap:10px!important;overflow-x:auto!important;padding:12px 2px 4px!important;scrollbar-width:none}.product-page-thumbs::-webkit-scrollbar{display:none}.product-page-thumb{width:72px!important;height:72px!important;flex:0 0 72px!important;border-radius:16px!important;overflow:hidden!important;border:2px solid #e6ebf5!important;background:#fff!important;padding:0!important}.product-page-thumb.active{border-color:var(--accent,#ff38df)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#ff38df) 16%,transparent)!important}.product-page-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.clean-photo-viewer{position:fixed!important;inset:0!important;z-index:2147483647!important;background:#05070f!important;display:none!important;color:#fff!important;align-items:stretch!important;justify-content:center!important;flex-direction:column!important;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;box-sizing:border-box!important;overscroll-behavior:none!important}
.clean-photo-viewer.open{display:flex!important}.clean-photo-top{height:56px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex:0 0 auto!important}.clean-photo-title{font-weight:900!important;font-size:14px!important;line-height:1.2!important;opacity:.92!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:calc(100vw - 96px)!important}.clean-photo-close{width:48px!important;height:48px!important;border-radius:999px!important;border:0!important;background:#fff!important;color:#111827!important;font-size:30px!important;font-weight:900!important;display:grid!important;place-items:center!important;box-shadow:0 12px 34px rgba(0,0,0,.28)!important;cursor:pointer!important;flex:0 0 auto!important}.clean-photo-stage{position:relative!important;flex:1 1 auto!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#05070f!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important}.clean-photo-img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;transform-origin:center center!important;will-change:transform!important;transition:transform .12s ease!important;user-select:none!important;-webkit-user-drag:none!important;touch-action:none!important;cursor:zoom-in!important}.clean-photo-img.zoomed{cursor:grab!important}.clean-photo-nav{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:50px!important;height:58px!important;border:0!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;color:#111827!important;font-size:32px!important;font-weight:900!important;display:grid!important;place-items:center!important;box-shadow:0 12px 32px rgba(0,0,0,.25)!important;cursor:pointer!important}.clean-photo-prev{left:12px!important}.clean-photo-next{right:12px!important}.clean-photo-strip{height:70px!important;display:flex!important;align-items:center!important;gap:8px!important;overflow-x:auto!important;scrollbar-width:none!important;flex:0 0 auto!important;padding-top:8px!important}.clean-photo-strip::-webkit-scrollbar{display:none}.clean-photo-thumb{width:56px!important;height:56px!important;flex:0 0 56px!important;border-radius:14px!important;border:2px solid rgba(255,255,255,.28)!important;overflow:hidden!important;background:#111827!important;padding:0!important;opacity:.7!important}.clean-photo-thumb.active{border-color:#fff!important;opacity:1!important}.clean-photo-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
body.clean-photo-open{overflow:hidden!important;touch-action:none!important}
.ecom-footer{margin-top:56px!important;background:linear-gradient(135deg,#0f172a,#111827 55%,#1f2937)!important;color:#e5e7eb!important;border-radius:38px 38px 0 0!important;padding:42px 0 calc(28px + env(safe-area-inset-bottom))!important;box-shadow:0 -18px 60px rgba(15,23,42,.10)!important}.ecom-footer-grid-pro{display:grid!important;grid-template-columns:1.35fr .85fr .7fr .9fr!important;gap:28px!important}.footer-col{display:flex!important;flex-direction:column!important;gap:8px!important}.footer-brand{align-items:center!important}.footer-logo{width:58px!important;height:58px!important;border-radius:20px!important}.ecom-footer h3{font-size:1rem!important;margin:0 0 8px!important;color:#fff!important}.ecom-footer p,.ecom-footer a{color:#cbd5e1!important;text-decoration:none!important;line-height:1.55!important;font-weight:700!important}.ecom-footer a:hover{color:#fff!important}.footer-line:empty{display:none!important}.footer-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;margin-top:4px!important;padding:10px 14px!important;border-radius:999px!important;background:#22c55e!important;color:#fff!important}.footer-social{display:flex!important;flex-wrap:wrap!important;gap:9px!important}.footer-social a{display:inline-flex!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;padding:9px 12px!important;background:rgba(255,255,255,.06)!important}.footer-safe{margin-top:8px!important;color:#94a3b8!important}.footer-bottom{margin-top:28px!important;padding-top:20px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#94a3b8!important;font-weight:800!important;font-size:.9rem!important;text-align:center!important}
@media(max-width:980px){.product-page-shell{grid-template-columns:1fr!important}.product-page-gallery{position:relative!important;top:auto!important}.product-page-main-img{min-height:420px!important;max-height:58vh!important}.ecom-footer-grid-pro{grid-template-columns:1fr 1fr!important}.ecom-footer{border-radius:30px 30px 0 0!important}}
@media(max-width:640px){.product-page-main-img{min-height:330px!important;max-height:52vh!important;border-radius:20px!important}.product-page-main-img::after{font-size:11px;padding:7px 10px;left:12px;bottom:12px}.product-page-thumb{width:58px!important;height:58px!important;flex-basis:58px!important}.clean-photo-viewer{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0!important}.clean-photo-top{height:56px!important;padding:6px 12px!important;box-sizing:border-box!important}.clean-photo-nav{display:none!important}.clean-photo-stage{width:100vw!important}.clean-photo-strip{height:66px!important;padding:7px 10px!important;box-sizing:border-box!important}.clean-photo-thumb{width:52px!important;height:52px!important;flex-basis:52px!important}.ecom-footer-grid-pro{grid-template-columns:1fr!important;gap:20px!important}.ecom-footer{margin-top:34px!important;padding-top:32px!important}.footer-bottom{text-align:left!important}}


/* ===== ISBSALE FINAL LAYOUT FIX: produto, banner, logo sem fundo e rodapé ===== */
#catalogLogo.logo,
#catalogLogo.logo.has-image,
.top-inner .logo.has-image,
.brand .logo.has-image{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
#catalogLogo.logo img,
#catalogLogo.logo.has-image img,
.top-inner .logo.has-image img,
.brand .logo.has-image img{
  background: transparent !important;
  padding: 0 !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.footer-logo,
.footer-logo.has-image{background:transparent!important;box-shadow:none!important;border:0!important;overflow:visible!important;border-radius:0!important;}
.footer-logo img{object-fit:contain!important;background:transparent!important;padding:0!important;border-radius:0!important;}
.ecom-hero-banner{height:clamp(230px,28vw,420px)!important;background:#fff!important;border-radius:26px!important;}
.ecom-hero-banner img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important;}
.product-page-section{width:min(1240px,calc(100% - 32px))!important;margin:0 auto!important;padding:28px 0 70px!important;}
.product-page-shell{display:grid!important;grid-template-columns:minmax(460px,1.05fr) minmax(390px,.82fr)!important;gap:30px!important;align-items:start!important;width:100%!important;max-width:1240px!important;margin:0 auto!important;overflow:visible!important;}
.product-page-gallery{position:sticky!important;top:96px!important;align-self:start!important;z-index:1!important;background:#fff!important;border-radius:28px!important;box-shadow:0 22px 60px rgba(15,23,42,.08)!important;padding:16px!important;}
.product-page-info{background:#fff!important;border:1px solid #e6ebf5!important;border-radius:28px!important;box-shadow:0 22px 60px rgba(15,23,42,.08)!important;padding:24px!important;}
.product-page-main-img{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:min(640px,calc(100vh - 180px))!important;min-height:520px!important;border:0!important;background:#fff!important;cursor:zoom-in!important;overflow:hidden!important;border-radius:22px!important;box-shadow:none!important;position:relative!important;}
.product-page-main-img img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;pointer-events:none!important;background:#fff!important;}
.product-page-main-img::after{content:'Toque para ampliar';position:absolute;left:16px;bottom:16px;background:rgba(15,23,42,.72);color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;backdrop-filter:blur(8px);}
.product-page-thumbs{display:flex!important;gap:10px!important;overflow-x:auto!important;padding:12px 2px 0!important;scrollbar-width:none!important;}.product-page-thumbs::-webkit-scrollbar{display:none!important}.product-page-thumb{width:72px!important;height:72px!important;flex:0 0 72px!important;border-radius:16px!important;overflow:hidden!important;border:2px solid #e6ebf5!important;background:#fff!important;padding:0!important}.product-page-thumb.active{border-color:var(--pink,#ff38df)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--pink,#ff38df) 16%,transparent)!important}.product-page-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.ecom-footer{margin-top:54px!important;background:#0f172a!important;color:#e5e7eb!important;border-radius:36px 36px 0 0!important;padding:42px 0 calc(28px + env(safe-area-inset-bottom))!important;}
.ecom-footer .container{width:min(1180px,calc(100% - 32px))!important;margin:0 auto!important;}
.ecom-footer-grid-pro{display:grid!important;grid-template-columns:1.35fr .9fr .75fr .9fr!important;gap:30px!important;align-items:start!important;}
.ecom-footer .footer-col{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;}.ecom-footer .footer-col a{display:block!important;width:max-content!important;max-width:100%!important;margin:0!important;}
.ecom-footer h3{font-size:1rem!important;margin:0 0 8px!important;color:#fff!important;}.ecom-footer p,.ecom-footer a{color:#cbd5e1!important;text-decoration:none!important;line-height:1.55!important;font-weight:700!important;}.footer-social{display:flex!important;flex-wrap:wrap!important;gap:9px!important}.footer-bottom{margin-top:28px!important;padding-top:20px!important;border-top:1px solid rgba(255,255,255,.12)!important;text-align:center!important;color:#94a3b8!important;font-weight:800!important}
#isbPhotoOverlay button{font-family:system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;}
@media(max-width:980px){
  .product-page-section{width:min(100% - 20px,720px)!important;padding:16px 0 110px!important;}
  .product-page-shell{grid-template-columns:1fr!important;gap:14px!important;}
  .product-page-gallery{position:relative!important;top:auto!important;border-radius:22px!important;padding:10px!important;}
  .product-page-info{border-radius:22px!important;padding:18px!important;}
  .product-page-main-img{height:58vh!important;min-height:350px!important;border-radius:18px!important;}
  .ecom-footer-grid-pro{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:640px){
  .ecom-hero-banner{height:clamp(170px,48vw,245px)!important;border-radius:18px!important;}
  .product-page-section{width:100%!important;padding:8px 12px 116px!important;box-sizing:border-box!important;}
  .product-page-main-img{height:56vh!important;min-height:330px!important;max-height:520px!important;}
  .product-page-main-img::after{font-size:11px;left:12px;bottom:12px;padding:7px 10px;}
  .product-page-thumb{width:58px!important;height:58px!important;flex-basis:58px!important;border-radius:14px!important;}
  .ecom-footer{border-radius:28px 28px 0 0!important;margin-top:34px!important;padding-top:32px!important;}
  .ecom-footer-grid-pro{grid-template-columns:1fr!important;gap:22px!important;}
  .footer-bottom{text-align:left!important;}
}


/* ===== ISBSALE FINAL CLEAN PROFESSIONAL CSS 2026-05-04 ===== */
.ecom-hero-banner{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;display:block!important;overflow:hidden!important;background:#fff!important;border-radius:30px!important;border:1px solid rgba(226,232,240,.95)!important;box-shadow:0 22px 60px rgba(20,32,55,.08)!important;}
.ecom-hero-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#fff!important;}
@media(max-width:760px){.ecom-hero-banner{border-radius:20px!important;margin-bottom:14px!important}.store-hero-vitrine{padding:12px 0!important}}
#catalogLogo.logo,#catalogLogo.logo.has-image{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;border-radius:0!important;padding:0!important;}
#catalogLogo.logo img,#catalogLogo.logo.has-image img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;}
.ecom-footer{margin-top:64px!important;background:#0b1220!important;color:#e5e7eb!important;border-radius:42px 42px 0 0!important;padding:34px 0 calc(26px + env(safe-area-inset-bottom))!important;box-shadow:0 -18px 60px rgba(15,23,42,.12)!important;}
.ecom-footer-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;padding-bottom:26px!important;border-bottom:1px solid rgba(255,255,255,.10)!important;}
.footer-brand-block{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;}
.footer-logo{width:56px!important;height:56px!important;flex:0 0 56px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-weight:950!important;}
.footer-logo img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;display:block!important;}
.footer-brand-block h3{margin:0!important;color:#fff!important;font-size:1.12rem!important;line-height:1.1!important;}
.footer-brand-block p{margin:4px 0 0!important;color:#cbd5e1!important;font-weight:700!important;line-height:1.35!important;max-width:560px!important;}
.ecom-footer-grid-pro{display:grid!important;grid-template-columns:1.1fr .8fr .9fr .9fr!important;gap:28px!important;padding-top:28px!important;}
.footer-col{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important;}
.ecom-footer h3{margin:0 0 6px!important;color:#fff!important;font-size:.96rem!important;font-weight:950!important;letter-spacing:.01em!important;}
.ecom-footer p,.ecom-footer a{margin:0!important;color:#cbd5e1!important;text-decoration:none!important;line-height:1.55!important;font-weight:750!important;word-break:break-word!important;}
.ecom-footer a:hover{color:#fff!important}.footer-line:empty{display:none!important}.footer-social{display:flex!important;flex-wrap:wrap!important;gap:9px!important}.footer-social a{display:inline-flex!important;width:max-content!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;padding:9px 13px!important;background:rgba(255,255,255,.06)!important}.footer-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;padding:12px 16px!important;border-radius:999px!important;background:#22c55e!important;color:#fff!important;box-shadow:0 14px 36px rgba(34,197,94,.22)!important}.footer-safe,.footer-secure{color:#94a3b8!important;font-size:.92rem!important}.footer-bottom{margin-top:26px!important;padding-top:20px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#94a3b8!important;font-weight:800!important;text-align:center!important;font-size:.9rem!important;}
@media(max-width:900px){.ecom-footer{border-radius:30px 30px 0 0!important;margin-top:38px!important;padding-top:28px!important}.ecom-footer-top{align-items:flex-start!important;flex-direction:column!important}.ecom-footer-grid-pro{grid-template-columns:1fr 1fr!important;gap:22px!important}.footer-bottom{text-align:left!important}}
@media(max-width:560px){.ecom-footer-grid-pro{grid-template-columns:1fr!important}.footer-cta{width:100%!important}.footer-brand-block{align-items:flex-start!important}.footer-logo{width:50px!important;height:50px!important;flex-basis:50px!important}}
#finalPhotoViewer{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;background:rgba(3,7,18,.98)!important;z-index:2147483647!important;display:none!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important;padding:calc(env(safe-area-inset-top) + 62px) 14px calc(env(safe-area-inset-bottom) + 88px)!important;}
#finalPhotoViewer.open{display:flex!important}.final-photo-lock,.final-photo-lock body{overflow:hidden!important}.final-photo-bar{position:absolute!important;left:0!important;right:0!important;top:0!important;height:calc(env(safe-area-inset-top) + 58px)!important;padding:calc(env(safe-area-inset-top) + 8px) 14px 8px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;box-sizing:border-box!important;color:#fff!important}.final-photo-bar strong{font:900 14px/1.2 system-ui,-apple-system,Segoe UI,sans-serif!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:calc(100vw - 90px)!important}.final-photo-bar button{width:44px!important;height:44px!important;border:0!important;border-radius:999px!important;background:#fff!important;color:#111827!important;font-size:28px!important;font-weight:950!important;display:grid!important;place-items:center!important;box-shadow:0 14px 34px rgba(0,0,0,.35)!important}#finalPhotoImg{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important;user-select:none!important;-webkit-user-drag:none!important}.final-photo-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;width:52px!important;height:62px!important;border:0!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;color:#111827!important;font-size:36px!important;font-weight:950!important;display:grid!important;place-items:center!important;box-shadow:0 14px 34px rgba(0,0,0,.28)!important}.final-prev{left:16px!important}.final-next{right:16px!important}.final-photo-thumbs{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:calc(env(safe-area-inset-bottom) + 78px)!important;padding:10px 14px calc(env(safe-area-inset-bottom) + 10px)!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;overflow-x:auto!important}.final-photo-thumbs button{width:56px!important;height:56px!important;flex:0 0 56px!important;border-radius:14px!important;border:2px solid rgba(255,255,255,.26)!important;background:#111827!important;padding:0!important;overflow:hidden!important;opacity:.72!important}.final-photo-thumbs button.active{border-color:#fff!important;opacity:1!important}.final-photo-thumbs img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}@media(max-width:700px){#finalPhotoViewer{padding:calc(env(safe-area-inset-top) + 58px) 0 calc(env(safe-area-inset-bottom) + 78px)!important}.final-photo-arrow{display:none!important}.final-photo-thumbs{justify-content:flex-start!important}.final-photo-bar{background:linear-gradient(180deg,rgba(0,0,0,.56),rgba(0,0,0,0))!important}}

/* ===== CORREÇÃO DEFINITIVA: banner, logo, zoom e rodapé ===== */
.store-hero-vitrine{padding-top:24px!important;}
.ecom-hero-banner{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:#fff!important;
  border:1px solid #e5eaf4!important;
  box-shadow:0 22px 60px rgba(20,32,55,.08)!important;
  line-height:0!important;
}
.ecom-hero-banner img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  background:#fff!important;
}
.ecom-hero-banner .fallback{min-height:220px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1.3!important;}
.logo,.brand .logo,.top .logo{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.logo img,.brand .logo img,.top .logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  display:block!important;
}

/* Visualizador de foto: sempre acima de tudo e nunca abaixo do rodapé */
#simpleProductLightbox{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(3,7,18,.96)!important;
  padding:0!important;
  margin:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  overflow:hidden!important;
  touch-action:none!important;
}
#simpleProductLightbox.open{display:flex!important;}
.simple-lightbox-img{
  max-width:100vw!important;
  max-height:100dvh!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  touch-action:pinch-zoom!important;
  background:transparent!important;
}
.simple-lightbox-close{
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  z-index:2147483647!important;
  width:50px!important;
  height:50px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#0f172a!important;
  font-size:28px!important;
  font-weight:950!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.simple-lightbox-count{
  position:fixed!important;
  top:max(18px,env(safe-area-inset-top))!important;
  left:max(14px,env(safe-area-inset-left))!important;
  z-index:2147483647!important;
  color:#fff!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  padding:9px 14px!important;
  font-weight:900!important;
  line-height:1!important;
}
.simple-lightbox-nav{
  position:fixed!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2147483647!important;
  width:54px!important;
  height:66px!important;
  border:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  color:#0f172a!important;
  font-size:40px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.simple-lightbox-prev{left:18px!important;}
.simple-lightbox-next{right:18px!important;}
body.simple-lightbox-open{overflow:hidden!important;touch-action:none!important;}
body.simple-lightbox-open .whats-float,
body.simple-lightbox-open .cart-float,
body.simple-lightbox-open .cart-bar,
body.simple-lightbox-open .floating-cart,
body.simple-lightbox-open .floating-online-alert{display:none!important;}
.product-page-main-img{cursor:zoom-in!important;}
.product-page-main-img img{pointer-events:none!important;}

/* Rodapé profissional e organizado */
.ecom-footer{
  margin-top:56px!important;
  background:linear-gradient(135deg,#0b1220 0%,#111827 54%,#172033 100%)!important;
  color:#e5e7eb!important;
  border-radius:34px 34px 0 0!important;
  padding:38px 0 calc(26px + env(safe-area-inset-bottom))!important;
  box-shadow:0 -18px 60px rgba(15,23,42,.12)!important;
}
.ecom-footer-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding-bottom:22px!important;border-bottom:1px solid rgba(255,255,255,.10)!important;}
.footer-brand-block{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;}
.footer-logo{width:54px!important;height:54px!important;flex:0 0 54px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;}
.footer-logo img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;display:block!important;}
.footer-brand-block h3{margin:0 0 4px!important;color:#fff!important;font-size:1.05rem!important;line-height:1.1!important;}
.footer-brand-block p{margin:0!important;color:#aebbd0!important;line-height:1.45!important;font-weight:700!important;max-width:520px!important;}
.ecom-footer-grid-pro{display:grid!important;grid-template-columns:1.15fr .85fr .85fr 1fr!important;gap:28px!important;align-items:start!important;margin-top:26px!important;}
.footer-col{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;}
.ecom-footer h3{margin:0 0 8px!important;color:#fff!important;font-size:.98rem!important;letter-spacing:.01em!important;}
.ecom-footer p,.ecom-footer a{color:#cbd5e1!important;text-decoration:none!important;line-height:1.5!important;font-weight:750!important;overflow-wrap:anywhere!important;}
.footer-col a{display:block!important;width:max-content!important;max-width:100%!important;margin:0!important;}
.footer-line{margin:0!important;}
.footer-line:empty{display:none!important;}
.footer-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;max-width:100%!important;background:#22c55e!important;color:#fff!important;border-radius:999px!important;padding:11px 15px!important;font-weight:950!important;box-shadow:0 12px 30px rgba(34,197,94,.18)!important;white-space:nowrap!important;}
.footer-social{display:flex!important;flex-wrap:wrap!important;gap:10px!important;}
.footer-social a{display:inline-flex!important;align-items:center!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;padding:9px 12px!important;background:rgba(255,255,255,.06)!important;width:auto!important;}
.footer-safe,.footer-secure{color:#94a3b8!important;margin-top:4px!important;font-size:.92rem!important;}
.footer-bottom{margin-top:24px!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#94a3b8!important;font-weight:800!important;font-size:.9rem!important;text-align:center!important;}
@media(max-width:980px){
  .ecom-footer-grid-pro{grid-template-columns:1fr 1fr!important;gap:22px!important;}
  .ecom-footer-top{align-items:flex-start!important;}
}
@media(max-width:640px){
  .store-hero-vitrine{padding-top:12px!important;}
  .ecom-hero-banner{border-radius:18px!important;margin-left:0!important;margin-right:0!important;}
  .ecom-footer{border-radius:28px 28px 0 0!important;padding-top:30px!important;margin-top:34px!important;}
  .ecom-footer-top{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;}
  .ecom-footer-grid-pro{grid-template-columns:1fr!important;gap:20px!important;margin-top:22px!important;}
  .footer-cta{width:100%!important;}
  .footer-col a{width:100%!important;padding:3px 0!important;}
  .footer-bottom{text-align:left!important;}
  .simple-lightbox-nav{display:none!important;}
}

/* ===== Galeria final do produto: overlay único, acima de tudo ===== */
.isb-gallery-lock { overflow: hidden !important; }
#isbFinalGallery {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: none !important;
  flex-direction: column !important;
  width: 100vw !important;
  height: 100dvh !important;
  background: #05070f !important;
  color: #fff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
#isbFinalGallery.open { display: flex !important; }
#isbFinalGallery .isb-gallery-head {
  min-height: 64px;
  padding: calc(env(safe-area-inset-top) + 10px) 14px 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(5,7,15,.98);
  flex: 0 0 auto;
}
#isbFinalGallery .isb-gallery-head strong {
  color: #fff;
  font: 800 15px/1.25 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  max-width: calc(100vw - 96px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#isbGalleryClose {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-size: 30px;
  font-weight: 900;
  display: grid;
  place-items: center;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  cursor: pointer;
}
#isbFinalGallery .isb-gallery-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #05070f;
  padding: 8px;
  box-sizing: border-box;
}
#isbGalleryImg {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  user-select: none;
  -webkit-user-drag: none;
}
#isbFinalGallery .isb-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 52px;
  height: 60px;
  border: 0;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  color: #111827;
  font-size: 36px;
  font-weight: 900;
  display: grid;
  place-items: center;
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
  cursor: pointer;
}
#isbGalleryPrev { left: 14px; }
#isbGalleryNext { right: 14px; }
#isbFinalGallery .isb-gallery-thumbs {
  height: 76px;
  padding: 8px 12px calc(env(safe-area-inset-bottom) + 8px);
  background: #05070f;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow-x: auto;
  flex: 0 0 auto;
}
#isbFinalGallery .isb-gallery-thumbs button {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 14px;
  border: 2px solid rgba(255,255,255,.26);
  padding: 0;
  overflow: hidden;
  background: #111827;
  opacity: .75;
  cursor: pointer;
}
#isbFinalGallery .isb-gallery-thumbs button.active {
  border-color: #ff38e8;
  opacity: 1;
}
#isbFinalGallery .isb-gallery-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Esconde viewers antigos caso tenham sobrado de versões anteriores */
#productZoomModal, #photoViewer, #cleanPhotoViewer, #simpleProductLightbox, #finalPhotoViewer, #isbPhotoOverlay {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 768px) {
  #isbFinalGallery .isb-gallery-head { min-height: 62px; }
  #isbFinalGallery .isb-gallery-arrow { display: none !important; }
  #isbFinalGallery .isb-gallery-thumbs { justify-content: flex-start; }
}

/* ===== GALERIA FINAL SHOPEE SEM BUG ===== */
html.isb-gallery-lock, body.isb-gallery-lock{
  overflow:hidden!important;
  height:100%!important;
  touch-action:none!important;
}
#isbFinalGallery.isb-final-gallery{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:2147483647!important;
  background:#05070f!important;
  display:none!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  color:#fff!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
#isbFinalGallery.open{display:flex!important;}
#isbFinalGallery .isb-final-top{
  height:auto!important;
  min-height:64px!important;
  padding:calc(env(safe-area-inset-top) + 10px) 14px 10px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  background:rgba(5,7,15,.98)!important;
  flex:0 0 auto!important;
}
#isbFinalGallery #isbFinalTitle{
  color:#fff!important;
  font:800 15px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:calc(100vw - 90px)!important;
}
#isbFinalGallery #isbFinalClose{
  width:48px!important;
  height:48px!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:30px!important;
  font-weight:950!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 12px 34px rgba(0,0,0,.35)!important;
  cursor:pointer!important;
  flex:0 0 48px!important;
}
#isbFinalGallery .isb-final-stage{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#05070f!important;
  padding:8px!important;
  box-sizing:border-box!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
#isbFinalGallery #isbFinalImg{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  transform-origin:center center!important;
  will-change:transform!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  cursor:zoom-in!important;
  background:transparent!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}
#isbFinalGallery #isbFinalImg.zoomed{cursor:grab!important;}
#isbFinalGallery .isb-final-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:4!important;
  width:54px!important;
  height:62px!important;
  border:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.92)!important;
  color:#111827!important;
  font-size:38px!important;
  font-weight:950!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 12px 32px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
}
#isbFinalGallery .isb-final-prev{left:14px!important;}
#isbFinalGallery .isb-final-next{right:14px!important;}
#isbFinalGallery .isb-final-thumbs{
  height:78px!important;
  padding:8px 12px calc(env(safe-area-inset-bottom) + 8px)!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  background:#05070f!important;
  flex:0 0 auto!important;
  scrollbar-width:none!important;
}
#isbFinalGallery .isb-final-thumbs::-webkit-scrollbar{display:none!important;}
#isbFinalGallery .isb-final-thumbs button{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  border-radius:14px!important;
  border:2px solid rgba(255,255,255,.26)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#111827!important;
  opacity:.75!important;
  cursor:pointer!important;
}
#isbFinalGallery .isb-final-thumbs button.active{border-color:#ff38e8!important;opacity:1!important;}
#isbFinalGallery .isb-final-thumbs img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
#productZoomModal,#photoViewer,#cleanPhotoViewer,#simpleProductLightbox,#finalPhotoViewer,#isbPhotoOverlay,
.product-zoom-modal,.photo-viewer,.clean-photo-viewer,.simple-lightbox,.final-photo-viewer{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:768px){
  #isbFinalGallery .isb-final-top{min-height:62px!important;}
  #isbFinalGallery .isb-final-arrow{display:none!important;}
  #isbFinalGallery .isb-final-thumbs{justify-content:flex-start!important;height:70px!important;}
  #isbFinalGallery .isb-final-thumbs button{width:54px!important;height:54px!important;flex-basis:54px!important;}
}



/* ZOOM DEFINITIVO: apenas este overlay pode aparecer */
#productZoomModal,#photoViewer,#cleanPhotoViewer,#simpleProductLightbox,#finalPhotoViewer,#isbPhotoOverlay,#isbFinalGallery,
.product-zoom-modal,.photo-viewer,.clean-photo-viewer,.simple-lightbox,.final-photo-viewer{display:none!important;visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important;position:fixed!important;left:-99999px!important;top:-99999px!important;}
html.isb-lightbox-lock,body.isb-lightbox-lock{overflow:hidden!important;touch-action:none!important;}
.isb-lightbox-only{position:fixed!important;inset:0!important;z-index:2147483647!important;background:rgba(3,7,18,.98)!important;color:#fff!important;display:none!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:100vw!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;margin:0!important;padding:0!important;box-sizing:border-box!important;}
.isb-lightbox-only.open{display:grid!important;}
.isb-lightbox-only-head{height:calc(env(safe-area-inset-top) + 62px)!important;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;box-sizing:border-box!important;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0))!important;}
.isb-lightbox-only-head strong{font:900 15px/1.2 system-ui,-apple-system,Segoe UI,sans-serif!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:calc(100vw - 92px)!important;color:#fff!important;}
#isbLightboxOnlyClose{width:48px!important;height:48px!important;border:0!important;border-radius:999px!important;background:#fff!important;color:#111827!important;font:950 30px/1 system-ui!important;display:grid!important;place-items:center!important;box-shadow:0 16px 36px rgba(0,0,0,.35)!important;cursor:pointer!important;flex:0 0 auto!important;}
.isb-lightbox-only-stage{position:relative!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#05070f!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;}
#isbLightboxOnlyImg{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important;transform-origin:center center!important;will-change:transform!important;transition:transform .08s linear!important;user-select:none!important;-webkit-user-drag:none!important;cursor:zoom-in!important;background:transparent!important;}
#isbLightboxOnlyImg.is-zoomed{cursor:grab!important;}
.isb-lightbox-only-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;width:52px!important;height:62px!important;border:0!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;color:#111827!important;font:950 36px/1 system-ui!important;display:grid!important;place-items:center!important;box-shadow:0 14px 34px rgba(0,0,0,.28)!important;cursor:pointer!important;}
.isb-lightbox-only-arrow.prev{left:16px!important}.isb-lightbox-only-arrow.next{right:16px!important}
.isb-lightbox-only-bottom{height:calc(env(safe-area-inset-bottom) + 88px)!important;padding:8px 14px calc(env(safe-area-inset-bottom) + 10px)!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;background:linear-gradient(0deg,rgba(0,0,0,.5),rgba(0,0,0,0))!important;}
#isbLightboxOnlyCount{font:900 13px/1 system-ui!important;background:rgba(255,255,255,.16)!important;border-radius:999px!important;padding:8px 10px!important;white-space:nowrap!important;}
.isb-lightbox-only-thumbs{display:flex!important;gap:8px!important;overflow-x:auto!important;scrollbar-width:none!important;max-width:min(760px,72vw)!important;}.isb-lightbox-only-thumbs::-webkit-scrollbar{display:none!important;}
.isb-lightbox-only-thumbs button{width:58px!important;height:58px!important;flex:0 0 58px!important;border-radius:14px!important;border:2px solid rgba(255,255,255,.28)!important;background:#111827!important;padding:0!important;overflow:hidden!important;opacity:.72!important;cursor:pointer!important;}
.isb-lightbox-only-thumbs button.active{border-color:#ff38e8!important;opacity:1!important;}.isb-lightbox-only-thumbs img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
@media(max-width:700px){.isb-lightbox-only-head{height:calc(env(safe-area-inset-top) + 58px)!important;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px!important}.isb-lightbox-only-arrow{display:none!important}.isb-lightbox-only-bottom{height:calc(env(safe-area-inset-bottom) + 76px)!important;justify-content:flex-start!important}.isb-lightbox-only-thumbs{max-width:calc(100vw - 76px)!important}.isb-lightbox-only-thumbs button{width:54px!important;height:54px!important;flex-basis:54px!important}}




/* PDV offline profissional: barra discreta no topo, sem atrapalhar botões */
.pdv-offline-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 32px;
  padding: 7px 12px;
  background: #b91c1c;
  color: #fff;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
}
.pdv-offline-bar strong {
  background: rgba(255,255,255,0.18);
  padding: 3px 8px;
  border-radius: 999px;
}
.pdv-offline-bar button {
  border: 0;
  background: #fff;
  color: #991b1b;
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width: 760px) {
  .pdv-offline-bar {
    position: sticky;
    top: 0;
    flex-wrap: wrap;
    line-height: 1.2;
  }
}

/* Usuários e permissões */
.users-panel .table select.user-role-select{min-width:130px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#fff;font-weight:800;color:var(--text)}
.users-panel .table td:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.badge.warning{background:#fff7d6;color:#9a6a00;border:1px solid #ffe69a}
.badge.danger{background:#ffe5e8;color:#be123c;border:1px solid #ffc2cb}
.approval-overlay{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px)}
.approval-box{width:min(480px,100%);background:#fff;border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:0 30px 80px rgba(15,23,42,.28);position:relative;display:grid;gap:14px;color:var(--text)}
.approval-box h3{margin:0;font-size:24px;letter-spacing:-.02em}.approval-box p{margin:0;color:var(--muted);font-weight:700;line-height:1.45}.approval-box label{display:grid;gap:8px;font-weight:900;color:var(--muted)}.approval-box input{width:100%;padding:15px 16px;border:1px solid var(--border);border-radius:18px;font-size:16px;color:var(--text);background:#fff}.approval-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;font-size:22px;font-weight:900;cursor:pointer}
.auth-divider{text-align:center;color:var(--muted);font-weight:900;margin:16px 0 10px;position:relative}.auth-divider:before,.auth-divider:after{content:'';display:inline-block;width:70px;height:1px;background:var(--border);vertical-align:middle;margin:0 10px}.hidden{display:none!important}
@media(max-width:760px){.users-panel .table{display:block;overflow-x:auto}.approval-box{border-radius:22px;padding:20px}.approval-box .form-actions{display:grid;grid-template-columns:1fr;gap:10px}}




/* ===== PREMIUM STORE POLISH ===== */

body{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.product-card,
.card,
.catalog-card,
.product-item{
  border-radius: 22px !important;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 8px 28px rgba(15,23,42,.06) !important;
  border: 1px solid rgba(230,232,238,.9) !important;
  background: #fff !important;
}

.product-card:hover,
.card:hover,
.catalog-card:hover,
.product-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(15,23,42,.10) !important;
}

button,
.btn,
.primary-btn{
  border-radius: 16px !important;
  transition: all .18s ease;
  font-weight: 700 !important;
}

button:hover,
.btn:hover,
.primary-btn:hover{
  transform: translateY(-1px);
}

input,
select,
textarea{
  border-radius: 14px !important;
  min-height: 46px;
}

img{
  image-rendering:auto;
}

header,
.topbar,
.catalog-header{
  backdrop-filter: blur(10px);
}

.checkout,
.checkout-container,
.cart-container{
  border-radius: 28px !important;
}

@media(max-width:768px){

  .product-card,
  .catalog-card,
  .product-item{
    border-radius: 18px !important;
  }

  button,
  .btn{
    min-height: 48px;
  }
}


/* ===== PDV: destaque de produto no catálogo ===== */
.muted-card-hint{display:block;margin-top:4px;color:var(--muted);font-size:.82rem;font-weight:600;line-height:1.35}
.product-featured-field select{border-color:color-mix(in srgb,var(--primary) 30%, var(--line));font-weight:800}
.product-actions-stack{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.action-btn.spotlight{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,#fff),#fff);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);font-weight:900}
.action-btn.spotlight.featured-add::before{content:'★ ';}
.action-btn.spotlight.featured-remove{background:#fff7fb;color:#9b255b;border-color:rgba(219,39,119,.22)}
.action-btn.spotlight.featured-remove::before{content:'✓ ';}
.status-pill.ok{background:color-mix(in srgb,var(--primary) 12%,#fff)!important;color:var(--primary)!important;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent)!important}
@media(max-width:760px){#productsTable .product-actions-stack{flex-direction:column;align-items:stretch}#productsTable .product-actions-stack .action-btn{width:100%}}


/* Logo clicável para voltar ao início */
.logo,
.store-logo,
.brand-logo,
.catalog-logo,
.header-logo,
img.logo,
img.store-logo,
.logo img,
.store-logo img{
  cursor: pointer;
}



/* ===== Variações estilo e-commerce profissional ===== */
.variation-native-select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.ecommerce-options{
  display:grid;
  grid-template-columns: 1fr 1fr 120px;
  gap:14px;
  align-items:start;
  margin-top:18px;
}

.variation-field{
  min-width:0;
}

.option-label{
  font-weight:800;
  color:#1f2937;
  margin-bottom:8px;
  letter-spacing:.01em;
}

.variation-pill-group{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:2px;
}

.variation-pill{
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.variation-pill:hover{
  transform:translateY(-1px);
  border-color:var(--accent, #ff2aa3);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
}

.variation-pill.active{
  background:var(--accent, #ff2aa3);
  color:#fff;
  border-color:var(--accent, #ff2aa3);
  box-shadow:0 12px 28px rgba(255,42,163,.22);
}

.variation-pill.disabled,
.variation-pill:disabled{
  opacity:.38;
  cursor:not-allowed;
  text-decoration:line-through;
  transform:none;
  box-shadow:none;
}

.variation-status{
  margin-top:12px;
  padding:11px 13px;
  border-radius:15px;
  font-weight:750;
  font-size:13px;
}

.variation-status.ok{
  background:#f0fdf4;
  color:#166534;
  border:1px solid #bbf7d0;
}

.variation-status.warning{
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
}

.qty-field input{
  text-align:center;
  font-weight:800;
}

.product-page-actions .btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none !important;
}

@media(max-width:760px){
  .ecommerce-options{
    grid-template-columns:1fr;
    gap:12px;
  }
  .variation-pill{
    min-height:44px;
    padding:0 16px;
  }
}



/* ===== Seleção de variação: tamanho primeiro, cor depois ===== */
.variation-hint-pill{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:#f8fafc;
  border:1px dashed #d6dce5;
  color:#64748b;
  font-weight:750;
  font-size:13px;
}

.color-pills .variation-pill{
  text-transform:capitalize;
}

.size-pills .variation-pill{
  min-width:48px;
  justify-content:center;
}

.variation-pill-group:empty{
  display:none;
}

.variation-native-select:disabled + .variation-pill-group .variation-pill,
.variation-pill-group .variation-pill.disabled{
  opacity:.42;
}

.product-page-options .variation-field:first-child .option-label::after{
  content:"";
}

.product-page-options .variation-field:nth-child(2) .option-label{
  color:#374151;
}



/* ===== Correção visual final das variações: sem select feio/duplicado ===== */
.product-page-options.ecommerce-options{
  display:grid !important;
  grid-template-columns: 1fr 1fr 130px !important;
  gap:18px !important;
  align-items:start !important;
  margin:22px 0 10px !important;
}

.product-page-options .variation-field{
  min-width:0 !important;
}

.product-page-options .option-label{
  display:block !important;
  margin:0 0 10px !important;
  font-size:14px !important;
  line-height:1.2 !important;
  color:#5f6b85 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

/* Esconde totalmente o select nativo. Ele fica apenas como controle interno do JS. */
.product-page-options select.variation-native-select,
.product-page-options select#productPageSizeSelect,
.product-page-options select#productPageColorSelect{
  position:absolute !important;
  left:-99999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  min-height:1px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

.product-page-options .variation-pill-group{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 !important;
}

.product-page-options .variation-pill{
  min-width:50px !important;
  min-height:46px !important;
  padding:0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:14px !important;
  border:1.5px solid #dfe5ef !important;
  background:#fff !important;
  color:#19233b !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 8px 22px rgba(15,23,42,.05) !important;
  transition:all .16s ease !important;
  text-decoration:none !important;
}

.product-page-options .variation-pill:hover{
  border-color:var(--accent, #ff2bd6) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.09) !important;
}

.product-page-options .variation-pill.active{
  color:#fff !important;
  background:linear-gradient(135deg, var(--accent, #ff2bd6), #ff62df) !important;
  border-color:transparent !important;
  box-shadow:0 12px 30px rgba(255,43,214,.25) !important;
}

.product-page-options .variation-pill:disabled,
.product-page-options .variation-pill.disabled{
  opacity:.35 !important;
  cursor:not-allowed !important;
  transform:none !important;
  text-decoration:line-through !important;
  box-shadow:none !important;
}

.product-page-options .variation-help{
  min-height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 15px !important;
  border-radius:14px !important;
  border:1.5px dashed #dfe5ef !important;
  background:#f8fafc !important;
  color:#7b8499 !important;
  font-weight:800 !important;
  font-size:14px !important;
}

.product-page-options .qty-field input#productPageQty{
  height:46px !important;
  min-height:46px !important;
  border-radius:14px !important;
  text-align:center !important;
  font-weight:900 !important;
  font-size:16px !important;
  border:1.5px solid #dfe5ef !important;
  box-shadow:0 8px 22px rgba(15,23,42,.04) !important;
}

.product-page-info .variation-status{
  margin:12px 0 16px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#5f6b85 !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.product-page-info .variation-status.ok{
  color:#334155 !important;
}

.product-page-info .variation-status.warning{
  color:#7b8499 !important;
}

.product-page-actions{
  margin-top:18px !important;
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap:14px !important;
}

.product-page-actions .btn,
.product-page-actions .btn-secondary{
  min-height:56px !important;
  border-radius:18px !important;
  font-size:16px !important;
  font-weight:900 !important;
}

.product-page-actions .btn:disabled{
  opacity:.55 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

@media(max-width:820px){
  .product-page-options.ecommerce-options{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .product-page-actions{
    grid-template-columns:1fr !important;
  }

  .product-page-options .variation-pill{
    min-height:48px !important;
    min-width:52px !important;
  }
}




/* ===== Layout final estilo loja grande ===== */

.product-page-info{
  max-width:640px !important;
}

.product-page-options.ecommerce-options{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  margin:26px 0 12px !important;
}

.product-page-options .variation-field{
  width:100% !important;
}

.product-page-options .option-label{
  font-size:15px !important;
  font-weight:900 !important;
  color:#3b4257 !important;
  margin-bottom:10px !important;
  letter-spacing:.02em !important;
}

.product-page-options .variation-pill-group{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.product-page-options .variation-pill{
  min-width:58px !important;
  height:50px !important;
  border-radius:14px !important;
  border:1.5px solid #dfe3eb !important;
  background:#fff !important;
  color:#222 !important;
  font-size:16px !important;
  font-weight:800 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 18px !important;
  transition:all .16s ease !important;
  box-shadow:none !important;
}

.product-page-options .variation-pill:hover{
  border-color:#ff3fd2 !important;
}

.product-page-options .variation-pill.active{
  background:#ff3fd2 !important;
  color:#fff !important;
  border-color:#ff3fd2 !important;
}

.product-page-options .variation-help{
  display:flex !important;
  align-items:center !important;
  height:50px !important;
  border-radius:14px !important;
  border:1.5px dashed #dfe3eb !important;
  padding:0 16px !important;
  color:#7a8397 !important;
  font-weight:700 !important;
  background:#fafbfd !important;
}

.qty-field{
  max-width:180px !important;
}

.qty-field input{
  width:100% !important;
  height:52px !important;
  border-radius:14px !important;
  border:1.5px solid #dfe3eb !important;
  text-align:center !important;
  font-size:18px !important;
  font-weight:800 !important;
  background:#fff !important;
}

.product-page-info .variation-status{
  font-size:14px !important;
  color:#667085 !important;
  margin-top:-2px !important;
  margin-bottom:10px !important;
}

.product-page-actions{
  display:flex !important;
  gap:16px !important;
  margin-top:18px !important;
}

.product-page-actions .btn,
.product-page-actions .btn-secondary{
  flex:1 !important;
  height:58px !important;
  border-radius:16px !important;
  font-size:18px !important;
  font-weight:900 !important;
}

.product-page-actions .btn{
  background:linear-gradient(135deg,#ff2fcf,#ff61dc) !important;
  border:0 !important;
  color:#fff !important;
}

.product-page-actions .btn-secondary{
  background:#fff !important;
  border:1.5px solid #dfe3eb !important;
  color:#1f2937 !important;
}

@media(max-width:768px){

  .product-page-actions{
    flex-direction:column !important;
  }

  .product-page-actions .btn,
  .product-page-actions .btn-secondary{
    width:100% !important;
  }

  .qty-field{
    max-width:100% !important;
  }
}


/* Correção REAL no catálogo também copiada no style.css por segurança */



/* ===== Marketing WhatsApp manual sem custo ===== */
.marketing-message-preview{
  min-height: 180px !important;
  line-height: 1.45;
  font-size: 14px;
  resize: vertical;
}
.marketing-template-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.marketing-template-btn{
  border-radius:999px;
  padding:8px 12px;
  font-weight:800;
}
.marketing-actions{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:10px;
}
#marketingSendSelectedBtn{
  grid-column:1/-1;
  min-height:52px;
}
@media(max-width:760px){
  .marketing-actions{grid-template-columns:1fr;}
}


/* Marketing inteligente */
.marketing-ai-grid{
  margin-top:18px;
}
.marketing-ai-suggestions,
.marketing-abandoned-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.marketing-ai-card,
.marketing-abandoned-item{
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.marketing-ai-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.marketing-ai-card-top span{
  font-size:12px;
  font-weight:800;
  color:#ff2fcf;
}
.marketing-ai-card-description{
  color:#6b7280;
  margin-bottom:12px;
  line-height:1.4;
}
.marketing-abandoned-main{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.marketing-abandoned-main span{
  color:#6b7280;
}
.marketing-abandoned-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}
.marketing-ai-generate-btn,
.marketing-recover-btn{
  width:100%;
  min-height:46px;
}

.product-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  margin:8px 8px 0 0;
}
.product-badge.featured{
  background:#ffe7fb;
  color:#ff2fcf;
}
.product-badge.low-stock{
  background:#fff4e5;
  color:#ff7a00;
}
.product-badge.new{
  background:#ffeaf1;
  color:#ff3b6b;
}
.favorite-btn{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  cursor:pointer;
  z-index:5;
  font-size:18px;
  font-weight:900;
}
.favorite-btn.active{
  color:#ff2fcf;
}
.pix-highlight-banner{
  width:100%;
  border-radius:22px;
  padding:16px 18px;
  background:linear-gradient(135deg,#ff2fcf,#ff7ae2);
  color:#fff;
  margin:14px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:800;
}
.pix-highlight-banner small{
  opacity:.92;
  display:block;
  margin-top:4px;
  font-size:12px;
}



/* ===== Melhorias profissionais seguras ===== */
.marketing-ai-grid{margin-top:18px;}
.marketing-ai-suggestions,.marketing-abandoned-list{display:flex;flex-direction:column;gap:12px;}
.marketing-ai-card,.marketing-abandoned-item{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;}
.marketing-ai-card-top,.marketing-abandoned-main{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;}
.marketing-ai-card-top span{font-size:12px;font-weight:900;color:var(--primary,#5b8def);}
.marketing-ai-card-description{color:#6b7280;margin-bottom:12px;line-height:1.4;}
.marketing-abandoned-main span{color:#6b7280;}
.marketing-abandoned-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;}
.marketing-ai-generate-btn,.marketing-recover-btn{width:100%;min-height:46px;}

/* CRM Marketing */
.marketing-segment-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.marketing-segment-btn{
  white-space:nowrap;
}
.marketing-abandoned-item,
.marketing-ai-card{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  background:#fff;
  margin-bottom:10px;
}
.marketing-abandoned-main,
.marketing-ai-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.marketing-abandoned-meta{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#6b7280;
  margin-bottom:10px;
}


/* Marketing: modal de mensagem pronta */
#marketingMessageModal{
  display:none;
}
#marketingMessageModal.open{
  display:flex;
}
.marketing-message-modal{
  width:min(760px, calc(100vw - 28px));
  max-height:92vh;
  overflow:auto;
}
.marketing-modal-client{
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f8fafc;
  font-weight:800;
  margin-bottom:12px;
}
.marketing-modal-textarea{
  width:100%;
  min-height:260px;
  border:1px solid #dbe3ef;
  border-radius:16px;
  padding:14px;
  font-size:15px;
  line-height:1.5;
  resize:vertical;
  outline:none;
}
.marketing-modal-textarea:focus{
  border-color:#ff2fcf;
  box-shadow:0 0 0 4px rgba(255,47,207,.12);
}
.marketing-modal-actions{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:10px;
  margin-top:14px;
}
@media(max-width:760px){
  .marketing-modal-actions{grid-template-columns:1fr;}
}


/* Correção Marketing UX */
.marketing-smart-profile{
  border:1px solid #e5e7eb;
  background:#f8fafc;
  border-radius:18px;
  padding:14px;
  margin:14px 0;
}
.marketing-smart-profile-title{
  font-weight:900;
  margin-bottom:10px;
  color:#1f2937;
}
.marketing-smart-profile-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.marketing-smart-profile-grid div{
  background:#fff;
  border:1px solid #edf1f7;
  border-radius:14px;
  padding:10px;
}
.marketing-smart-profile-grid small{
  display:block;
  color:#6b7280;
  font-size:11px;
  font-weight:800;
  margin-bottom:4px;
}
.marketing-smart-profile-grid strong{
  color:#111827;
  font-size:15px;
}
.marketing-smart-hint{
  margin-top:10px;
  color:#6b7280;
  font-weight:700;
}
#marketingMessageModal{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  background:rgba(15,23,42,.62)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
}
#marketingMessageModal.open{display:flex!important;}
#marketingMessageModal:not(.open){display:none!important;}
.marketing-message-modal{
  position:relative!important;
  z-index:100000!important;
  background:#fff!important;
  border-radius:24px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.25)!important;
}
.marketing-modal-profile{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.marketing-modal-profile span{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
}
body.modal-lock{overflow:hidden;}
@media(max-width:760px){
  .marketing-smart-profile-grid{grid-template-columns:1fr 1fr;}
}


/* Login: recuperar senha */
.auth-link-btn{
  border:0;
  background:transparent;
  color:var(--primary,#5b8def);
  font-weight:800;
  cursor:pointer;
  padding:8px 0;
  text-align:left;
  width:max-content;
}
.auth-link-btn:hover{
  text-decoration:underline;
}


/* Configuração profissional de gateways */
.gateway-config-panel{
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#f8fafc;
  padding:16px;
}
.gateway-config-title{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}
.gateway-config-title strong{font-size:16px;}
.gateway-config-title small{color:#6b7280;font-weight:700;}
.gateway-config-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.gateway-rules-box{
  margin-top:12px;
  border-radius:14px;
  padding:12px;
  background:#fff;
  border:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.gateway-rules-box span{color:#6b7280;}
.gateway-choice-list{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.gateway-choice{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:12px;
  background:#fff;
  display:flex;
  gap:10px;
  cursor:pointer;
}
.gateway-choice.active{
  border-color:#ff2fcf;
  box-shadow:0 0 0 4px rgba(255,47,207,.12);
}
.gateway-choice input{accent-color:#ff2fcf;margin-top:3px;}
.gateway-choice span{display:flex;flex-direction:column;gap:3px;}
.gateway-choice small{color:#6b7280;font-weight:700;}
@media(max-width:760px){.gateway-config-grid{grid-template-columns:1fr;}}


/* Checkout login/validação refinado */
.checkout-forgot-link{
  border:0;
  background:transparent;
  color:#ff2fcf;
  font-weight:900;
  cursor:pointer;
  margin:8px auto 0;
  display:block;
}
.checkout-forgot-link:hover{text-decoration:underline;}
.checkout-field-error{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;
}
.checkout-error-msg{
  color:#b91c1c;
  font-size:12px;
  font-weight:800;
  margin-top:5px;
}
.checkout-login-msg{
  min-height:20px;
  font-weight:800;
}


/* Dashboard resumo rápido final alinhado */
#dashboard .card:has(.dashboard-summary-grid){
  overflow:hidden;
}
#dashboard .dashboard-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
#dashboard .dashboard-summary-grid .summary-tile{
  min-width:0!important;
  width:100%!important;
  min-height:112px!important;
  border:1px solid var(--border)!important;
  border-radius:18px!important;
  padding:16px!important;
  background:linear-gradient(135deg,#fff,#f8fafc)!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
    "icon label"
    "icon value"!important;
  column-gap:14px!important;
  row-gap:4px!important;
  align-items:center!important;
  overflow:hidden!important;
}
#dashboard .dashboard-summary-grid .summary-tile .summary-icon{
  grid-area:icon!important;
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:#f1f5f9!important;
  color:#2563eb!important;
  font-size:18px!important;
  font-weight:1000!important;
  line-height:1!important;
}
#dashboard .dashboard-summary-grid .summary-tile small{
  grid-area:label!important;
  display:block!important;
  margin:0!important;
  color:var(--muted)!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:900!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#dashboard .dashboard-summary-grid .summary-tile strong{
  grid-area:value!important;
  display:block!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:clamp(20px,1.55vw,26px)!important;
  line-height:1.05!important;
  font-weight:1000!important;
  letter-spacing:-.045em!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
#dashboard .dashboard-summary-grid .summary-tile.purple{background:linear-gradient(135deg,#fff,#fbf5ff)!important;}
#dashboard .dashboard-summary-grid .summary-tile.green{background:linear-gradient(135deg,#fff,#f0fdf4)!important;}
#dashboard .dashboard-summary-grid .summary-tile.blue{background:linear-gradient(135deg,#fff,#eff6ff)!important;}
#dashboard .dashboard-summary-grid .summary-tile.amber{background:linear-gradient(135deg,#fff,#fffbeb)!important;}
#dashboard .dashboard-summary-grid .summary-tile.cyan{background:linear-gradient(135deg,#fff,#ecfeff)!important;}
#dashboard .dashboard-summary-grid .summary-tile.mint{background:linear-gradient(135deg,#fff,#ecfdf5)!important;}
#dashboard .dashboard-summary-grid .summary-tile.pink{background:linear-gradient(135deg,#fff,#fdf2f8)!important;}
#dashboard .dashboard-summary-grid .summary-tile.span-2{
  grid-column:1 / -1!important;
  min-height:96px!important;
}
#dashboard .summary-footer-link{
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid var(--border)!important;
}
#dashboard .link-btn{
  border:0!important;
  background:transparent!important;
  color:#2563eb!important;
  font-weight:1000!important;
  cursor:pointer!important;
  padding:8px 0!important;
}
#dashboard .link-btn:hover{text-decoration:underline!important;}

@media(max-width:1280px){
  #dashboard .dashboard-summary-grid .summary-tile{
    grid-template-columns:42px minmax(0,1fr)!important;
    padding:14px!important;
    column-gap:12px!important;
  }
  #dashboard .dashboard-summary-grid .summary-tile .summary-icon{
    width:42px!important;
    height:42px!important;
    font-size:15px!important;
  }
  #dashboard .dashboard-summary-grid .summary-tile small{
    font-size:12.5px!important;
  }
  #dashboard .dashboard-summary-grid .summary-tile strong{
    font-size:clamp(18px,1.35vw,22px)!important;
  }
}
@media(max-width:1080px){
  #dashboard .cards-grid.two-col{
    grid-template-columns:1fr!important;
  }
  #dashboard .dashboard-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  #dashboard .dashboard-summary-grid{
    grid-template-columns:1fr!important;
  }
  #dashboard .dashboard-summary-grid .summary-tile.span-2{
    grid-column:auto!important;
  }
}


/* Dashboard layout vertical */
#dashboard .dashboard-main-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
}
#dashboard .dashboard-main-grid > .card{
  width:100%!important;
  min-width:0!important;
}
#dashboard .dashboard-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:1200px){
  #dashboard .dashboard-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  #dashboard .dashboard-summary-grid{
    grid-template-columns:1fr!important;
  }
}


/* Modo manutenção do e-commerce - tela exclusiva */
.maintenance-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  min-height:100dvh!important;
  width:100vw!important;
  display:grid;
  place-items:center!important;
  padding:24px!important;
  background:
    radial-gradient(circle at top left, rgba(255,47,207,.22), transparent 34%),
    linear-gradient(135deg,#0f172a,#111827 58%,#36143a)!important;
  overflow:auto!important;
}
.maintenance-overlay.hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.maintenance-active{
  overflow:hidden!important;
  background:#111827!important;
}
body.maintenance-active > :not(#maintenanceOverlay):not(script):not(style){
  display:none!important;
}
body.maintenance-active #maintenanceOverlay{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.maintenance-card{
  width:min(560px,94vw)!important;
  background:#fff!important;
  border-radius:32px!important;
  padding:34px 28px!important;
  text-align:center!important;
  box-shadow:0 30px 110px rgba(0,0,0,.45)!important;
  border:1px solid rgba(255,255,255,.35)!important;
}
.maintenance-logo{
  width:96px!important;
  height:96px!important;
  border-radius:28px!important;
  margin:0 auto 16px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#ff2fcf,#ec4899)!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:1000!important;
  overflow:hidden!important;
  box-shadow:0 18px 42px rgba(236,72,153,.28)!important;
}
.maintenance-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#fff!important;
  padding:8px!important;
}
.maintenance-badge{
  display:inline-flex!important;
  margin-bottom:12px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:rgba(255,47,207,.10)!important;
  color:#db22bb!important;
  font-weight:1000!important;
  font-size:13px!important;
}
.maintenance-card h1{
  font-size:clamp(28px,5vw,42px)!important;
  line-height:1.05!important;
  margin:0 0 12px!important;
  color:#111827!important;
  letter-spacing:-.05em!important;
}
.maintenance-card p{
  color:#667085!important;
  font-size:clamp(16px,3vw,19px)!important;
  line-height:1.55!important;
  margin:0 auto 24px!important;
  max-width:440px!important;
  font-weight:800!important;
}
.maintenance-whatsapp{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  padding:14px 24px!important;
  border-radius:999px!important;
  background:#22c55e!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:1000!important;
  box-shadow:0 12px 28px rgba(34,197,94,.28)!important;
}
@media(max-width:560px){
  .maintenance-overlay{padding:16px!important;}
  .maintenance-card{border-radius:26px!important;padding:28px 20px!important;}
  .maintenance-logo{width:82px!important;height:82px!important;border-radius:22px!important;}
  .maintenance-whatsapp{width:100%!important;}
}


/* Fotos de produto: leve no catálogo e boa no zoom */
.product-card img,
.product-photo img,
.product-image img,
.product-page-main img,
#productPageMainImage,
#photoViewerImg{
  image-rendering:auto;
  backface-visibility:hidden;
}
#photoViewerImg{
  max-width:96vw;
  max-height:92vh;
  object-fit:contain;
}


/* Confirmação de parcelamento Mercado Pago */
.installment-confirm{
  margin-top:10px;
  border:1px solid rgba(37,99,235,.18);
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:16px;
  padding:12px;
  font-weight:900;
  line-height:1.35;
}
.installment-summary{
  color:#1d4ed8;
}
.installment-summary strong{
  max-width:220px;
  text-align:right;
}
@media(max-width:640px){
  .installment-summary strong{max-width:150px;font-size:13px;}
}


/* Mercado Pago: parcelas escolhidas dentro do gateway */
#cardInstallmentBox,
.card-installment-box{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}
#mpGatewayInstallmentNote{
  display:block;
  margin-top:10px;
  border:1px solid rgba(37,99,235,.18);
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:16px;
  padding:12px;
  font-weight:900;
  line-height:1.35;
}


/* Mercado Pago: parcelamento escolhido no próprio gateway */
#cardInstallmentBox,.card-installment-box{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:0!important;}
#mpGatewayInstallmentNote.gateway-note{
  margin-top:10px;
  border:1px solid rgba(37,99,235,.18);
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:16px;
  padding:12px;
  font-weight:900;
  line-height:1.35;
}

/* Mercado Pago Card Payment Brick */
.mp-brick-card-box{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:20px;
  background:#fff;
  padding:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
#mpCardPaymentBrick_container{
  margin-top:12px;
}
#mpBrickStatus.danger,
.payment-hint-box.danger{
  background:#fef2f2!important;
  color:#b91c1c!important;
  border-color:#fecaca!important;
}

#mpBrickBeforeOrder{
  margin-top:12px;
  background:#fff7ed!important;
  color:#9a3412!important;
  border-color:#fed7aa!important;
}
.mp-brick-card-box.hidden{
  display:none!important;
}

/* Checkout Mercado Pago Brick - fluxo profissional */
.mp-checkout-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.mp-checkout-steps span{
  border:1px solid var(--border);
  border-radius:999px;
  padding:9px 10px;
  text-align:center;
  font-size:12px;
  font-weight:1000;
  color:var(--muted);
  background:#f8fafc;
}
.mp-checkout-steps span.done{
  background:#ecfdf5;
  color:#047857;
  border-color:#bbf7d0;
}
.mp-checkout-steps span.active{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
#mpBrickCardBox{
  scroll-margin-top:90px;
}
#mpCardPaymentBrick_container{
  background:#fff;
  border-radius:18px;
}
@media(max-width:640px){
  .mp-checkout-steps{grid-template-columns:1fr;gap:6px;}
}

/* Checkout cartão Mercado Pago limpo */
#checkoutGatewayHint:empty{display:none!important;}
#mpGatewayInstallmentNote.gateway-note{
  margin-top:12px;
  border:1px solid rgba(37,99,235,.16)!important;
  background:#f8fbff!important;
  color:#1e3a8a!important;
  border-radius:18px!important;
  padding:12px 14px!important;
  font-size:14px!important;
}
.mp-brick-card-box{
  margin-top:18px!important;
  border:1px solid var(--border)!important;
  border-radius:24px!important;
  background:#fff!important;
  padding:18px!important;
  box-shadow:0 18px 50px rgba(15,23,42,.08)!important;
}
.mp-payment-header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:10px;
}
.mp-payment-badge{
  display:inline-flex;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  padding:7px 10px;
  font-size:12px;
  font-weight:1000;
  margin-bottom:8px;
}
.mp-payment-header h3{
  margin:0;
  font-size:22px;
  letter-spacing:-.04em;
}
.mp-payment-header p{
  margin:6px 0 0;
  color:var(--muted);
  font-weight:800;
  line-height:1.45;
}
.mp-retry-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.mp-retry-actions.hidden{display:none!important;}
@media(max-width:640px){
  .mp-brick-card-box{padding:14px!important;border-radius:20px!important;}
  .mp-payment-header{display:block;}
  .mp-payment-header h3{font-size:19px;}
  .mp-retry-actions .btn{width:100%;}
}


#checkoutGatewayHint{
  margin-top:10px;
  border-radius:16px;
  background:#fff7fb;
  border:1px solid #ffd2ef;
  padding:12px 14px;
  font-weight:700;
  color:#c21884;
}

.gateway-note{
  margin-top:12px;
  border-radius:18px;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  padding:14px!important;
  font-size:14px!important;
  line-height:1.5!important;
}

.mp-brick-card-box{
  margin-top:18px!important;
  background:#fff!important;
  border-radius:22px!important;
  padding:18px!important;
  border:1px solid #ececec!important;
}

.mp-payment-header h3{
  margin:0 0 6px 0;
  font-size:22px;
}

.mp-payment-header p{
  margin:0 0 14px 0;
  color:#64748b;
}

@media(max-width:768px){
  .mp-payment-header h3{
    font-size:19px;
  }
}

/* Brick Mercado Pago só aparece no cartão após finalizar */
#mpBrickCardBox.hidden,
#mpBrickRetryActions.hidden,
.mp-retry-actions.hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Mercado Pago Brick criado apenas depois de finalizar pedido */
#mpBrickCardBox.hidden,
#mpBrickRetryActions.hidden,
.mp-retry-actions.hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#mpBrickCardBox{
  display:block;
}


/* Botão Tentar novamente só aparece quando o JS liberar após erro */
#mpBrickRetryActions.hidden{
  display:none!important;
}
#mpBrickRetryActions{
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.installment-line{
  font-weight:800;
}


/* =========================================================
   PÁGINA DE PRODUTO - ESTILO LOJA GRANDE / JULY MODAS
   Base estável, sem scroll lateral, sem reestruturar funções.
   ========================================================= */

html, body{
  max-width:100%;
  overflow-x:hidden!important;
}

/* Container da página de produto */
#productPageShell{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:34px 18px 120px;
  display:grid;
  grid-template-columns:minmax(0, 540px) minmax(0, 1fr);
  gap:42px;
  align-items:start;
  box-sizing:border-box;
  overflow:hidden;
}

#productPageShell *,
#productPageShell *::before,
#productPageShell *::after{
  box-sizing:border-box;
}

#productPageShell img{
  max-width:100%;
}

/* Galeria tipo e-commerce */
.product-page-gallery{
  min-width:0;
  width:100%;
}

.product-page-main-img{
  display:block!important;
  width:100%!important;
  border:1px solid #e8edf7!important;
  border-radius:22px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f6f0ff!important;
  box-shadow:0 18px 50px rgba(15,23,42,.07)!important;
  cursor:zoom-in!important;
}

.product-page-main-img img,
#productPageMainImage{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:680px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f6f0ff!important;
}

.product-page-thumbs{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0, 1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
  width:100%!important;
}

.product-page-thumb{
  width:100%!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #e8edf7!important;
  border-radius:14px!important;
  background:#fff!important;
  cursor:pointer!important;
  transition:.18s ease!important;
}

.product-page-thumb.active,
.product-page-thumb:hover{
  border-color:#ff2fcf!important;
  box-shadow:0 0 0 4px rgba(255,47,207,.12)!important;
}

.product-page-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

/* Card de compra */
.product-page-info{
  min-width:0;
  width:100%;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.product-page-info > .badge-row{
  margin-bottom:12px!important;
}

.product-page-info .tag{
  border-radius:999px!important;
  padding:7px 12px!important;
  border:1px solid #ffd4f3!important;
  background:#fff0fb!important;
  color:#d600b8!important;
  font-size:13px!important;
  font-weight:900!important;
}

.product-page-title{
  margin:0 0 14px!important;
  color:#111827!important;
  font-size:31px!important;
  line-height:1.12!important;
  letter-spacing:-.045em!important;
  font-weight:1000!important;
  overflow-wrap:break-word!important;
}

/* preço */
.product-page-info .price-block,
.product-page-info [class*="price"]{
  max-width:100%;
}

.product-page-info .price,
.product-page-info .current-price,
.product-page-info .sale-price{
  color:#ff2fcf!important;
}

/* descrição curta como bloco leve */
.product-page-desc{
  margin:18px 0 0!important;
  padding:16px 18px!important;
  border:1px solid #eef2fb!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#4b5563!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-weight:600!important;
  box-shadow:0 10px 30px rgba(15,23,42,.04)!important;
}

/* Frete */
.product-page-freight{
  margin-top:18px!important;
  padding:18px!important;
  border:1px solid #e8edf7!important;
  border-radius:18px!important;
  background:#f8fafc!important;
}

.product-page-freight-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:12px!important;
  color:#111827!important;
  font-size:16px!important;
  font-weight:1000!important;
}

.product-page-freight-head span{
  color:#6b7280!important;
  font-size:12px!important;
  font-weight:800!important;
}

.product-page-freight-row{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
}

.product-page-freight-row .field{
  min-width:0!important;
  width:100%!important;
  height:52px!important;
  border-radius:14px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  font-weight:800!important;
}

.product-page-freight-row .btn-secondary{
  height:52px!important;
  min-height:52px!important;
  border-radius:14px!important;
  border:1px solid #ff2fcf!important;
  color:#ff2fcf!important;
  background:#fff!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}

.product-page-freight .small{
  margin-top:10px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:700!important;
}

/* Opções */
.product-page-options.ecommerce-options{
  display:grid!important;
  grid-template-columns:1fr 1fr 120px!important;
  gap:12px!important;
  margin-top:18px!important;
  width:100%!important;
}

.variation-field{
  min-width:0!important;
}

.option-label{
  margin-bottom:8px!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:1000!important;
}

.product-page-options .select,
.product-page-options .field{
  width:100%!important;
  height:52px!important;
  border-radius:14px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  color:#111827!important;
  font-weight:850!important;
  padding:0 14px!important;
}

.product-page-options .select:focus,
.product-page-options .field:focus,
.product-page-freight-row .field:focus{
  outline:none!important;
  border-color:#ff2fcf!important;
  box-shadow:0 0 0 4px rgba(255,47,207,.12)!important;
}

.variation-status{
  margin-top:12px!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  font-weight:900!important;
  line-height:1.35!important;
}

.product-page-code{
  margin-top:12px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:800!important;
}

/* Botões */
.product-page-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:18px!important;
}

.product-page-actions .btn,
.product-page-actions .btn-secondary{
  width:100%!important;
  min-height:56px!important;
  border-radius:14px!important;
  font-size:16px!important;
  font-weight:1000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.product-page-actions .btn{
  background:linear-gradient(135deg,#ff2fcf,#f0009f)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 14px 30px rgba(255,47,207,.22)!important;
}

.product-page-actions .btn-secondary{
  border:2px solid #ff2fcf!important;
  background:#fff!important;
  color:#ff2fcf!important;
}

/* Confiança */
.product-page-trust-july{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:18px;
  border:1px solid #e8edf7;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.product-page-trust-july span{
  min-height:54px;
  display:grid;
  place-items:center;
  padding:8px;
  border-right:1px solid #e8edf7;
  color:#111827;
  font-size:12px;
  line-height:1.2;
  text-align:center;
  font-weight:850;
}

.product-page-trust-july span:last-child{
  border-right:0;
}

/* Você também pode gostar fora e menor */
.product-recommendations-section{
  grid-column:1 / -1;
  margin-top:34px!important;
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.product-recommendations-title{
  margin:0 0 16px!important;
  color:#111827!important;
  font-size:24px!important;
  letter-spacing:-.035em!important;
  font-weight:1000!important;
}

.product-recommendations-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}

.product-recommend-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border:1px solid #e8edf7!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  padding:0!important;
  text-align:left!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
  transition:.18s ease!important;
}

.product-recommend-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(15,23,42,.10)!important;
}

.product-recommend-card img,
.product-recommend-no-photo{
  display:block!important;
  width:100%!important;
  height:185px!important;
  object-fit:cover!important;
  background:#f6f0ff!important;
}

.product-recommend-info{
  padding:12px!important;
}

.product-recommend-name{
  color:#111827!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:950!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.product-recommend-price{
  margin-top:6px!important;
  color:#ff2fcf!important;
  font-size:17px!important;
  font-weight:1000!important;
}

/* Carrinho flutuante contido */
.cart-float,
.floating-cart,
.cart-floating,
#cartFloat,
#floatingCart{
  max-width:calc(100vw - 28px)!important;
  right:14px!important;
  left:auto!important;
}

/* tablet */
@media(max-width:1020px){
  #productPageShell{
    max-width:880px!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .product-recommendations-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* celular */
@media(max-width:760px){
  #productPageShell{
    width:100%!important;
    max-width:100%!important;
    padding:16px 12px 130px!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .product-page-main-img{
    border-radius:18px!important;
  }

  .product-page-main-img img,
  #productPageMainImage{
    max-height:none!important;
  }

  .product-page-title{
    font-size:24px!important;
  }

  .product-page-desc{
    padding:14px!important;
    border-radius:16px!important;
  }

  .product-page-freight,
  .product-page-options.ecommerce-options{
    border-radius:16px!important;
  }

  .product-page-options.ecommerce-options,
  .product-page-freight-row,
  .product-page-actions{
    grid-template-columns:1fr!important;
  }

  .product-page-trust-july{
    grid-template-columns:1fr 1fr;
  }

  .product-page-trust-july span{
    min-height:48px;
    font-size:11px;
    border-bottom:1px solid #e8edf7;
  }

  .product-page-thumbs{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .product-recommendations-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .product-recommend-card img,
  .product-recommend-no-photo{
    height:150px!important;
  }

  .product-recommend-info{
    padding:10px!important;
  }
}


/* ======================================================
   AJUSTE JULY FINAL: DESCRIÇÃO E RELACIONADOS EMBAIXO
   ====================================================== */

html, body{
  max-width:100%!important;
  overflow-x:hidden!important;
}

/* A página do produto é o grid. Os 2 primeiros filhos ficam lado a lado.
   Descrição e recomendados ocupam a largura inteira embaixo. */
#productPageShell{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:30px 18px 130px!important;
  display:grid!important;
  grid-template-columns:minmax(0, 540px) minmax(0, 1fr)!important;
  gap:30px!important;
  align-items:start!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

#productPageShell > *{
  min-width:0!important;
  max-width:100%!important;
}

#productPageShell img{
  max-width:100%!important;
}

/* Galeria lado esquerdo */
#productPageShell .product-page-gallery{
  grid-column:1!important;
  width:100%!important;
  min-width:0!important;
}

/* Card de compra lado direito */
#productPageShell .product-page-info{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
}

/* Descrição SEMPRE abaixo dos dois lados */
#productPageShell .product-july-description{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 0!important;
}

/* Recomendados SEMPRE abaixo da descrição */
#productPageShell #productRecommendations,
#productPageShell .product-recommendations-section{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:6px 0 0!important;
  clear:both!important;
  position:relative!important;
  z-index:1!important;
}

/* Foto principal controlada */
.product-page-main-img{
  width:100%!important;
  max-width:100%!important;
  border-radius:24px!important;
  overflow:hidden!important;
}

.product-page-main-img img,
#productPageMainImage{
  width:100%!important;
  height:auto!important;
  max-height:650px!important;
  object-fit:contain!important;
}

/* Card de compra não fica sob header */
.product-page-info{
  background:#fff!important;
  border:1px solid #e8edf7!important;
  border-radius:24px!important;
  padding:26px!important;
  box-shadow:0 18px 50px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
}

.product-page-title{
  font-size:29px!important;
  line-height:1.13!important;
  margin:8px 0 14px!important;
  color:#111827!important;
}

/* Remove descrição antiga caso ainda exista visualmente */
.product-page-desc{
  display:none!important;
}

/* opções/frete dentro do card */
.product-page-options.ecommerce-options{
  display:grid!important;
  grid-template-columns:1fr 1fr 120px!important;
  gap:12px!important;
  width:100%!important;
}

.product-page-freight-row{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
}

.product-page-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}

/* Abas estilo July */
.product-july-description{
  border:1px solid #e8edf7!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
}

.product-july-tabs{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
  border-bottom:1px solid #e8edf7!important;
  background:#fff!important;
}

.product-july-tab{
  border:0!important;
  background:#fff!important;
  color:#111827!important;
  padding:18px 12px!important;
  font-size:15px!important;
  font-weight:950!important;
  border-bottom:3px solid transparent!important;
  cursor:pointer!important;
}

.product-july-tab.active{
  color:#ff2fcf!important;
  border-bottom-color:#ff2fcf!important;
}

.product-july-panel{
  display:none!important;
  padding:24px!important;
}

.product-july-panel.active{
  display:block!important;
}

.product-july-panel h2{
  margin:0 0 14px!important;
  color:#111827!important;
  font-size:22px!important;
  line-height:1.2!important;
}

.product-july-panel p{
  margin:0!important;
  color:#334155!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-weight:650!important;
}

.product-july-desc-grid{
  display:grid!important;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr)!important;
  gap:28px!important;
  align-items:start!important;
}

.product-july-benefits{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:18px!important;
}

.product-july-benefits span{
  border:1px solid #f0d6ff!important;
  background:#fff7fd!important;
  border-radius:16px!important;
  padding:12px!important;
  font-weight:850!important;
  color:#111827!important;
}

.product-july-info-box{
  border:1px solid #f0d6ff!important;
  background:#fff7fd!important;
  border-radius:16px!important;
  overflow:hidden!important;
}

.product-july-info-box div{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:12px!important;
  padding:13px 16px!important;
  border-bottom:1px solid rgba(240,214,255,.9)!important;
}

.product-july-info-box div:last-child{
  border-bottom:0!important;
}

.product-july-info-box span{
  color:#64748b!important;
  font-size:13px!important;
  font-weight:850!important;
}

.product-july-info-box strong{
  color:#111827!important;
  font-size:13px!important;
  font-weight:950!important;
  overflow-wrap:break-word!important;
}

.product-july-review{
  border:1px solid #ffd2ef!important;
  background:#fff7fb!important;
  border-radius:16px!important;
  padding:16px!important;
}

.product-july-review strong{
  color:#ffb800!important;
  display:block!important;
  margin-bottom:8px!important;
}

/* Recomendados corrigidos: pequenos e abaixo */
#productRecommendationsGrid.product-recommendations-grid,
.product-recommendations-grid{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:100%!important;
}

.product-recommend-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e8edf7!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important;
}

.product-recommend-card img,
.product-recommend-no-photo{
  width:100%!important;
  height:185px!important;
  max-height:185px!important;
  object-fit:cover!important;
  display:block!important;
}

.product-recommend-info{
  padding:12px!important;
}

.product-recommend-name{
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:950!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.product-recommend-price{
  font-size:17px!important;
  color:#ff2fcf!important;
  font-weight:1000!important;
}

/* Tablet: tudo empilha certinho */
@media(max-width:1020px){
  #productPageShell{
    max-width:900px!important;
    grid-template-columns:1fr!important;
  }

  #productPageShell .product-page-gallery,
  #productPageShell .product-page-info,
  #productPageShell .product-july-description,
  #productPageShell #productRecommendations{
    grid-column:1!important;
  }

  .product-july-desc-grid{
    grid-template-columns:1fr!important;
  }

  #productRecommendationsGrid.product-recommendations-grid,
  .product-recommendations-grid{
    grid-template-columns:repeat(3, minmax(0,1fr))!important;
  }
}

/* Celular */
@media(max-width:760px){
  #productPageShell{
    width:100%!important;
    max-width:100%!important;
    padding:14px 12px 130px!important;
    gap:16px!important;
  }

  .product-page-info{
    padding:16px!important;
    border-radius:18px!important;
  }

  .product-page-title{
    font-size:23px!important;
  }

  .product-page-main-img{
    border-radius:18px!important;
  }

  .product-page-main-img img,
  #productPageMainImage{
    max-height:none!important;
  }

  .product-page-options.ecommerce-options,
  .product-page-freight-row,
  .product-page-actions{
    grid-template-columns:1fr!important;
  }

  .product-july-tabs{
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }

  .product-july-tabs::-webkit-scrollbar{
    display:none!important;
  }

  .product-july-tab{
    flex:0 0 auto!important;
    min-width:110px!important;
    font-size:13px!important;
    padding:15px 12px!important;
  }

  .product-july-panel{
    padding:18px!important;
  }

  .product-july-benefits,
  .product-july-info-box div{
    grid-template-columns:1fr!important;
  }

  #productRecommendationsGrid.product-recommendations-grid,
  .product-recommendations-grid{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
    gap:12px!important;
  }

  .product-recommend-card img,
  .product-recommend-no-photo{
    height:145px!important;
  }
}


/* Correção desktop checkout: botões Criar cadastro / Já tenho conta */
.checkout-auth-switch button,
.checkout-auth-switch .btn,
.checkout-auth-switch .btn-secondary,
.customer-auth-switch button,
.customer-auth-switch .btn,
.customer-auth-switch .btn-secondary,
#checkoutCustomerAuth button,
#checkoutCustomerAuth .btn,
#checkoutCustomerAuth .btn-secondary,
.auth-toggle button,
.auth-toggle .btn,
.auth-toggle .btn-secondary{
  color:#ff2fcf!important;
  font-weight:1000!important;
}

.checkout-auth-switch button.active,
.checkout-auth-switch .btn.active,
.customer-auth-switch button.active,
.customer-auth-switch .btn.active,
#checkoutCustomerAuth button.active,
#checkoutCustomerAuth .btn.active,
.auth-toggle button.active,
.auth-toggle .btn.active{
  color:#fff!important;
  background:linear-gradient(135deg,#ff2fcf,#f000c8)!important;
  border-color:#ff2fcf!important;
}

.checkout-auth-switch .btn-secondary,
.customer-auth-switch .btn-secondary,
#checkoutCustomerAuth .btn-secondary,
.auth-toggle .btn-secondary{
  background:#fff!important;
  border:1px solid #e3e9f5!important;
  color:#ff2fcf!important;
}

.checkout-auth-switch .btn-secondary:hover,
.customer-auth-switch .btn-secondary:hover,
#checkoutCustomerAuth .btn-secondary:hover,
.auth-toggle .btn-secondary:hover{
  border-color:#ff2fcf!important;
  box-shadow:0 0 0 4px rgba(255,47,207,.10)!important;
}

/* fallback específico caso sejam botões dentro da linha Identifique-se */
.checkout-modal button[type="button"],
.checkout-modal .btn-secondary,
.checkout-content button[type="button"],
.checkout-content .btn-secondary{
  font-weight:900;
}

.checkout-modal button[type="button"]:not(.btn):not(.payment-card):not(.close):not(.icon-btn),
.checkout-content button[type="button"]:not(.btn):not(.payment-card):not(.close):not(.icon-btn){
  color:#ff2fcf;
}

@media(min-width:761px){
  .checkout-modal .btn,
  .checkout-modal .btn-secondary,
  .checkout-content .btn,
  .checkout-content .btn-secondary{
    text-shadow:none!important;
  }
}


/* Mercado Pago Brick: usar layout nativo, só garantir largura do container */
#mpCardPaymentBrick_container{
  width:100%;
  max-width:100%;
  overflow:visible;
}

#mpBrickCardBox{
  overflow:visible;
}


/* ======================================================
   Correção definitiva visual do Cartão Mercado Pago
   O Brick deve ficar em uma coluna, largura inteira.
   ====================================================== */

/* A caixa do cartão não pode dividir título e formulário em colunas apertadas */
#mpBrickCardBox,
#mpBrickCardBox *{
  box-sizing:border-box;
}

#mpBrickCardBox{
  width:100%!important;
  max-width:100%!important;
  display:block!important;
  overflow:visible!important;
  padding:20px!important;
  border-radius:22px!important;
}

/* Caso o layout do site tenha criado grid/flex na caixa do cartão */
#mpBrickCardBox > div,
#mpBrickCardBox > section,
#mpBrickCardBox .mp-card-brick,
#mpBrickCardBox .mp-payment-card,
#mpBrickCardBox .mp-brick-wrapper{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Títulos e textos do cartão ficam acima do formulário, não ao lado */
#mpBrickCardBox h1,
#mpBrickCardBox h2,
#mpBrickCardBox h3,
#mpBrickCardBox p{
  max-width:100%!important;
}

/* Container onde o Mercado Pago injeta o formulário */
#mpCardPaymentBrick_container{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  min-width:0!important;
  margin:18px auto 0!important;
  overflow:visible!important;
}

/* Deixa o formulário nativo respirar */
#mpCardPaymentBrick_container form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}

/* Remove qualquer grid/flex herdado do layout do checkout dentro do Brick */
#mpCardPaymentBrick_container{
  grid-column:1 / -1!important;
}

#mpCardPaymentBrick_container input,
#mpCardPaymentBrick_container select,
#mpCardPaymentBrick_container button{
  box-sizing:border-box!important;
  max-width:100%!important;
}

/* Campo CPF do Mercado Pago: evita a borda parecer sobreposta */
#mpCardPaymentBrick_container input,
#mpCardPaymentBrick_container select{
  background:#fff!important;
}

/* O grupo de documento do MP costuma ter select + input. Mantém na mesma linha,
   mas com largura correta, sem invadir um ao outro. */
#mpCardPaymentBrick_container [class*="identification"],
#mpCardPaymentBrick_container [class*="document"],
#mpCardPaymentBrick_container [data-testid*="identification"],
#mpCardPaymentBrick_container [data-testid*="document"]{
  max-width:100%!important;
  min-width:0!important;
}

/* Evita que textos/labels fiquem lado a lado com o formulário */
#mpBrickCardBox .mp-card-title,
#mpBrickCardBox .mp-card-text,
#mpBrickCardBox .mp-card-description{
  width:100%!important;
  max-width:100%!important;
}

/* Se existir um grid tipo "título à esquerda e form à direita", força coluna */
#mpBrickCardBox .mp-brick-layout,
#mpBrickCardBox .mp-card-layout,
#mpBrickCardBox .payment-brick-layout,
#mpBrickCardBox .payment-card-layout{
  display:block!important;
  width:100%!important;
}

/* Botão Pagar */
#mpCardPaymentBrick_container button[type="submit"]{
  min-height:54px!important;
  border-radius:14px!important;
  font-weight:900!important;
}

/* Desktop: não deixa o formulário apertado */
@media(min-width:761px){
  #mpBrickCardBox{
    padding:22px!important;
  }
}

/* Celular: formulário 100% */
@media(max-width:760px){
  #mpBrickCardBox{
    padding:16px!important;
  }

  #mpCardPaymentBrick_container{
    max-width:100%!important;
    margin-top:14px!important;
  }

  #mpCardPaymentBrick_container button[type="submit"]{
    width:100%!important;
  }
}


/* Módulo de Trocas PDV */
.exchange-layout{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.exchange-card{
  min-width:0;
}
.exchange-card label{
  display:block;
  margin-top:12px;
}
.exchange-empty{
  margin-top:12px;
  border:1px dashed #dbe3ef;
  border-radius:16px;
  padding:16px;
  color:#66718a;
  font-weight:800;
  background:#f8fafc;
}
.exchange-product-card{
  margin-top:12px;
  border:1px solid #e8edf7;
  border-radius:16px;
  padding:14px;
  background:#fff;
  display:grid;
  gap:5px;
}
.exchange-product-card strong{
  color:#121a2f;
}
.exchange-product-card span{
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
.exchange-mini-grid,
.exchange-variation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.exchange-summary{
  border:1px solid #e8edf7;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  margin:12px 0;
}
.exchange-summary div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #eef2fb;
}
.exchange-summary div:last-child{border-bottom:0;}
.exchange-summary span{
  color:#64748b;
  font-weight:850;
}
.exchange-summary strong{
  color:#121a2f;
  font-weight:1000;
}
.exchange-summary-card .primary-btn{
  background:linear-gradient(135deg,#ff2fcf,#f0009f);
}
.exchange-help{
  margin-top:12px;
  border:1px solid #ffd8f5;
  background:#fff7fd;
  color:#9d174d;
  border-radius:14px;
  padding:12px;
  font-weight:850;
  line-height:1.45;
}
.exchange-history-card{
  margin-top:18px;
}
.exchange-variation-note{
  margin-top:12px;
  color:#64748b;
  font-weight:800;
}
@media(max-width:1100px){
  .exchange-layout{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .exchange-mini-grid,.exchange-variation-grid{grid-template-columns:1fr;}
}


/* Mercado Pago Brick - CPF separado do número, sem parecer campo sobreposto */
#mpCardPaymentBrick_container .mp-doc-row-fixed{
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr)!important;
  column-gap:12px!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
}

#mpCardPaymentBrick_container .mp-doc-row-fixed select,
#mpCardPaymentBrick_container .mp-doc-row-fixed input{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
  background:#fff!important;
}

#mpCardPaymentBrick_container .mp-doc-row-fixed select{
  min-width:110px!important;
}

#mpCardPaymentBrick_container .mp-doc-row-fixed input{
  border-left-width:1px!important;
}

/* fallback CSS quando o navegador aplicar :has */
#mpCardPaymentBrick_container div:has(> select):has(> input){
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr)!important;
  column-gap:12px!important;
  align-items:center!important;
}

#mpCardPaymentBrick_container div:has(> select):has(> input) select,
#mpCardPaymentBrick_container div:has(> select):has(> input) input{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}

@media(max-width:420px){
  #mpCardPaymentBrick_container .mp-doc-row-fixed,
  #mpCardPaymentBrick_container div:has(> select):has(> input){
    grid-template-columns:88px minmax(0,1fr)!important;
    column-gap:8px!important;
  }

  #mpCardPaymentBrick_container .mp-doc-row-fixed select{
    min-width:88px!important;
  }
}


/* Mercado Pago CPF: remove a caixa de fundo/contorno externo */
#mpCardPaymentBrick_container .mp-doc-row-fixed{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  overflow:visible!important;
}

#mpCardPaymentBrick_container .mp-doc-row-fixed > div,
#mpCardPaymentBrick_container .mp-doc-row-fixed > span,
#mpCardPaymentBrick_container .mp-doc-row-fixed > label{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}

/* remove borda do ancestral imediato que o MP cria por trás do CPF */
#mpCardPaymentBrick_container .mp-doc-bg-clear{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  overflow:visible!important;
}

/* os campos continuam com borda própria, separados */
#mpCardPaymentBrick_container .mp-doc-row-fixed select,
#mpCardPaymentBrick_container .mp-doc-row-fixed input{
  border:1px solid #d8e0ee!important;
  outline:0!important;
  box-shadow:none!important;
  background:#fff!important;
}

/* fallback com :has: se a linha tem select + input, a linha não deve ter contorno externo */
#mpCardPaymentBrick_container div:has(> select):has(> input),
#mpCardPaymentBrick_container div:has(select):has(input){
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  overflow:visible!important;
}

#mpCardPaymentBrick_container div:has(> select):has(> input) > div,
#mpCardPaymentBrick_container div:has(select):has(input) > div{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

#mpCardPaymentBrick_container div:has(> select):has(> input) select,
#mpCardPaymentBrick_container div:has(> select):has(> input) input{
  border:1px solid #d8e0ee!important;
  background:#fff!important;
}


/* Trocas PDV múltiplos produtos */
.exchange-layout{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.exchange-card{min-width:0;}
.exchange-card label{display:block;margin-top:12px;}
.exchange-card .full{width:100%;margin-top:10px;}
.exchange-items{display:grid;gap:12px;margin-top:14px;}
.exchange-empty{
  border:1px dashed #dbe3ef;
  border-radius:16px;
  padding:16px;
  background:#f8fafc;
  color:#66718a;
  font-weight:850;
}
.exchange-line{
  border:1px solid #e8edf7;
  border-radius:18px;
  padding:14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.exchange-line-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.exchange-line-head strong{display:block;color:#121a2f;}
.exchange-line-head small{display:block;color:#64748b;font-weight:800;margin-top:4px;}
.exchange-mini-grid,.exchange-variation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:10px;
}
.exchange-line-total{
  margin-top:10px;
  color:#64748b;
  font-weight:900;
}
.exchange-line-total strong{color:#ff2fcf;}
.exchange-summary{
  border:1px solid #e8edf7;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  margin:12px 0;
}
.exchange-summary div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #eef2fb;
}
.exchange-summary div:last-child{border-bottom:0;}
.exchange-summary span{color:#64748b;font-weight:850;}
.exchange-summary strong{color:#121a2f;font-weight:1000;}
.exchange-help{
  margin-top:12px;
  border:1px solid #ffd8f5;
  background:#fff7fd;
  color:#9d174d;
  border-radius:14px;
  padding:12px;
  font-weight:850;
  line-height:1.45;
}
.exchange-history-card{margin-top:18px;}
.exchange-cash-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.exchange-cash-summary div{
  border:1px solid #e8edf7;
  border-radius:18px;
  padding:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.exchange-cash-summary span{display:block;color:#64748b;font-weight:850;margin-bottom:6px;}
.exchange-cash-summary strong{font-size:24px;color:#ff2fcf;}
.alert.danger{
  border:1px solid #fecaca;
  background:#fff1f2;
  color:#b91c1c;
  border-radius:16px;
  padding:14px 16px;
  font-weight:900;
  margin-bottom:16px;
}
@media(max-width:1100px){
  .exchange-layout{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .exchange-mini-grid,.exchange-variation-grid,.exchange-cash-summary{grid-template-columns:1fr;}
}


/* Trocas: variação obrigatória */
.exchange-variation-required{
  margin-top:10px;
  border:1px solid #ffd8f5;
  background:#fff7fd;
  color:#9d174d;
  border-radius:12px;
  padding:9px 11px;
  font-size:12px;
  font-weight:900;
}
.exchange-variation-warning{
  margin-top:10px;
  border:1px solid #fde68a;
  background:#fffbeb;
  color:#92400e;
  border-radius:12px;
  padding:9px 11px;
  font-size:12px;
  font-weight:900;
}
.exchange-variation-grid select:invalid{
  border-color:#ff2fcf;
  box-shadow:0 0 0 4px rgba(255,47,207,.10);
}


/* Correção Trocas: sugestões clicáveis e botão adicionar */
.exchange-suggestion-item,
.suggestions .suggestion-item{
  width:100%;
  text-align:left;
  display:block;
  cursor:pointer;
  border:1px solid #e8edf7;
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  margin-top:8px;
}
.exchange-suggestion-item:hover,
.suggestions .suggestion-item:hover{
  border-color:#ff2fcf;
  box-shadow:0 0 0 4px rgba(255,47,207,.10);
}
.exchange-suggestion-item strong,
.suggestions .suggestion-item strong{
  display:block;
  color:#121a2f;
}
.exchange-suggestion-item small,
.suggestions .suggestion-item small{
  display:block;
  color:#64748b;
  margin-top:3px;
  font-weight:800;
}
