:root {
  --ink: #24313f;
  --muted: #697887;
  --line: #d8dee5;
  --paper: #fff;
  --bg: #eef2f0;
  --green: #15803d;
  --berry: #b91c5c;
  --orange: #f59e0b;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--ink); background: #838584; }
a { color: inherit; }
.topbar { position: sticky; top: 0; z-index: 10; max-width: 810px; min-height: 64px; margin: 0 auto; display: flex; justify-content: space-between; align-items: stretch; background: var(--paper); box-shadow: 0 2px 10px #0002; }
.brand { display: grid; align-content: center; min-width: 0; padding: 8px 18px; text-decoration: none; line-height: 1.12; text-transform: uppercase; }
.brand strong { color: #102033; font-size: 1.18rem; letter-spacing: .02em; }
.brand span { display: block; margin-top: 3px; color: #64748b; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.top-whatsapp { align-self: center; display: grid; gap: 1px; margin-left: auto; padding: 7px 12px; border-radius: 999px; background: #dcfce7; color: #166534; text-decoration: none; font-size: .78rem; font-weight: 800; line-height: 1.1; text-align: center; white-space: nowrap; }
.top-whatsapp b { font-size: .66rem; text-transform: uppercase; }
.top-whatsapp span { color: #14532d; font-size: .9rem; }
.topnav { display: flex; align-items: stretch; }
.topnav a { display: grid; place-items: center; min-width: 70px; padding: 0 12px; border-left: 1px solid var(--line); text-decoration: none; font-weight: 700; color: #666; }
.topnav a:last-child { color: #166534; }
.topnav small { color: var(--berry); }
.shell { max-width: 810px; min-height: calc(100vh - 65px); margin: 0 auto; background: #fff; padding: 0 20px 70px; }
.customer-strip { height: 0; text-align: right; position: relative; z-index: 2; }
.customer-strip a { display: inline-block; margin: 6px 0 0 10px; padding: 3px 7px; border-radius: 3px; background: #ffffffd9; color: #405060; font-size: .72rem; font-weight: 700; text-decoration: none; box-shadow: 0 1px 4px #0001; }
.hero { min-height: 220px; background-size: cover; background-position: center; display: flex; align-items: center; padding: 30px; color: #fff; position: relative; overflow: hidden; }
.hero:before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #063b2aee, #063b2a66, #0001); }
.hero div { position: relative; }
.hero h1 { margin: 4px 0; font-size: clamp(2rem, 6vw, 4rem); letter-spacing: 0; }
.category { display: grid; grid-template-columns: 1fr 46%; gap: 24px; padding: 30px 8px; border-bottom: 1px solid var(--line); align-items: start; }
.category h2 { margin: 0 0 18px; font-size: 1.65rem; text-transform: uppercase; }
.category-image { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; border-radius: 10px; margin-top: 48px; }
.product { display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); cursor: pointer; }
.product:hover { background: #fff; }
.product img { width: 44px; height: 44px; border-radius: 4px; object-fit: cover; }
.product p, .muted { color: var(--muted); margin: 4px 0 0; }
.menu-banner { position: relative; }
.menu-banner img { display: block; width: calc(100% + 40px); margin: 0 -20px 16px; height: 180px; object-fit: cover; }
.promo-showcase { margin: 18px 0 8px; padding: 16px; border: 1px solid #fecaca; border-radius: 10px; background: linear-gradient(135deg, #fff7ed, #fff); box-shadow: 0 12px 28px #dc262611; }
.promo-showcase header { display: flex; justify-content: space-between; gap: 14px; align-items: end; margin-bottom: 12px; border-bottom: 1px solid #fed7aa; padding-bottom: 10px; }
.promo-showcase header span { color: #dc2626; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.promo-showcase header h2 { margin: 0; color: #9a3412; font-size: 1.45rem; text-transform: uppercase; }
.promo-carousel { position: relative; min-height: 132px; overflow: hidden; border-radius: 9px; }
.promo-card { position: absolute; inset: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px; border: 1px solid #fed7aa; border-radius: 9px; background: #fff; cursor: pointer; opacity: 0; transform: translateX(18px); pointer-events: none; transition: opacity .35s ease, transform .35s ease; }
.promo-card.active { opacity: 1; transform: translateX(0); pointer-events: auto; }
.promo-card:hover { box-shadow: 0 10px 22px #dc26261c; }
.promo-card img { width: 150px; height: 104px; border-radius: 7px; object-fit: cover; }
.promo-card strong { display: block; margin-top: 7px; color: #263442; font-size: 1.2rem; line-height: 1.12; }
.promo-card p { margin: 5px 0 0; color: #64748b; font-size: .86rem; line-height: 1.25; }
.promo-card em { display: block; margin-top: 9px; color: #15803d; font-size: .78rem; font-style: normal; font-weight: 800; }
.promo-card b { color: #b91c1c; font-size: 1.18rem; white-space: nowrap; }
.promo-controls { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 10px; }
.promo-controls button { width: 34px; height: 34px; padding: 0; border-radius: 999px; background: #fee2e2; color: #991b1b; font-size: 1.3rem; line-height: 1; }
.promo-controls div { display: flex; gap: 6px; }
.promo-controls i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #fecaca; }
.promo-controls i.active { background: #dc2626; }
.menu-category { padding: 20px 0 28px; }
.menu-category h2 { margin: 0 0 14px; font-size: 1.55rem; line-height: 1.1; text-transform: uppercase; color: #344250; letter-spacing: 0; }
.category-note { margin: -4px 0 12px; font-size: .92rem; color: #344250; }
.menu-row { display: block; }
.menu-list { margin-top: 12px; border-top: 1px solid #d9d9d9; }
.menu-product { grid-template-columns: 40px minmax(0, 1fr) 54px; gap: 10px; min-height: 61px; padding: 10px 0; border-top: 0; border-bottom: 1px solid #d9d9d9; font-size: .89rem; }
.menu-product:hover { background: #fafafa; }
.menu-product img { width: 39px; height: 40px; border-radius: 0; object-fit: cover; }
.menu-product strong { display: block; line-height: 1.1; font-size: .9rem; color: #263442; }
.menu-product p { line-height: 1.25; font-size: .78rem; color: #314256; }
.menu-product b { text-align: right; color: #25313e; font-size: .9rem; }
.menu-product.is-promo { background: #fff7ed; border-color: #fed7aa; box-shadow: inset 3px 0 0 #f97316; }
.promo-badge { display: inline-block; margin-right: 7px; padding: 3px 7px; border-radius: 999px; background: #dc2626; color: #fff; font-size: .66rem; font-weight: 800; line-height: 1; text-transform: uppercase; vertical-align: middle; }
.category-image { width: 100%; height: 128px; object-fit: cover; border-radius: 10px; margin: 0; }
.category-main-image { display: block; margin: 8px 0 12px; }
.menu-two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; margin-top: 12px; }
.menu-two-columns > div { border-top: 1px solid #d9d9d9; }
.menu-two-columns .compact-banner { display: block; width: 100%; height: 119px; margin-bottom: 0; border: 0; }
.menu-category-wide .menu-product { grid-template-columns: 40px minmax(0, 1fr) 48px; }
.modal { border: 0; border-radius: 8px; padding: 0; box-shadow: 0 20px 70px #0006; max-width: 420px; }
.modal::backdrop { background: #0007; }
.modal-card { padding: 18px; display: grid; gap: 12px; }
.modal-card img { width: 100%; height: min(46vh, 330px); object-fit: contain; border-radius: 6px; background: #f8fafc; cursor: zoom-in; }
.image-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; place-items: center; padding: 14px; background: #000c; }
.image-lightbox.is-open { display: grid; }
.image-lightbox-card { position: relative; display: grid; place-items: center; width: min(96vw, 980px); height: min(92vh, 820px); padding: 50px 12px 12px; border-radius: 8px; background: #111; box-shadow: 0 24px 80px #0009; }
.image-lightbox-card img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 4px; }
.image-lightbox-card .close { position: absolute; top: 10px; right: 10px; }
.close { justify-self: end; border: 0; background: #111; color: #fff; border-radius: 99px; width: 30px; height: 30px; }
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 18px; margin-bottom: 16px; }
.admin-actions { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 14px; }
.admin-actions form { display: flex; gap: 8px; flex: 1; min-width: 260px; }
.admin-actions input { flex: 1; }
.grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.info-map iframe { width: 100%; height: 330px; border: 1px solid var(--line); }
.info-hero { margin: 0 -20px 18px; padding: 34px 28px; background: linear-gradient(135deg, #0f5132, #18834f); color: #fff; }
.info-hero span { display: inline-block; margin-bottom: 8px; color: #bbf7d0; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.info-hero h1 { margin: 0 0 8px; font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.05; }
.info-hero p { max-width: 560px; margin: 0; color: #dcfce7; line-height: 1.45; }
.info-map-card { margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.info-map-card iframe { display: block; width: 100%; height: 300px; border: 0; }
.location-video-card { display: grid; grid-template-columns: minmax(0, .72fr) minmax(320px, 1fr); gap: 18px; align-items: center; margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 10px 28px #0f172a0a; }
.location-video-copy span { display: block; margin-bottom: 6px; color: #15803d; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.location-video-copy h2 { margin: 0 0 8px; color: #102033; font-size: 1.35rem; line-height: 1.12; }
.location-video-copy p { margin: 0; color: #64748b; line-height: 1.4; }
.location-share-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.location-share-actions .primary,
.location-share-actions .secondary { min-height: 42px; }
.location-video-card video { display: block; width: 100%; max-height: 360px; aspect-ratio: 16 / 9; border-radius: 8px; background: #0f172a; object-fit: cover; }
.info-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 18px; align-items: start; }
.info-card-head { margin-bottom: 14px; }
.info-card-head span { display: block; margin-bottom: 4px; color: #15803d; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.info-card-head h2 { margin: 0 0 6px; color: #102033; font-size: 1.45rem; line-height: 1.1; }
.info-card-head p { margin: 0; color: #64748b; line-height: 1.35; }
.fee-search { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 10px; align-items: end; margin: 0 0 14px; padding: 12px; border: 1px solid #dbeafe; border-radius: 8px; background: #eff6ff; }
.fee-search label { margin: 0; color: #334155; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.fee-search input { margin-top: 5px; height: 40px; background: #fff; text-transform: none; font-weight: 400; }
.fee-search button { height: 40px; }
.fee-search p { grid-column: 1 / -1; min-height: 18px; margin: 0; color: #475569; font-size: .86rem; line-height: 1.35; }
.fee-search p.success { color: #166534; font-weight: 700; }
.fee-search p.warning { color: #92400e; font-weight: 700; }
.fee-search p.loading { color: #1d4ed8; }
.fee-groups { display: grid; gap: 12px; }
.fee-group { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px; border: 1px solid #e5ebf1; border-radius: 7px; background: #fbfcfd; }
.fee-group.match { border-color: #22c55e; background: #f0fdf4; box-shadow: 0 10px 28px #15803d14; }
.fee-group.muted { opacity: .36; }
.fee-group > strong { display: grid; place-items: center; min-height: 38px; border-radius: 6px; background: #ecfdf5; color: #166534; font-size: 1rem; }
.fee-group div { display: flex; flex-wrap: wrap; gap: 7px; }
.fee-group span { padding: 6px 9px; border-radius: 999px; background: #fff; border: 1px solid #e2e8f0; color: #334155; font-size: .84rem; }
.fee-group span.match { border-color: #16a34a; background: #15803d; color: #fff; font-weight: 800; }
.info-side { display: grid; gap: 18px; }
.schedule-list { display: grid; gap: 8px; }
.schedule-list p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 0; border-bottom: 1px solid #edf1f5; }
.schedule-list p:last-child { border-bottom: 0; }
.schedule-list span { color: #475569; }
.schedule-list strong { color: #102033; white-space: nowrap; }
.contact-card p { margin: 0 0 12px; line-height: 1.35; }
.contact-card p span { display: block; margin-bottom: 3px; color: #64748b; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.clean { padding: 0; list-style: none; }
.clean li { padding: 9px 0; }
.dot { display: inline-block; width: 16px; height: 16px; border-radius: 50%; background: #38bdf8; margin-right: 10px; vertical-align: middle; }
.checkout { display: grid; grid-template-columns: 1fr 360px; gap: 18px; align-items: start; }
.cart-panel { position: sticky; top: 84px; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 16px; }
.checkout-legacy { grid-template-columns: 1fr 382px; gap: 14px; min-height: 802px; padding: 14px 0 26px; position: relative; }
.legacy-box { border: 1px solid #d4d4d4; background: #f9f9f9; }
.legacy-step { border-bottom: 1px solid #e0e0e0; background: #fff; }
.legacy-step:last-child { border-bottom: 0; }
.legacy-step summary { list-style: none; cursor: pointer; padding: 14px 16px; min-height: 98px; display: grid; grid-template-rows: auto 38px; gap: 14px; }
.legacy-step summary::-webkit-details-marker { display: none; }
.step-title { display: block; color: #1f2d3a; font-size: .86rem; font-weight: 700; text-transform: uppercase; }
.step-button { display: grid; place-items: center; width: 100%; height: 38px; border: 1px solid #c7d1de; border-radius: 3px; color: #364554; background: #fff; font-weight: 700; }
.legacy-step summary:focus { outline: 0; box-shadow: inset 3px 0 0 #1f8f56; }
.legacy-step[open] summary { display: block; min-height: auto; padding-bottom: 8px; }
.legacy-step[open] .step-button { display: none; }
.legacy-step > :not(summary) { margin: 0 16px 14px; }
.checkout-login-call { padding: 10px; border: 1px solid #fed7aa; background: #fff7ed; border-radius: 3px; font-size: .88rem; }
.checkout-client-check {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #c7d2fe;
  border-radius: 6px;
  background: #eef2ff;
  color: #1e3a8a;
  font-size: .88rem;
  line-height: 1.35;
}
.checkout-client-check strong,
.checkout-client-check span { display: block; }
.checkout-client-check span { margin-top: 3px; color: #475569; }
.checkout-client-check a {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #15803d;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.checkout-client-check.found { border-color: #bbf7d0; background: #f0fdf4; color: #14532d; }
.checkout-client-check.new { border-color: #fed7aa; background: #fff7ed; color: #7c2d12; }
.checkout-client-check.loading { border-color: #dbe3eb; background: #f8fafc; color: #475569; }
.compact-fields input, .legacy-step select, .legacy-step textarea { padding: 10px; border-radius: 2px; font-size: .9rem; }
.radio-line { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.radio-line label { margin: 6px 0; }
.delivery-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px !important; }
.choice-card { display: flex; gap: 10px; align-items: flex-start; min-height: 68px; margin: 0; padding: 12px; border: 1px solid #cfd8e3; border-radius: 6px; background: #fbfcfd; cursor: pointer; }
.choice-card:has(input:checked) { border-color: #1f8f56; background: #f0fbf5; box-shadow: inset 0 0 0 1px #1f8f56; }
.choice-card input { width: auto; margin-top: 3px; }
.choice-card strong { display: block; font-size: .95rem; color: #102033; }
.choice-card small { display: block; margin-top: 4px; line-height: 1.25; color: #657282; }
.pickup-panel { margin: 0 16px 14px; padding: 13px 14px; border: 1px solid #bbf7d0; border-radius: 6px; background: #f0fdf4; color: #123528; }
.pickup-panel span { display: block; color: #15803d; font-size: .73rem; font-weight: 800; text-transform: uppercase; }
.pickup-panel strong { display: block; margin-top: 3px; color: #0f2418; font-size: 1rem; }
.pickup-panel p { margin: 7px 0 11px; color: #334155; font-size: .86rem; line-height: 1.35; }
.pickup-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pickup-links a { display: inline-flex; align-items: center; min-height: 34px; padding: 8px 10px; border-radius: 5px; background: #15803d; color: #fff; font-size: .82rem; font-weight: 700; text-decoration: none; }
.delivery-panel { margin: 0 16px 12px !important; padding: 12px; border: 1px solid #e1e7ee; border-radius: 6px; background: #f8fafc; }
.section-caption { margin-bottom: 10px; color: #4b5d70; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.address-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.address-grid label, .field-block { margin: 0 16px 12px; color: #536274; font-size: .74rem; font-weight: 700; text-transform: uppercase; }
.address-grid label { margin: 0; }
.address-grid input, .field-block select { margin-top: 5px; height: 39px; padding: 9px 10px; color: #102033; font-size: .88rem; font-weight: 400; text-transform: none; }
.wide-field { grid-column: 1 / -1; }
.cep-status { min-height: 18px; margin-top: 8px; color: #64748b; font-size: .78rem; }
.cep-status.success { color: #15803d; }
.cep-status.error { color: #b91c1c; }
.cep-status.loading { color: #475569; }
.outside-area-warning { display: none; margin: 0 16px 12px; padding: 10px 12px; border: 1px solid #f0c36b; border-radius: 5px; background: #fff8e5; color: #6f4e00; font-size: .82rem; line-height: 1.3; }
.outside-area-warning.show { display: block; }
.save-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 16px 14px !important; }
.save-options label { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 10px; border: 1px solid #e0e6ed; border-radius: 5px; color: #334155; font-size: .82rem; background: #fff; }
.save-options input { width: auto; }
.legacy-cart { position: static; top: auto; border-radius: 0; padding: 0; align-self: start; }
.legacy-cart h2 { display: none; }
.legacy-cart table th { background: #f0f0f0; color: #8a8f94; font-size: .86rem; font-weight: 700; }
.legacy-cart table th, .legacy-cart table td { padding: 13px 16px; }
.legacy-cart table td { font-size: .93rem; }
.legacy-cart table td:first-child, .legacy-cart table th:first-child { width: 48px; }
.legacy-cart table td:last-child, .legacy-cart table th:last-child { width: 92px; text-align: right; }
.empty-order { text-align: center !important; padding: 30px 16px !important; font-weight: 700; }
.cart-totals { padding: 16px; }
.cart-totals p { display: flex; justify-content: space-between; margin: 11px 0; }
.cart-totals .total { font-size: 1rem; font-weight: 700; }
.pix-box { margin: 0 16px 16px; padding: 11px 12px; border: 1px solid #bbf7d0; border-radius: 5px; background: #f0fdf4; color: #14532d; }
.pix-box span { display: block; margin-bottom: 4px; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.pix-box strong { display: block; font-size: 1rem; letter-spacing: .02em; word-break: break-word; }
.pix-box small { display: block; margin-top: 6px; color: #166534; line-height: 1.3; }
.pix-box small.delivery-blink {
  margin-top: 8px;
  padding: 7px 8px;
  border: 1px solid #ef4444;
  border-radius: 5px;
  background: #fef2f2;
  color: #b91c1c;
  font-weight: 800;
  animation: deliveryBlink 1s ease-in-out infinite;
}
@keyframes deliveryBlink {
  0%, 100% { background: #fef2f2; color: #b91c1c; box-shadow: 0 0 0 0 #ef444400; }
  50% { background: #dc2626; color: #fff; box-shadow: 0 0 0 3px #ef444433; }
}
.success-pix { max-width: 320px; margin: 18px auto; text-align: left; }
.observacoes-link { display: block; margin: 14px 0 0; text-decoration: underline; font-size: .9rem; }
.observacoes-link span { margin-left: 0; font-size: .75rem; text-decoration: none; }
.observacoes-link textarea { display: block; margin-top: 8px; min-height: 104px; }
.checkout-payment-note {
  margin: 14px 0 12px;
  padding: 12px 14px;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  background: #f0fdf4;
  color: #14532d;
}
.checkout-payment-note span {
  display: block;
  margin-bottom: 4px;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}
.checkout-payment-note strong { display: block; color: #063b1f; font-size: 1.15rem; }
.checkout-payment-note small { display: block; margin-top: 5px; color: #166534; line-height: 1.3; }
.finish-order-inline { width: 100%; margin-top: 10px; }
.checkout-terms-inline { margin-top: 12px; padding: 10px 0 0; border-top: 1px solid #e5eaf0; }
.checkout-footer { position: absolute; left: -20px; right: -20px; bottom: 0; min-height: 96px; display: grid; grid-template-columns: 1fr 385px; gap: 24px; align-items: center; padding: 16px 20px 20px; background: #fff; box-shadow: 0 -10px 20px #0001; }
.checkout-terms { color: #263442; font-size: .74rem; line-height: 1.28; }
.finish-order { height: 76px; border-radius: 6px; display: grid; grid-template-columns: 110px 1fr; align-items: center; padding: 0; color: #fff; background: #f8b461; font-size: 1.08rem; }
.finish-order span { height: 100%; display: grid; place-items: center; border-right: 1px solid #eda34c; font-size: .8rem; text-align: left; }
.finish-order strong { font-size: 1.08rem; }
.finish-order:disabled { opacity: .75; cursor: not-allowed; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
input, select, textarea { width: 100%; padding: 12px; border: 1px solid #c8d0d8; border-radius: 4px; font: inherit; background: #fff; }
textarea { min-height: 100px; resize: vertical; }
label { display: block; margin: 10px 0; }
label input[type="checkbox"], label input[type="radio"] { width: auto; }
.fields { display: grid; gap: 12px; margin: 12px 0; }
.fields.two { grid-template-columns: repeat(2, 1fr); }
.fields.three { grid-template-columns: repeat(3, 1fr); }
.stack { display: grid; gap: 12px; }
.row { display: flex; gap: 10px; align-items: center; }
.primary, .secondary, button { border: 0; border-radius: 6px; padding: 12px 16px; font-weight: 700; cursor: pointer; }
.primary { background: linear-gradient(135deg, var(--green), #34d399); color: #fff; }
.secondary, button { background: #e8edf0; color: var(--ink); }
button:disabled { opacity: .55; cursor: not-allowed; filter: grayscale(.25); }
.wide { width: 100%; font-size: 1.05rem; }
.linkbutton { display: inline-block; text-decoration: none; }
.total { font-size: 1.25rem; }
.notice, .flash { padding: 12px 14px; border-radius: 6px; margin: 10px 0; background: #fff7ed; border: 1px solid #fed7aa; }
.flash.success { background: #ecfdf5; border-color: #bbf7d0; }
.flash.danger { background: #fef2f2; border-color: #fecaca; }
.auth { max-width: 460px; margin: 40px auto; }
.account-layout { display: grid; grid-template-columns: 220px 1fr; gap: 18px; align-items: start; }
.side a, .admin-nav a { display: block; padding: 10px; text-decoration: none; border-bottom: 1px solid var(--line); }
.account-polished { grid-template-columns: 220px minmax(0, 1fr); padding-top: 12px; }
.account-side { padding: 12px 18px; border-radius: 6px; }
.account-side a { border-bottom: 1px solid #e1e7ee; color: #27384a; }
.account-side a.active { color: #15803d; font-weight: 700; }
.account-content { min-width: 0; }
.address-form-card { padding: 0; overflow: hidden; border-radius: 6px; }
.form-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 24px 14px; border-bottom: 1px solid #e6ebf1; background: #fbfcfd; }
.form-head span { color: #64748b; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.form-head h1 { margin: 3px 0 0; font-size: 1.9rem; line-height: 1.1; }
.principal-toggle { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 12px; border: 1px solid #dbe3eb; border-radius: 6px; background: #fff; color: #334155; font-size: .86rem; }
.principal-toggle input { width: auto; }
.client-address-panel { margin: 18px 18px 12px !important; padding: 16px; }
.client-region { display: block; margin: 0 18px 12px; }
.auto-region {
  padding: 11px 12px;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  background: #f0fdf4;
  color: #14532d;
}
.auto-region span,
.auto-region > strong { display: block; }
.auto-region > strong { margin-top: 5px; color: #102033; font-size: 1rem; text-transform: none; }
input[readonly] { background: #f1f5f9; color: #334155; cursor: not-allowed; }
.save-address-button { margin: 0 18px 18px; min-width: 145px; }
.saved-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.saved-address-card { padding: 14px; border: 1px solid #d8e0e8; border-radius: 6px; background: #fff; }
.saved-address-card header { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 8px; }
.saved-address-card header span { padding: 3px 8px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .72rem; font-weight: 700; }
.saved-address-card p { margin: 0 0 6px; color: #263442; }
.saved-address-card small { color: #64748b; }
.orders-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 0 0 18px; padding: 20px 0 8px; border-bottom: 1px solid #e6ebf1; }
.orders-head span { color: #64748b; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.orders-head h1 { margin: 3px 0 0; font-size: 1.9rem; line-height: 1.1; }
.orders-head strong { flex: 0 0 auto; padding: 8px 10px; border-radius: 999px; background: #ecfdf5; color: #166534; font-size: .78rem; }
.client-orders { display: grid; gap: 16px; }
.client-order-card { overflow: hidden; border: 1px solid #d8e0e8; border-radius: 8px; background: #fff; box-shadow: 0 10px 28px #0f172a0d; }
.client-order-card header { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; padding: 16px 18px; border-bottom: 1px solid #e6ebf1; background: #fbfcfd; }
.client-order-card header strong { display: block; color: #102033; font-size: 1.1rem; }
.client-order-card header span { display: block; margin-top: 4px; color: #64748b; font-size: .84rem; }
.client-order-card header b { padding: 6px 10px; border-radius: 999px; background: #dbeafe; color: #1d4ed8; font-size: .78rem; white-space: nowrap; }
.client-order-card.status-Novo header b { background: #ecfdf5; color: #166534; }
.client-order-card.status-Aceito header b {
  border: 1px solid #ef4444;
  background: #fef2f2;
  color: #b91c1c;
  animation: deliveryBlink 1s ease-in-out infinite;
}
.client-order-card.status-Separando header b { background: #fef3c7; color: #92400e; }
.client-order-card.status-Saiu-para-entrega header b { background: #ede9fe; color: #6d28d9; }
.client-order-card.status-Finalizado header b { background: #dcfce7; color: #166534; }
.client-order-card.status-Cancelado header b { background: #fee2e2; color: #991b1b; }
.client-status-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 18px 18px 10px; }
.client-status-timeline span { position: relative; display: grid; justify-items: center; gap: 7px; color: #94a3b8; font-size: .72rem; text-align: center; }
.client-status-timeline span:before { content: ""; position: absolute; top: 13px; left: calc(-50% + 18px); right: calc(50% + 18px); height: 3px; background: #e2e8f0; }
.client-status-timeline span:first-child:before { display: none; }
.client-status-timeline i { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e2e8f0; color: #64748b; font-style: normal; font-weight: 700; }
.client-status-timeline b { font-size: .72rem; line-height: 1.15; }
.client-status-timeline span.done { color: #166534; }
.client-status-timeline span.done:before, .client-status-timeline span.done i { background: #22c55e; color: #fff; }
.client-status-timeline.is-canceled span { color: #991b1b; }
.client-status-message { margin: 0 18px 14px; padding: 10px 12px; border-radius: 6px; background: #f8fafc; color: #334155; font-size: .9rem; }
.client-order-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 0 18px 12px; }
.client-order-summary p, .client-order-address { margin: 0; padding: 10px 12px; border: 1px solid #e5ebf1; border-radius: 6px; background: #fff; color: #263442; font-size: .88rem; }
.client-order-summary span, .client-order-address span { display: block; margin-bottom: 4px; color: #64748b; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.client-order-address { margin: 0 18px 12px; line-height: 1.35; }
.client-order-items { margin: 0 18px 12px; padding: 0; list-style: none; border-top: 1px solid #edf1f5; }
.client-order-items li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #edf1f5; color: #263442; }
.client-order-note { margin: 0 18px 12px; padding: 10px 12px; border: 1px solid #fed7aa; border-radius: 6px; background: #fff7ed; color: #7c2d12; white-space: pre-line; }
.client-pix-payment { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 14px; margin: 0 18px 12px; padding: 14px; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; }
.client-pix-payment img { width: 118px; height: 118px; padding: 5px; border-radius: 6px; background: #fff; }
.client-pix-payment span { display: block; margin-bottom: 4px; color: #166534; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.client-pix-payment strong { display: block; margin-bottom: 8px; color: #14532d; font-size: 1.15rem; }
.client-pix-payment textarea { min-height: 68px; margin-bottom: 8px; font-size: .76rem; resize: none; }
.client-delivery-warning { margin: 0 18px 14px; padding: 12px; border: 1px solid #93c5fd; border-radius: 7px; background: #eff6ff; color: #1d4ed8; font-weight: 800; text-align: center; animation: none; }
.client-order-card.status-Finalizado .client-delivery-warning {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #1d4ed8;
  animation: none;
}
.client-payment-waiting { margin: 0 18px 14px; padding: 12px; border: 1px solid #bfdbfe; border-radius: 7px; background: #eff6ff; color: #1e3a8a; font-weight: 700; text-align: center; }
.client-order-card form { padding: 0 18px 18px; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.admin-nav a { border: 0; background: #f1f5f3; border-radius: 5px; }
.admin-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.admin-status-chip.status-Novo { border-color: #bfdbfe; background: #eff6ff; color: #1d4ed8; }
.admin-status-chip.status-Aceito { border-color: #fecaca; background: #fef2f2; color: #b91c1c; }
.admin-status-chip.status-Separando { border-color: #fde68a; background: #fffbeb; color: #92400e; }
.admin-status-chip.status-Saiu-para-entrega { border-color: #ddd6fe; background: #f5f3ff; color: #6d28d9; }
.admin-status-chip.status-Finalizado { border-color: #bbf7d0; background: #ecfdf5; color: #166534; }
.admin-status-chip.status-Cancelado { border-color: #fecaca; background: #fee2e2; color: #991b1b; }
.admin-promo-chip { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #fff7ed; color: #c2410c; font-size: .78rem; font-weight: 800; }
.admin-section-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 18px; }
.admin-section-head span, .admin-detail-head span, .admin-customer-overview span { color: #64748b; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.admin-section-head h1, .admin-detail-head h1 { margin: 4px 0 0; line-height: 1.1; }
.admin-section-head strong, .admin-detail-head strong { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font-size: .8rem; }
.admin-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 16px; }
.admin-client-list { display: grid; gap: 12px; }
.admin-client-card { border: 1px solid #d8e0e8; border-radius: 8px; background: #fff; box-shadow: 0 8px 20px #0f172a0a; overflow: hidden; }
.admin-client-card header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 14px 16px; border-bottom: 1px solid #e6ebf1; background: #fbfcfd; }
.admin-client-card header strong { display: block; color: #102033; font-size: 1.05rem; }
.admin-client-card header span { display: block; margin-top: 4px; color: #64748b; font-size: .9rem; }
.admin-client-card header b { padding: 5px 8px; border-radius: 999px; font-size: .76rem; white-space: nowrap; }
.admin-client-card header b.is-active { background: #dcfce7; color: #166534; }
.admin-client-card header b.is-inactive { background: #fee2e2; color: #991b1b; }
.admin-client-grid { display: grid; grid-template-columns: 1.1fr 1.6fr .7fr .9fr 1.1fr; gap: 10px; padding: 14px 16px; }
.admin-client-grid p { min-width: 0; margin: 0; padding: 9px 10px; border: 1px solid #e7edf3; border-radius: 6px; background: #fff; color: #263442; font-size: .88rem; overflow-wrap: anywhere; }
.admin-client-grid span { display: block; margin-bottom: 4px; color: #64748b; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.admin-client-card footer { padding: 0 16px 16px; }
.admin-client-card footer .primary { padding: 10px 12px; font-size: .9rem; }
.admin-detail-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 16px 0; padding: 16px 18px; border: 1px solid #d8e0e8; border-radius: 8px; background: #fff; }
.admin-detail-head a { flex: 0 0 auto; padding: 8px 10px; border-radius: 6px; background: #f1f5f3; text-decoration: none; font-weight: 700; }
.admin-detail-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.admin-customer-overview { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 16px; }
.admin-customer-overview .panel { margin: 0; padding: 14px; }
.admin-customer-overview strong { display: block; margin-top: 6px; font-size: 1rem; overflow-wrap: anywhere; }
.admin-customer-detail h2, .admin-history h2 { margin-top: 0; }
.admin-address-list { display: grid; gap: 10px; }
.admin-address-list article { padding: 12px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fbfcfd; }
.admin-address-list header { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 6px; }
.admin-address-list header span { padding: 3px 7px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .72rem; font-weight: 700; }
.admin-address-list p { margin: 0 0 5px; }
.admin-address-list small { color: #64748b; line-height: 1.35; }
.table-scroll { width: 100%; overflow-x: auto; }
.admin-manual-order-form { display: grid; gap: 16px; }
.manual-order-section { padding: 16px; border: 1px solid #e1e7ee; border-radius: 8px; background: #fbfcfd; }
.manual-order-section h2 { margin: 0 0 12px; color: #102033; font-size: 1.15rem; }
.manual-address-box.hidden { display: none; }
.manual-order-toggles { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.manual-order-toggles label { display: flex; gap: 8px; align-items: center; margin: 0; padding: 9px 10px; border: 1px solid #dbe3eb; border-radius: 6px; background: #fff; font-size: .9rem; }
.manual-order-toggles input { width: auto; }
.manual-product-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-bottom: 12px; }
.manual-product-search span { color: #64748b; font-size: .85rem; font-weight: 800; white-space: nowrap; }
.manual-products-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 520px; overflow: auto; padding-right: 4px; }
.manual-product-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; align-items: center; margin: 0; padding: 10px; border: 1px solid #e1e7ee; border-radius: 7px; background: #fff; }
.manual-product-row.hidden { display: none; }
.manual-product-row input { height: 42px; text-align: center; font-weight: 800; }
.manual-product-row strong { display: block; color: #102033; font-size: .92rem; }
.manual-product-row small { display: block; margin-top: 3px; color: #64748b; font-size: .78rem; }
.manual-order-submit { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; padding: 12px; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; box-shadow: 0 -8px 22px #0f172a0d; }
.admin-user-create {
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid #e5ebf1;
  border-radius: 8px;
  background: #fbfcfd;
}
.admin-user-create h2 {
  margin: 0 0 12px;
  color: #102033;
  font-size: 1.15rem;
}
.admin-user-list {
  display: grid;
  gap: 12px;
}
.admin-user-card {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto auto;
  gap: 12px;
  align-items: end;
  padding: 14px;
  border: 1px solid #d8e0e8;
  border-radius: 8px;
  background: #fff;
}
.admin-user-card label { margin: 0; }
.admin-user-card small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: .78rem;
}
.admin-hours-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #eff6ff;
}
.admin-layout-box {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #f0fdf4;
}
.admin-layout-box header span {
  display: block;
  color: #15803d;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.admin-layout-box header strong {
  display: block;
  margin-top: 3px;
  color: #102033;
}
.admin-layout-box select {
  background: #fff;
}
.theme-picker-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #f0fdf4;
}
.theme-picker-box header span {
  display: block;
  color: #15803d;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.theme-picker-box header strong {
  display: block;
  margin-top: 3px;
  color: #102033;
}
.theme-picker { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.theme-option { display: grid; gap: 8px; margin: 0; padding: 10px; border: 2px solid #dbe7df; border-radius: 8px; background: #fff; cursor: pointer; }
.theme-option:has(input:checked) { border-color: #15803d; box-shadow: 0 0 0 3px #22c55e22; }
.theme-option input { width: auto; margin: 0; }
.theme-option > strong { color: #102033; font-size: .92rem; }
.theme-option > span { color: #64748b; font-size: .76rem; line-height: 1.25; }
.theme-preview { overflow: hidden; height: 96px; border-radius: 7px; border: 1px solid #e2e8f0; background: #fff; }
.preview-top { height: 16px; background: #102033; }
.preview-hero { height: 30px; background: linear-gradient(90deg, #e5e7eb, #f8fafc); }
.preview-lines { display: grid; gap: 6px; padding: 8px; }
.preview-lines i { display: block; height: 8px; border-radius: 999px; background: #cbd5e1; }
.theme-preview-mercado .preview-top { background: #15803d; }
.theme-preview-mercado .preview-hero { background: linear-gradient(90deg, #bbf7d0, #fef3c7); }
.theme-preview-catalogo .preview-top { background: #0f766e; }
.theme-preview-catalogo .preview-hero { background: #f8fafc; }
.theme-preview-catalogo .preview-lines { grid-template-columns: 1fr 1fr; }
.theme-preview-dark .theme-preview { background: #111827; border-color: #334155; }
.theme-preview-dark .preview-top { background: #020617; }
.theme-preview-dark .preview-hero { background: linear-gradient(90deg, #1f2937, #065f46); }
.theme-preview-dark .preview-lines i { background: #475569; }
.theme-preview-compacto .preview-top { height: 12px; background: #334155; }
.theme-preview-compacto .preview-hero { height: 18px; }
.theme-preview-compacto .preview-lines { gap: 4px; padding: 6px; }
.admin-hours-box header span {
  display: block;
  color: #1d4ed8;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.admin-hours-box header strong {
  display: block;
  margin-top: 3px;
  color: #102033;
}
.admin-hours-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}
.admin-hours-grid label {
  margin: 0;
  color: #334155;
  font-size: .82rem;
  font-weight: 700;
}
.admin-hours-grid input {
  margin-top: 5px;
  background: #fff;
}
.admin-hours-day {
  display: grid;
  gap: 6px;
}
.admin-hours-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.admin-hours-day-head strong {
  color: #334155;
  font-size: .82rem;
}
.closed-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 5px 8px;
  border: 1px solid #fecaca;
  border-radius: 999px;
  background: #fff;
  color: #991b1b;
  font-size: .76rem;
  font-weight: 800;
  cursor: pointer;
}
.closed-toggle input {
  width: auto;
  margin: 0;
}
.admin-hours-day.is-closed input[data-hours-input] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
  font-weight: 800;
}
.maintenance-admin-box {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  background: #fff7ed;
}
.maintenance-admin-box header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.maintenance-admin-box header span {
  display: block;
  color: #9a3412;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
}
.maintenance-admin-box header strong { display: block; margin-top: 3px; color: #431407; font-size: 1rem; }
.maintenance-admin-box small { color: #7c2d12; line-height: 1.35; }
.admin-test-banner {
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid #f59e0b;
  border-radius: 6px;
  background: #fffbeb;
  color: #78350f;
  font-size: .88rem;
  font-weight: 700;
}
.maintenance-page {
  min-height: calc(100vh - 180px);
  display: grid;
  place-items: center;
  padding: 40px 0;
}
.maintenance-card {
  width: min(560px, 100%);
  padding: 34px 30px;
  border: 1px solid #d8e0e8;
  border-radius: 10px;
  background: #fff;
  text-align: center;
  box-shadow: 0 18px 48px #0f172a14;
}
.maintenance-card > span {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ecfdf5;
  color: #166534;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.maintenance-card h1 {
  margin: 0 0 12px;
  color: #102033;
  font-size: clamp(1.8rem, 5vw, 2.5rem);
  line-height: 1.05;
}
.maintenance-card p {
  max-width: 430px;
  margin: 0 auto 18px;
  color: #475569;
  line-height: 1.45;
}
.maintenance-contact {
  display: grid;
  gap: 5px;
  margin: 0 auto 20px;
  padding: 12px;
  max-width: 420px;
  border-radius: 8px;
  background: #f8fafc;
  color: #263442;
}
.maintenance-contact small { color: #64748b; line-height: 1.35; }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.kpis strong { display: block; font-size: 1.8rem; margin-top: 6px; }
.highlight { background: #fff7ed; }
.admin-order-alert { display: grid; gap: 3px; margin: 12px 0 16px; padding: 14px 16px; border: 1px solid #86efac; border-left: 5px solid #16a34a; border-radius: 6px; background: #f0fdf4; color: #14532d; }
.admin-order-alert strong { font-size: 1rem; }
.admin-order-alert span { color: #355f45; font-size: .9rem; }
.new-order-row { animation: newOrderPulse 1.2s ease-in-out infinite alternate; }
@keyframes newOrderPulse {
  from { box-shadow: inset 0 0 0 0 #22c55e00; }
  to { box-shadow: inset 4px 0 0 #22c55e; }
}
.hidden { display: none !important; }
.success-box { text-align: center; padding: 42px; }
.success-tracker { padding: 28px 0 48px; }
.success-tracker-card { max-width: 640px; margin: 0 auto; padding: 30px; border: 1px solid #d8e0e8; border-radius: 10px; background: #fff; text-align: center; box-shadow: 0 14px 36px #0f172a0d; }
.success-eyebrow { display: inline-block; margin-bottom: 10px; padding: 5px 9px; border-radius: 999px; background: #ecfdf5; color: #166534; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.success-tracker-card h1 { margin: 0; color: #102033; font-size: 2rem; }
.success-subtitle { margin: 10px auto 14px; max-width: 420px; color: #475569; }
.success-subtitle.is-delivery-alert {
  max-width: 520px;
  padding: 14px 16px;
  border: 2px solid #f59e0b;
  border-left: 6px solid #dc2626;
  border-radius: 8px;
  background: #fffbeb;
  color: #991b1b;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.35;
  box-shadow: 0 10px 24px #f59e0b24;
}
.success-status-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 170px; margin: 4px 0 18px; padding: 10px 14px; border-radius: 999px; background: #ecfdf5; color: #166534; font-weight: 800; }
.success-status-pill.status-Aceito {
  border: 1px solid #ef4444;
  background: #fef2f2;
  color: #b91c1c;
  animation: deliveryBlink 1s ease-in-out infinite;
}
.success-status-pill.status-Separando { background: #fef3c7; color: #92400e; }
.success-status-pill.status-Saiu-para-entrega { background: #ede9fe; color: #6d28d9; }
.success-status-pill.status-Finalizado { background: #dcfce7; color: #166534; }
.success-status-pill.status-Cancelado { background: #fee2e2; color: #991b1b; }
.success-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 10px 0 18px; }
.success-timeline span { position: relative; display: grid; justify-items: center; gap: 7px; color: #94a3b8; font-size: .72rem; text-align: center; }
.success-timeline span:before { content: ""; position: absolute; top: 13px; left: calc(-50% + 18px); right: calc(50% + 18px); height: 3px; background: #e2e8f0; }
.success-timeline span:first-child:before { display: none; }
.success-timeline i { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e2e8f0; color: #64748b; font-style: normal; font-weight: 700; }
.success-timeline b { line-height: 1.15; }
.success-timeline span.done { color: #166534; }
.success-timeline span.done:before, .success-timeline span.done i { background: #22c55e; color: #fff; }
.success-timeline.is-canceled span { color: #991b1b; }
.success-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 auto 14px; max-width: 560px; text-align: left; }
.success-summary p { margin: 0; padding: 11px 12px; border: 1px solid #e5ebf1; border-radius: 7px; background: #fbfcfd; color: #263442; }
.success-summary span { display: block; margin-bottom: 4px; color: #64748b; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.success-summary em { font-style: normal; line-height: 1.35; }
.success-payment { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 14px; align-items: center; max-width: 560px; margin: 18px auto; padding: 14px; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; text-align: left; }
.success-payment.hidden { display: none !important; }
.success-payment img { width: 150px; height: 150px; border-radius: 6px; background: #fff; padding: 6px; }
.success-payment .success-pix { max-width: none; margin: 0; border: 0; padding: 0; background: transparent; }
.success-payment textarea { min-height: 76px; margin: 8px 0; font-size: .78rem; resize: none; }
.payment-waiting-note {
  max-width: 560px;
  margin: 18px auto;
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  color: #1e3a8a;
  font-weight: 800;
  line-height: 1.4;
}
.delivery-payment-note {
  max-width: 560px;
  margin: 10px auto 18px;
  padding: 12px 14px;
  border: 1px solid #93c5fd;
  border-radius: 7px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  animation: none;
}
.success-status-pill.status-Finalizado ~ .success-timeline ~ .success-summary ~ .success-payment ~ .delivery-payment-note,
.success-status-pill.status-Finalizado ~ .success-timeline ~ .success-summary ~ .payment-waiting-note ~ .success-payment ~ .delivery-payment-note {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #1d4ed8;
  animation: none;
}
.success-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.success-refresh { display: block; margin-top: 14px; color: #64748b; }
.inline { display: inline; }
@media (max-width: 820px) {
  .topbar { display: grid; grid-template-columns: 1fr auto; min-height: 0; align-items: center; }
  .brand { padding: 8px 10px 5px; }
  .brand strong { font-size: .98rem; }
  .brand span { font-size: .68rem; }
  .top-whatsapp { margin: 6px 8px 4px 0; padding: 6px 9px; font-size: .68rem; }
  .top-whatsapp b { font-size: .58rem; }
  .top-whatsapp span { font-size: .78rem; }
  .topnav { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #eef2f7; overflow: visible; }
  .topnav a { min-width: 0; min-height: 36px; padding: 6px 4px; border-left: 0; border-right: 1px solid var(--line); font-size: .78rem; }
  .topnav a:nth-child(n+5) { grid-column: span 2; background: #f8fafc; }
  .topnav small { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 2px; border-radius: 999px; background: #fce7f3; color: var(--berry); }
  .customer-strip { display: none; }
  .shell { padding: 10px; }
  .menu-banner img { width: calc(100% + 20px); margin: -10px -10px 14px; height: auto; }
  .menu-row, .menu-two-columns, .category, .checkout, .grid.two, .account-layout { grid-template-columns: 1fr; }
  .promo-carousel { min-height: 260px; }
  .promo-card { grid-template-columns: 1fr; align-items: start; }
  .promo-card img { width: 100%; height: 120px; }
  .promo-card b { justify-self: start; }
  .info-hero { margin: -10px -10px 14px; padding: 28px 18px; }
  .location-video-card, .info-grid, .admin-hours-grid, .fee-search { grid-template-columns: 1fr; }
  .fee-search p { grid-column: auto; }
  .location-video-card { padding: 14px; }
  .fee-group { grid-template-columns: 1fr; }
  .schedule-list p { display: grid; gap: 4px; }
  .category-image { width: 100%; height: auto; margin-top: 0; }
  .fields.two, .fields.three, .kpis { grid-template-columns: 1fr; }
  .cart-panel { position: static; }
  .checkout-legacy { padding-bottom: 190px; min-height: auto; }
  .checkout-footer { grid-template-columns: 1fr; left: -10px; right: -10px; gap: 10px; }
  .finish-order { grid-template-columns: 95px 1fr; }
  .delivery-choice, .address-grid, .save-options, .saved-addresses { grid-template-columns: 1fr; }
  .form-head { display: block; }
  .principal-toggle { margin-top: 12px; }
  .orders-head { display: block; }
  .orders-head strong { display: inline-block; margin-top: 10px; }
  .client-status-timeline { grid-template-columns: 1fr; gap: 0; padding-top: 12px; }
  .client-status-timeline span { grid-template-columns: 28px 1fr; justify-items: start; text-align: left; padding: 6px 0; }
  .client-status-timeline span:before { left: 13px; right: auto; top: -8px; bottom: calc(50% + 14px); width: 3px; height: auto; }
  .client-order-summary { grid-template-columns: 1fr 1fr; }
  .success-tracker-card { padding: 22px 14px; }
  .success-timeline { grid-template-columns: 1fr; gap: 0; }
  .success-timeline span { grid-template-columns: 28px 1fr; justify-items: start; text-align: left; padding: 6px 0; }
  .success-timeline span:before { left: 13px; right: auto; top: -8px; bottom: calc(50% + 14px); width: 3px; height: auto; }
  .success-summary { grid-template-columns: 1fr; }
  .success-payment { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .success-payment .success-pix { width: 100%; text-align: left; }
  .admin-section-head, .admin-detail-head { display: block; }
  .admin-section-head strong, .admin-detail-head strong, .admin-detail-head a { display: inline-block; margin-top: 10px; }
  .admin-search { grid-template-columns: 1fr; }
  .admin-client-grid { grid-template-columns: 1fr; }
  .admin-customer-overview { grid-template-columns: 1fr; }
  .admin-user-card { grid-template-columns: 1fr; align-items: stretch; }
  table { font-size: .9rem; }
}
@media print {
  .topbar, .admin-nav, button, .secondary, .primary { display: none !important; }
  body, .shell { background: #fff; }
}

.mobile-admin-body { margin: 0; background: #0f172a; color: #102033; font-family: Arial, Helvetica, sans-serif; overflow-y: auto; }
.mobile-admin-app { max-width: 560px; min-height: 100vh; min-height: 100dvh; margin: 0 auto; background: #eef2f0; padding: 12px 12px calc(96px + env(safe-area-inset-bottom)); }
.mobile-admin-header { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: -12px -12px 12px; padding: 14px 14px 12px; background: #15803d; color: #fff; box-shadow: 0 4px 14px #0002; }
.mobile-admin-header span { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.mobile-admin-header strong { display: block; margin-top: 2px; font-size: 1.25rem; }
.mobile-admin-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.mobile-admin-header a { color: #fff; text-decoration: none; font-weight: 700; padding: 8px 10px; border: 1px solid #ffffff66; border-radius: 6px; white-space: nowrap; }
.mobile-admin-header a.is-primary { background: #fff; border-color: #fff; color: #15803d; }
.mobile-status-bar { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.mobile-status-bar button { flex: 0 0 auto; padding: 10px 12px; border-radius: 7px; background: #0f172a; color: #fff; }
.mobile-status-bar button.is-active { background: #16a34a; color: #fff; box-shadow: 0 0 0 3px #bbf7d0; }
.mobile-status-bar span { flex: 1; padding: 10px 12px; border-radius: 7px; background: #fff; color: #475569; font-size: .88rem; }
.mobile-new-order { display: grid; gap: 3px; margin-bottom: 10px; padding: 12px; border-radius: 8px; border: 1px solid #86efac; background: #dcfce7; color: #14532d; }
.mobile-orders { display: grid; gap: 12px; padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
.mobile-order-card { border: 1px solid #d8e0e8; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px #0f172a12; overflow: hidden; }
.mobile-order-card header { display: flex; justify-content: space-between; gap: 10px; padding: 13px; border-bottom: 1px solid #e6ebf1; }
.mobile-order-card header strong { font-size: 1.05rem; }
.mobile-order-card header span { display: block; margin-top: 4px; color: #64748b; font-size: .88rem; }
.mobile-order-card header b { align-self: start; padding: 5px 8px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: .76rem; white-space: nowrap; }
.mobile-order-card.status-Aceito header b {
  border: 1px solid #ef4444;
  background: #fef2f2;
  color: #b91c1c;
  animation: deliveryBlink 1s ease-in-out infinite;
}
.mobile-order-card.status-Separando header b { background: #fef3c7; color: #92400e; }
.mobile-order-card.status-Saiu-para-entrega header b { background: #ede9fe; color: #6d28d9; }
.mobile-order-card.status-Finalizado { opacity: .6; }
.mobile-order-items { padding: 12px 13px; }
.mobile-order-items p { display: flex; justify-content: space-between; gap: 10px; margin: 0; padding: 8px 0; border-bottom: 1px solid #edf1f5; }
.mobile-order-items p:last-child { border-bottom: 0; }
.mobile-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 13px 12px; }
.mobile-detail-grid p, .mobile-customer-info, .mobile-pix { margin: 0; padding: 10px; border-radius: 7px; background: #f8fafc; color: #334155; font-size: .88rem; line-height: 1.35; }
.mobile-detail-grid span, .mobile-address span, .mobile-customer-info span, .mobile-pix span { display: block; margin-bottom: 3px; color: #64748b; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.mobile-address { margin: 0 13px 12px; padding: 10px; border-radius: 7px; background: #f8fafc; color: #334155; font-size: .9rem; line-height: 1.35; }
.mobile-pix { margin: 0 13px 12px; border: 1px solid #bbf7d0; background: #f0fdf4; color: #14532d; font-weight: 700; }
.mobile-customer-info { display: none; }
.mobile-warning { margin: 0 13px 12px; padding: 12px; border: 2px solid #fecaca; border-left: 6px solid #dc2626; border-radius: 7px; background: #fff1f2; color: #b91c1c; font-size: 1.06rem; font-weight: 800; line-height: 1.4; white-space: pre-line; }
.mobile-order-card footer { padding: 12px 13px calc(22px + env(safe-area-inset-bottom)); border-top: 1px solid #e6ebf1; }
.mobile-order-card footer > span { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 1rem; }
.mobile-whatsapp { display: block; margin-bottom: 10px; padding: 10px 12px; border-radius: 7px; background: #25d366; color: #fff; text-align: center; text-decoration: none; font-weight: 700; }
.mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mobile-actions button { min-height: 42px; border-radius: 7px; background: #e8edf0; color: #102033; font-weight: 700; }
.mobile-actions button[data-status="Aceito"] { background: #dbeafe; color: #1d4ed8; }
.mobile-actions button[data-status="Separando"] { background: #fef3c7; color: #92400e; }
.mobile-actions button[data-status="Saiu para entrega"] { background: #ede9fe; color: #6d28d9; }
.mobile-actions button[data-status="Finalizado"] { background: #15803d; color: #fff; }
.mobile-order-card.is-new { animation: mobileNewOrder 1s ease-in-out infinite alternate; }
.receipt-order-card {
  border-radius: 0;
  box-shadow: none;
  border-color: #e5e7eb;
  color: #374151;
}
.receipt-top {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 12px 10px;
  border-bottom: 1px solid #eef2f7;
}
.receipt-top strong {
  margin-right: auto;
  color: #111827;
  font-size: 1.12rem;
  font-weight: 800;
}
.receipt-top b {
  padding: 4px 8px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.receipt-status {
  padding: 9px 12px;
  background: #ecfdf5;
  color: #16a34a;
  text-align: center;
  font-size: .9rem;
}
.receipt-order-card.status-Novo .receipt-status { background: #eff6ff; color: #1d4ed8; }
.receipt-order-card.status-Aceito .receipt-status {
  border-top: 1px solid #ef4444;
  border-bottom: 1px solid #ef4444;
  background: #fef2f2;
  color: #b91c1c;
  font-weight: 800;
  animation: none;
}
.receipt-order-card.status-Separando .receipt-status { background: #fef3c7; color: #92400e; font-weight: 800; animation: none; }
.receipt-order-card.is-new { animation: none; }
.receipt-meta {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid #eef2f7;
  font-size: .78rem;
}
.receipt-meta p,
.receipt-client,
.receipt-address,
.receipt-items,
.receipt-totals {
  margin: 0;
}
.receipt-meta span,
.receipt-totals span {
  display: block;
  color: #6b7280;
}
.receipt-meta strong {
  color: #374151;
  font-weight: 500;
}
.receipt-client,
.receipt-address {
  display: grid;
  gap: 7px;
  padding: 12px;
  border-bottom: 1px solid #eef2f7;
  font-size: .86rem;
}
.receipt-client strong {
  color: #111827;
  font-size: .95rem;
}
.receipt-client span,
.receipt-address span {
  color: #4b5563;
  line-height: 1.35;
}
.receipt-customer-history {
  padding-top: 7px;
  color: #1d4ed8;
  font-size: .78rem;
  line-height: 1.35;
}
.receipt-address em {
  justify-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  color: #4b5563;
  font-size: .72rem;
  font-style: normal;
}
.receipt-warning {
  margin: 10px 12px 0;
  color: #b91c1c;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.35;
  white-space: pre-line;
}
.receipt-observation {
  display: grid;
  gap: 5px;
  margin: 10px 12px 0;
  padding: 11px 12px;
  border: 2px solid #fecaca;
  border-left: 6px solid #dc2626;
  border-radius: 8px;
  background: #fff1f2;
  color: #991b1b;
  line-height: 1.35;
}
.receipt-observation strong {
  color: #b91c1c;
  font-size: .9rem;
  font-weight: 900;
  text-transform: uppercase;
}
.receipt-observation span {
  color: #b91c1c;
  font-size: 1.05rem;
  font-weight: 900;
  white-space: pre-line;
}
.receipt-items {
  padding: 14px 12px 8px;
}
.receipt-items h3 {
  margin: 0 0 12px;
  color: #374151;
  font-size: .95rem;
  font-weight: 500;
}
.receipt-items p,
.receipt-totals p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 6px 0;
  font-size: .86rem;
}
.receipt-items strong,
.receipt-totals strong {
  color: #374151;
  font-weight: 500;
  white-space: nowrap;
}
.receipt-totals {
  padding: 4px 12px 14px;
}
.receipt-totals p:last-child {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid #eef2f7;
  color: #111827;
}
.receipt-totals p:last-child strong {
  color: #111827;
  font-weight: 800;
}
.receipt-footer {
  padding: 10px 12px 12px;
  border-top: 1px solid #eef2f7;
}
.receipt-footer .mobile-actions {
  grid-template-columns: repeat(3, 1fr);
}
.product-admin-form { display: grid; gap: 16px; }
.product-fields-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: center; }
.product-fields-grid .field-block { margin: 0; }
.product-photo-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(220px, .85fr); gap: 14px; }
.image-picker-card { position: relative; display: grid; gap: 8px; margin: 0; padding: 14px; border: 2px dashed #b6c6d8; border-radius: 10px; background: #f8fafc; cursor: pointer; transition: .18s ease; }
.image-picker-card:hover,
.image-picker-card.has-new-image { border-color: #15803d; background: #f0fdf4; box-shadow: 0 10px 28px #15803d14; }
.image-picker-card span { color: #15803d; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.image-picker-card strong { color: #102033; font-size: .95rem; }
.image-picker-card img { width: 100%; height: 132px; object-fit: cover; border-radius: 8px; background: #e2e8f0; }
.image-picker-card:not(.image-picker-wide) img { object-fit: contain; }
.image-picker-card em { justify-self: start; padding: 7px 10px; border-radius: 999px; background: #e8edf0; color: #263442; font-size: .82rem; font-style: normal; font-weight: 700; }
.image-picker-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.product-sheet-form { display: grid; gap: 14px; }
.product-sheet-scroll-area { display: grid; gap: 8px; }
.product-sheet-scroll-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #475569; font-size: .86rem; }
.product-sheet-scroll-head strong { color: #0f5132; text-transform: uppercase; font-size: .78rem; letter-spacing: .02em; }
.product-sheet-scroll-head span { text-align: right; }
.product-sheet-scrollbar { width: 100%; height: 20px; overflow-x: auto; overflow-y: hidden; border: 1px solid #cbd5e1; border-radius: 999px; background: #f8fafc; }
.product-sheet-scrollbar [data-sheet-scrollbar-inner] { height: 1px; }
.product-sheet-wrap { width: 100%; overflow: auto; border: 1px solid #dbe3eb; border-radius: 8px; background: #fff; padding-bottom: 4px; scrollbar-gutter: stable; }
.product-sheet-wrap::-webkit-scrollbar,
.product-sheet-scrollbar::-webkit-scrollbar { height: 14px; }
.product-sheet-wrap::-webkit-scrollbar-track,
.product-sheet-scrollbar::-webkit-scrollbar-track { background: #e2e8f0; border-radius: 999px; }
.product-sheet-wrap::-webkit-scrollbar-thumb,
.product-sheet-scrollbar::-webkit-scrollbar-thumb { background: #64748b; border: 3px solid #e2e8f0; border-radius: 999px; }
.product-sheet-wrap::-webkit-scrollbar-thumb:hover,
.product-sheet-scrollbar::-webkit-scrollbar-thumb:hover { background: #334155; }
.product-sheet-table { min-width: 1260px; border-collapse: separate; border-spacing: 0; }
.product-sheet-table thead th { position: sticky; top: 0; z-index: 1; background: #f8fafc; color: #334155; font-size: .78rem; text-transform: uppercase; }
.product-sheet-table th,
.product-sheet-table td { padding: 8px; border-bottom: 1px solid #e5ebf1; vertical-align: middle; }
.product-sheet-table tbody tr:nth-child(even) { background: #fbfcfd; }
.product-sheet-table tbody tr:hover { background: #f0fdf4; }
.product-sheet-table input,
.product-sheet-table select,
.product-sheet-table textarea { min-width: 0; padding: 8px 9px; font-size: .86rem; }
.product-sheet-table textarea { min-height: 54px; resize: vertical; }
.product-sheet-table td:nth-child(1),
.product-sheet-table td:nth-child(2) { width: 88px; }
.product-sheet-table td:nth-child(3) { width: 230px; }
.product-sheet-table td:nth-child(4) { width: 190px; }
.product-sheet-table td:nth-child(5) { width: 92px; }
.product-sheet-table td:nth-child(6) { width: 250px; }
.product-sheet-table td:nth-child(7),
.product-sheet-table td:nth-child(8),
.product-sheet-table td:nth-child(9),
.product-sheet-table td:nth-child(10) { width: 86px; }
.stock-toggle { min-width: 82px; padding: 8px 10px; border-radius: 999px; background: #fee2e2; color: #991b1b; font-size: .78rem; font-weight: 800; }
.stock-toggle.is-off { background: #dcfce7; color: #166534; }
.sheet-image-picker { position: relative; display: grid; gap: 5px; justify-items: center; margin: 0; cursor: pointer; }
.sheet-image-picker img { width: 64px; height: 48px; border-radius: 6px; object-fit: cover; border: 1px solid #d5dde7; background: #eef2f7; }
.sheet-image-picker span { padding: 3px 7px; border-radius: 999px; background: #eef2f7; color: #334155; font-size: .7rem; font-weight: 700; }
.sheet-image-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.sheet-image-picker.has-new-image img { border-color: #16a34a; box-shadow: 0 0 0 3px #bbf7d0; }
.sheet-image-picker.has-new-image span { background: #dcfce7; color: #166534; }
.sheet-check { display: inline-flex; align-items: center; gap: 6px; margin: 0; white-space: nowrap; font-size: .86rem; }
.sheet-check input { width: auto; }
.sheet-check.danger { color: #b91c1c; font-weight: 700; }
.sheet-save-bar { position: sticky; bottom: 0; display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 12px; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; box-shadow: 0 -8px 22px #0f172a0d; }
.sheet-save-bar button { width: auto; min-width: 230px; }
.sheet-save-bar span { color: #166534; font-size: .9rem; font-weight: 700; }
@media (max-width: 820px) {
  .theme-picker,
  .product-fields-grid,
  .product-photo-grid,
  .client-pix-payment {
    grid-template-columns: 1fr;
  }
  .client-pix-payment { justify-items: center; text-align: left; }
  .client-pix-payment > div { width: 100%; }
}
.compact-order-card .compact-items {
  margin: 0;
  padding: 12px 13px;
  border-bottom: 1px solid #edf1f5;
  color: #334155;
  line-height: 1.35;
}
.compact-order-card > .mobile-actions {
  padding: 0 13px 13px;
  grid-template-columns: repeat(3, 1fr);
}

.site-theme-mercado {
  --ink: #123326;
  --muted: #5f7469;
  --line: #cfe8d8;
  --paper: #ffffff;
  --bg: #edf8f0;
  --green: #047857;
  background: #dff3e6;
}
.site-theme-mercado .topbar,
.site-theme-mercado .shell { max-width: 980px; }
.site-theme-mercado .topbar { border-bottom: 4px solid #16a34a; border-radius: 0 0 10px 10px; }
.site-theme-mercado .shell { box-shadow: 0 18px 60px #064e3b1f; }
.site-theme-mercado .menu-banner img { border-radius: 0 0 14px 14px; }
.site-theme-mercado .menu-category { padding: 26px 8px 34px; }
.site-theme-mercado .menu-product,
.site-theme-mercado .panel,
.site-theme-mercado .client-order-card,
.site-theme-mercado .cart-panel { border-radius: 10px; box-shadow: 0 10px 24px #065f4612; }
.site-theme-mercado .menu-product { margin-bottom: 8px; padding: 12px; border: 1px solid #d8eadf; background: #fff; }

.site-theme-catalogo {
  --ink: #1f2937;
  --muted: #64748b;
  --line: #dbe3ea;
  --green: #0f766e;
  background: #eef3f7;
}
.site-theme-catalogo .topbar,
.site-theme-catalogo .shell { max-width: 1080px; }
.site-theme-catalogo .shell { padding-left: 28px; padding-right: 28px; }
.site-theme-catalogo .menu-banner img { width: calc(100% + 56px); margin-left: -28px; margin-right: -28px; height: 230px; }
.site-theme-catalogo .menu-row { display: block; }
.site-theme-catalogo .category-image { width: 100%; height: 180px; border-radius: 8px; }
.site-theme-catalogo .menu-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border-top: 0; }
.site-theme-catalogo .menu-product { padding: 12px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; }

.site-theme-dark {
  --ink: #e5edf5;
  --muted: #aab8c6;
  --line: #334155;
  --paper: #142033;
  --green: #22c55e;
  background: #020617;
}
.site-theme-dark .topbar,
.site-theme-dark .shell { background: #0f172a; color: #e5edf5; }
.site-theme-dark .shell { box-shadow: 0 0 0 1px #334155; }
.site-theme-dark .topnav a,
.site-theme-dark .brand,
.site-theme-dark .menu-category h2,
.site-theme-dark .menu-product strong,
.site-theme-dark .menu-product b,
.site-theme-dark .panel h1,
.site-theme-dark .panel h2,
.site-theme-dark .client-order-card header strong { color: #f8fafc; }
.site-theme-dark .menu-product,
.site-theme-dark .panel,
.site-theme-dark .cart-panel,
.site-theme-dark .client-order-card,
.site-theme-dark .client-order-summary p,
.site-theme-dark .client-order-address { background: #111c2e; border-color: #334155; }
.site-theme-dark input,
.site-theme-dark select,
.site-theme-dark textarea { background: #0b1220; color: #f8fafc; border-color: #334155; }
.site-theme-dark .customer-strip a { background: #1e293bdd; color: #e2e8f0; }

.site-theme-compacto .topbar,
.site-theme-compacto .shell { max-width: 760px; }
.site-theme-compacto .brand { font-size: 1.05rem; padding: 5px 14px; }
.site-theme-compacto .topnav a { min-width: 56px; }
.site-theme-compacto .shell { padding-left: 14px; padding-right: 14px; }
.site-theme-compacto .menu-banner img { width: calc(100% + 28px); margin-left: -14px; margin-right: -14px; height: 130px; }
.site-theme-compacto .menu-category { padding: 14px 0 18px; }
.site-theme-compacto .menu-category h2 { font-size: 1.28rem; margin-bottom: 8px; }
.site-theme-compacto .menu-row { display: block; }
.site-theme-compacto .category-image { width: 100%; height: 92px; }
.site-theme-compacto .menu-product { min-height: 48px; padding: 6px 0; }
.site-theme-compacto .menu-product img { width: 32px; height: 32px; }
.site-theme-compacto .menu-product p { display: none; }
.site-theme-compacto .panel,
.site-theme-compacto .client-order-card { border-radius: 4px; box-shadow: none; }
@keyframes mobileNewOrder {
  from { box-shadow: 0 8px 24px #0f172a12; }
  to { box-shadow: 0 0 0 3px #22c55e66, 0 12px 30px #15803d33; }
}
