:root {
  --red: #ea1d2c;
  --red-dark: #b41420;
  --red-soft: #fff0f2;
  --ink: #2d2e2f;
  --muted: #737476;
  --line: #e9e9ea;
  --bg: #f7f7f8;
  --card: #ffffff;
  --green: #1a9b5b;
  --gold: #ffb71b;
  --shadow: 0 7px 26px rgba(28, 25, 25, .08);
  --radius: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
body.modal-open { overflow: hidden; }

/* ---------- Loja / referência visual inspirada em app de delivery ---------- */
.store-body { padding-bottom: 78px; background: #fff; }
.ifood-topbar {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 max(20px, calc((100vw - 1240px) / 2));
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(12px);
}
.ifood-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ifood-brand img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 1px solid #eee; }
.ifood-brand span { display: grid; gap: 1px; }
.ifood-brand b { color: #353638; font-size: 1rem; line-height: 1.1; }
.ifood-brand small { color: var(--muted); font-size: .72rem; }
.ifood-top-actions { display: flex; align-items: center; gap: 12px; }
.top-help { color: var(--red); background: transparent; border: 0; padding: 8px 6px; font-size: .9rem; font-weight: 750; }
.top-cart { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--red); color: #fff; display: grid; place-items: center; position: relative; font-size: 1.05rem; box-shadow: 0 6px 16px rgba(234,29,44,.26); }
.top-cart b { position: absolute; right: -4px; top: -4px; min-width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--red); border: 1px solid #f0f0f0; font-size: .66rem; }

.store-app { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 46px; }
.store-cover { height: 270px; border-radius: 13px; position: relative; overflow: hidden; background-image: var(--cover); background-position: center; background-size: cover; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.cover-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.12)); }
.cover-back { position: absolute; left: 16px; top: 16px; z-index: 1; width: 38px; height: 38px; color: #fff; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.66); border-radius: 50%; font-size: 2rem; line-height: 1; display: grid; place-items: center; }

.restaurant-profile { display: flex; align-items: center; gap: 16px; padding: 22px 6px 18px; }
.restaurant-profile > img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 1px solid #e6e6e6; }
.restaurant-profile-copy { min-width: 0; flex: 1; }
.restaurant-name-row { display: flex; align-items: center; gap: 18px; justify-content: space-between; }
.restaurant-name-row h1 { margin: 0; font-size: clamp(1.35rem, 3.1vw, 2rem); letter-spacing: -.04em; font-weight: 800; }
.restaurant-name-row .rating { color: #d38f00; font-size: 1rem; font-weight: 800; white-space: nowrap; }
.restaurant-profile p { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 7px 0 0; color: #969799; font-size: .9rem; }
.link-button { color: var(--red); background: transparent; border: 0; padding: 0; font-weight: 760; }
.restaurant-open { margin-left: 6px; font-size: .78rem; color: var(--green); font-weight: 750; }
.restaurant-open.closed { color: #bf5a00; }

.store-controls { display: grid; gap: 12px; padding: 8px 0 22px; }
.menu-search { height: 62px; display: flex; align-items: center; gap: 15px; padding: 0 20px; background: #f7f7f7; border-radius: 10px; border: 1px solid transparent; transition: .2s; }
.menu-search:focus-within { background: #fff; border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.1); }
.menu-search span { color: var(--red); font-size: 2rem; font-weight: 300; transform: rotate(-20deg); line-height: 1; }
.menu-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 1rem; }
.menu-search input::placeholder { color: #a1a1a2; }
.delivery-controls { display: grid; grid-template-columns: 1fr 1.45fr; gap: 12px; }
.delivery-option { min-height: 82px; border: 1px solid #ececed; background: #fff; border-radius: 10px; padding: 14px 18px; display: flex; align-items: center; gap: 11px; text-align: left; color: var(--ink); }
.delivery-option:hover { border-color: #d7d7d8; background: #fdfdfd; }
.delivery-option span { display: grid; gap: 2px; }
.delivery-option b { font-size: .96rem; font-weight: 760; }
.delivery-option small { color: var(--muted); font-size: .78rem; }
.delivery-option i { margin-left: auto; color: var(--red); font-style: normal; font-size: 1.2rem; }
.delivery-icon { font-size: 1.35rem; }

.catalog-shell { padding-top: 4px; }
.category-tabs { display: flex; align-items: center; gap: 10px; overflow-x: auto; padding: 0 0 17px; scrollbar-width: none; }
.category-tabs::-webkit-scrollbar { display: none; }
.category-tab { border: 1px solid #e5e5e5; background: #fff; color: #4d4e50; white-space: nowrap; min-height: 40px; padding: 0 16px; border-radius: 999px; font-size: .88rem; font-weight: 720; transition: .18s; }
.category-tab:hover { border-color: #d6d6d6; }
.category-tab.active { background: var(--red); color: #fff; border-color: var(--red); box-shadow: 0 5px 12px rgba(234,29,44,.2); }
.catalog-view { padding: 16px 0 10px; border-top: 1px solid #f3f3f3; }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 14px; }
.catalog-heading h2 { margin: 0; font-size: 1.55rem; letter-spacing: -.035em; }
.catalog-heading p { margin: 5px 0 0; color: var(--muted); font-size: .86rem; }
.catalog-count { color: #898a8c; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.product-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid #f0f0f0; }
.ifood-product-card { position: relative; min-height: 164px; border-bottom: 1px solid #eeeeef; padding: 15px 16px 15px 0; }
.ifood-product-card:nth-child(odd) { border-right: 1px solid #f0f0f0; padding-right: 18px; }
.ifood-product-card:nth-child(even) { padding-left: 18px; }
.product-main { width: 100%; height: 100%; border: 0; background: transparent; text-align: left; display: grid; grid-template-columns: minmax(0,1fr) 122px; gap: 14px; align-items: start; padding: 0; color: inherit; }
.product-copy { min-width: 0; display: grid; align-content: start; gap: 8px; padding-right: 18px; }
.product-title-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.product-title-line h3 { margin: 0; font-size: 1rem; font-weight: 760; line-height: 1.25; }
.product-badge { color: #a64e00; background: #fff0d3; border-radius: 6px; padding: 3px 6px; font-size: .63rem; text-transform: uppercase; font-weight: 850; }
.product-copy p { margin: 0; color: #77787a; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .84rem; line-height: 1.36; }
.product-copy strong { color: var(--green); font-size: 1rem; margin-top: auto; }
.product-photo, .product-image-placeholder { width: 122px; height: 100px; border-radius: 9px; overflow: hidden; background: #f1f1f2; }
.product-photo img { width: 100%; height: 100%; object-fit: cover; }
.product-image-placeholder { display: grid; place-items: center; font-size: 2.1rem; }
.product-add-button { position: absolute; right: 23px; bottom: 15px; width: 33px; height: 33px; border: 1px solid #d9d9da; background: #fff; color: var(--red); border-radius: 9px; font-size: 1.35rem; font-weight: 600; box-shadow: 0 3px 8px rgba(0,0,0,.08); line-height: 1; }
.ifood-product-card:nth-child(even) .product-add-button { right: 5px; }
.product-add-button:hover { background: var(--red); color: #fff; border-color: var(--red); }
.catalog-empty { text-align: center; padding: 44px 20px; display: grid; gap: 6px; color: var(--muted); }
.catalog-empty strong { color: #404143; }

.ifood-bottom-nav { position: fixed; z-index: 35; left: 0; right: 0; bottom: 0; height: 70px; background: rgba(255,255,255,.98); border-top: 1px solid #ececed; display: flex; align-items: stretch; justify-content: center; box-shadow: 0 -4px 20px rgba(0,0,0,.04); }
.bottom-nav-item { flex: 1; max-width: 142px; border: 0; background: transparent; color: #666769; display: grid; place-content: center; justify-items: center; gap: 3px; position: relative; font-size: .72rem; }
.bottom-nav-item span { font-size: 1.38rem; line-height: 1; font-weight: 400; }
.bottom-nav-item b { font-size: .7rem; font-weight: 650; }
.bottom-nav-item.active { color: var(--red); }
.bottom-nav-item i { position: absolute; top: 9px; right: calc(50% - 23px); min-width: 17px; height: 17px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--red); font-size: .6rem; font-style: normal; font-weight: 800; }

.app-backdrop { position: fixed; inset: 0; z-index: 55; background: rgba(0,0,0,.42); opacity: 0; pointer-events: none; transition: opacity .2s; }
.app-backdrop.open { opacity: 1; pointer-events: auto; }
.app-modal { position: fixed; z-index: 60; inset: 0; display: grid; place-items: center; padding: 18px; opacity: 0; pointer-events: none; transition: opacity .18s; }
.app-modal.open { opacity: 1; pointer-events: auto; }
.modal-panel { position: relative; width: min(650px, 100%); max-height: min(760px, calc(100vh - 36px)); overflow: auto; background: #fff; border-radius: 18px; box-shadow: 0 28px 80px rgba(0,0,0,.28); transform: translateY(15px) scale(.98); transition: transform .2s; }
.app-modal.open .modal-panel { transform: translateY(0) scale(1); }
.modal-close { position: absolute; right: 12px; top: 12px; z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #444; font-size: 1.7rem; box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.product-panel { display: grid; grid-template-columns: 1fr 1.1fr; }
.product-modal-image { min-height: 330px; background: #f2f2f2; display: grid; place-items: center; }
.product-modal-image img { width: 100%; height: 100%; object-fit: cover; }
.product-modal-image span { font-size: 5rem; }
.product-modal-copy { padding: 34px 26px 25px; display: grid; align-content: start; gap: 12px; }
.product-modal-copy small { color: var(--red); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-modal-copy h2 { margin: 0; line-height: 1.13; font-size: 1.65rem; letter-spacing: -.03em; }
.product-modal-copy p { margin: 0; color: #6f7072; line-height: 1.45; font-size: .91rem; }
.product-modal-copy > strong { color: var(--green); font-size: 1.25rem; }
.item-observation { display: grid; gap: 7px; margin-top: 6px; color: #4d4e50; font-weight: 720; font-size: .84rem; }
.item-observation span { color: #8c8d90; font-weight: 500; }
.item-observation textarea { width: 100%; resize: vertical; min-height: 78px; border: 1px solid #ddd; border-radius: 10px; padding: 10px; outline: 0; }
.item-observation textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.1); }
.product-modal-actions { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.quantity-control { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dfdfe0; border-radius: 10px; height: 47px; padding: 0 6px; }
.quantity-control button { width: 31px; height: 31px; border: 0; background: #f5f5f5; border-radius: 7px; color: var(--red); font-size: 1.2rem; font-weight: 750; }
.quantity-control b { width: 22px; text-align: center; }
.main-order-button { min-height: 48px; border: 0; border-radius: 10px; background: var(--red); color: #fff; font-weight: 800; padding: 0 18px; box-shadow: 0 7px 16px rgba(234,29,44,.18); transition: transform .18s, background .18s; }
.main-order-button:hover { background: var(--red-dark); transform: translateY(-1px); }
.main-order-button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.main-order-button.full { width: 100%; }
.product-modal-actions .main-order-button { flex: 1; }

.how-panel { padding: 28px; }
.how-hero { display: flex; gap: 15px; align-items: center; padding: 8px 34px 21px 0; border-bottom: 1px solid var(--line); }
.how-hero > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #fff0e6; font-size: 1.8rem; }
.how-hero small { color: var(--red); font-size: .7rem; letter-spacing: .09em; font-weight: 850; }
.how-hero h2 { margin: 3px 0 0; line-height: 1.1; font-size: 1.45rem; }
.how-steps { list-style: none; padding: 18px 0 4px; margin: 0; display: grid; gap: 16px; }
.how-steps li { display: flex; gap: 12px; align-items: flex-start; }
.how-steps li > b { width: 29px; height: 29px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); color: var(--red); font-size: .8rem; }
.how-steps strong { display: block; font-size: .93rem; }
.how-steps p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.42; }

.cart-drawer, .checkout-panel { position: fixed; z-index: 61; top: 0; right: 0; width: min(480px, 100%); height: 100dvh; background: #fff; transform: translateX(105%); transition: transform .24s ease; display: grid; grid-template-rows: auto 1fr auto; box-shadow: -16px 0 45px rgba(0,0,0,.16); }
.cart-drawer.open, .checkout-panel.open { transform: translateX(0); }
.drawer-header { min-height: 86px; padding: 18px 21px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; }
.drawer-header small { color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .09em; }
.drawer-header h2 { margin: 2px 0 0; font-size: 1.3rem; letter-spacing: -.02em; }
.drawer-header button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f5f5f5; color: #505154; font-size: 1.6rem; }
.cart-items { padding: 0 20px; overflow: auto; }
.cart-line { padding: 16px 0; border-bottom: 1px solid #efeff0; display: flex; gap: 14px; justify-content: space-between; }
.cart-line-copy { min-width: 0; display: grid; gap: 4px; }
.cart-line-copy b { font-size: .93rem; }
.cart-line-copy small { color: #7e7f81; font-size: .77rem; }
.cart-line-copy strong { color: var(--green); font-size: .9rem; }
.cart-line-actions { display: grid; gap: 8px; justify-items: end; }
.qty-mini { display: flex; align-items: center; gap: 7px; }
.qty-mini button { width: 27px; height: 27px; border: 0; border-radius: 7px; background: #f3f3f4; color: var(--red); font-size: 1rem; font-weight: 800; }
.qty-mini span { min-width: 14px; text-align: center; font-size: .85rem; font-weight: 800; }
.remove-line { border: 0; background: transparent; color: #8b8c8e; font-size: .9rem; }
.cart-empty { height: 100%; display: grid; place-content: center; text-align: center; gap: 7px; color: #808184; padding: 25px; }
.cart-empty span { font-size: 2.7rem; }
.cart-empty strong { color: #454648; }
.cart-empty p { margin: 0; font-size: .85rem; }
.drawer-footer { border-top: 1px solid #eee; padding: 17px 20px 22px; display: grid; gap: 14px; }
.drawer-footer > div { display: flex; align-items: center; justify-content: space-between; }
.drawer-footer span { color: #6c6d70; }
.drawer-footer strong { font-size: 1.15rem; }

.checkout-panel { overflow: auto; display: block; }
.checkout-panel .drawer-header { position: sticky; top: 0; z-index: 2; background: #fff; }
.checkout-form { display: grid; gap: 16px; padding: 20px; }
.checkout-preview { display: grid; gap: 8px; padding: 14px; border: 1px solid #eeeeef; border-radius: 10px; background: #fbfbfb; }
.checkout-preview span { display: flex; justify-content: space-between; gap: 14px; font-size: .86rem; }
.checkout-preview b { white-space: nowrap; }
.checkout-form fieldset { margin: 0; padding: 15px; border: 1px solid #e8e8e9; border-radius: 11px; }
.checkout-form legend { padding: 0 5px; font-weight: 800; font-size: .9rem; }
.choice-row { display: flex; gap: 10px; }
.choice-row label { flex: 1; }
.choice-row input { position: absolute; opacity: 0; pointer-events: none; }
.choice-row span { min-height: 42px; border-radius: 9px; border: 1px solid #dfdfe0; display: grid; place-items: center; font-weight: 750; color: #555; }
.choice-row input:checked + span { color: var(--red); border-color: var(--red); background: var(--red-soft); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form-grid.three { grid-template-columns: repeat(3, 1fr); }
.checkout-form label, .stack-form label { display: grid; gap: 6px; color: #48494b; font-size: .82rem; font-weight: 720; }
.checkout-form input, .checkout-form select, .checkout-form textarea, .stack-form input, .stack-form select, .stack-form textarea { width: 100%; border: 1px solid #dcdcdf; border-radius: 9px; padding: 10px; background: #fff; outline: none; color: var(--ink); }
.checkout-form input:focus, .checkout-form select:focus, .checkout-form textarea:focus, .stack-form input:focus, .stack-form select:focus, .stack-form textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.1); }
.form-hint { margin: 9px 0 0; color: #797a7c; font-size: .79rem; }
.checkout-total { display: flex; justify-content: space-between; align-items: center; padding: 15px; border-radius: 10px; background: #fff4f5; color: #3e3f41; }
.checkout-total strong { color: var(--red); font-size: 1.2rem; }

/* ---------- Confirmação / instalação ---------- */
.confirmation, .setup, .login-page { min-height: 100vh; display: grid; place-items: center; padding: 18px; background: linear-gradient(135deg, #fff4f5, #ffffff); }
.confirmation main, .setup-card, .login-card { width: min(520px, 100%); text-align: center; background: #fff; padding: 36px; border-radius: 18px; box-shadow: var(--shadow); }
.confirmation img, .setup-card img, .login-card img { width: 80px; height: 80px; object-fit: cover; border-radius: 50%; margin: 0 auto 16px; }
.confirmation span, .setup-card > small, .login-card > small { color: var(--red); font-size: .7rem; letter-spacing: .1em; font-weight: 900; }
.confirmation h1, .setup-card h1, .login-card h1 { margin: 8px 0 12px; }
.confirmation p, .setup-card p { color: var(--muted); }
.confirmation-total { color: var(--red); font-size: 1.65rem; font-weight: 900; margin: 19px; }
.pix { padding: 12px; border-radius: 10px; background: #f8f8f8; }
.notice { padding: 12px; border-radius: 10px; margin: 10px 0; font-weight: 720; }
.notice.error { background: #fff0f1; color: #a11825; }
.notice.success { background: #ecfff5; color: #116e42; }
.stack-form { display: grid; gap: 14px; text-align: left; }
.login-card, .setup-card { text-align: left; }
.login-card img, .setup-card img { margin-left: 0; }
.login-card > small, .setup-card > small { display: block; text-align: left; }

/* ---------- Painel administrativo com estética de aplicativo ---------- */
.admin-body { min-height: 100vh; background: #f5f5f6; display: grid; grid-template-columns: 238px minmax(0, 1fr); }
.admin-sidebar { min-height: 100vh; height: 100vh; position: sticky; top: 0; background: #fff; border-right: 1px solid #e7e7e8; padding: 18px 12px; display: flex; flex-direction: column; }
.admin-logo { display: flex; align-items: center; gap: 10px; padding: 5px 9px 25px; }
.admin-logo img { width: 42px; height: 42px; object-fit: cover; border-radius: 50%; border: 1px solid #eee; }
.admin-logo span { display: grid; gap: 2px; }
.admin-logo b { font-size: 1rem; color: #303133; }
.admin-logo small { color: #818284; font-size: .7rem; }
.admin-sidebar nav { display: grid; gap: 5px; }
.admin-sidebar nav > a { min-height: 43px; padding: 0 12px; border-radius: 9px; display: flex; align-items: center; gap: 8px; color: #67686a; font-size: .87rem; font-weight: 750; }
.admin-sidebar nav > a:hover, .admin-sidebar nav > a.active { background: #fff0f2; color: var(--red); }
.nav-badge { margin-left: auto; min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 12px; background: var(--red); color: #fff; font-size: .66rem; }
.side-bottom { margin-top: auto; display: grid; gap: 6px; padding: 9px; }
.side-bottom a { color: #77787b; font-size: .83rem; font-weight: 650; }
.side-bottom a:hover { color: var(--red); }
.admin-main { width: min(1540px, 100%); padding: 28px clamp(20px, 4vw, 58px) 48px; }
.admin-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 24px; }
.admin-header > div:first-child small, .card-title small, .settings-block > small { color: var(--red); font-weight: 900; font-size: .68rem; letter-spacing: .1em; }
.admin-header h1 { margin: 4px 0 0; font-size: clamp(1.5rem, 2.3vw, 2rem); letter-spacing: -.035em; }
.admin-tools { display: flex; align-items: center; gap: 12px; }
.sound-toggle { min-height: 39px; border: 1px solid #dedee0; border-radius: 9px; color: #55565a; background: #fff; padding: 0 12px; font-weight: 750; }
.admin-user { color: #77787a; font-size: .86rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.metric-grid article, .admin-card { background: #fff; border: 1px solid #ececed; border-radius: 13px; box-shadow: 0 2px 9px rgba(0,0,0,.025); }
.metric-grid article { padding: 19px; }
.metric-grid span { color: #76777a; font-size: .79rem; }
.metric-grid strong { display: block; margin: 7px 0 4px; color: #303134; font-size: 1.65rem; letter-spacing: -.035em; }
.metric-grid small { color: #929395; font-size: .75rem; }
.admin-card { padding: 21px; }
.card-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.card-title h2, .admin-card > h2 { margin: 4px 0 0; font-size: 1.28rem; letter-spacing: -.02em; }
.order-table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: .86rem; }
th { text-align: left; padding: 11px; color: #77787a; border-bottom: 1px solid #ececed; font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; }
td { padding: 13px 11px; border-bottom: 1px solid #f0f0f1; }
td b, td small { display: block; }
td small { color: #858689; font-size: .75rem; margin-top: 3px; }
.status { display: inline-flex; align-items: center; min-height: 26px; border-radius: 999px; padding: 0 9px; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.status-pending { color: #855200; background: #fff0d6; }
.status-confirmed { color: #1a609a; background: #e9f4ff; }
.status-preparing { color: #733b9c; background: #f4eaff; }
.status-ready { color: #11743f; background: #e8f8ee; }
.status-out_for_delivery { color: #16798f; background: #e7f7fb; }
.status-completed { color: #4e5962; background: #eef0f2; }
.status-cancelled { color: #a41c28; background: #ffe8ea; }
.table-link, .row-actions a, .row-actions button { border: 0; padding: 0; color: var(--red); background: transparent; font-weight: 800; font-size: .82rem; }
.admin-two-col { display: grid; grid-template-columns: minmax(310px, .86fr) minmax(460px, 1.14fr); gap: 18px; }
.admin-two-col.wide { grid-template-columns: minmax(345px, .92fr) minmax(500px, 1.08fr); }
.switch { display: flex !important; align-items: center; gap: 9px; }
.switch input { width: auto !important; accent-color: var(--red); }
.admin-list { display: grid; }
.admin-list article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid #eeeeef; }
.admin-list article:last-child { border-bottom: 0; }
.admin-list b { display: block; }
.admin-list small { display: block; color: #818285; font-size: .77rem; margin-top: 4px; }
.row-actions { display: flex; gap: 10px; align-items: center; }
.row-actions form { margin: 0; }
.thumb { width: 56px; height: 56px; overflow: hidden; display: grid; place-items: center; flex: none; border-radius: 10px; background: #fff1d4; font-size: 1.5rem; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-admin-list article { justify-content: initial; }
.product-admin-list .row-actions { margin-left: auto; }
.preview { width: 170px; height: 118px; object-fit: cover; border-radius: 10px; border: 1px solid #eee; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-tabs a { padding: 7px 10px; color: #656669; background: #f5f5f6; border-radius: 8px; font-size: .77rem; font-weight: 750; }
.filter-tabs a.active { background: #fff0f2; color: var(--red); }
.order-detail { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.order-items-detail { display: grid; }
.order-items-detail article { padding: 13px 0; border-bottom: 1px solid #eeeeef; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px; }
.order-items-detail small { width: 100%; color: #7e7f81; font-size: .79rem; }
.order-total-lines { display: grid; gap: 7px; padding-top: 16px; }
.order-total-lines span, .order-total-lines strong { display: flex; justify-content: space-between; }
.order-total-lines strong { color: var(--red); font-size: 1.16rem; }
.detail-list { display: grid; gap: 13px; }
.detail-list span { display: grid; gap: 4px; color: #55565a; font-size: .88rem; }
.detail-list b { color: #898a8d; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.detail-list a { color: var(--red); font-weight: 750; }
.settings-card { max-width: 1050px; }
.settings-block { padding: 19px 0; margin-bottom: 6px; border-bottom: 1px solid #ededee; }
.settings-block h2 { margin: 5px 0 16px; font-size: 1.25rem; }
.banner-preview { width: 100%; max-width: 660px; height: 210px; object-fit: cover; border-radius: 12px; border: 1px solid #eee; margin-bottom: 15px; }
.switches { display: flex; flex-wrap: wrap; gap: 16px; }
.empty-state { text-align: center; padding: 30px; color: #858689; }

@media (max-width: 980px) {
  .store-app { width: min(780px, calc(100% - 24px)); }
  .store-cover { height: 235px; }
  .product-list { grid-template-columns: 1fr; }
  .ifood-product-card:nth-child(odd) { border-right: 0; padding-right: 0; }
  .ifood-product-card:nth-child(even) { padding-left: 0; }
  .ifood-product-card .product-add-button { right: 4px; }
  .admin-body { grid-template-columns: 1fr; }
  .admin-sidebar { height: auto; min-height: 0; position: sticky; z-index: 20; flex-direction: row; align-items: center; padding: 9px 12px; overflow: hidden; }
  .admin-logo { padding: 0 12px 0 0; }
  .admin-sidebar nav { display: flex; overflow-x: auto; gap: 4px; }
  .admin-sidebar nav > a { white-space: nowrap; }
  .side-bottom { display: none; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-two-col, .admin-two-col.wide, .order-detail { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .store-body { padding-bottom: 72px; }
  .ifood-topbar { height: 62px; padding: 0 14px; }
  .ifood-brand img { width: 37px; height: 37px; }
  .ifood-brand b { font-size: .9rem; }
  .ifood-brand small { font-size: .62rem; }
  .top-help { display: none; }
  .top-cart { width: 38px; height: 38px; font-size: .9rem; }
  .store-app { width: 100%; padding: 0 0 28px; }
  .store-cover { height: 198px; border-radius: 0; }
  .restaurant-profile { padding: 17px 16px; gap: 12px; }
  .restaurant-profile > img { width: 56px; height: 56px; }
  .restaurant-name-row { align-items: flex-start; gap: 10px; }
  .restaurant-name-row h1 { font-size: 1.27rem; }
  .restaurant-name-row .rating { padding-top: 2px; font-size: .86rem; }
  .restaurant-profile p { font-size: .77rem; gap: 5px; }
  .restaurant-open { display: none; }
  .store-controls { padding: 4px 16px 15px; gap: 10px; }
  .menu-search { height: 58px; padding: 0 15px; }
  .menu-search span { font-size: 1.75rem; }
  .delivery-controls { grid-template-columns: 1fr 1fr; }
  .delivery-option { min-height: 76px; padding: 11px 12px; }
  .delivery-option b { font-size: .87rem; }
  .delivery-option small { font-size: .7rem; }
  .delivery-icon { font-size: 1.16rem; }
  .catalog-shell { padding: 0 16px; }
  .category-tabs { margin: 0 -16px; padding: 0 16px 15px; }
  .category-tab { min-height: 37px; padding: 0 14px; font-size: .8rem; }
  .catalog-view { padding-top: 14px; }
  .catalog-heading h2 { font-size: 1.35rem; }
  .catalog-heading p { font-size: .78rem; }
  .catalog-count { font-size: .74rem; }
  .ifood-product-card { min-height: 128px; padding: 13px 0; }
  .product-main { grid-template-columns: minmax(0, 1fr) 94px; gap: 12px; }
  .product-photo, .product-image-placeholder { width: 94px; height: 82px; border-radius: 8px; }
  .product-title-line h3 { font-size: .93rem; }
  .product-copy { gap: 6px; padding-right: 8px; }
  .product-copy p { -webkit-line-clamp: 2; font-size: .76rem; }
  .product-copy strong { font-size: .9rem; }
  .product-add-button { width: 30px; height: 30px; bottom: 12px; font-size: 1.2rem; }
  .ifood-bottom-nav { height: 68px; }
  .bottom-nav-item { max-width: none; }
  .bottom-nav-item b { font-size: .66rem; }
  .bottom-nav-item span { font-size: 1.2rem; }
  .product-panel { grid-template-columns: 1fr; }
  .product-modal-image { min-height: 205px; max-height: 260px; }
  .product-modal-copy { padding: 24px 18px 20px; }
  .product-modal-actions { align-items: stretch; flex-direction: column; }
  .quantity-control { width: 100%; justify-content: center; }
  .modal-panel { max-height: calc(100vh - 18px); }
  .app-modal { padding: 9px; align-items: end; }
  .app-modal .modal-panel { border-radius: 18px 18px 12px 12px; }
  .how-panel { padding: 22px 18px; }
  .checkout-panel, .cart-drawer { width: 100%; }
  .form-grid, .form-grid.three { grid-template-columns: 1fr; }
  .admin-main { padding: 18px 14px 36px; }
  .admin-header { align-items: flex-start; margin-bottom: 17px; }
  .admin-header h1 { font-size: 1.45rem; }
  .admin-tools .admin-user { display: none; }
  .sound-toggle span { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .metric-grid article { padding: 14px; }
  .metric-grid strong { font-size: 1.35rem; }
  .admin-card { padding: 16px; }
  .card-title { flex-direction: column; }
  .row-actions { flex-wrap: wrap; }
  .admin-list article { align-items: flex-start; flex-wrap: wrap; }
  .product-admin-list .row-actions { width: 100%; margin-left: 0; }
  .order-table-wrap { margin: 0 -16px; }
  .order-table-wrap table { min-width: 720px; }
  .banner-preview { height: 135px; }
}

/* ---------- V4: agenda, acompanhamento e taxas por bairro ---------- */
.cover-back { display: none !important; }
.restaurant-profile p > span:not(.restaurant-open) { white-space: nowrap; }
.track-panel { width: min(460px,100%); padding: 31px 28px 27px; text-align: center; }
.track-panel h2 { margin: 8px 0; font-size: 1.55rem; }
.track-panel > p { margin: 0 0 20px; color: var(--muted); font-size: .9rem; }
.track-icon { width: 58px; height: 58px; margin: 0 auto 6px; border-radius: 18px; background: #fff0f2; color: var(--red); display: grid; place-items: center; font-size: 1.6rem; font-weight: 800; }
.track-form { display: grid; gap: 13px; text-align: left; }
.track-form label { display: grid; gap: 6px; color: #4d4e50; font-weight: 720; font-size: .84rem; }
.track-form input { width: 100%; border: 1px solid #dedee0; border-radius: 9px; padding: 11px; outline: 0; }
.track-form input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.1); }
.cash-change-box { display: grid; gap: 10px; padding: 13px; margin-top: 13px; border-radius: 10px; background: #fff7e5; border: 1px solid #ffebba; }
.cash-change-box > label:first-child { color: #5c4b2c; font-size: .84rem; font-weight: 800; }
.choice-row-small { grid-template-columns: 1fr 1fr; }
#deliveryFeeHelp { color: #167a4a; font-weight: 700; }
.settings-note { margin: -4px 0 14px; color: #77787a; font-size: .84rem; line-height: 1.45; }
.settings-note a { color: var(--red); font-weight: 800; }
.inactive-label { display: inline-block; margin-left: 6px; padding: 2px 6px; color: #875c00; background: #fff0d6; border-radius: 999px; font-size: .65rem; font-weight: 850; }

/* Confirmacao e Pix */
.confirmation-card { text-align: center; }
.confirmation-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.confirmation .btn.secondary { color: var(--red); border: 1px solid #efb7bd; background: #fff; }
.payment-instructions { margin: 20px 0 0; padding: 19px; border: 1px solid #ececed; border-radius: 14px; text-align: left; background: #fff; }
.payment-instructions small, .status-pix small { color: var(--red); font-size: .68rem; letter-spacing: .08em; font-weight: 900; }
.payment-instructions h2 { margin: 5px 0 8px; font-size: 1.1rem; }
.payment-instructions p { margin: 0; font-size: .88rem; }
.pix-key { display: flex; align-items: stretch; gap: 8px; margin: 12px 0; }
.pix-key code { flex: 1; min-width: 0; overflow-wrap: anywhere; padding: 11px; border-radius: 9px; background: #f6f6f7; color: #353638; font-family: inherit; font-size: .82rem; }
.pix-key button { border: 0; border-radius: 9px; padding: 0 12px; background: #fff0f2; color: var(--red); font-weight: 800; }
.whatsapp-btn { display: inline-flex; margin-top: 3px; background: #24a35a; color: #fff; }

/* Pagina publica de acompanhamento */
.order-status-page { min-height: 100vh; background: #f6f6f7; }
.status-top { height: 68px; display: flex; align-items: center; padding: 0 max(18px, calc((100vw - 860px)/2)); border-bottom: 1px solid #e9e9ea; background: #fff; }
.status-top a { display: flex; align-items: center; gap: 9px; }
.status-top img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.status-top span { display: grid; gap: 1px; }
.status-top b { font-size: .98rem; }
.status-top small { color: var(--muted); font-size: .68rem; }
.order-status-main { width: min(650px, calc(100% - 28px)); margin: 28px auto 70px; }
.status-card { padding: clamp(20px,4vw,32px); background: #fff; border: 1px solid #e9e9ea; border-radius: 17px; box-shadow: var(--shadow); }
.status-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.status-card-head small { color: #858689; font-size: .68rem; letter-spacing: .08em; font-weight: 850; }
.status-card h1 { margin: 5px 0 0; font-size: clamp(1.55rem,4.5vw,2rem); letter-spacing: -.04em; }
.status-schedule { margin: 12px 0 22px; color: #6f7072; }
.status-timeline { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.status-timeline li { position: relative; display: grid; grid-template-columns: 31px 1fr; gap: 11px; min-height: 57px; color: #9a9b9d; }
.status-timeline li::before { content: ''; position: absolute; left: 14px; top: 23px; bottom: -2px; width: 2px; background: #e4e4e5; }
.status-timeline li:last-child::before { display: none; }
.status-timeline i { position: relative; z-index: 1; width: 30px; height: 30px; border-radius: 50%; border: 2px solid #d5d5d7; background: #fff; }
.status-timeline li.active { color: #363739; }
.status-timeline li.active::before { background: #ed8790; }
.status-timeline li.active i { border-color: var(--red); background: var(--red); box-shadow: inset 0 0 0 6px #fff; }
.status-timeline b { display: block; font-size: .93rem; }
.status-timeline small { display: block; margin-top: 2px; color: #858689; font-size: .75rem; }
.status-alert { margin: 8px 0 22px; padding: 13px; border-radius: 10px; font-size: .88rem; }
.status-alert.cancelled { color: #a41c28; background: #ffe8ea; }
.status-summary { display: grid; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid #eeeeef; }
.status-summary h2 { margin: 0 0 4px; font-size: 1.12rem; }
.status-summary > div { display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; }
.status-summary span { display: grid; gap: 2px; }
.status-summary small { color: #858689; font-size: .73rem; }
.summary-total { margin-top: 4px; padding-top: 11px; border-top: 1px dashed #dedee0; font-size: 1rem !important; color: var(--red); }
.status-details { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 20px 0; }
.status-details > div { display: grid; gap: 4px; min-height: 64px; padding: 12px; background: #f8f8f9; border-radius: 10px; }
.status-details small { color: #858689; font-size: .65rem; letter-spacing: .07em; font-weight: 850; }
.status-details b { font-size: .84rem; }
.status-pix { padding: 16px; border: 1px solid #dcefe2; background: #f5fcf7; border-radius: 12px; }
.status-pix .whatsapp-btn { width: 100%; justify-content: center; }
.back-menu { display: inline-block; margin-top: 22px; color: var(--red); font-size: .9rem; font-weight: 800; }
.lookup-card { max-width: 480px; margin: 0 auto; text-align: center; }
.lookup-card .track-form { text-align: left; margin-top: 22px; }
.lookup-error { color: #a41c28; margin: 16px 0 0; font-size: .86rem; }

@media (max-width:650px) {
  .track-panel { padding: 26px 18px 20px; }
  .confirmation .confirmation-card { padding: 28px 18px; }
  .confirmation-actions { grid-template-columns: 1fr; }
  .pix-key { flex-direction: column; }
  .pix-key button { min-height: 42px; }
  .order-status-main { width: min(100% - 20px,650px); margin-top: 15px; }
  .status-card { padding: 20px 16px; }
  .status-details { grid-template-columns: 1fr 1fr; }
}

/* ---------- V5: navegação limpa, ícones e agenda fixa ---------- */
.fa-solid, .fa-regular, .fa-brands { line-height: 1; }

/* O banner é o primeiro elemento visual: sem cabeçalho duplicado. */
.store-body { padding-bottom: 154px; }
.store-app { padding-top: 0; }
.store-cover { border-radius: 0 0 13px 13px; }
.ifood-topbar { display: none !important; }

.restaurant-profile { padding-top: 20px; }
.restaurant-name-row .rating i { font-size: .88em; }

.menu-search > i { color: var(--red); font-size: 1.18rem; }
.menu-search span { display: none; }
.delivery-option > i.delivery-icon { width: 23px; color: #a5a6a8; font-size: 1.2rem; text-align: center; }
.delivery-option > i.option-chevron { margin-left: auto; color: var(--red); font-size: .88rem; }
.delivery-option span { display: grid; gap: 2px; }

.product-image-placeholder i { color: #8d8e90; font-size: 1.8rem; }
.product-add-button { display: grid; place-items: center; }
.product-add-button i { font-size: .86rem; }

/* Barra do pedido: aparece apenas quando o carrinho possui itens. */
.cart-summary-bar {
  position: fixed;
  left: 50%;
  bottom: 82px;
  z-index: 34;
  width: min(560px, calc(100% - 28px));
  min-height: 62px;
  transform: translateX(-50%);
  border: 0;
  border-radius: 14px;
  background: var(--red);
  color: #fff;
  box-shadow: 0 14px 30px rgba(234,29,44,.32);
  padding: 10px 15px;
  display: flex;
  align-items: center;
  gap: 11px;
  text-align: left;
}
.cart-summary-bar[hidden] { display: none; }
.cart-summary-icon { width: 39px; height: 39px; display: grid; place-items: center; position: relative; border-radius: 12px; background: rgba(255,255,255,.16); }
.cart-summary-icon > i { font-size: 1.04rem; }
.cart-summary-icon b { position: absolute; top: -6px; right: -7px; min-width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--red); font-size: .66rem; }
.cart-summary-copy { flex: 1; display: grid; gap: 2px; min-width: 0; }
.cart-summary-copy small { color: rgba(255,255,255,.72); font-size: .62rem; letter-spacing: .08em; font-weight: 850; }
.cart-summary-copy strong { font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cart-summary-total { font-size: .91rem; font-weight: 800; white-space: nowrap; }
.cart-summary-bar > .fa-chevron-right { font-size: .78rem; opacity: .85; }

.ifood-bottom-nav { height: 72px; }
.bottom-nav-item { gap: 5px; }
.bottom-nav-item > i { font-size: 1.22rem; line-height: 1; }
.bottom-nav-item > span { display: none; }
.bottom-nav-item b { font-size: .68rem; }

.how-hero > i { width: 52px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; color: var(--red); background: #fff0f2; border-radius: 16px; font-size: 1.35rem; }
.track-icon { display: grid; place-items: center; }
.track-icon i { font-size: 1.55rem; }
.cart-empty > i { color: var(--red); font-size: 2.25rem; margin-bottom: 8px; }
.remove-line { display: grid; place-items: center; }
.remove-line i { font-size: .86rem; }
.modal-close i, .drawer-header button i { pointer-events: none; }

/* Administração: Font Awesome em todo o menu, sem emojis. */
.admin-sidebar nav a i,
.admin-sidebar .side-bottom a i { width: 20px; text-align: center; }
.sound-toggle i { width: 16px; }

@media (max-width: 720px) {
  .store-body { padding-bottom: 148px; }
  .store-cover { height: 218px; border-radius: 0; margin: 0 -16px; }
  .restaurant-profile { padding: 18px 16px 14px; }
  .cart-summary-bar { bottom: 78px; width: calc(100% - 20px); min-height: 58px; border-radius: 13px; }
  .cart-summary-copy strong { font-size: .82rem; }
  .cart-summary-total { font-size: .85rem; }
  .bottom-nav-item > i { font-size: 1.14rem; }
}

.schedule-fixed-card {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  margin: 0 0 18px;
  padding: 15px;
  border: 1px solid #f1d5d8;
  border-radius: 12px;
  background: #fff6f7;
}
.schedule-fixed-card > i { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; color: var(--red); background: #fff; border-radius: 10px; }
.schedule-fixed-card > div { display: grid; gap: 3px; }
.schedule-fixed-card b { font-size: .93rem; color: #38393b; }
.schedule-fixed-card span { color: var(--muted); font-size: .82rem; line-height: 1.45; }

/* ---------- V7: navegação, acompanhamento e painel ---------- */
/* Garante que componentes ocultos não sejam forçados a aparecer por classes de layout. */
[hidden],
.cash-change-box[hidden],
[data-change-input][hidden],
[data-delivery-fields][hidden] {
  display: none !important;
}

/* Navegação inferior sem o atalho redundante de cardápio. */
.ifood-bottom-nav-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: stretch;
}
.ifood-bottom-nav-three .bottom-nav-item {
  max-width: none;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.ifood-bottom-nav .bottom-nav-item > i {
  position: static;
  right: auto;
  top: auto;
  min-width: 0;
  width: auto;
  height: auto;
  padding: 0;
  border-radius: 0;
  display: block;
  background: transparent;
  color: currentColor;
  font-size: 1.16rem;
  font-style: normal;
  line-height: 1;
}
.ifood-bottom-nav .bottom-nav-item b {
  font-size: .69rem;
  font-weight: 720;
}

.choice-row span i,
.main-order-button i,
.btn i,
.whatsapp-btn i {
  margin-right: 7px;
}
.choice-row span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.choice-row span i { margin-right: 6px; }

/* Botões administrativos, inclusive em formulários e listagens. */
.admin-main .btn,
.admin-main button.btn,
.admin-main .stack-form button,
.admin-main .row-actions button,
.admin-main .table-link {
  min-height: 40px;
  border: 1px solid #d9d9dc;
  border-radius: 9px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: #fff;
  color: #4d4e51;
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
  transition: .18s ease;
}
.admin-main .btn:hover,
.admin-main .stack-form button:hover,
.admin-main .row-actions button:hover,
.admin-main .table-link:hover {
  border-color: var(--red);
  color: var(--red);
  background: #fff7f8;
}
.admin-main .btn.primary,
.admin-main .stack-form button[type="submit"],
.admin-main .row-actions .danger-confirm + button {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}
.admin-main .btn.primary:hover,
.admin-main .stack-form button[type="submit"]:hover {
  background: var(--red-dark);
  color: #fff;
}
.admin-main .btn.small { min-height: 34px; padding: 0 10px; font-size: .77rem; }
.admin-main .row-actions a,
.admin-main .row-actions button,
.admin-main .table-link { padding: 7px 10px; }
.sound-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.sound-toggle:hover { border-color: var(--red); color: var(--red); background: #fff7f8; }

/* A lista de pedidos recebe novos itens sem recarregar a página. */
[data-orders-table] tbody tr:first-child { animation: newOrderRow .35s ease both; }
@keyframes newOrderRow { from { background: #fff7d7; transform: translateY(-4px); } to { background: #fff; transform: translateY(0); } }

@media (max-width: 650px) {
  .ifood-bottom-nav-three .bottom-nav-item > i { font-size: 1.1rem; }
  .ifood-bottom-nav-three .bottom-nav-item b { font-size: .66rem; }
  .admin-main .btn,
  .admin-main .stack-form button,
  .admin-main .row-actions button,
  .admin-main .table-link { min-height: 38px; }
}

/* ---------- V8: correções finais de experiência, mobile e painel ---------- */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  min-width: 0;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

input,
select,
textarea {
  max-width: 100%;
}

/* A navegação do cliente permanece sempre fixa na parte inferior. */
.store-body {
  padding-bottom: calc(164px + env(safe-area-inset-bottom)) !important;
}

.ifood-bottom-nav,
.ifood-bottom-nav-three {
  position: fixed !important;
  inset: auto 0 0 0 !important;
  z-index: 900 !important;
  min-height: 72px;
  height: calc(72px + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 -5px 18px rgba(0,0,0,.08);
}

.ifood-bottom-nav .bottom-nav-item,
.ifood-bottom-nav-three .bottom-nav-item {
  max-width: none !important;
  width: 100%;
  min-height: 68px;
  min-width: 0;
  padding: 7px 4px 6px;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.ifood-bottom-nav .bottom-nav-item > i {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: currentColor !important;
  font-size: 1.14rem !important;
}

.ifood-bottom-nav .bottom-nav-item b {
  font-size: .68rem !important;
  line-height: 1.1;
  white-space: nowrap;
}

.cart-summary-bar {
  z-index: 901 !important;
  bottom: calc(84px + env(safe-area-inset-bottom)) !important;
}

/* O bloco de troco só aparece em dinheiro e não usa fundo colorido. */
.cash-change-box {
  display: grid;
  gap: 10px;
  margin-top: 13px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.cash-change-box > strong {
  color: #4d4e51;
  font-size: .84rem;
  font-weight: 800;
}

/* A taxa entra no total, sem repetir a mensagem abaixo do CEP. */
#deliveryFeeHelp {
  display: none !important;
}

/* Popups nunca passam da largura da tela. */
.app-modal {
  width: 100vw;
  max-width: 100vw;
  overflow: hidden auto;
  padding: 12px;
}

.modal-panel {
  width: min(680px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}

.product-panel,
.how-panel,
.track-panel {
  max-width: calc(100vw - 24px) !important;
}

.checkout-panel,
.cart-drawer {
  max-width: 100vw;
  overflow-x: hidden;
}

.checkout-form,
.checkout-form fieldset,
.form-grid,
.choice-row,
.status-details,
.status-summary,
.track-order-content {
  min-width: 0;
}

.checkout-preview span,
.status-summary > div,
.status-details > div {
  overflow-wrap: anywhere;
}

/* Popup de acompanhamento do pedido. */
.track-panel {
  width: min(560px, calc(100vw - 24px)) !important;
  padding: 0;
  text-align: left;
}

.track-modal-scroll {
  max-height: min(720px, calc(100dvh - 42px));
  overflow: auto;
  padding: 28px 24px 24px;
}

.track-empty-state {
  text-align: center;
  padding: 10px 2px 4px;
}

.track-empty-state h2 {
  margin: 10px 0 8px;
  font-size: 1.45rem;
}

.track-empty-state p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}

.track-loading {
  min-height: 190px;
  display: grid;
  place-content: center;
  gap: 10px;
  text-align: center;
  color: var(--muted);
}

.track-loading i {
  color: var(--red);
  font-size: 1.5rem;
  justify-self: center;
}

.track-order-content .status-card-head h2 {
  margin: 5px 0 0;
  font-size: 1.65rem;
  letter-spacing: -.035em;
}

.track-order-content .status-schedule {
  margin: 12px 0 22px;
  color: #6f7072;
  font-size: .9rem;
}

.track-order-content .status-timeline {
  margin-bottom: 22px;
}

.track-order-content .status-summary h3 {
  margin: 0 0 5px;
  font-size: 1.06rem;
}

.track-order-content .status-details > div:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

/* Painel administrativo: botões consistentes, mesmo em formulários simples. */
.admin-body {
  overflow-x: hidden;
}

.admin-main .btn,
.admin-main button.btn,
.admin-main .admin-card button:not([type="checkbox"]):not([type="radio"]),
.admin-main .row-actions a,
.admin-main .row-actions button,
.admin-main .table-link,
.admin-main .cancel-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 40px !important;
  border: 1px solid #d9d9dc !important;
  border-radius: 9px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  background: #fff !important;
  color: #4d4e51 !important;
  box-shadow: none !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

.admin-main .btn:hover,
.admin-main .admin-card button:not([type="checkbox"]):not([type="radio"]):hover,
.admin-main .row-actions a:hover,
.admin-main .table-link:hover,
.admin-main .cancel-link:hover {
  border-color: var(--red) !important;
  background: #fff7f8 !important;
  color: var(--red) !important;
}

.admin-main .btn.primary,
.admin-main .stack-form button.btn.primary,
.admin-main .stack-form button[type="submit"] {
  border-color: var(--red) !important;
  background: var(--red) !important;
  color: #fff !important;
}

.admin-main .btn.primary:hover,
.admin-main .stack-form button.btn.primary:hover,
.admin-main .stack-form button[type="submit"]:hover {
  background: var(--red-dark) !important;
  border-color: var(--red-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.admin-main button:disabled,
.admin-main .btn:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none !important;
}

.admin-main .row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-main .row-actions form {
  display: inline-flex;
  margin: 0;
}

.admin-main .row-actions a,
.admin-main .row-actions button,
.admin-main .table-link {
  min-height: 34px !important;
  padding: 0 10px !important;
  font-size: .76rem !important;
}

.admin-main .row-actions form:last-child button {
  color: #a41c28 !important;
}

.admin-main .row-actions form:last-child button:hover {
  border-color: #a41c28 !important;
  background: #fff0f1 !important;
}

.admin-main .stack-form {
  min-width: 0;
}

.admin-main .stack-form > .btn.primary,
.admin-main .stack-form > button[type="submit"] {
  width: 100%;
}

.admin-main .admin-card,
.admin-main .admin-two-col,
.admin-main .admin-list,
.admin-main .admin-list article {
  min-width: 0;
}

@media (max-width: 980px) {
  .admin-sidebar {
    max-width: 100vw;
  }
  .admin-sidebar nav {
    min-width: 0;
  }
  .admin-sidebar nav > a {
    flex: 0 0 auto;
  }
}

@media (max-width: 650px) {
  .store-body {
    padding-bottom: calc(156px + env(safe-area-inset-bottom)) !important;
  }

  .ifood-bottom-nav,
  .ifood-bottom-nav-three {
    min-height: 68px;
    height: calc(68px + env(safe-area-inset-bottom));
  }

  .cart-summary-bar {
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 20px) !important;
  }

  .app-modal {
    padding: 8px;
    align-items: end;
  }

  .modal-panel,
  .track-panel,
  .product-panel,
  .how-panel {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    border-radius: 18px 18px 12px 12px !important;
  }

  .track-modal-scroll {
    max-height: calc(100dvh - 28px);
    padding: 23px 16px 18px;
  }

  .status-details {
    grid-template-columns: 1fr !important;
  }

  .track-order-content .status-details > div:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .checkout-form {
    padding: 16px;
  }

  .choice-row {
    flex-wrap: wrap;
  }

  .choice-row label {
    min-width: 0;
  }

  .form-grid,
  .form-grid.three {
    grid-template-columns: 1fr !important;
  }

  .admin-main {
    width: 100%;
    max-width: 100vw;
    padding: 16px 12px 32px !important;
  }

  .admin-card {
    padding: 15px !important;
  }

  .admin-two-col,
  .admin-two-col.wide,
  .order-detail {
    min-width: 0;
  }

  .admin-list article {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .product-admin-list article {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }

  .product-admin-list .row-actions,
  .admin-list .row-actions {
    width: 100%;
    grid-column: 1 / -1;
    justify-content: flex-start;
    margin-left: 0 !important;
  }
}

/* ---------- V9: popups roláveis, navegação fixa e ajustes finais ---------- */
:root {
  --public-nav-h: calc(72px + env(safe-area-inset-bottom));
}

/* As categorias nunca encolhem; quando não couberem, deslizam horizontalmente. */
.category-tabs {
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.category-tab {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  white-space: nowrap !important;
  text-overflow: clip;
}

/* A navegação fica visível, mas todos os painéis terminam acima dela. */
.store-body {
  padding-bottom: calc(174px + env(safe-area-inset-bottom)) !important;
}
.ifood-bottom-nav,
.ifood-bottom-nav-three {
  z-index: 1000 !important;
}
.cart-summary-bar {
  z-index: 1001 !important;
  bottom: calc(var(--public-nav-h) + 10px) !important;
}
.app-backdrop {
  inset: 0 0 var(--public-nav-h) 0 !important;
  z-index: 940 !important;
}
.app-modal {
  inset: 0 0 var(--public-nav-h) 0 !important;
  z-index: 950 !important;
  display: grid !important;
  align-items: center;
  justify-items: center;
  overflow: hidden !important;
}
.modal-panel {
  max-height: calc(100dvh - var(--public-nav-h) - 24px) !important;
  overflow: hidden !important;
}
.cart-drawer,
.checkout-panel {
  z-index: 950 !important;
  top: 0 !important;
  bottom: var(--public-nav-h) !important;
  height: calc(100dvh - var(--public-nav-h)) !important;
}

/* Produto: o conteúdo rola dentro do próprio painel e o botão fica acessível. */
.product-panel {
  display: block !important;
  padding: 0 !important;
}
.product-modal-scroll {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  max-height: calc(100dvh - var(--public-nav-h) - 24px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
.product-modal-copy {
  min-width: 0;
}
.product-modal-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin-top: 8px;
  padding: 13px 0 3px;
  background: #fff;
  box-shadow: 0 -10px 18px rgba(255,255,255,.95);
}

/* Como pedir e situação do pedido rolam dentro do modal, sem ficarem escondidos pelo menu. */
.how-panel,
.track-panel {
  display: flex !important;
  flex-direction: column;
  height: min(760px, calc(100dvh - var(--public-nav-h) - 24px)) !important;
  max-height: calc(100dvh - var(--public-nav-h) - 24px) !important;
  padding: 0 !important;
  text-align: left !important;
}
.how-modal-scroll,
.track-modal-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: 58px 24px 30px !important;
  scrollbar-gutter: stable;
}
.how-modal-scroll .how-hero {
  padding-top: 0;
}
.track-modal-scroll {
  text-align: left;
}
.modal-close {
  z-index: 8 !important;
}

/* O status já aparece na linha do tempo: no cabeçalho mostramos só o pedido. */
.completed-order-code {
  margin: 5px 0 0;
  color: #737476;
  font-size: .78rem;
  font-weight: 700;
}
.completed-order-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 2px 0 20px;
  padding: 13px;
  border: 1px solid #ccebdc;
  border-radius: 11px;
  background: #f4fcf7;
  color: #166f43;
}
.completed-order-note > i {
  margin-top: 2px;
  font-size: 1.05rem;
}
.completed-order-note div {
  display: grid;
  gap: 2px;
}
.completed-order-note b {
  font-size: .9rem;
}
.completed-order-note span {
  color: #3f7658;
  font-size: .79rem;
  line-height: 1.35;
}

/* Troco só aparece no pagamento em dinheiro, sem fundo amarelo. */
.cash-change-box,
.cash-change-box[hidden] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Botões administrativos: estilos explícitos para todos os formulários e ações. */
.admin-main form button:not([type="checkbox"]):not([type="radio"]),
.admin-main .btn,
.admin-main button.btn,
.admin-main .row-actions a,
.admin-main .row-actions button,
.admin-main .table-link,
.admin-main .cancel-link,
.admin-main .sound-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 40px !important;
  padding: 0 13px !important;
  border: 1px solid #d9d9dc !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #444549 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font: inherit !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.admin-main form button:not([type="checkbox"]):not([type="radio"]):hover,
.admin-main .btn:hover,
.admin-main .row-actions a:hover,
.admin-main .row-actions button:hover,
.admin-main .table-link:hover,
.admin-main .cancel-link:hover,
.admin-main .sound-toggle:hover {
  color: var(--red) !important;
  border-color: var(--red) !important;
  background: #fff7f8 !important;
}
.admin-main form button[type="submit"],
.admin-main .btn.primary,
.admin-main .stack-form button.btn.primary {
  color: #fff !important;
  border-color: var(--red) !important;
  background: var(--red) !important;
}
.admin-main form button[type="submit"]:hover,
.admin-main .btn.primary:hover,
.admin-main .stack-form button.btn.primary:hover {
  color: #fff !important;
  border-color: var(--red-dark) !important;
  background: var(--red-dark) !important;
}

@media (max-width: 650px) {
  :root {
    --public-nav-h: calc(68px + env(safe-area-inset-bottom));
  }

  .store-body {
    padding-bottom: calc(158px + env(safe-area-inset-bottom)) !important;
  }

  .app-modal {
    padding: 8px !important;
    align-items: end !important;
  }

  .modal-panel,
  .product-panel,
  .how-panel,
  .track-panel {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - var(--public-nav-h) - 16px) !important;
  }

  .product-modal-scroll {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - var(--public-nav-h) - 16px);
    max-height: calc(100dvh - var(--public-nav-h) - 16px);
  }

  .product-modal-image {
    flex: 0 0 176px;
    min-height: 176px;
  }

  .product-modal-copy {
    flex: 1 1 auto;
    padding: 22px 16px 10px;
    overflow-y: auto;
  }

  .product-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 12px 0 6px;
  }

  .quantity-control {
    width: 100%;
    justify-content: center;
  }

  .how-panel,
  .track-panel {
    height: calc(100dvh - var(--public-nav-h) - 16px) !important;
  }

  .how-modal-scroll,
  .track-modal-scroll {
    padding: 56px 16px 26px !important;
  }

  .category-tabs {
    margin: 0 -16px;
    padding: 0 16px 15px;
    gap: 8px;
  }

  .category-tab {
    min-height: 39px;
    padding: 0 14px;
    font-size: .8rem;
  }

  .admin-main form button:not([type="checkbox"]):not([type="radio"]),
  .admin-main .btn,
  .admin-main .row-actions a,
  .admin-main .row-actions button,
  .admin-main .table-link,
  .admin-main .cancel-link {
    min-height: 40px !important;
    max-width: 100%;
  }
}


/* ---------- V10: carrinho atrás dos popups e histórico de pedidos ---------- */
/* A barra "Seu pedido" existe apenas sobre o cardápio. Ao abrir qualquer painel, ela desaparece. */
.cart-summary-bar {
  z-index: 900 !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
body.modal-open .cart-summary-bar {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(14px) !important;
}
.app-backdrop { z-index: 940 !important; }
.app-modal,
.cart-drawer,
.checkout-panel { z-index: 950 !important; }
.ifood-bottom-nav,
.ifood-bottom-nav-three { z-index: 1000 !important; }

/* O conteúdo dos modais rola dentro deles; o menu não cobre o conteúdo. */
.track-modal-scroll,
.how-modal-scroll,
.product-modal-scroll { padding-bottom: 34px !important; }

/* Histórico exibido quando não houver pedido em andamento. */
.completed-orders-list { display: grid; gap: 11px; }
.completed-orders-head { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.completed-orders-head small { color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .09em; }
.completed-orders-head h2 { margin: 5px 0 4px; font-size: 1.45rem; letter-spacing: -.035em; }
.completed-orders-head p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.4; }
.history-order-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid #e8e8e9; border-radius: 12px; background: #fff; }
.history-order-card.is-cancelled { opacity: .72; }
.history-order-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #eefaf3; color: var(--green); }
.history-order-card.is-cancelled .history-order-icon { background: #fff0f2; color: var(--red); }
.history-order-copy { min-width: 0; display: grid; gap: 3px; }
.history-order-copy b { font-size: .88rem; color: #343537; }
.history-order-copy span { overflow: hidden; color: var(--muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.history-order-card > strong { color: #343537; font-size: .86rem; white-space: nowrap; }
.history-cancelled-title { margin-top: 8px; color: var(--muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

@media (max-width: 650px) {
  .cart-summary-bar { bottom: calc(var(--public-nav-h) + 9px) !important; }
  .completed-orders-list { gap: 10px; }
  .history-order-card { padding: 12px; }
  .history-order-copy span { white-space: normal; }
}

/* ---------- V11: centralização do "Como pedir", pedidos administrativos e impressão ---------- */
/* Mantém a explicação do pedido agendado visualmente centralizada. */
.how-panel .how-modal-scroll {
  text-align: center !important;
}
.how-panel .how-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding-right: 0 !important;
  text-align: center !important;
}
.how-panel .how-hero > div,
.how-panel .how-hero small,
.how-panel .how-hero h2 {
  width: 100%;
  text-align: center !important;
}
.how-panel .how-hero > i {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 15px;
  background: #fff0f2;
  color: var(--red);
  font-size: 1.2rem;
}
.how-panel .how-steps {
  justify-items: center;
}
.how-panel .how-steps li {
  width: min(100%, 390px);
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center;
  gap: 7px !important;
  text-align: center !important;
}
.how-panel .how-steps li > b {
  margin: 0 auto;
}
.how-panel .how-steps li > div,
.how-panel .how-steps strong,
.how-panel .how-steps p {
  text-align: center !important;
}

/* O pedido em andamento fica destacado até ser concluído ou cancelado. */
.order-table-wrap tbody tr.order-row--attention > td {
  animation: orderGreenPulse 1.7s ease-in-out infinite;
}
@keyframes orderGreenPulse {
  0%, 100% { background-color: #ffffff; box-shadow: inset 0 0 0 rgba(31, 174, 93, 0); }
  50% { background-color: #e8fff0; box-shadow: inset 0 1px 0 rgba(31, 174, 93, .48), inset 0 -1px 0 rgba(31, 174, 93, .48); }
}
@media (prefers-reduced-motion: reduce) {
  .order-table-wrap tbody tr.order-row--attention > td { animation: none; background: #effcf4; }
}
.table-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.table-link-print {
  color: #196b42 !important;
  border-color: #bfe4ce !important;
  background: #f4fff8 !important;
}
.table-link-print:hover {
  color: #0d4d2d !important;
  border-color: #56b47a !important;
  background: #e9fff1 !important;
}

/* Popup de detalhes do pedido dentro do painel administrativo. */
.admin-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: none;
  background: rgba(18, 18, 20, .48);
}
.admin-modal-backdrop.open { display: block; }
.admin-order-modal {
  position: fixed;
  z-index: 1110;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
}
.admin-order-modal.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.admin-order-modal-panel {
  position: relative;
  width: min(860px, 100%);
  max-height: min(820px, calc(100dvh - 44px));
  overflow: hidden;
  border: 1px solid #ececed;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 74px rgba(0, 0, 0, .26);
  transform: translateY(14px) scale(.985);
  transition: transform .18s ease;
}
.admin-order-modal.open .admin-order-modal-panel { transform: translateY(0) scale(1); }
.admin-order-modal-scroll {
  max-height: min(820px, calc(100dvh - 44px));
  overflow-y: auto;
  overflow-x: hidden;
  padding: 25px;
}
.admin-modal-close {
  position: absolute;
  z-index: 4;
  top: 13px;
  right: 13px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #333;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  cursor: pointer;
  font-size: 1.12rem;
}
.admin-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  padding: 2px 48px 18px 0;
  border-bottom: 1px solid #ececed;
}
.admin-modal-head small {
  color: var(--red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .09em;
}
.admin-modal-head h2 {
  margin: 6px 0 0;
  color: #2f3032;
  font-size: 1.55rem;
  letter-spacing: -.035em;
}
.admin-modal-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.admin-modal-detail {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px;
  border-radius: 11px;
  background: #f8f8f9;
}
.admin-modal-detail-wide { grid-column: 1 / -1; }
.admin-modal-detail small,
.admin-modal-notes small {
  color: #77787b;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.admin-modal-detail b,
.admin-modal-detail a {
  overflow-wrap: anywhere;
  color: #36373a;
  font-size: .88rem;
  text-decoration: none;
}
.admin-modal-detail a { color: var(--red); font-weight: 800; }
.admin-modal-notes {
  margin: 0 0 18px;
  padding: 13px;
  border-radius: 11px;
  background: #fff8e9;
}
.admin-modal-notes p {
  margin: 6px 0 0;
  color: #4a4a4c;
  font-size: .86rem;
  line-height: 1.45;
}
.admin-modal-items {
  padding: 16px;
  border: 1px solid #ececed;
  border-radius: 13px;
}
.admin-modal-items h3 { margin: 0 0 11px; font-size: 1rem; }
.admin-modal-item,
.admin-modal-total-line,
.admin-modal-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #eeeeef;
}
.admin-modal-item > div { min-width: 0; }
.admin-modal-item b { display: block; font-size: .9rem; }
.admin-modal-item small { display: block; margin-top: 3px; color: #77787b; font-size: .76rem; }
.admin-modal-item strong,
.admin-modal-total-line b { white-space: nowrap; font-size: .87rem; }
.admin-modal-total-line { color: #646568; font-size: .87rem; }
.admin-modal-total {
  padding-bottom: 0;
  border-bottom: 0;
  color: var(--red);
  font-size: 1.05rem;
  font-weight: 900;
}
.admin-order-update-form {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.admin-order-update-form label {
  display: grid;
  gap: 6px;
  color: #4b4c4f;
  font-size: .82rem;
  font-weight: 800;
}
.admin-order-update-form select,
.admin-order-update-form textarea {
  width: 100%;
  border: 1px solid #dedee1;
  border-radius: 9px;
  padding: 10px 11px;
  background: #fff;
  color: #38393c;
  font: inherit;
  font-size: .88rem;
}
.admin-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding-top: 2px;
}
.admin-modal-loading {
  min-height: 210px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  color: #68696b;
  font-weight: 800;
}
.admin-modal-loading i { color: var(--red); font-size: 1.4rem; }
.admin-modal-loading.is-error i { color: #bc1730; }

@media (max-width: 720px) {
  .admin-order-modal { padding: 8px; align-items: end; }
  .admin-order-modal-panel { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 17px 17px 10px 10px; }
  .admin-order-modal-scroll { max-height: calc(100dvh - 16px); padding: 21px 15px 18px; }
  .admin-modal-summary-grid { grid-template-columns: 1fr; }
  .admin-modal-detail-wide { grid-column: auto; }
  .admin-modal-head { padding-right: 42px; }
  .admin-modal-actions { display: grid; grid-template-columns: 1fr; }
  .table-actions { min-width: 185px; }
}


/* ---------- V12: fluxo de pedido, ações rápidas e cliente ---------- */
/* Somente pedidos aguardando confirmação piscam em verde. */
.order-table-wrap tbody tr.order-row--attention > td { animation: orderGreenPulse 1.7s ease-in-out infinite !important; }
.order-table-wrap tbody tr:not(.order-row--attention) > td { animation: none !important; }

.table-status-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 9px;
  border: 1px solid #d9d9dc;
  border-radius: 9px;
  background: #fff;
  color: #4a4b4e;
}
.table-status-control > i { color: var(--red); font-size: .82rem; }
.table-status-control select {
  max-width: 158px;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #404144;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}
.table-status-control:focus-within { border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.09); }

.admin-customer-card {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #ececed;
  border-radius: 14px;
  background: #fff;
}
.admin-section-title { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.admin-section-title > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #fff0f2; color: var(--red); }
.admin-section-title small { display: block; margin-bottom: 3px; color: #77787b; font-size: .64rem; font-weight: 900; letter-spacing: .09em; }
.admin-section-title h3 { margin: 0; color: #2e2f31; font-size: 1rem; }
.admin-customer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-customer-data { display: grid; gap: 5px; min-width: 0; padding: 12px; border-radius: 10px; background: #f8f8f9; }
.admin-customer-data-wide { grid-column: 1 / -1; }
.admin-customer-data small { color: #77787b; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.admin-customer-data small i { margin-right: 3px; color: var(--red); }
.admin-customer-data b, .admin-customer-data a, .admin-customer-data span { overflow-wrap: anywhere; color: #353638; font-size: .88rem; text-decoration: none; }
.admin-customer-data a { color: var(--red); font-weight: 850; }
.admin-customer-data span { color: #6c6d70; font-size: .78rem; }

/* Botão de cancelar e histórico clicável pelo cliente. */
.cancel-order-button {
  width: 100%; min-height: 48px; margin-top: 16px; border: 1px solid #f1c5ca; border-radius: 12px;
  background: #fff5f6; color: #bd1b2a; font: inherit; font-size: .9rem; font-weight: 900; cursor: pointer;
}
.cancel-order-button:hover { background: #ffecef; border-color: #e07a84; }
.track-back-button { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 14px; padding: 0; border: 0; background: transparent; color: var(--red); font: inherit; font-size: .84rem; font-weight: 850; cursor: pointer; }
.history-order-card { width: 100%; border: 1px solid #e8e8e9; text-align: left; cursor: pointer; font: inherit; }
.history-order-card:hover { border-color: #ec8e98; background: #fffafb; }
.history-order-chevron { color: #a7a7aa; font-size: .76rem; }
.bottom-nav-item[hidden] { display: none !important; }
.bottom-nav-item.has-active-order { color: var(--red); }
.bottom-nav-item.has-active-order i { position: relative; }
.bottom-nav-item.has-active-order i::after { content: ''; position: absolute; top: -4px; right: -7px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: var(--red); }

/* Centralização completa do popup "Como pedir". */
.how-panel .how-modal-scroll { text-align: center !important; }
.how-panel .how-hero { justify-content: center !important; text-align: center !important; }
.how-panel .how-hero > div { text-align: center !important; }
.how-panel .how-steps { justify-items: center !important; padding-left: 0 !important; }
.how-panel .how-steps li { grid-template-columns: 1fr !important; justify-items: center !important; text-align: center !important; }
.how-panel .how-steps li > div, .how-panel .how-steps li strong, .how-panel .how-steps li p { text-align: center !important; }

@media (max-width: 720px) {
  .admin-customer-grid { grid-template-columns: 1fr; }
  .admin-customer-data-wide { grid-column: auto; }
  .table-status-control { width: 100%; justify-content: space-between; }
  .table-status-control select { flex: 1; max-width: none; }
}


/* ---------- V13: produto com imagem fixa, confirmação de cancelamento e detalhes preservados ---------- */
/* A imagem do produto ocupa uma área fixa e os dados permanecem sempre abaixo dela. */
.product-panel {
  overflow: hidden !important;
}
.product-modal-scroll {
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100dvh - var(--public-nav-h) - 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.product-modal-image {
  position: relative !important;
  flex: 0 0 230px !important;
  width: 100% !important;
  min-height: 230px !important;
  height: 230px !important;
  max-height: 230px !important;
  overflow: hidden !important;
  background: #f1f1f2 !important;
}
.product-modal-image img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}
.product-modal-copy {
  position: relative !important;
  display: grid !important;
  overflow: visible !important;
  background: #fff !important;
}

/* Confirmação bonita para cancelar o pedido, sem alerta padrão do navegador. */
.cancel-confirm-modal {
  position: fixed;
  z-index: 990;
  inset: 0 0 var(--public-nav-h) 0;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  background: rgba(20, 20, 21, .44);
  transition: opacity .18s ease;
}
.cancel-confirm-modal.open {
  opacity: 1;
  pointer-events: auto;
}
.cancel-confirm-panel {
  position: relative;
  width: min(100%, 390px);
  padding: 30px 24px 23px;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
  text-align: center;
  transform: translateY(10px) scale(.97);
  transition: transform .18s ease;
}
.cancel-confirm-modal.open .cancel-confirm-panel {
  transform: translateY(0) scale(1);
}
.cancel-confirm-close {
  position: absolute;
  top: 11px;
  right: 11px;
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f5f5f6;
  color: #3e3f41;
  font-size: 1.12rem;
}
.cancel-confirm-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  margin: 0 auto 14px;
  border-radius: 18px;
  background: #fff0f2;
  color: var(--red);
  font-size: 1.4rem;
}
.cancel-confirm-panel > small {
  color: var(--red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.cancel-confirm-panel h2 {
  margin: 7px 0 9px;
  color: #2e2f31;
  font-size: 1.35rem;
  letter-spacing: -.03em;
}
.cancel-confirm-panel p {
  max-width: 290px;
  margin: 0 auto;
  color: #717276;
  font-size: .88rem;
  line-height: 1.5;
}
.cancel-confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 10px;
  margin-top: 22px;
}
.cancel-confirm-actions button {
  min-height: 46px;
  border-radius: 11px;
  font: inherit;
  font-size: .86rem;
  font-weight: 850;
}
.cancel-confirm-back {
  border: 1px solid #e2e2e4;
  background: #fff;
  color: #4c4d50;
}
.cancel-confirm-submit {
  border: 1px solid #e11b2c;
  background: var(--red);
  color: #fff;
  box-shadow: 0 8px 18px rgba(234,29,44,.18);
}
.cancel-confirm-submit:hover { background: var(--red-dark); }

@media (max-width: 650px) {
  .product-modal-image {
    flex-basis: 190px !important;
    min-height: 190px !important;
    height: 190px !important;
    max-height: 190px !important;
  }
  .product-modal-copy {
    padding: 20px 16px 10px !important;
  }
  .cancel-confirm-modal {
    padding: 12px;
  }
  .cancel-confirm-panel {
    width: min(100%, 390px);
    padding: 28px 18px 18px;
  }
  .cancel-confirm-actions {
    grid-template-columns: 1fr;
  }
}

/* ---------- V14: foto completa no produto e nova agenda ---------- */
/* A imagem permanece em uma faixa fixa, mas sem cortes: toda a foto fica visível. */
.product-modal-image {
  display: grid !important;
  place-items: center !important;
  background: #f6f6f7 !important;
}
.product-modal-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f6f6f7 !important;
}

@media (max-width: 650px) {
  .product-modal-image {
    flex-basis: 205px !important;
    min-height: 205px !important;
    height: 205px !important;
    max-height: 205px !important;
  }
}

/* ---------- V15: foto completa, ações do painel, busca e agenda configurável ---------- */
/* No popup do produto a imagem usa a proporção original e nunca é cortada. */
.product-modal-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  background: #f5f5f6 !important;
}
.product-modal-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(360px, 42dvh) !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f5f5f6 !important;
}

/* Busca de pedidos no painel. */
.orders-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
}
.orders-search-form label {
  flex: 1 1 320px;
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border: 1px solid #dedee1;
  border-radius: 10px;
  background: #fff;
}
.orders-search-form label:focus-within {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(234,29,44,.09);
}
.orders-search-form label > i { color: var(--red); }
.orders-search-form input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
}

/* Mantém Detalhes, status e Imprimir na mesma linha no desktop. */
.orders-table {
  min-width: 1260px;
}
.orders-table th:last-child,
.orders-table td:last-child {
  min-width: 410px;
}
.orders-table .table-actions {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 8px;
  white-space: nowrap;
}
.orders-table .table-link,
.orders-table .table-status-control {
  flex: 0 0 auto;
  min-height: 40px;
}
.orders-table .table-status-control {
  min-width: 184px;
}
.orders-table .table-status-control select {
  width: 148px;
  max-width: 148px;
}

.schedule-config-preview {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 15px;
  padding: 14px;
  border: 1px solid #f0d5d8;
  border-radius: 11px;
  background: #fff7f8;
}
.schedule-config-preview > i {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: var(--red);
}
.schedule-config-preview > div { display: grid; gap: 3px; }
.schedule-config-preview b { color: #36373a; font-size: .9rem; }
.schedule-config-preview span { color: #66676a; font-size: .82rem; line-height: 1.42; }

@media (max-width: 720px) {
  .product-modal-image {
    flex-basis: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .product-modal-image img {
    max-height: min(320px, 40dvh) !important;
  }
  .orders-search-form {
    flex-wrap: wrap;
  }
  .orders-search-form label {
    flex-basis: 100%;
  }
  .orders-search-form .btn {
    flex: 1 1 auto;
  }
}

/* Pedido ativo: mostra somente contador, sem deixar o menu todo vermelho */
.bottom-nav-item[data-orders-nav] {
  position: relative;
}

.bottom-nav-item[data-orders-nav].has-active-order {
  color: #666769 !important;
}

.bottom-nav-item[data-orders-nav].has-active-order > i,
.bottom-nav-item[data-orders-nav].has-active-order > b {
  color: #666769 !important;
}

.orders-nav-count {
  position: absolute;
  top: 5px;
  right: calc(50% - 25px);
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--red, #ea1d2c);
  color: #fff;
  border: 2px solid #fff;
  font-size: .62rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.orders-nav-count[hidden] {
  display: none !important;
}


/* ---------- V16: cupons de desconto ---------- */
.coupon-fieldset {
  background: #fffdfd;
}
.coupon-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
}
.coupon-entry > label {
  min-width: 0;
}
.coupon-entry input {
  text-transform: uppercase;
  letter-spacing: .04em;
}
.coupon-apply-button {
  min-height: 42px !important;
  white-space: nowrap;
}
.coupon-message {
  min-height: 18px;
  margin-bottom: 0 !important;
}
.coupon-message.is-success { color: var(--green) !important; font-weight: 760; }
.coupon-message.is-error { color: var(--red) !important; font-weight: 760; }
.checkout-total.checkout-totals {
  display: grid;
  gap: 8px;
  padding: 15px;
}
.checkout-totals > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #626367;
  font-size: .87rem;
}
.checkout-totals > div strong { color: #3e3f41; font-size: .95rem; }
.checkout-totals .checkout-discount-row { color: var(--green); }
.checkout-totals .checkout-discount-row strong { color: var(--green); }
.checkout-totals .checkout-discount-row small { margin-left: 4px; font-weight: 800; }
.checkout-totals .checkout-total-final {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px dashed rgba(234,29,44,.25);
  color: var(--red);
  font-size: 1rem;
  font-weight: 850;
}
.checkout-totals .checkout-total-final strong { color: var(--red); font-size: 1.2rem; }

/* Administração de cupons. */
.coupons-layout { align-items: start; }
.coupon-editor-card { position: sticky; top: 20px; }
.coupon-count { color: #858689; font-size: .78rem; font-weight: 750; }
.coupon-admin-list { display: grid; }
.coupon-admin-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid #eeeeef;
}
.coupon-admin-row:last-child { border-bottom: 0; }
.coupon-admin-row.is-inactive { opacity: .62; }
.coupon-code-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: var(--red-soft);
  color: var(--red);
}
.coupon-admin-copy { display: grid; gap: 4px; min-width: 0; }
.coupon-admin-copy b { color: #343538; font-size: 1rem; letter-spacing: .03em; overflow-wrap: anywhere; }
.coupon-admin-copy span { color: #5e5f62; font-size: .82rem; line-height: 1.35; }
.coupon-admin-copy small { color: #929396; font-size: .75rem; }
.coupon-admin-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 7px; }
.coupon-admin-actions form { margin: 0; }

@media (max-width: 850px) {
  .coupon-editor-card { position: static; }
}
@media (max-width: 650px) {
  .coupon-entry { grid-template-columns: 1fr; }
  .coupon-apply-button { width: 100%; }
  .coupon-admin-row { grid-template-columns: 40px minmax(0, 1fr); }
  .coupon-admin-actions { grid-column: 1 / -1; justify-content: flex-start; padding-left: 52px; }
}
.track-coupon-line { color: var(--green); }
.track-coupon-line b { color: var(--green); }
.admin-modal-coupon-line b { color: var(--green); }

/* ---------- V17: manutenção, inauguração, e-mail e login ---------- */
.sr-only { 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; }

/* Pedido ativo: mantém o texto "Pedidos" e usa somente o contador. */
.bottom-nav-item[data-orders-nav].has-active-order,
.bottom-nav-item[data-orders-nav].has-active-order > i,
.bottom-nav-item[data-orders-nav].has-active-order > b { color:#666769 !important; }
.bottom-nav-item[data-orders-nav].has-active-order > i::after { display:none !important; }
.bottom-nav-item[data-orders-nav].has-active-order b { font-size:.68rem !important; }

.inauguration-public-card {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.85fr); gap:18px; align-items:center;
  margin:0 16px 18px; padding:20px; border:1px solid #f0d4d8; border-radius:18px;
  background:linear-gradient(135deg,#fff7f7 0%,#fff 60%,#fff7e7 100%); box-shadow:0 8px 20px rgba(125,14,23,.05);
}
.inauguration-public-copy > span { display:inline-flex; align-items:center; gap:7px; color:var(--red); font-size:.68rem; font-weight:900; letter-spacing:.09em; }
.inauguration-public-copy h2 { margin:6px 0 5px; color:#343538; font-size:1.28rem; line-height:1.15; }
.inauguration-public-copy p { margin:0; color:#6d6e71; font-size:.87rem; line-height:1.45; }
.inauguration-public-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; }
.inauguration-public-form input { min-width:0; height:43px; border:1px solid #dddde0; border-radius:10px; padding:0 12px; color:var(--ink); background:#fff; font:inherit; font-size:.83rem; outline:0; }
.inauguration-public-form input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.1); }
.inauguration-public-form button { min-height:43px; border:0; border-radius:10px; padding:0 13px; color:#fff; background:var(--red); font:inherit; font-size:.8rem; font-weight:850; white-space:nowrap; cursor:pointer; }
.inauguration-public-form button:hover { background:var(--red-dark); }

.maintenance-page { min-height:100dvh; margin:0; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 20% 10%,rgba(249,185,48,.22),transparent 28%),radial-gradient(circle at 90% 90%,rgba(234,29,44,.18),transparent 30%),linear-gradient(135deg,#58070d,#a31320 55%,#5f0710); color:#fff; }
.maintenance-card { width:min(100%,620px); padding:clamp(26px,5vw,48px); border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.96); box-shadow:0 25px 70px rgba(20,0,0,.35); color:#313235; text-align:center; }
.maintenance-card > img { width:86px; height:86px; margin:0 auto 16px; display:block; object-fit:cover; border-radius:50%; box-shadow:0 8px 18px rgba(117,0,0,.16); }
.maintenance-kicker { display:inline-flex; align-items:center; gap:7px; color:var(--red); font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.maintenance-card h1 { margin:11px auto 10px; max-width:520px; color:#2d2e31; font-size:clamp(1.6rem,4vw,2.35rem); letter-spacing:-.04em; line-height:1.08; }
.maintenance-card > p { max-width:510px; margin:0 auto; color:#6e6f73; line-height:1.6; }
.maintenance-signup { margin:25px 0 18px; padding:16px; border:1px solid #f0d9dd; border-radius:16px; background:#fff8f8; text-align:left; }
.maintenance-signup > div { display:flex; align-items:center; gap:11px; margin-bottom:13px; }
.maintenance-signup > div > i { display:grid; width:38px; height:38px; place-items:center; flex:0 0 auto; border-radius:11px; background:#ffe8eb; color:var(--red); }
.maintenance-signup b,.maintenance-signup small { display:block; }
.maintenance-signup b { color:#343538; font-size:.9rem; }.maintenance-signup small { margin-top:2px; color:#717277; font-size:.76rem; line-height:1.35; }
.maintenance-signup .inauguration-form { display:flex; gap:8px; }
.maintenance-signup input { min-width:0; flex:1; min-height:44px; border:1px solid #dedee1; border-radius:10px; padding:0 12px; font:inherit; font-size:.85rem; }
.maintenance-signup button,.maintenance-whatsapp { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:10px; padding:0 14px; background:var(--red); color:#fff; font:inherit; font-size:.84rem; font-weight:850; text-decoration:none; cursor:pointer; }
.maintenance-whatsapp { width:100%; background:#20a85b; }

/* Login renovado */
.login-page-premium { min-height:100dvh; padding:28px; background:radial-gradient(circle at 15% 8%,rgba(249,190,53,.2),transparent 26%),linear-gradient(135deg,#46070c,#a2121f 54%,#55100c); }
.login-premium-shell { width:min(100%,1040px); min-height:620px; display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border-radius:28px; background:#fff; box-shadow:0 30px 80px rgba(28,0,0,.36); }
.login-brand-side { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,6vw,72px); color:#fff; background:linear-gradient(150deg,#61080d 0%,#9d101c 60%,#d43a1c 100%); }
.login-brand-side::before,.login-brand-side::after { content:""; position:absolute; border:1px solid rgba(255,213,90,.36); border-radius:50%; pointer-events:none; }
.login-brand-side::before { width:420px; height:420px; top:-210px; right:-140px; }.login-brand-side::after { width:320px; height:320px; left:-180px; bottom:-175px; }
.login-brand-side > * { position:relative; z-index:1; }.login-brand-side > img { width:105px; height:105px; object-fit:cover; border-radius:50%; margin:0 0 23px; box-shadow:0 10px 30px rgba(0,0,0,.28); }
.login-brand-side > span { color:#ffd95e; font-size:.7rem; font-weight:900; letter-spacing:.12em; }.login-brand-side h1 { max-width:460px; margin:10px 0 14px; font-size:clamp(2rem,3.7vw,3rem); line-height:1.04; letter-spacing:-.045em; }.login-brand-side > p { max-width:430px; margin:0; color:#ffe8d5; line-height:1.55; }
.login-brand-points { display:grid; gap:11px; margin-top:30px; }.login-brand-points div { display:flex; align-items:center; gap:10px; color:#fff1dd; font-size:.88rem; }.login-brand-points i { display:grid; width:29px; height:29px; place-items:center; border-radius:9px; color:#7d150e; background:#ffd95e; font-size:.77rem; }
.login-form-side { align-self:center; padding:clamp(34px,6vw,70px); color:#323336; }.login-form-side > small { display:block; color:var(--red); font-size:.67rem; font-weight:900; letter-spacing:.1em; }.login-form-side h2 { margin:8px 0 7px; font-size:clamp(1.7rem,3vw,2.25rem); letter-spacing:-.04em; }.login-form-side > p { margin:0 0 24px; color:#747579; font-size:.92rem; line-height:1.5; }.login-mobile-logo { display:none; }
.login-premium-form { display:grid; gap:15px; }.login-premium-form > label { display:grid; gap:7px; color:#4e4f52; font-size:.82rem; font-weight:800; }.login-input { min-height:48px; display:flex; align-items:center; gap:10px; padding:0 13px; border:1px solid #dedee1; border-radius:12px; background:#fff; }.login-input:focus-within { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.1); }.login-input i { color:#85868a; }.login-input input { min-width:0; width:100%; border:0; outline:0; background:transparent; font:inherit; color:#343538; }
.login-submit { min-height:50px; margin-top:5px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:12px; background:linear-gradient(135deg,#ed1c2e,#c90e20); color:#fff; font:inherit; font-weight:900; box-shadow:0 10px 20px rgba(234,29,44,.22); cursor:pointer; }.login-submit:hover { transform:translateY(-1px); }.login-back-store { display:inline-flex; align-items:center; gap:7px; margin-top:21px; color:#77787b; font-size:.83rem; font-weight:750; text-decoration:none; }.login-back-store:hover { color:var(--red); }
.login-form-side .notice { display:flex; align-items:center; gap:8px; margin:0 0 15px; }

/* Painel de inauguração e e-mails */
.inauguration-admin-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; margin-bottom:18px; }.inauguration-overview-card { background:linear-gradient(135deg,#7d0b13 0%,#c31b25 60%,#e05d1b 100%); color:#fff; border-color:transparent; }.inauguration-overview-card .card-title small,.inauguration-overview-card .card-title h2 { color:#fff; }.inauguration-date-chip,.email-status-chip,.subscriber-count-chip { display:inline-flex; align-items:center; gap:7px; min-height:33px; padding:0 11px; border-radius:999px; font-size:.74rem; font-weight:850; }.inauguration-date-chip { background:rgba(255,255,255,.16); color:#fff4c7; }.email-status-chip { background:#fff2f3; color:var(--red); }.subscriber-count-chip { background:#ecfff5; color:#117348; }
.inauguration-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.inauguration-metrics article { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid rgba(255,255,255,.17); border-radius:12px; background:rgba(255,255,255,.09); }.inauguration-metrics i { display:grid; width:33px; height:33px; place-items:center; border-radius:10px; color:#7f0a12; background:#ffd25c; }.inauguration-metrics strong,.inauguration-metrics span { display:block; }.inauguration-metrics strong { font-size:1.2rem; }.inauguration-metrics span { color:#ffe5d2; font-size:.7rem; }
.switch-featured { padding:13px 14px; border:1px solid #eedcdf; border-radius:12px; background:#fffafb; }.switch-featured span { display:grid !important; gap:2px; }.switch-featured b { color:#35363a; font-size:.9rem; }.switch-featured small { color:#77787b; font-size:.76rem; font-weight:600; }
.email-connection-card,.cron-card,.campaigns-card,.subscribers-card { margin-top:18px; }.cron-card > p { margin:0 0 13px; color:#66676a; font-size:.88rem; line-height:1.5; }.cron-url { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid #e4e4e6; border-radius:11px; background:#f8f8f9; }.cron-url code { min-width:0; flex:1; overflow:auto; white-space:nowrap; color:#494a4d; font-size:.78rem; }.cron-url button { flex:0 0 auto; min-height:36px; border:0; border-radius:9px; padding:0 10px; background:#fff; color:var(--red); font:inherit; font-size:.76rem; font-weight:850; cursor:pointer; }.cron-run-form { margin-top:12px; }
.campaign-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.campaign-editor-card { min-width:0; padding:17px; border:1px solid #e9e9ea; border-radius:14px; background:#fff; }.campaign-editor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }.campaign-editor-head small { color:var(--red); font-size:.67rem; font-weight:900; letter-spacing:.08em; }.campaign-editor-head h3 { margin:4px 0 0; color:#323336; font-size:1.02rem; }.campaign-active,.campaign-paused { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:.68rem; font-weight:850; }.campaign-active { background:#e8fff1; color:#137647; }.campaign-paused { background:#f0f1f2; color:#696a6d; }.campaign-stats { margin:10px 0 14px; color:#77787b; font-size:.75rem; }.campaign-stats i { color:var(--red); }
.campaign-form { display:grid; gap:10px; }.campaign-form > label { display:grid; gap:6px; color:#56575a; font-size:.78rem; font-weight:800; }.campaign-form input { min-height:40px; border:1px solid #dedee1; border-radius:9px; padding:0 10px; font:inherit; color:#37383b; }.editor-toolbar { display:flex; gap:6px; padding:7px; border:1px solid #e2e2e4; border-bottom:0; border-radius:10px 10px 0 0; background:#f8f8f9; }.editor-toolbar button { display:grid; width:30px; height:28px; place-items:center; border:0; border-radius:7px; background:#fff; color:#5b5c5f; cursor:pointer; }.editor-toolbar button:hover { color:var(--red); background:#fff0f2; }.email-rich-editor { min-height:210px; padding:12px; overflow:auto; border:1px solid #e2e2e4; border-radius:0 0 10px 10px; color:#454649; font-size:.85rem; line-height:1.48; outline:0; }.email-rich-editor:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.08); }.email-rich-editor a { color:var(--red); }.campaign-actions { display:flex; justify-content:flex-end; }.campaign-send-actions { display:grid; gap:9px; margin-top:13px; padding-top:13px; border-top:1px dashed #e4e4e6; }.send-test-form { display:flex; gap:8px; }.send-test-form input { min-width:0; flex:1; height:38px; border:1px solid #dedee1; border-radius:9px; padding:0 10px; font:inherit; font-size:.78rem; }.danger-soft { border-color:#f3cbd0!important; color:#b71b2a!important; background:#fff5f6!important; }.email-preview { margin-top:13px; color:#6c6d70; font-size:.8rem; }.email-preview summary { cursor:pointer; font-weight:800; }.email-preview > div { max-height:260px; margin-top:10px; overflow:auto; border:1px solid #ededee; border-radius:10px; background:#fafafa; }.email-preview h1 { font-size:1.35rem; }.email-preview a { color:var(--red); }
.subscriber-table td form { margin:0; }.subscriber-active,.subscriber-inactive { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:.7rem; font-weight:850; }.subscriber-active { background:#e8fff1; color:#137647; }.subscriber-inactive { background:#f0f1f2; color:#77787a; }

@media (max-width: 900px) {
  .login-premium-shell { grid-template-columns:1fr; max-width:580px; min-height:auto; }.login-brand-side { display:none; }.login-form-side { padding:38px 28px; }.login-mobile-logo { display:block; }.login-mobile-logo img { width:72px; height:72px; margin:0 0 18px; object-fit:cover; border-radius:50%; }
  .inauguration-admin-grid,.campaign-editor-grid { grid-template-columns:1fr; }.inauguration-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .inauguration-public-card { grid-template-columns:1fr; margin:0 12px 15px; padding:16px; }.inauguration-public-form { grid-template-columns:1fr; }.inauguration-public-form button { width:100%; }
  .maintenance-page { padding:16px; }.maintenance-card { border-radius:22px; padding:28px 19px; }.maintenance-signup .inauguration-form { flex-direction:column; }.maintenance-signup button { width:100%; }
  .inauguration-metrics { grid-template-columns:1fr; }.inauguration-metrics article { padding:10px; }.cron-url { align-items:stretch; flex-direction:column; }.cron-url code { white-space:normal; overflow-wrap:anywhere; }.campaign-editor-card { padding:14px; }.send-test-form { flex-direction:column; }.send-test-form .btn { width:100%; }.email-rich-editor { min-height:180px; }
}


/* Página pública antes da inauguração: o catálogo só abre na data configurada. */
.prelaunch-page {
  min-height:100dvh;
  margin:0;
  padding:clamp(18px,4vw,48px);
  display:grid;
  place-items:center;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 6%, rgba(255,196,59,.28), transparent 23%),
    radial-gradient(circle at 93% 89%, rgba(255,123,26,.22), transparent 27%),
    linear-gradient(145deg,#470405 0%,#8f111d 48%,#430405 100%);
}
.prelaunch-card {
  position:relative;
  width:min(100%,620px);
  overflow:hidden;
  padding:clamp(28px,6vw,50px) clamp(19px,5vw,54px);
  border:1px solid rgba(255,220,160,.22);
  border-radius:28px;
  background:rgba(255,250,245,.98);
  box-shadow:0 28px 70px rgba(22,1,1,.44);
  text-align:center;
}
.prelaunch-card::before { content:""; position:absolute; inset:0 0 auto; height:8px; background:linear-gradient(90deg,#f4ad1a,#ed1b2f,#821019); }
.prelaunch-logo { position:relative; z-index:1; display:block; width:94px; height:94px; margin:0 auto 16px; object-fit:contain; filter:drop-shadow(0 8px 12px rgba(77,8,8,.19)); }
.prelaunch-kicker { position:relative; z-index:1; display:inline-flex; align-items:center; gap:7px; margin:0 0 10px; color:#c31825; font-size:.72rem; font-weight:900; letter-spacing:.13em; }
.prelaunch-card h1 { position:relative; z-index:1; max-width:520px; margin:0 auto; color:#381114; font-family:"Roboto Slab",Georgia,serif; font-size:clamp(1.75rem,5vw,2.7rem); line-height:1.12; letter-spacing:-.04em; }
.prelaunch-copy { position:relative; z-index:1; max-width:500px; margin:13px auto 0; color:#675253; font-size:clamp(.93rem,2.2vw,1.03rem); line-height:1.55; }
.prelaunch-date { position:relative; z-index:1; display:grid; gap:5px; margin:24px auto 16px; padding:17px 16px; border:1px solid rgba(193,24,37,.18); border-radius:17px; background:linear-gradient(135deg,#fff2df,#fff8f8); }
.prelaunch-date span { display:flex; justify-content:center; align-items:center; gap:7px; color:#b31222; font-size:.72rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.prelaunch-date strong { color:#6c0a12; font-family:"Roboto Slab",Georgia,serif; font-size:clamp(1.35rem,4vw,1.85rem); line-height:1.15; }
.prelaunch-date small { color:#8e5f35; font-size:.82rem; font-weight:750; }
.prelaunch-signup { position:relative; z-index:1; margin-top:12px; padding:18px; border:1px solid #e7e2df; border-radius:18px; background:#fff; text-align:left; }
.prelaunch-signup-head { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.prelaunch-signup-head > span { display:grid; width:39px; height:39px; flex:0 0 auto; place-items:center; border-radius:12px; color:#c31825; background:#fff0f2; }
.prelaunch-signup-head b,.prelaunch-signup-head small { display:block; }
.prelaunch-signup-head b { color:#3a3536; font-size:.98rem; }
.prelaunch-signup-head small { margin-top:2px; color:#787071; font-size:.78rem; line-height:1.35; }
.prelaunch-form { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.prelaunch-form input { width:100%; min-width:0; min-height:46px; border:1px solid #dedee1; border-radius:11px; padding:0 13px; background:#fff; color:#343235; font:inherit; font-size:.88rem; outline:0; }
.prelaunch-form input:focus { border-color:#df1528; box-shadow:0 0 0 3px rgba(234,29,44,.1); }
.prelaunch-form input[type="email"] { grid-column:1/-1; }
.prelaunch-form button { grid-column:1/-1; min-height:48px; border:0; border-radius:11px; padding:0 15px; background:linear-gradient(135deg,#ef2635,#c30e20); color:#fff; font:inherit; font-size:.9rem; font-weight:900; box-shadow:0 9px 18px rgba(195,14,32,.18); cursor:pointer; }
.prelaunch-footer { position:relative; z-index:1; display:flex; justify-content:center; align-items:center; gap:7px; margin:18px 0 0; color:#776c6d; font-size:.79rem; font-weight:700; }
.prelaunch-footer i { color:#c31825; }
.prelaunch-confetti { position:absolute; width:160px; height:160px; border:18px solid rgba(248,177,29,.18); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; pointer-events:none; }
.prelaunch-confetti--one { top:-76px; right:-64px; transform:rotate(22deg); }
.prelaunch-confetti--two { bottom:-96px; left:-72px; border-color:rgba(188,16,31,.11); border-right-color:transparent; border-top-color:transparent; transform:rotate(-36deg); }

@media (max-width:520px) {
  .prelaunch-page { padding:14px; }
  .prelaunch-card { border-radius:22px; padding:28px 16px 23px; }
  .prelaunch-logo { width:78px; height:78px; margin-bottom:13px; }
  .prelaunch-form { grid-template-columns:1fr; }
  .prelaunch-form input[type="email"], .prelaunch-form button { grid-column:auto; }
  .prelaunch-signup { padding:15px; }
}

/* ---------- V17.3: cadastro de promoções e campanhas ---------- */
.marketing-signup-card {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(330px,.95fr);
  gap:16px;
  align-items:center;
  margin:20px 16px 110px;
  padding:20px;
  border:1px solid #f0d9dc;
  border-radius:19px;
  background:linear-gradient(135deg,#fff7f7 0%,#fff 58%,#fff8e8 100%);
  box-shadow:0 10px 25px rgba(122,10,20,.055);
}
.marketing-signup-icon { display:grid; width:48px; height:48px; place-items:center; border-radius:15px; background:#ffeaed; color:var(--red); font-size:1.18rem; }
.marketing-signup-copy small { color:var(--red); font-size:.66rem; font-weight:900; letter-spacing:.11em; }
.marketing-signup-copy h2 { margin:4px 0 4px; color:#343538; font-size:1.1rem; line-height:1.2; }
.marketing-signup-copy p { margin:0; color:#6f7074; font-size:.83rem; line-height:1.45; }
.marketing-signup-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; }
.marketing-signup-form input { min-width:0; min-height:43px; padding:0 12px; border:1px solid #dddde0; border-radius:10px; background:#fff; color:var(--ink); font:inherit; font-size:.82rem; outline:0; }
.marketing-signup-form input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.1); }
.marketing-signup-form button { min-height:43px; padding:0 13px; border:0; border-radius:10px; background:var(--red); color:#fff; font:inherit; font-size:.78rem; font-weight:850; white-space:nowrap; cursor:pointer; }
.marketing-signup-form button:hover { background:var(--red-dark); }

.campaign-title-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.campaign-title-actions form { margin:0; }
.promotion-admin-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:18px; padding:24px; overflow:hidden; border:1px solid rgba(133,12,20,.12); border-radius:18px; background:linear-gradient(125deg,#70090f 0%,#b21620 58%,#e36f1d 100%); color:#fff; box-shadow:0 14px 35px rgba(115,9,16,.17); }
.promotion-admin-hero > div:first-child { max-width:610px; }
.promotion-admin-hero small { display:block; margin-bottom:6px; color:#ffe5b3; font-size:.68rem; font-weight:900; letter-spacing:.12em; }
.promotion-admin-hero h2 { margin:0; color:#fff; font-size:clamp(1.35rem,2.8vw,2rem); line-height:1.12; }
.promotion-admin-hero p { margin:9px 0 0; color:#ffe9dc; font-size:.88rem; line-height:1.5; }
.promotion-audience-stats { display:grid; grid-template-columns:repeat(2,minmax(130px,1fr)); gap:10px; min-width:290px; }
.promotion-audience-stats article { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:9px; align-items:center; padding:12px; border:1px solid rgba(255,255,255,.2); border-radius:13px; background:rgba(255,255,255,.1); }
.promotion-audience-stats i { grid-row:span 2; display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#ffe079; color:#7a0b12; }
.promotion-audience-stats strong { font-size:1.22rem; line-height:1; }
.promotion-audience-stats span { color:#ffe9d3; font-size:.68rem; line-height:1.28; }
.promotion-create-card,.promotions-list-card { margin-top:18px; }
.promotion-create-form { display:grid; grid-template-columns:1.05fr 1.3fr 1.25fr auto; gap:12px; align-items:end; }
.promotion-create-form label { display:grid; gap:6px; color:#56575a; font-size:.78rem; font-weight:800; }
.promotion-create-form input,.promotion-create-form select,.campaign-form select { width:100%; min-height:42px; padding:0 10px; border:1px solid #dedee1; border-radius:9px; background:#fff; color:#37383b; font:inherit; }
.promotion-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.promotion-editor-card { min-width:0; padding:17px; border:1px solid #e9e9ea; border-radius:14px; background:#fff; }
.promotion-delete { border:0; background:transparent; color:#b71b2a; cursor:pointer; font:inherit; font-size:.78rem; font-weight:800; }
.promotion-delete:hover { text-decoration:underline; }

@media (max-width: 1080px) {
  .marketing-signup-card { grid-template-columns:auto minmax(0,1fr); }
  .marketing-signup-form { grid-column:1/-1; grid-template-columns:1fr 1fr auto; }
  .promotion-create-form { grid-template-columns:1fr 1fr; }
  .promotion-create-form button { width:max-content; }
}
@media (max-width: 900px) {
  .promotion-admin-hero { align-items:flex-start; flex-direction:column; }
  .promotion-audience-stats { width:100%; min-width:0; }
  .promotion-editor-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .marketing-signup-card { grid-template-columns:1fr; margin:16px 12px calc(96px + env(safe-area-inset-bottom)); padding:16px; }
  .marketing-signup-icon { width:44px; height:44px; }
  .marketing-signup-form { grid-column:auto; grid-template-columns:1fr; }
  .marketing-signup-form button { width:100%; }
  .campaign-title-actions { align-items:stretch; justify-content:flex-start; width:100%; }
  .campaign-title-actions form,.campaign-title-actions .btn { width:100%; }
  .promotion-admin-hero { padding:18px; }
  .promotion-audience-stats { grid-template-columns:1fr; }
  .promotion-create-form { grid-template-columns:1fr; }
  .promotion-create-form button { width:100%; }
}


/* ---------- V17.3: modal de promoções, editor HTML e menu com 4 itens ---------- */
.ifood-bottom-nav-four .bottom-nav-item { max-width: 148px; }
.marketing-panel { width: min(520px, 100%); overflow: hidden; }
.marketing-modal-scroll { max-height: min(700px, calc(100dvh - 36px)); overflow-y: auto; padding: 28px; }
.marketing-modal-hero { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 14px; align-items: start; padding: 4px 0 20px; border-bottom: 1px solid #eeeeef; }
.marketing-modal-hero > i { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 16px; color: var(--red); background: #fff0f2; font-size: 1.28rem; }
.marketing-modal-hero small { display: block; margin-bottom: 5px; color: var(--red); font-size: .67rem; font-weight: 900; letter-spacing: .12em; }
.marketing-modal-hero h2 { margin: 0; color: #313235; font-size: 1.35rem; line-height: 1.18; letter-spacing: -.03em; }
.marketing-modal-hero p { margin: 7px 0 0; color: #6f7074; font-size: .88rem; line-height: 1.45; }
.marketing-modal-form { display: grid; gap: 12px; margin-top: 20px; }
.marketing-modal-form label { display: grid; gap: 6px; color: #414246; font-size: .82rem; font-weight: 800; }
.marketing-modal-form label span { color: #88898c; font-size: .76rem; font-weight: 600; }
.marketing-modal-form input { width: 100%; min-height: 48px; border: 1px solid #dedee1; border-radius: 12px; padding: 0 13px; background: #fff; color: #313235; font: inherit; font-size: .9rem; outline: 0; }
.marketing-modal-form input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.10); }
.marketing-modal-form button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; background: var(--red); color: #fff; font: inherit; font-size: .9rem; font-weight: 900; cursor: pointer; }
.marketing-modal-form button:hover { background: var(--red-dark); }
.marketing-modal-privacy { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 14px 0 0; color: #77787b; font-size: .76rem; text-align: center; }
.marketing-modal-privacy i { color: var(--red); }
.email-code-editor { margin-top: 12px; border: 1px solid #dedee1; border-radius: 11px; background: #fbfbfc; overflow: hidden; }
.email-code-editor summary { display: flex; align-items: center; gap: 8px; padding: 11px 12px; color: #3f4043; font-size: .81rem; font-weight: 850; cursor: pointer; list-style: none; }
.email-code-editor summary::-webkit-details-marker { display: none; }
.email-code-editor summary::after { content: '\f107'; margin-left: auto; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: #85868a; }
.email-code-editor[open] summary::after { transform: rotate(180deg); }
.email-code-editor > p { margin: 0; padding: 0 12px 10px; color: #737478; font-size: .75rem; line-height: 1.4; }
.email-code-source { display: block; width: calc(100% - 24px); min-height: 220px; margin: 0 12px 12px; resize: vertical; border: 1px solid #24262b; border-radius: 8px; padding: 11px; background: #1f2329; color: #f7e7bc; font: 12px/1.48 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; tab-size: 2; outline: 0; }
.email-code-source:focus { border-color: #ed1b2f; box-shadow: 0 0 0 3px rgba(234,29,44,.14); }
.email-interval-field { display: grid; gap: 6px; margin-top: 12px; color: #4f5054; font-size: .79rem; font-weight: 800; }
.email-interval-field input { width: 100%; min-height: 42px; border: 1px solid #dedee1; border-radius: 9px; padding: 0 10px; background: #fff; color: #303134; font: inherit; }
.email-interval-field small { color: #77787b; font-size: .73rem; font-weight: 600; line-height: 1.35; }
@media (max-width: 650px) {
  .ifood-bottom-nav-four .bottom-nav-item { min-width: 0; max-width: none; }
  .ifood-bottom-nav-four .bottom-nav-item b { max-width: 84px; font-size: .61rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .marketing-modal-scroll { max-height: calc(100dvh - 22px); padding: 22px 16px calc(18px + env(safe-area-inset-bottom)); }
  .marketing-modal-hero { grid-template-columns: 43px minmax(0, 1fr); gap: 11px; }
  .marketing-modal-hero > i { width: 43px; height: 43px; border-radius: 13px; font-size: 1.1rem; }
  .marketing-modal-hero h2 { font-size: 1.2rem; }
}


/* ---------- V18: adicionais por produto e menu de quatro itens ---------- */
.ifood-bottom-nav-four { justify-content: stretch; }
.ifood-bottom-nav-four .bottom-nav-item { flex: 1 1 25%; max-width: none; min-width: 0; }
.ifood-bottom-nav-four .bottom-nav-item b { max-width: 100%; font-size: .64rem; white-space: nowrap; overflow: visible; text-overflow: clip; }
.orders-nav-count { position:absolute; top:7px; right:calc(50% - 24px); min-width:18px; height:18px; display:grid; place-items:center; padding:0 5px; border:2px solid #fff; border-radius:99px; background:var(--red); color:#fff; font-style:normal; font-size:.62rem; font-weight:900; line-height:1; }
.orders-nav-count[hidden] { display:none!important; }
.bottom-nav-item[data-orders-nav].has-active-order, .bottom-nav-item[data-orders-nav].has-active-order > i, .bottom-nav-item[data-orders-nav].has-active-order > b { color:#666769!important; }
.bottom-nav-item[data-orders-nav].has-active-order > i::after { display:none!important; }
.product-addons { margin-top:4px; border:1px solid #e8e8ea; border-radius:13px; overflow:hidden; background:#fff; }
.product-addons-head { padding:12px 13px 9px; border-bottom:1px solid #efeff0; }
.product-addons-head b { display:block; color:#343538; font-size:.92rem; }
.product-addons-head span { display:block; margin-top:2px; color:#838487; font-size:.74rem; }
.product-addon-line { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; border-bottom:1px solid #f0f0f1; }
.product-addon-line:last-child { border-bottom:0; }
.product-addon-line b { display:block; color:#414245; font-size:.87rem; }
.product-addon-line small { display:block; margin-top:2px; color:var(--green); font-size:.79rem; font-weight:800; }
.addon-qty-control { display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; }
.addon-qty-control button { width:29px; height:29px; border:0; border-radius:8px; background:#f4f4f5; color:var(--red); font-size:1.1rem; font-weight:800; }
.addon-qty-control button:disabled { opacity:.38; }
.addon-qty-control span { min-width:14px; text-align:center; color:#36373a; font-weight:850; }
.cart-line-addons { display:block; color:#6a6b6e!important; line-height:1.36; }
.checkout-preview small { display:block; margin-top:3px; color:#77787b; font-size:.76rem; }
.product-addons-admin { margin-top:8px; padding:18px; border:1px solid #eeeeef; border-radius:16px; background:#fcfcfc; }
.product-addons-admin-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:15px; }
.product-addons-admin-head small { color:var(--red); font-size:.66rem; font-weight:900; letter-spacing:.09em; }
.product-addons-admin-head h3 { margin:4px 0 3px; font-size:1.05rem; }
.product-addons-admin-head p { margin:0; color:#747579; font-size:.82rem; }
.admin-addon-list { display:grid; gap:10px; }
.admin-addon-row { display:grid; grid-template-columns:minmax(150px,2fr) minmax(100px,1fr) 105px 85px auto 38px; gap:9px; align-items:end; padding:12px; border:1px solid #e6e6e8; border-radius:12px; background:#fff; }
.admin-addon-row label { display:grid; gap:5px; color:#56575a; font-size:.73rem; font-weight:800; }
.admin-addon-row input { width:100%; min-height:38px; border:1px solid #dedee1; border-radius:8px; padding:0 9px; font:inherit; }
.admin-addon-row .addon-switch { display:flex; min-height:38px; align-items:center; gap:5px; white-space:nowrap; }
.admin-addon-row .addon-switch input { width:auto; min-height:auto; }
.addon-remove { width:38px; height:38px; border:0; border-radius:9px; background:#fff0f1; color:var(--red); }
.addon-empty { margin:0; padding:13px; border-radius:10px; background:#fff; color:#747579; font-size:.84rem; }
@media(max-width:850px){.admin-addon-row{grid-template-columns:1fr 1fr;}.admin-addon-row .addon-switch{grid-column:auto}.addon-remove{justify-self:end}.product-addons-admin-head{flex-direction:column}.product-addons-admin-head .btn{width:100%;}}
@media(max-width:440px){.ifood-bottom-nav-four .bottom-nav-item b{font-size:.6rem}.product-addon-line{padding:10px}.addon-qty-control{gap:5px}.addon-qty-control button{width:27px;height:27px}.admin-addon-row{grid-template-columns:1fr;}.addon-remove{width:100%;}.admin-addon-row .addon-switch{min-height:30px;}}

/* ---------- V19: combos, navegação garantida e telas públicas premium ---------- */
:root { --brand-wine:#761016; --brand-wine-deep:#3f0708; --brand-gold:#f8b928; --brand-cream:#fff6e8; }

/* Mantém os quatro botões sempre visíveis, inclusive em telas pequenas. */
.ifood-bottom-nav.ifood-bottom-nav-four {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  justify-content:stretch !important;
  height:calc(72px + env(safe-area-inset-bottom)) !important;
  padding-bottom:env(safe-area-inset-bottom) !important;
  z-index:1200 !important;
}
.ifood-bottom-nav.ifood-bottom-nav-four .bottom-nav-item {
  display:grid !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:72px;
  padding:8px 3px 6px;
  grid-template-rows:25px auto;
  align-content:center;
}
.ifood-bottom-nav.ifood-bottom-nav-four .bottom-nav-item > i {
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:currentColor !important;
  font-size:1.18rem !important;
  line-height:1 !important;
}
.ifood-bottom-nav.ifood-bottom-nav-four .bottom-nav-item b { display:block; width:100%; max-width:100%; font-size:.63rem !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ifood-bottom-nav.ifood-bottom-nav-four .orders-nav-count { position:absolute !important; top:6px !important; right:calc(50% - 23px) !important; z-index:2; display:grid !important; }
.ifood-bottom-nav.ifood-bottom-nav-four .orders-nav-count[hidden] { display:none !important; }
body.store-body { padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important; }
.cart-summary-bar { z-index:1190 !important; bottom:calc(83px + env(safe-area-inset-bottom)) !important; }

/* Carrinho: lixeira fica imediatamente depois do botão +. */
.cart-line-actions { display:flex !important; align-items:center !important; justify-content:flex-end; gap:8px !important; flex-wrap:nowrap !important; }
.qty-mini { display:inline-flex !important; align-items:center; flex:0 0 auto; }
.remove-line { width:33px !important; height:33px !important; flex:0 0 33px !important; display:grid !important; place-items:center !important; border:1px solid #f2cfd2 !important; border-radius:9px !important; background:#fff5f5 !important; color:var(--red) !important; }
.cart-line-combo { display:block; margin-top:4px; color:#6c5542 !important; font-weight:700; }
.cart-line-combo i { color:var(--red); margin-right:4px; }

/* Escolha de bebida no combo. */
.combo-choice { margin-top:12px; border:1px solid #f0d9a7; border-radius:14px; overflow:hidden; background:#fffaf0; }
.combo-choice-head { padding:12px 13px 10px; border-bottom:1px solid #f4e5c6; }
.combo-choice-head b { display:block; color:#48220d; font-size:.92rem; }
.combo-choice-head span { display:block; margin-top:3px; color:#9a6a2c; font-size:.75rem; }
.combo-choice-list { display:grid; gap:8px; padding:10px; }
.combo-choice-option { width:100%; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:52px; padding:8px 10px; border:1px solid #eadfcf; border-radius:11px; background:#fff; color:#36373a; text-align:left; font:inherit; cursor:pointer; }
.combo-choice-option > span { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:#fff2d9; color:#b56d00; }
.combo-choice-option b { display:block; font-size:.85rem; }
.combo-choice-option small { display:block; margin-top:2px; color:#737478; font-size:.72rem; }
.combo-choice-option > i { opacity:0; color:#fff; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--red); font-size:.65rem; }
.combo-choice-option.selected { border-color:var(--red); background:#fff7f7; box-shadow:0 0 0 2px rgba(234,29,44,.08); }
.combo-choice-option.selected > i { opacity:1; }
.combo-choice-empty { margin:0; padding:8px 4px; color:#8a5b2b; font-size:.8rem; }
.product-badge-combo { color:#8a5200; background:#fff0c9; }

/* Administração dos combos. */
.combo-options-admin { margin-top:8px; padding:18px; border:1px solid #f0ddb7; border-radius:16px; background:linear-gradient(145deg,#fffaf0,#fff); }
.combo-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; max-height:300px; overflow:auto; padding-right:2px; }
.combo-option-check { display:flex; gap:9px; align-items:flex-start; padding:11px; border:1px solid #eee0c8; border-radius:11px; background:#fff; cursor:pointer; }
.combo-option-check input { width:17px; height:17px; accent-color:var(--red); margin:1px 0 0; }
.combo-option-check b { display:block; color:#37383a; font-size:.83rem; }
.combo-option-check small { display:block; margin-top:3px; color:#737478; font-size:.73rem; }
.combo-option-check.is-paused { opacity:.6; }
.combo-admin-pill { display:inline-block; margin-left:6px; padding:2px 6px; border-radius:999px; background:#fff0c9; color:#8a5200; font-size:.65rem; vertical-align:middle; }

/* Página de inauguração / manutenção com a identidade da Kabéca. */
.brand-gate-page { min-height:100dvh; margin:0; padding:clamp(16px,4vw,44px); display:grid; place-items:center; color:#3a1714; background:
  radial-gradient(circle at 12% 8%, rgba(248,185,40,.55), transparent 25%),
  radial-gradient(circle at 88% 88%, rgba(223,77,24,.36), transparent 24%),
  linear-gradient(135deg,#410606 0%,#811014 45%,#c33a18 100%); font-family:"DM Sans",Arial,sans-serif; }
.brand-gate-shell { width:min(980px,100%); min-height:590px; display:grid; grid-template-columns:minmax(300px,.88fr) minmax(360px,1.12fr); overflow:hidden; border:1px solid rgba(255,225,166,.38); border-radius:28px; background:#fff9ef; box-shadow:0 28px 80px rgba(25,0,0,.36); }
.brand-gate-visual { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; padding:38px 28px; color:#fff3d6; text-align:center; background:linear-gradient(155deg,#57080a,#9d1718 64%,#d55818); }
.brand-gate-visual:before { content:""; position:absolute; inset:15px; border:1px solid rgba(255,206,84,.42); border-radius:20px; pointer-events:none; }
.brand-gate-glow { position:absolute; border-radius:50%; filter:blur(2px); opacity:.5; }
.brand-gate-glow-one { width:250px; height:250px; left:-80px; top:-70px; background:#ffba20; }
.brand-gate-glow-two { width:230px; height:230px; right:-120px; bottom:-100px; background:#f2511a; }
.brand-gate-points { position:relative; z-index:1; color:#ffd35d; font-size:1.15rem; letter-spacing:.42em; }
.brand-gate-logo-art { position:relative; z-index:1; width:min(245px,72%); height:auto; filter:drop-shadow(0 12px 18px rgba(0,0,0,.25)); }
.brand-gate-visual p { position:relative; z-index:1; margin:0; font-size:.67rem; font-weight:900; letter-spacing:.22em; color:#ffd367; }
.brand-gate-visual strong { position:relative; z-index:1; font-family:"Roboto Slab",Georgia,serif; color:#fff7e9; font-size:1.35rem; line-height:1.35; }
.brand-gate-visual em { color:#ffd15b; font-style:normal; }
.brand-gate-content { display:flex; flex-direction:column; align-items:stretch; justify-content:center; padding:clamp(25px,5vw,54px); background:linear-gradient(145deg,#fffdf8,#fff3dd); }
.brand-gate-mobile-logo { display:none; }
.brand-gate-kicker { display:flex; align-items:center; gap:7px; color:#c61527; font-size:.68rem; font-weight:900; letter-spacing:.13em; }
.brand-gate-content h1 { margin:11px 0 10px; color:#561216; font-family:"Roboto Slab",Georgia,serif; font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.12; letter-spacing:-.035em; }
.brand-gate-copy { margin:0; color:#725a50; font-size:.94rem; line-height:1.55; }
.brand-gate-date { display:grid; gap:4px; margin:22px 0 14px; padding:15px 17px; border:1px solid #f0c98c; border-radius:15px; background:linear-gradient(135deg,#fffaf0,#fff1d8); text-align:center; }
.brand-gate-date span { color:#a44b13; font-size:.67rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.brand-gate-date strong { color:#7b1217; font-family:"Roboto Slab",Georgia,serif; font-size:1.35rem; }
.brand-gate-date small { color:#9b622c; font-size:.75rem; font-weight:800; }
.brand-gate-form { display:grid; gap:9px; padding:15px; border:1px solid #eadfda; border-radius:17px; background:#fff; box-shadow:0 8px 20px rgba(95,25,12,.06); }
.brand-gate-form-head { display:grid; grid-template-columns:36px minmax(0,1fr); gap:9px; align-items:center; margin-bottom:2px; }
.brand-gate-form-head > span { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--red); background:#fff0f2; }
.brand-gate-form-head b { display:block; color:#37383b; font-size:.86rem; }
.brand-gate-form-head small { display:block; margin-top:2px; color:#747579; font-size:.72rem; line-height:1.35; }
.brand-gate-form input { width:100%; min-height:45px; border:1px solid #dfdedf; border-radius:10px; padding:0 12px; color:#333; background:#fff; font:inherit; font-size:.84rem; outline:0; }
.brand-gate-form input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.10); }
.brand-gate-form button { min-height:47px; border:0; border-radius:10px; background:linear-gradient(135deg,#ea1d2c,#bd0e1c); color:#fff; font:inherit; font-weight:900; font-size:.86rem; cursor:pointer; box-shadow:0 10px 18px rgba(184,14,27,.2); }
.brand-gate-foot { display:flex; align-items:center; justify-content:center; gap:6px; margin:14px 0 0; color:#735e55; font-size:.74rem; text-align:center; }
.brand-gate-foot i { color:#a84418; }
.maintenance-status { display:grid; gap:4px; margin:22px 0 14px; padding:14px 16px; border:1px solid #ead9b7; border-radius:14px; background:#fffaf0; }
.maintenance-status span { color:#63400c; font-size:.83rem; font-weight:900; }
.maintenance-status span i { color:#efb12a; font-size:.62rem; margin-right:6px; }
.maintenance-status small { color:#796858; font-size:.75rem; }
.brand-gate-whatsapp { display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; margin-top:12px; border-radius:11px; background:#25b968; color:#fff; font-weight:900; text-decoration:none; font-size:.86rem; }

@media(max-width:720px){
  .brand-gate-page { padding:0; place-items:stretch; background:linear-gradient(160deg,#57080a,#991417 52%,#da5a19); }
  .brand-gate-shell { min-height:100dvh; grid-template-columns:1fr; border:0; border-radius:0; box-shadow:none; }
  .brand-gate-visual { display:none; }
  .brand-gate-content { min-height:100dvh; padding:30px 18px calc(26px + env(safe-area-inset-bottom)); justify-content:center; }
  .brand-gate-mobile-logo { display:block; width:104px; margin:0 auto 17px; filter:drop-shadow(0 8px 10px rgba(74,14,5,.16)); }
  .brand-gate-kicker { justify-content:center; }
  .brand-gate-content h1 { text-align:center; font-size:1.8rem; }
  .brand-gate-copy { text-align:center; }
  .combo-option-grid { grid-template-columns:1fr; }
}
@media(max-width:400px){.ifood-bottom-nav.ifood-bottom-nav-four .bottom-nav-item b{font-size:.58rem!important}.brand-gate-content{padding-inline:14px}.brand-gate-content h1{font-size:1.6rem}}


/* ---------- V21: controle de estoque ---------- */
.inventory-layout {
  display: grid;
  grid-template-columns: minmax(320px, .8fr) minmax(560px, 1.2fr);
  gap: 18px;
  align-items: start;
}
.inventory-main-column { display: grid; gap: 18px; min-width: 0; }
.inventory-editor-card { position: sticky; top: 18px; }
.inventory-metrics { margin-bottom: 18px; }
.inventory-metric-alert {
  border-color: #f3c5c9 !important;
  background: #fff9fa !important;
}
.inventory-form-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin: 0 0 12px; }
.inventory-form-head small { display:block; color:var(--red); font-size:.67rem; font-weight:900; letter-spacing:.1em; }
.inventory-form-head h3 { margin:4px 0 0; color:#303135; font-size:1.05rem; }
.inventory-movement-form { margin-top: 6px; }
.inventory-empty-state {
  display:flex; align-items:center; gap:12px; padding:16px; border:1px solid #cfebdc; border-radius:12px; background:#f4fff8;
}
.inventory-empty-state > i {
  display:grid; width:40px; height:40px; flex:0 0 auto; place-items:center; border-radius:50%; background:#dff7e9; color:#14834a;
}
.inventory-empty-state b,.inventory-empty-state span { display:block; }
.inventory-empty-state b { color:#207146; font-size:.94rem; }
.inventory-empty-state span { margin-top:2px; color:#5b7d68; font-size:.81rem; }
.stock-alert-list { display:grid; gap:10px; }
.stock-alert {
  display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px;
  padding:13px; border:1px solid #f2d7a5; border-radius:12px; background:#fffaf0;
}
.stock-alert.is-out { border-color:#f2b9bf; background:#fff4f5; }
.stock-alert-icon {
  display:grid; width:40px; height:40px; place-items:center; border-radius:12px;
  background:#fff0c9; color:#9a6400;
}
.stock-alert.is-out .stock-alert-icon { background:#ffe1e4; color:#c32a38; }
.stock-alert-copy { display:grid; min-width:0; gap:3px; }
.stock-alert-copy b { color:#38393c; font-size:.92rem; }
.stock-alert-copy span { color:#6f633f; font-size:.81rem; line-height:1.35; }
.stock-alert.is-out .stock-alert-copy span { color:#8d4d54; }
.stock-alert-copy small { color:#8c8d90; font-size:.72rem; }
.inventory-table-wrap { overflow:auto; border:1px solid #eeeeef; border-radius:12px; }
.inventory-table { width:100%; min-width:760px; border-collapse:collapse; background:#fff; }
.inventory-table th,
.inventory-table td { padding:13px 12px; border-bottom:1px solid #eeeeef; text-align:left; vertical-align:middle; }
.inventory-table th { color:#77787d; background:#fafafb; font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.inventory-table td { color:#444549; font-size:.82rem; }
.inventory-table tr:last-child td { border-bottom:0; }
.inventory-table tr.is-paused { opacity:.58; }
.inventory-table tr.needs-purchase { background:#fffdfa; }
.inventory-table td b { display:block; color:#333438; font-size:.88rem; }
.inventory-table td small { display:block; margin-top:3px; color:#85868a; font-size:.72rem; line-height:1.3; }
.inventory-table td strong { color:#222326; font-size:.88rem; }
.inventory-status {
  display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:999px;
  font-size:.7rem; font-weight:900; white-space:nowrap;
}
.inventory-status.ok { background:#e9f9f0; color:#167447; }
.inventory-status.warning { background:#fff0cf; color:#9d6200; }
.inventory-status.danger { background:#ffe7e9; color:#b82534; }
.inventory-status.muted { background:#eff0f2; color:#76777b; }
.inventory-row-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.inventory-row-actions a,
.inventory-row-actions button {
  display:inline-flex; align-items:center; min-height:30px; padding:0 8px; border:1px solid #dddddf; border-radius:8px;
  background:#fff; color:#56575b; font:inherit; font-size:.72rem; font-weight:800; text-decoration:none; cursor:pointer;
}
.inventory-row-actions a:hover,
.inventory-row-actions button:hover { border-color:#e39aa2; color:var(--red); background:#fff8f8; }
.inventory-recipes-card,
.inventory-history-card { margin-top:18px; }
.inventory-recipe-form {
  display:grid; grid-template-columns:1fr minmax(200px,1.5fr) minmax(200px,1.3fr) 150px auto;
  gap:10px; align-items:end; margin:16px 0 18px;
}
.inventory-recipe-form label { display:grid; gap:6px; min-width:0; color:#48494d; font-size:.76rem; font-weight:800; }
.inventory-recipe-form select,
.inventory-recipe-form input { min-width:0; }
.inventory-recipe-form .btn { min-height:42px; white-space:nowrap; }
.inventory-recipe-list { display:grid; border-top:1px solid #eeeeef; }
.inventory-recipe-list article {
  display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:11px; align-items:center;
  padding:13px 0; border-bottom:1px solid #eeeeef;
}
.inventory-recipe-list article:last-child { border-bottom:0; }
.inventory-recipe-icon {
  display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:#fff0f2; color:var(--red);
}
.inventory-recipe-list b,.inventory-recipe-list span { display:block; }
.inventory-recipe-list b { color:#36373a; font-size:.88rem; }
.inventory-recipe-list span { margin-top:3px; color:#75767a; font-size:.78rem; line-height:1.38; }
.inventory-recipe-list span strong { color:#4b4c50; }
.inventory-remove-recipe {
  display:grid; width:34px; height:34px; place-items:center; border:1px solid #edd1d4; border-radius:9px;
  background:#fff; color:var(--red); cursor:pointer;
}
.inventory-remove-recipe:hover { background:#fff1f2; }
.inventory-delta { display:block; font-weight:900; white-space:nowrap; }
.inventory-delta.in { color:#11804a; }
.inventory-delta.out { color:#c32131; }
.inventory-history-table td:nth-child(5) { max-width:220px; overflow-wrap:anywhere; }

@media (max-width: 1100px) {
  .inventory-layout { grid-template-columns:1fr; }
  .inventory-editor-card { position:static; }
  .inventory-recipe-form { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .inventory-recipe-form .btn { grid-column:1 / -1; }
}
@media (max-width: 720px) {
  .stock-alert { grid-template-columns:38px minmax(0,1fr); }
  .stock-alert .btn { grid-column:2; justify-self:start; }
  .inventory-recipe-form { grid-template-columns:1fr; }
  .inventory-recipe-form .btn { grid-column:auto; width:100%; }
  .inventory-recipe-list article { grid-template-columns:36px minmax(0,1fr); }
  .inventory-recipe-list form { grid-column:2; }
  .inventory-table { min-width:680px; }
}

/* ---------- V22: ficha técnica completa e vendas externas ---------- */
.external-sales-card { overflow: hidden; }
.external-sales-form,
.inventory-recipe-batch-form { display:grid; gap:14px; margin-top:14px; }
.external-sales-form > .form-grid { margin:0; }
.external-sale-head,
.recipe-batch-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.external-sale-head small,
.recipe-batch-head small,
.external-sales-history-title small { display:block; color:var(--red); font-size:.66rem; font-weight:900; letter-spacing:.1em; }
.external-sale-head b,
.recipe-batch-head b { display:block; margin-top:3px; color:#343538; font-size:.92rem; }
.external-sale-lines,
.recipe-batch-lines { display:grid; gap:9px; }
.external-sale-row {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,1.15fr) 104px 38px;
  gap:9px;
  align-items:end;
  padding:11px;
  border:1px solid #efdfc2;
  border-radius:12px;
  background:#fffaf1;
}
.recipe-batch-line {
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px 38px;
  gap:9px;
  align-items:end;
  padding:11px;
  border:1px solid #eeeef0;
  border-radius:12px;
  background:#fafafb;
}
.external-sale-row label,
.recipe-batch-line label,
.inventory-recipe-source-grid label { display:grid; gap:6px; min-width:0; color:#45464b; font-size:.75rem; font-weight:800; }
.external-sale-row select,
.external-sale-row input,
.recipe-batch-line select,
.recipe-batch-line input,
.inventory-recipe-source-grid select { min-width:0; }
.inventory-line-remove {
  display:grid; width:38px; height:38px; place-items:center; border:1px solid #edd1d4; border-radius:10px;
  background:#fff; color:var(--red); cursor:pointer;
}
.inventory-line-remove:hover { background:#fff1f2; }
.external-sales-history { margin-top:18px; padding-top:16px; border-top:1px solid #ededee; }
.external-sales-history-title { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.external-sales-history-title span { color:#77787d; font-size:.75rem; line-height:1.35; text-align:right; }
.external-sales-list { display:grid; gap:8px; }
.external-sales-list article {
  display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:10px; align-items:center;
  padding:10px; border:1px solid #eeeeef; border-radius:11px; background:#fff;
}
.external-sales-list article.is-reversed { opacity:.65; background:#fafafa; }
.external-sale-channel { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:#fff0f2; color:var(--red); }
.external-sales-list b,.external-sales-list span,.external-sales-list small { display:block; }
.external-sales-list b { color:#36373a; font-size:.82rem; }
.external-sales-list span { margin-top:2px; color:#66676b; font-size:.74rem; line-height:1.35; overflow-wrap:anywhere; }
.external-sales-list small { margin-top:3px; color:#8b8c90; font-size:.7rem; line-height:1.3; }
.external-sale-actions form { margin:0; }
.external-sale-actions button {
  min-height:30px; padding:0 9px; border:1px solid #efd0d3; border-radius:8px; background:#fff; color:#b62432;
  font:inherit; font-size:.71rem; font-weight:900; cursor:pointer;
}
.external-sale-actions button:hover { background:#fff1f2; }
.inventory-recipe-source-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:10px; align-items:end; }
.inventory-recipe-batch-form .btn.primary { justify-self:start; }

@media (max-width: 1100px) {
  .external-sale-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 104px 38px; }
}
@media (max-width: 720px) {
  .external-sale-head,
  .recipe-batch-head { align-items:flex-start; flex-direction:column; }
  .external-sale-head .btn,
  .recipe-batch-head .btn { width:100%; }
  .external-sale-row,
  .recipe-batch-line,
  .inventory-recipe-source-grid { grid-template-columns:1fr; }
  .external-sale-row > .inventory-line-remove,
  .recipe-batch-line > .inventory-line-remove { width:100%; height:35px; }
  .external-sales-history-title { align-items:flex-start; flex-direction:column; }
  .external-sales-history-title span { text-align:left; }
  .external-sales-list article { grid-template-columns:34px minmax(0,1fr); }
  .external-sale-actions { grid-column:2; }
  .inventory-recipe-batch-form .btn.primary { width:100%; }
}


/* ---------- V23: menu administrativo por grupos e cupom por usuários ---------- */
.admin-sidebar .admin-nav-groups { display:grid; gap:6px; min-height:0; overflow:auto; padding:0 1px 10px; }
.admin-sidebar .admin-nav-link,
.admin-sidebar .admin-menu-group > summary,
.admin-sidebar .admin-submenu a { min-height:43px; padding:0 12px; border-radius:10px; display:flex; align-items:center; gap:9px; color:#67686a; font-size:.87rem; font-weight:780; text-decoration:none; cursor:pointer; }
.admin-sidebar .admin-nav-link:hover,
.admin-sidebar .admin-nav-link.active,
.admin-sidebar .admin-menu-group > summary:hover,
.admin-sidebar .admin-menu-group > summary.active-group,
.admin-sidebar .admin-submenu a:hover,
.admin-sidebar .admin-submenu a.active { background:#fff0f2; color:var(--red); }
.admin-sidebar .admin-menu-group { border:0; }
.admin-sidebar .admin-menu-group > summary { list-style:none; justify-content:space-between; user-select:none; }
.admin-sidebar .admin-menu-group > summary::-webkit-details-marker { display:none; }
.admin-sidebar .admin-menu-group > summary > span { min-width:0; display:flex; align-items:center; gap:9px; }
.admin-sidebar .group-chevron { font-size:.72rem; transition:transform .18s ease; }
.admin-sidebar .admin-menu-group[open] .group-chevron { transform:rotate(180deg); }
.admin-sidebar .admin-submenu { display:grid; gap:4px; margin:3px 0 7px 18px; padding:4px 0 4px 10px; border-left:1px solid #eee0e2; }
.admin-sidebar .admin-submenu a { min-height:39px; padding:0 10px; font-size:.8rem; }
.admin-sidebar .admin-submenu a i { width:18px; text-align:center; font-size:.8rem; }
.admin-sidebar .admin-nav-link > i,
.admin-sidebar .admin-menu-group summary > span > i { width:20px; text-align:center; }
.admin-sidebar .admin-nav-link .nav-badge,
.admin-sidebar .admin-submenu .nav-badge { margin-left:auto; }
.coupon-rule-box { display:grid; grid-template-columns:36px minmax(0,1fr); gap:10px; align-items:start; padding:12px; border:1px solid #f1d4a7; border-radius:12px; background:#fff8ec; }
.coupon-rule-box > i { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#b36d00; background:#fff0ca; }
.coupon-rule-box b { display:block; color:#533010; font-size:.84rem; }
.coupon-rule-box span { display:block; margin-top:3px; color:#75604d; font-size:.76rem; line-height:1.4; }
.coupon-admin-row.is-exhausted { opacity:.78; }
.coupon-admin-copy small strong { color:var(--red); }

@media (max-width: 980px) {
  .admin-body { grid-template-columns:1fr; }
  .admin-sidebar { height:auto; min-height:0; position:sticky; top:0; z-index:50; flex-direction:column; align-items:stretch; padding:10px 12px; }
  .admin-logo { padding:2px 6px 8px; }
  .admin-sidebar .admin-nav-groups { display:flex; width:100%; gap:6px; overflow-x:auto; overflow-y:visible; padding:0 0 3px; scrollbar-width:none; }
  .admin-sidebar .admin-nav-groups::-webkit-scrollbar { display:none; }
  .admin-sidebar .admin-nav-link,
  .admin-sidebar .admin-menu-group { flex:0 0 auto; }
  .admin-sidebar .admin-nav-link { white-space:nowrap; min-height:38px; padding:0 10px; font-size:.77rem; }
  .admin-sidebar .admin-menu-group > summary { min-height:38px; padding:0 10px; white-space:nowrap; font-size:.77rem; }
  .admin-sidebar .admin-menu-group { position:relative; }
  .admin-sidebar .admin-menu-group[open] .admin-submenu { position:absolute; top:42px; left:0; z-index:100; min-width:210px; margin:0; padding:7px; border:1px solid #eadfe0; border-radius:12px; background:#fff; box-shadow:0 14px 30px rgba(53,17,20,.16); }
  .admin-sidebar .admin-submenu a { min-height:38px; font-size:.78rem; }
  .admin-sidebar .side-bottom { display:none; }
}


/* ---------- V24: operação segmentada e manutenção pública ---------- */
.admin-sidebar .admin-submenu-group { display:block; width:100%; }
.admin-sidebar .admin-submenu-group > summary { list-style:none; min-height:39px; padding:0 10px; border-radius:9px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:#67686a; cursor:pointer; font-size:.8rem; font-weight:790; }
.admin-sidebar .admin-submenu-group > summary::-webkit-details-marker { display:none; }
.admin-sidebar .admin-submenu-group > summary > span { display:flex; align-items:center; gap:8px; min-width:0; width:100%; }
.admin-sidebar .admin-submenu-group > summary:hover,
.admin-sidebar .admin-submenu-group > summary.active-group { background:#fff0f2; color:var(--red); }
.admin-sidebar .admin-submenu-group .admin-submenu-nested { margin:3px 0 6px 10px; padding-left:10px; border-left:1px dashed #edcfd3; }
.admin-sidebar .admin-submenu-group .admin-submenu-nested a { min-height:36px; font-size:.76rem; }
.admin-sidebar .admin-submenu-group[open] > summary .group-chevron { transform:rotate(180deg); }

/* Cada função de estoque abre em uma página focada, sem poluir a tela. */
.admin-body[data-inventory-tab] [data-inventory-section] { display:none !important; }
.admin-body[data-inventory-tab="overview"] [data-inventory-section="overview"],
.admin-body[data-inventory-tab="register"] [data-inventory-section="register"],
.admin-body[data-inventory-tab="recipes"] [data-inventory-section="recipes"],
.admin-body[data-inventory-tab="movements"] [data-inventory-section="movements"],
.admin-body[data-inventory-tab="external"] [data-inventory-section="external"],
.admin-body[data-inventory-tab="alerts"] [data-inventory-section="alerts"] { display:block !important; }
.admin-body[data-inventory-tab="overview"] .inventory-metrics { display:grid !important; }
.admin-body[data-inventory-tab="overview"] .inventory-layout,
.admin-body[data-inventory-tab="register"] .inventory-layout,
.admin-body[data-inventory-tab="movements"] .inventory-layout,
.admin-body[data-inventory-tab="external"] .inventory-layout,
.admin-body[data-inventory-tab="alerts"] .inventory-layout { display:block; }
.admin-body[data-inventory-tab="register"] .inventory-editor-card,
.admin-body[data-inventory-tab="movements"] .inventory-movement-card { max-width:780px; }
.admin-body[data-inventory-tab="external"] .inventory-main-column,
.admin-body[data-inventory-tab="alerts"] .inventory-main-column,
.admin-body[data-inventory-tab="overview"] .inventory-main-column { display:block; }
.admin-body[data-inventory-tab="register"] .inventory-main-column,
.admin-body[data-inventory-tab="movements"] .inventory-main-column { display:none; }
.admin-body[data-inventory-tab="recipes"] .inventory-layout { display:none; }
.admin-body[data-inventory-tab="movements"] .inventory-history-card { max-width:1180px; }
.admin-body[data-inventory-tab="external"] .external-sales-card,
.admin-body[data-inventory-tab="alerts"] .inventory-alerts-card { max-width:1180px; }

@media (max-width: 980px) {
  .admin-sidebar .admin-submenu-group { position:relative; }
  .admin-sidebar .admin-submenu-group[open] .admin-submenu-nested { position:static; min-width:0; margin:4px 0 6px 8px; box-shadow:none; border:0; border-left:1px dashed #edcfd3; background:transparent; }
}

/* ---------- V25: menu recolhível, produtos separados e painel analítico ---------- */
.admin-body { display:block; }
.admin-main { width:100%; max-width:1640px; margin:0 auto; padding:28px clamp(20px,4vw,58px) 48px; }
.admin-sidebar {
  position:fixed; inset:0 auto 0 0; z-index:1002; width:min(292px,calc(100vw - 34px)); height:100dvh; min-height:100dvh;
  padding:16px 12px; transform:translateX(-105%); transition:transform .22s ease; box-shadow:18px 0 42px rgba(29,20,20,.15); overflow-y:auto;
}
.admin-body.admin-menu-open { overflow:hidden; }
.admin-body.admin-menu-open .admin-sidebar { transform:translateX(0); }
.admin-menu-backdrop { position:fixed; inset:0; z-index:1001; background:rgba(25,20,21,.42); opacity:0; pointer-events:none; transition:opacity .22s ease; }
.admin-body.admin-menu-open .admin-menu-backdrop { opacity:1; pointer-events:auto; }
.admin-sidebar-brand-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 3px 17px; }
.admin-sidebar .admin-logo { padding:2px 6px; min-width:0; }
.admin-menu-close,.admin-menu-toggle { border:1px solid #e4e4e6; border-radius:10px; background:#fff; color:#4d4e52; cursor:pointer; display:grid; place-items:center; }
.admin-menu-close { width:38px; height:38px; flex:none; }
.admin-menu-toggle { width:42px; height:42px; flex:none; font-size:1.05rem; }
.admin-menu-close:hover,.admin-menu-toggle:hover { border-color:#f0b8bf; background:#fff0f2; color:var(--red); }
.admin-header-title { display:flex; align-items:center; gap:12px; min-width:0; }
.admin-header-title h1 { overflow-wrap:anywhere; }
.admin-sidebar .side-bottom { margin-top:auto; padding:14px 9px 2px; }
.admin-sidebar .side-bottom form { margin:0; }
.admin-sidebar .side-bottom a,.admin-sidebar .side-bottom button { display:flex; align-items:center; gap:8px; width:100%; min-height:35px; border:0; padding:0; text-align:left; color:#77787b; background:transparent; font:inherit; font-size:.83rem; font-weight:650; cursor:pointer; }
.admin-sidebar .side-bottom a:hover,.admin-sidebar .side-bottom button:hover { color:var(--red); }
.admin-sidebar .admin-nav-groups { overflow:visible; }

.admin-single-column { width:min(980px,100%); }
.admin-products-list-layout { display:grid; gap:18px; }
.product-edit-inline { margin-bottom:0; }
.product-editor-card { max-width:980px; }
.product-image-upload { display:grid; gap:8px; }
.product-image-preview-card { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:13px; padding:11px; border:1px dashed #e3b8bd; border-radius:13px; background:#fff9f9; }
.product-image-preview-media { position:relative; display:grid; width:112px; height:90px; place-items:center; overflow:hidden; border-radius:10px; background:#fff0f2; color:#c54350; font-size:1.65rem; }
.product-image-preview-media img { width:100%; height:100%; object-fit:cover; }
.product-image-preview-card small,.product-image-preview-card b,.product-image-preview-card span { display:block; }
.product-image-preview-card small { color:var(--red); font-weight:900; font-size:.65rem; letter-spacing:.08em; }
.product-image-preview-card b { margin:5px 0 3px; color:#37383b; font-size:.88rem; overflow-wrap:anywhere; }
.product-image-preview-card span { color:#77787c; font-size:.74rem; line-height:1.35; }
.card-subtitle { margin:7px 0 0; max-width:680px; color:#77787b; font-size:.79rem; line-height:1.45; }
.product-admin-copy { min-width:0; }
.product-admin-copy b { overflow-wrap:anywhere; }
.empty-state > i { margin-bottom:8px; color:var(--red); font-size:1.4rem; }

.dashboard-metric-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.dashboard-metric-grid article { min-height:126px; }
.dashboard-metric-warning { border-color:#f1d6a6 !important; background:#fffaf1 !important; }
.dashboard-charts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.dashboard-chart-card { min-width:0; }
.dashboard-canvas-wrap { position:relative; height:260px; }
.dashboard-canvas-wrap canvas { display:block; width:100%; height:100%; }
.dashboard-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.dashboard-summary-card { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; gap:12px; }
.dashboard-summary-card > i { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; color:var(--red); background:#fff0f2; }
.dashboard-summary-card small,.dashboard-summary-card strong,.dashboard-summary-card span { display:block; }
.dashboard-summary-card small { color:#77787b; font-size:.67rem; font-weight:900; letter-spacing:.07em; }
.dashboard-summary-card strong { margin:4px 0; color:#343539; font-size:1.28rem; letter-spacing:-.02em; }
.dashboard-summary-card span { color:#7e7f83; font-size:.75rem; line-height:1.4; }
.dashboard-comparison-card { margin-bottom:18px; }
.dashboard-month-table .is-current-month { background:#fff8f9; }
.dashboard-month-table .is-current-month td:first-child { box-shadow:inset 3px 0 0 var(--red); }
.dashboard-month-table small { color:var(--red); font-weight:800; }

@media (max-width:1220px) {
  .dashboard-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .admin-main { padding:18px 14px 36px; }
  .admin-header { align-items:center; gap:10px; }
  .admin-tools { gap:8px; }
  .admin-user { display:none; }
  .sound-toggle span { display:none; }
  .sound-toggle { width:42px; padding:0; display:grid; place-items:center; }
  .dashboard-charts-grid,.dashboard-summary-grid { grid-template-columns:1fr; }
  .dashboard-canvas-wrap { height:230px; }
}
@media (max-width:640px) {
  .admin-header-title { gap:9px; }
  .admin-menu-toggle { width:39px; height:39px; }
  .dashboard-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-metric-grid article { min-height:112px; }
  .product-image-preview-card { grid-template-columns:88px minmax(0,1fr); }
  .product-image-preview-media { width:88px; height:76px; }
  .product-admin-list article { align-items:flex-start; flex-wrap:wrap; }
  .product-admin-list .row-actions { width:100%; margin-left:70px; justify-content:flex-start; flex-wrap:wrap; }
  .product-admin-list .row-actions form { display:inline; }
}


/* ---------- V25: ajustes finais do menu off-canvas ---------- */
.admin-sidebar .admin-nav-groups { display:grid; width:auto; gap:6px; overflow:visible; }
.admin-sidebar .admin-nav-link,
.admin-sidebar .admin-menu-group { min-width:0; flex:initial; }
@media (max-width:980px) {
  .admin-sidebar .admin-nav-groups { display:grid; width:auto; overflow:visible; padding:0 1px 10px; }
  .admin-sidebar .admin-menu-group { position:static; }
  .admin-sidebar .admin-menu-group[open] .admin-submenu {
    position:static; min-width:0; margin:3px 0 7px 18px; padding:4px 0 4px 10px;
    border:0; border-left:1px solid #eee0e2; box-shadow:none; border-radius:0; background:transparent;
  }
  .admin-sidebar .side-bottom { display:grid; }
}


/* ---------- V26: cupom por pagamento, acesso de pré-inauguração e rolagem de pedidos ---------- */
.coupon-payment-methods { margin:0; padding:14px; border:1px solid #eee0e2; border-radius:13px; background:#fffafb; }
.coupon-payment-methods legend { padding:0 5px; color:#4b4c50; font-size:.82rem; font-weight:850; }
.coupon-payment-methods > p { margin:0 0 11px; color:#77787b; font-size:.76rem; line-height:1.45; }
.coupon-payment-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.coupon-payment-option { position:relative; display:block; min-width:0; cursor:pointer; }
.coupon-payment-option input { position:absolute; opacity:0; pointer-events:none; }
.coupon-payment-option span { display:flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:0 9px; border:1px solid #e6e0e1; border-radius:10px; color:#67686c; background:#fff; font-size:.79rem; font-weight:800; white-space:nowrap; }
.coupon-payment-option input:checked + span { border-color:#f0a9b1; color:var(--red); background:#fff0f2; box-shadow:inset 0 0 0 1px rgba(234,29,44,.08); }
.coupon-payment-option input:focus-visible + span { outline:3px solid rgba(234,29,44,.18); outline-offset:2px; }

.inauguration-access-card { margin-bottom:18px; }
.inauguration-access-current { display:flex; align-items:center; gap:11px; margin:15px 0; padding:12px 14px; border:1px solid #f0d4d7; border-radius:12px; background:#fff8f9; }
.inauguration-access-current > i { display:grid; width:38px; height:38px; place-items:center; flex:none; border-radius:11px; color:var(--red); background:#ffe8eb; }
.inauguration-access-current small,.inauguration-access-current strong { display:block; }
.inauguration-access-current small { color:#9b565d; font-size:.66rem; font-weight:900; letter-spacing:.08em; }
.inauguration-access-current strong { margin-top:3px; color:#343539; font-size:.94rem; overflow-wrap:anywhere; }
.inauguration-access-form { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(180px,1fr) auto; gap:10px; align-items:end; }
.inauguration-access-form label { margin:0; }
.inauguration-access-form .btn { min-height:43px; white-space:nowrap; }
.inauguration-access-list { display:grid; gap:8px; margin-top:15px; }
.inauguration-access-list > article { display:flex; align-items:center; justify-content:space-between; gap:13px; padding:12px; border:1px solid #ece6e7; border-radius:12px; background:#fff; }
.inauguration-access-ip { display:flex; align-items:center; min-width:0; gap:10px; }
.inauguration-access-ip > i { display:grid; width:34px; height:34px; place-items:center; flex:none; border-radius:10px; color:#415565; background:#edf3f7; }
.inauguration-access-ip b,.inauguration-access-ip span { display:block; }
.inauguration-access-ip b { color:#343539; font-size:.88rem; overflow-wrap:anywhere; }
.inauguration-access-ip span { margin-top:3px; color:#7b7c80; font-size:.72rem; line-height:1.35; }
.inauguration-access-list form { flex:none; margin:0; }
.order-table-scroll-top { max-width:100%; overflow-x:auto; overflow-y:hidden; height:18px; margin:15px 0 6px; border:1px solid #ececee; border-radius:999px; background:#f6f6f7; }
.order-table-scroll-top[hidden] { display:none; }
.order-table-scroll-top-inner { height:1px; min-width:100%; }
.order-table-scroll-top::-webkit-scrollbar { height:12px; }
.order-table-scroll-top::-webkit-scrollbar-thumb { border:3px solid #f6f6f7; border-radius:999px; background:#a7a7ab; }
.order-table-scroll-top::-webkit-scrollbar-track { background:transparent; }

@media (max-width:720px) {
  .coupon-payment-options { grid-template-columns:1fr; }
  .inauguration-access-form { grid-template-columns:1fr; }
  .inauguration-access-form .btn { width:100%; }
  .inauguration-access-list > article { align-items:flex-start; flex-direction:column; }
  .inauguration-access-list form,.inauguration-access-list form .btn { width:100%; }
}

/* V28 — operação, upsell e agenda inteligente */
.checkout-upsell{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px;padding:14px;border:1px solid rgba(234,29,44,.18);border-radius:14px;background:#fff7f7}.checkout-upsell-copy{display:grid;gap:3px}.checkout-upsell-copy small{font-size:10px;font-weight:800;letter-spacing:.08em;color:#ea1d2c}.checkout-upsell-copy b{font-size:14px;color:#292929}.checkout-upsell-copy span{font-size:12px;color:#666}.checkout-upsell-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.upsell-add,.upsell-dismiss{border:0;border-radius:10px;padding:10px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.upsell-add{background:#ea1d2c;color:#fff}.upsell-dismiss{background:#f2f2f2;color:#666}.repeat-order-button{width:100%;margin:16px 0 0;padding:14px;border:0;border-radius:12px;background:#ea1d2c;color:#fff;font:inherit;font-weight:800;cursor:pointer}.status-timeline small{display:block}
.admin-new-order-alert{position:fixed;z-index:220;right:20px;top:86px;display:flex;align-items:center;gap:12px;max-width:min(420px,calc(100vw - 32px));padding:14px 16px;border-radius:14px;background:#242424;color:#fff;box-shadow:0 18px 46px rgba(0,0,0,.22)}.admin-new-order-alert>div{display:flex;gap:10px;align-items:center;font-weight:700}.admin-new-order-alert i{color:#ffd2d6}.admin-new-order-alert button{border:0;background:transparent;color:#fff;cursor:pointer;font-size:16px}.orders-card-title-v28{align-items:center}.orders-view-switch{display:flex;gap:6px;background:#f5f5f5;border-radius:11px;padding:4px}.orders-view-switch a{padding:9px 11px;border-radius:8px;text-decoration:none;color:#666;font-size:13px;font-weight:800}.orders-view-switch a.active{background:#fff;color:#ea1d2c;box-shadow:0 1px 4px rgba(0,0,0,.09)}.orders-quick-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#f8f8f8;color:#666;font-size:12px}.auto-whatsapp-control{display:flex;align-items:center;gap:8px;color:#333;font-size:13px;font-weight:700;cursor:pointer}.auto-whatsapp-control input{accent-color:#ea1d2c}.kitchen-board{display:grid;grid-template-columns:repeat(6,minmax(250px,1fr));gap:14px;overflow-x:auto;padding:3px 2px 14px}.kitchen-column{min-height:340px;border:1px solid #ececec;border-radius:16px;background:#fafafa;overflow:hidden}.kitchen-column>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid #ececec;background:#fff}.kitchen-column>header>div{display:flex;align-items:center;gap:8px}.kitchen-column h3{margin:0;font-size:14px}.kitchen-column header>b{min-width:24px;padding:4px 7px;border-radius:999px;background:#f2f2f2;text-align:center;font-size:12px}.kitchen-column-dot{width:9px;height:9px;border-radius:50%;background:#a0a0a0}.kitchen-column--pending .kitchen-column-dot{background:#ea1d2c}.kitchen-column--preparing .kitchen-column-dot{background:#f5a623}.kitchen-column--ready .kitchen-column-dot{background:#2d9c69}.kitchen-column--out_for_delivery .kitchen-column-dot{background:#2f80ed}.kitchen-cards{display:grid;gap:10px;padding:10px}.kitchen-order-card{display:grid;gap:8px;padding:12px;border:1px solid #e7e7e7;border-radius:12px;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.03)}.kitchen-order-card--attention{border-color:rgba(234,29,44,.38);box-shadow:0 5px 14px rgba(234,29,44,.1)}.kitchen-order-card-top{display:flex;justify-content:space-between;gap:8px}.kitchen-order-card-top b{font-size:13px;color:#ea1d2c}.kitchen-order-card-top span{font-size:11px;color:#777}.kitchen-order-card h3{margin:0;font-size:15px}.kitchen-order-card p{margin:0;font-size:12px;color:#666}.kitchen-order-actions{display:flex;gap:7px}.kitchen-order-actions button,.kitchen-order-actions select{min-width:0;border:1px solid #ddd;border-radius:8px;background:#fff;padding:8px;font:inherit;font-size:12px}.kitchen-order-actions button{font-weight:800;cursor:pointer}.kitchen-order-actions select{flex:1}.whatsapp-status-action{background:#25d366;color:#fff}.product-availability-fields small{display:block;margin-top:4px;color:#777;font-size:11px}.agenda-exception-list{display:grid;gap:8px;margin-top:16px}.agenda-exception-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid #ececec;border-radius:11px}.agenda-exception-list article div{display:grid;gap:3px}.agenda-exception-list small{color:#666}.agenda-exception-list button{border:0;background:#f5f5f5;border-radius:8px;padding:8px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.dashboard-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.dashboard-report-card{min-width:0}.dashboard-report-card-wide{grid-column:1/-1}.dashboard-rank-list{display:grid;gap:9px;margin:0;padding:0;list-style:none;counter-reset:rank}.dashboard-rank-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eee;counter-increment:rank}.dashboard-rank-list li:last-child{border-bottom:0}.dashboard-rank-list li span:before{content:counter(rank) ". ";color:#999;font-weight:800}.dashboard-rank-list b{white-space:nowrap}.dashboard-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dashboard-mini-metrics div{display:grid;gap:5px;padding:12px;border-radius:11px;background:#f8f8f8}.dashboard-mini-metrics span,.dashboard-mini-metrics small{font-size:11px;color:#777}.dashboard-mini-metrics b{font-size:22px}.dashboard-report-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-report-split>div{display:grid;gap:8px}.dashboard-report-split span{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee;font-size:13px}.dashboard-report-split small{color:#777}
@media(max-width:820px){.admin-new-order-alert{right:12px;top:72px}.orders-card-title-v28,.orders-quick-controls{align-items:flex-start;flex-direction:column}.kitchen-board{grid-template-columns:repeat(6,minmax(78vw,1fr));margin:0 -2px}.dashboard-report-grid{grid-template-columns:1fr}.dashboard-report-card-wide{grid-column:auto}.dashboard-mini-metrics{grid-template-columns:1fr 1fr}.checkout-upsell{align-items:flex-start;flex-direction:column}.checkout-upsell-actions{width:100%}.upsell-add,.upsell-dismiss{flex:1}.agenda-exception-list article{align-items:flex-start;flex-direction:column}.dashboard-report-split{grid-template-columns:1fr}}
@media(max-width:480px){.admin-tools .sound-toggle span{display:none}.orders-view-switch{width:100%}.orders-view-switch a{flex:1;text-align:center}.dashboard-mini-metrics{grid-template-columns:1fr}.kitchen-board{grid-template-columns:repeat(6,minmax(84vw,1fr))}.repeat-order-button{font-size:14px}}

/* ---------- V28.3: cozinha com rolagem superior, impressão e detalhes completos ---------- */
.kitchen-board-scroll-top {
  max-width: 100%;
  height: 20px;
  margin: 14px 0 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #e5e5e7;
  border-radius: 999px;
  background: #f5f5f6;
  scrollbar-color: #a4a4a9 #f5f5f6;
  scrollbar-width: thin;
}
.kitchen-board-scroll-top[hidden] { display: none; }
.kitchen-board-scroll-top-inner { min-width: 100%; height: 1px; }
.kitchen-board-scroll-top::-webkit-scrollbar { height: 12px; }
.kitchen-board-scroll-top::-webkit-scrollbar-thumb { border: 3px solid #f5f5f6; border-radius: 999px; background: #9f9fa4; }
.kitchen-board-scroll-top::-webkit-scrollbar-track { background: transparent; }
.kitchen-board-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 0 -2px;
  padding: 0 2px 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.kitchen-board-wrap::-webkit-scrollbar { height: 0; }
.kitchen-board {
  width: max-content;
  min-width: 1570px;
  grid-template-columns: repeat(6, 250px);
  overflow: visible;
  padding: 3px 2px 10px;
}
.kitchen-column { min-height: 390px; }
.kitchen-order-card { gap: 10px; }
.kitchen-order-card h3 { line-height: 1.26; overflow-wrap: anywhere; }
.kitchen-order-card p { display: flex; align-items: center; gap: 5px; line-height: 1.35; }
.kitchen-order-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 7px;
}
.kitchen-order-actions button,
.kitchen-print-link {
  display: inline-flex;
  min-width: 0;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #dedee1;
  border-radius: 9px;
  padding: 8px 7px;
  background: #fff;
  color: #404144;
  font: inherit;
  font-size: .76rem;
  font-weight: 850;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
}
.kitchen-order-actions button:hover { border-color: #ef9aa4; background: #fff7f8; color: var(--red); }
.kitchen-print-link { border-color: #bfe4ce; background: #f4fff8; color: #196b42; }
.kitchen-print-link:hover { border-color: #56b47a; background: #e9fff1; color: #0d4d2d; }
.kitchen-status-control { display: block; }
.kitchen-status-control select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #dedee1;
  border-radius: 9px;
  padding: 0 9px;
  background: #fff;
  color: #3f4042;
  font: inherit;
  font-size: .79rem;
  font-weight: 800;
  cursor: pointer;
}
.kitchen-status-control select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(234,29,44,.1); outline: 0; }

.admin-modal-print-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  margin-right: 42px;
  padding: 0 11px;
  border: 1px solid #bfe4ce;
  border-radius: 9px;
  background: #f4fff8;
  color: #196b42;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.admin-modal-print-button:hover { border-color: #56b47a; background: #e9fff1; color: #0d4d2d; }
.admin-modal-items-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 11px; }
.admin-modal-items-head h3 { margin: 0; }
.admin-modal-items-head > span { padding: 4px 8px; border-radius: 999px; background: #f2f2f3; color: #707174; font-size: .69rem; font-weight: 850; }
.admin-modal-item-detailed { align-items: flex-start; padding: 13px 0; }
.admin-modal-item-detailed + .admin-modal-item-detailed { border-top: 0; }
.admin-modal-item-main { display: grid; min-width: 0; gap: 7px; }
.admin-modal-item-heading { display: grid; gap: 3px; }
.admin-modal-item-heading b { color: #2e2f31; font-size: .93rem; overflow-wrap: anywhere; }
.admin-modal-item-heading small { margin: 0; color: #77787b; font-size: .73rem; }
.admin-item-combo,
.admin-item-notes {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 8px 9px;
  border-radius: 9px;
  background: #fff7ed;
  color: #75502f;
  font-size: .77rem;
  line-height: 1.38;
}
.admin-item-combo > i { margin-top: 2px; color: #d57a14; }
.admin-item-combo span { display: grid; gap: 1px; }
.admin-item-combo b { font-size: .77rem; }
.admin-item-combo small { margin: 0; color: #75502f; font-size: .75rem; }
.admin-item-addons { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.admin-item-addons li { display: flex; align-items: flex-start; gap: 7px; color: #55565a; font-size: .77rem; line-height: 1.35; }
.admin-item-addons li > i { margin-top: 3px; color: var(--red); font-size: .61rem; }
.admin-item-addons li span { display: grid; gap: 1px; }
.admin-item-addons li b { display: inline; font-size: inherit; }
.admin-item-addons li small { margin: 0; color: #7b7c80; font-size: .71rem; }
.admin-item-notes { background: #f6f6f7; color: #57585b; }
.admin-item-notes > i { margin-top: 2px; color: #77787b; }
.admin-modal-empty-items { margin: 0; padding: 10px 0 14px; color: #77787b; font-size: .84rem; }
.admin-print-action { display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 0 13px !important; border: 1px solid #bfe4ce !important; border-radius: 10px; background: #f4fff8 !important; color: #196b42 !important; font-weight: 850 !important; text-decoration: none; }
.admin-print-action:hover { border-color: #56b47a !important; background: #e9fff1 !important; color: #0d4d2d !important; }

.order-detail-title { align-items: center; }
.order-detail-print { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 0 12px !important; border: 1px solid #bfe4ce !important; border-radius: 10px; background: #f4fff8 !important; color: #196b42 !important; text-decoration: none; white-space: nowrap; }
.order-detail-print:hover { border-color: #56b47a !important; background: #e9fff1 !important; color: #0d4d2d !important; }
.order-items-detail .order-item-detail-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 0;
}
.order-item-detail-main { display: grid; min-width: 0; gap: 7px; }
.order-item-detail-main > b { color: #303134; font-size: .94rem; overflow-wrap: anywhere; }
.order-items-detail .order-item-unit-price { width: auto; margin: 0; color: #7b7c80; font-size: .73rem; }
.order-items-detail .order-item-combo,
.order-items-detail .order-item-note { width: auto; margin: 0; padding: 8px 9px; border-radius: 9px; font-size: .77rem; line-height: 1.4; }
.order-items-detail .order-item-combo { color: #75502f; background: #fff7ed; }
.order-items-detail .order-item-combo i { color: #d57a14; }
.order-items-detail .order-item-note { color: #57585b; background: #f6f6f7; }
.order-item-addons { display: grid; gap: 5px; padding: 8px 9px; border: 1px solid #eeeeef; border-radius: 9px; background: #fff; }
.order-item-addons > small { width: auto; margin: 0; color: #77787b; font-size: .66rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.order-item-addons > span { color: #57585b; font-size: .78rem; line-height: 1.35; }
.order-item-addons > span i { margin-right: 4px; color: var(--red); font-size: .6rem; }
.order-item-addons > span em { margin-left: 4px; color: #77787b; font-size: .73rem; font-style: normal; white-space: nowrap; }
.order-item-detail-card > strong { color: #343538; white-space: nowrap; font-size: .91rem; }
.order-coupon-line { color: #167046; }
.order-coupon-line b { color: #167046; }

@media (max-width: 820px) {
  .kitchen-board { min-width: calc(78vw * 6 + 70px); grid-template-columns: repeat(6, 78vw); }
  .kitchen-column { min-height: 360px; }
}
@media (max-width: 620px) {
  .kitchen-board-scroll-top { margin-top: 10px; }
  .kitchen-board { min-width: calc(84vw * 6 + 70px); grid-template-columns: repeat(6, 84vw); }
  .admin-modal-head { align-items: flex-start; }
  .admin-modal-print-button { min-height: 36px; margin-right: 37px; padding: 0 9px; font-size: .72rem; }
  .admin-modal-item-detailed { gap: 9px; }
  .order-detail-title { align-items: flex-start; flex-direction: column; }
  .order-detail-print { width: 100%; }
  .order-items-detail .order-item-detail-card { gap: 10px; }
  .order-item-detail-card > strong { font-size: .84rem; }
}

/* ---------- V28.5: impressão direta e preferências de layout ---------- */
.orders-print-settings-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid #d8d8da;
  border-radius: 9px;
  background: #fff;
  color: #4b4c50;
  font-size: .76rem;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}
.orders-print-settings-link:hover { border-color: #b8b8bd; background: #f5f5f6; color: #2f3033; }
.kitchen-print-link,
.admin-modal-print-button,
.order-detail-print,
.admin-print-action { cursor: pointer; font-family: inherit; }
.order-detail-print-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.order-detail-print-settings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 12px !important;
  border: 1px solid #dddddf !important;
  border-radius: 10px;
  background: #fff !important;
  color: #55565a !important;
  font-size: .78rem;
  font-weight: 850 !important;
  text-decoration: none;
  white-space: nowrap;
}
.order-detail-print-settings:hover { border-color: #bdbdc2 !important; background: #f6f6f7 !important; }
.print-settings-card { max-width: 980px; }
.print-settings-intro { max-width: 720px; margin: 0 0 24px; color: #68696d; line-height: 1.65; }
.print-settings-form { gap: 20px; }
.print-settings-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid #e6e6e8;
  border-radius: 14px;
}
.print-settings-form legend { padding: 0 7px; color: #3a3b3f; font-size: .85rem; font-weight: 900; }
.print-paper-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 11px; }
.print-option {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-height: 100%;
  padding: 13px;
  border: 1px solid #e1e1e4;
  border-radius: 11px;
  background: #fff;
  color: #494a4e;
  cursor: pointer;
}
.print-option:has(input:checked) { border-color: #ee98a2; background: #fff7f8; }
.print-option input { margin-top: 3px; accent-color: var(--red); }
.print-option span,
.print-check-option span { display: grid; gap: 4px; }
.print-option b,
.print-check-option b { color: #333438; font-size: .84rem; }
.print-option small,
.print-check-option small { color: #77787c; font-size: .73rem; line-height: 1.4; }
.print-scale-options { display: flex; flex-wrap: wrap; gap: 10px; }
.print-scale-options label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid #e2e2e4;
  border-radius: 9px;
  color: #4c4d50;
  font-size: .82rem;
  font-weight: 750;
  cursor: pointer;
}
.print-scale-options input,
.print-check-option input { accent-color: var(--red); }
.print-check-option { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; cursor: pointer; }
.print-check-option + .print-check-option { border-top: 1px solid #ededee; }
.print-check-option input { margin-top: 3px; }
.print-preview { display: grid; justify-items: center; gap: 10px; padding: 21px; border-radius: 14px; background: #f5f5f6; }
.print-preview-label { color: #77787c; font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.print-preview-paper {
  display: grid;
  justify-items: center;
  gap: 5px;
  width: min(100%, 235px);
  padding: 16px 14px;
  border: 1px dashed #a9a9ad;
  background: #fff;
  color: #1d1d1f;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  box-shadow: 0 5px 13px rgba(0,0,0,.06);
}
.print-preview-paper img { width: 32px; height: 32px; object-fit: contain; filter: grayscale(1) contrast(1.5); }
.print-preview-paper small,
.print-preview-paper span { color: #55565a; font-size: .69rem; }
.print-preview-paper hr { width: 100%; margin: 6px 0; border: 0; border-top: 1px dashed #888; }
.print-preview-paper--80 { width: min(100%, 300px); }
.print-preview-paper--a4 { width: min(100%, 500px); min-height: 260px; padding: 28px; }
.print-preview-paper--compact { font-size: .88em; }
.print-preview-paper--large { font-size: 1.12em; }
@media (max-width: 820px) {
  .orders-quick-controls { align-items: flex-start; }
  .orders-print-settings-link { width: 100%; }
  .print-paper-options { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .order-detail-print-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .order-detail-print,
  .order-detail-print-settings { width: 100%; }
  .print-settings-card .card-title { align-items: flex-start; flex-direction: column; }
  .print-settings-card .card-title .btn { width: 100%; }
}


/* V29 · Pagamentos online */
.payment-method-group{display:grid;gap:10px}.payment-method-label{font-size:.82rem;font-weight:800;color:#48494b}.payment-method-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-option{position:relative;display:block;cursor:pointer}.payment-option input{position:absolute;opacity:0;pointer-events:none}.payment-option span{display:grid;grid-template-columns:28px 1fr;grid-template-areas:"icon title" "icon sub";gap:1px 7px;min-height:68px;padding:12px;border:1px solid #e1e1e3;border-radius:12px;background:#fff;color:#353535;transition:.18s}.payment-option i{grid-area:icon;align-self:center;color:#777;font-size:18px}.payment-option b{grid-area:title;font-size:.82rem;line-height:1.2}.payment-option small{grid-area:sub;color:#7c7c7c;font-size:.69rem;line-height:1.25}.payment-option input:checked+span{border-color:#ea1d2c;box-shadow:0 0 0 3px rgba(234,29,44,.10);background:#fff7f8}.payment-option input:checked+span i{color:#ea1d2c}.payment-option input:disabled+span{opacity:.5;cursor:not-allowed}.payment-option-online span{background:#fff8f8}.payment-online-hint{margin:0!important;padding:10px 11px;border-radius:10px;background:#f7f7f7;color:#5f5f5f!important}.payment-return-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#fff7f8,#fff)}.payment-return-card{width:min(100%,500px);padding:32px 24px;border:1px solid #eee;border-radius:22px;background:#fff;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.08)}.payment-return-card>img{width:74px;height:74px;object-fit:contain}.payment-return-icon{width:54px;height:54px;display:grid;place-items:center;margin:17px auto 12px;border-radius:50%;background:#fff3d9;color:#bb7816;font-size:24px}.payment-return-icon.ok{background:#e7f7ee;color:#168650}.payment-return-card small{font-weight:900;letter-spacing:.1em;color:#ea1d2c;font-size:.68rem}.payment-return-card h1{margin:8px 0;font-size:1.55rem}.payment-return-card p{margin:0;color:#666;line-height:1.55}.payment-return-order{display:grid;gap:4px;margin:22px 0;padding:14px;border-radius:12px;background:#f8f8f8}.payment-return-order span{font-size:.79rem;color:#666}.payment-return-link{display:inline-block;margin-top:15px;color:#666;font-size:.85rem}.online-webhook-box{display:grid;gap:8px;margin-top:16px;padding:16px;border-radius:13px;background:#f8f8f8}.online-webhook-box code{overflow:auto;padding:10px;border-radius:8px;background:#fff;border:1px solid #e9e9e9;font-size:.78rem;white-space:nowrap}.online-webhook-box small{color:#666;line-height:1.5}.payment-status-pending{background:#fff3d8!important;color:#966000!important}.payment-status-paid{background:#eaf8ef!important;color:#168650!important}.payment-status-expired,.payment-status-failed{background:#fff0f1!important;color:#b51c2b!important}@media(max-width:560px){.payment-method-options{grid-template-columns:1fr}.payment-return-card{padding:28px 18px}}


/* V29.0.5 — checkout: e-mail obrigatório e forma de pagamento legível em tela grande. */
.checkout-customer-grid .checkout-email-field {
  grid-column: 1 / -1;
}
.input-help {
  display: block;
  margin-top: 1px;
  color: #77787b;
  font-size: .70rem;
  font-weight: 650;
  line-height: 1.35;
}
.checkout-preferences-top {
  display: grid;
  grid-template-columns: minmax(0, 180px);
  gap: 10px;
  margin-bottom: 15px;
}
.payment-method-group {
  width: 100%;
  margin-top: 2px;
}
.payment-method-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.payment-option-online {
  grid-column: 1 / -1;
}
.payment-option-online span {
  grid-template-columns: 32px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  min-height: 64px;
  padding: 13px 14px;
}
.payment-option-online i {
  font-size: 19px;
}
.payment-option-online b {
  font-size: .87rem;
}
.payment-option-online small {
  font-size: .73rem;
}
.payment-option-physical span {
  display: flex;
  min-height: 88px;
  padding: 12px 11px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
}
.payment-option-physical i {
  font-size: 18px;
}
.payment-option-physical b {
  font-size: .81rem;
  line-height: 1.1;
}
.payment-option-physical small {
  font-size: .66rem;
  line-height: 1.28;
}
@media (max-width: 560px) {
  .checkout-preferences-top {
    grid-template-columns: 1fr;
  }
  .payment-method-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .payment-option-cash {
    grid-column: 1 / -1;
  }
  .payment-option-cash span {
    min-height: 65px;
  }
}
@media (max-width: 360px) {
  .payment-method-options {
    grid-template-columns: 1fr;
  }
  .payment-option-cash {
    grid-column: auto;
  }
}


/* V29.0.6 — retorno InfinitePay mais claro e sem mistura de botões. */
.payment-return-page {
  min-height: 100dvh;
  padding: 24px 16px;
  background:
    radial-gradient(circle at 20% 10%, rgba(234,29,44,.09), transparent 34%),
    linear-gradient(145deg, #fff7f8, #ffffff);
}
.payment-return-card {
  width: min(100%, 480px);
  padding: 30px 24px 24px;
}
.payment-return-actions {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}
.payment-return-primary,
.payment-return-secondary {
  box-sizing: border-box;
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 14px;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.payment-return-primary {
  justify-content: space-between;
  padding: 0 18px;
  background: #ea1d2c;
  color: #fff;
  box-shadow: 0 10px 18px rgba(234,29,44,.20);
}
.payment-return-primary span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.payment-return-primary:hover { background: #c81726; transform: translateY(-1px); }
.payment-return-secondary {
  min-height: 44px;
  border: 1px solid #e4e4e5;
  background: #fff;
  color: #595a5d;
}
.payment-return-secondary:hover { background: #fafafa; }
.payment-return-primary:focus-visible,
.payment-return-secondary:focus-visible {
  outline: 3px solid rgba(234,29,44,.22);
  outline-offset: 3px;
}
@media (max-width: 560px) {
  .payment-return-page { padding: 16px; }
  .payment-return-card { padding: 26px 18px 18px; border-radius: 20px; }
  .payment-return-primary { min-height: 56px; padding: 0 16px; }
}


/* V29.0.7 — dados pré-preenchidos no Checkout InfinitePay. */
.checkout-customer-grid [data-online-email-field][hidden] { display: none !important; }
.checkout-customer-grid .checkout-email-field {
  padding: 11px 12px;
  border: 1px solid #f0d5d8;
  border-radius: 12px;
  background: #fff9fa;
}
.checkout-customer-grid .checkout-email-field input {
  margin-top: 1px;
  background: #fff;
}
.checkout-customer-grid .checkout-email-field .input-help {
  color: #68696d;
}
@media (max-width: 560px) {
  .checkout-customer-grid .checkout-email-field { grid-column: auto; }
}


/* V29.0.8 — pagamento online, cupom online e horário de Brasília. */
.payment-online-slot {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
}
.payment-online-slot .payment-option-online {
  grid-column: auto;
}
.payment-online-hint {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  margin: 0 !important;
  padding: 11px 12px;
  border: 1px solid #f0d9dc;
  border-radius: 11px;
  background: #fffafb;
  color: #5d5f63 !important;
  font-size: .74rem;
  line-height: 1.45;
}
.payment-online-hint[hidden] {
  display: none !important;
}
.payment-online-hint > i {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 8px;
  color: #c81726;
  background: #ffe6e9;
  font-size: .76rem;
}
.payment-online-hint > span {
  display: block;
}
.coupon-payment-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.coupon-payment-option-online {
  grid-column: 1 / -1;
}
.coupon-payment-option-online span {
  min-height: 54px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon sub";
  justify-content: initial;
  gap: 1px 8px;
  padding: 10px 12px;
  white-space: normal;
}
.coupon-payment-option-online i { grid-area: icon; align-self: center; }
.coupon-payment-option-online b { grid-area: title; font-size: .79rem; line-height: 1.2; }
.coupon-payment-option-online small { grid-area: sub; color: #77787b; font-size: .67rem; line-height: 1.3; }
.online-payment-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.online-payment-flow article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 12px;
  border: 1px solid #ececed;
  border-radius: 12px;
  background: #fff;
}
.online-payment-flow article > i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  color: #c81726;
  background: #fff0f2;
}
.online-payment-flow b,
.online-payment-flow small {
  display: block;
}
.online-payment-flow b {
  color: #303135;
  font-size: .8rem;
}
.online-payment-flow small {
  margin-top: 3px;
  color: #6b6c70;
  font-size: .69rem;
  line-height: 1.4;
}
@media (max-width: 560px) {
  .coupon-payment-options { grid-template-columns: 1fr; }
  .coupon-payment-option-online { grid-column: auto; }
  .online-payment-flow { grid-template-columns: 1fr; }
}


/* V29.0.9 — e-mail salvo no aparelho e consentimento de promoções no checkout. */
.checkout-customer-grid .checkout-email-block {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #f0d5d8;
  border-radius: 12px;
  background: #fff9fa;
}
.checkout-customer-grid .checkout-email-block[hidden] { display: none !important; }
.checkout-customer-grid .checkout-email-block .checkout-email-field {
  display: grid;
  gap: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #3e3f42;
  font-size: .82rem;
  font-weight: 800;
}
.checkout-customer-grid .checkout-email-block .checkout-email-field > span { display: block; }
.checkout-customer-grid .checkout-email-block .checkout-email-field input { margin: 0; }
.checkout-marketing-consent {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 11px;
  border: 1px solid #ececed;
  border-radius: 10px;
  background: #fff;
  color: #3e3f42;
  cursor: pointer;
}
.checkout-marketing-consent input {
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 2px 0 0;
  accent-color: var(--red);
}
.checkout-marketing-consent > span { display: grid; gap: 3px; }
.checkout-marketing-consent b { color: #37383b; font-size: .76rem; line-height: 1.35; }
.checkout-marketing-consent small { color: #77787b; font-size: .68rem; font-weight: 600; line-height: 1.4; }
.checkout-marketing-consent:has(input:checked) {
  border-color: rgba(234,29,44,.48);
  background: #fff7f8;
}
@media (max-width: 560px) {
  .checkout-customer-grid .checkout-email-block { grid-column: auto; padding: 11px; }
}


/* ---------- V29.0.11 · Loja separada e busca de CEP ---------- */
.settings-page-head { max-width:1120px; margin:0 auto 18px; display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.settings-page-head > div:first-child { min-width:0; }
.settings-page-head small { display:block; color:var(--red); font-size:.68rem; letter-spacing:.11em; font-weight:900; }
.settings-page-head h2 { margin:6px 0 5px; color:#2d2e30; font-size:clamp(1.35rem,2.2vw,1.85rem); letter-spacing:-.035em; }
.settings-page-head p { margin:0; color:#737478; font-size:.88rem; line-height:1.55; }
.settings-page-head-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.settings-form-shell { width:min(1120px,100%); margin:0 auto; display:grid; gap:16px; }
.settings-panel { width:100%; padding:clamp(18px,2.5vw,28px); border-radius:16px; }
.settings-panel-heading { display:flex; align-items:flex-start; gap:13px; margin-bottom:22px; }
.settings-panel-heading > div { min-width:0; }
.settings-panel-heading small { display:block; color:var(--red); font-size:.67rem; font-weight:900; letter-spacing:.1em; }
.settings-panel-heading h2 { margin:5px 0 5px; color:#2d2e30; font-size:1.18rem; letter-spacing:-.022em; }
.settings-panel-heading p { margin:0; color:#77787b; font-size:.84rem; line-height:1.55; }
.settings-panel-icon { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border-radius:12px; background:#fff0f2; color:var(--red); }
.settings-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.settings-form-grid > label { min-width:0; display:grid; gap:7px; color:#4a4b4e; font-size:.79rem; font-weight:800; }
.settings-form-grid input, .settings-form-grid textarea, .settings-banner-controls input { min-width:0; width:100%; min-height:44px; border:1px solid #dcdddf; border-radius:10px; padding:10px 11px; color:#2f3032; background:#fff; font:inherit; outline:0; }
.settings-form-grid textarea { min-height:92px; resize:vertical; line-height:1.45; }
.settings-form-grid input:focus, .settings-form-grid textarea:focus, .settings-banner-controls input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.11); }
.settings-field-wide { grid-column:1/-1; }
.settings-banner-grid { display:grid; grid-template-columns:minmax(210px,.9fr) minmax(280px,1.1fr); gap:22px; align-items:center; }
.settings-banner-preview { margin:0; min-height:160px; overflow:hidden; border-radius:14px; background:#f4f4f5; border:1px solid #ececed; }
.settings-banner-preview img { width:100%; height:190px; object-fit:cover; display:block; }
.settings-banner-controls { display:grid; gap:11px; }
.settings-banner-controls > label:first-child { display:grid; gap:7px; color:#4a4b4e; font-size:.79rem; font-weight:800; }
.input-help { display:block; color:#7b7c7f; font-size:.75rem; font-weight:600; line-height:1.45; }
.settings-switch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.settings-panel .switch { width:100%; padding:12px 13px; border:1px solid #ececee; border-radius:12px; background:#fff; display:flex; align-items:flex-start; gap:10px; }
.settings-panel .switch input { width:16px; height:16px; flex:0 0 16px; margin:2px 0 0; accent-color:var(--red); }
.settings-panel .switch > span { display:grid; gap:2px; color:#444548; font-size:.79rem; line-height:1.4; }
.settings-panel .switch > span b { font-size:.82rem; }
.settings-panel .switch > span small { color:#838487; font-size:.72rem; font-weight:600; line-height:1.38; }
.settings-panel .switch.switch-featured:has(input:checked) { border-color:#f1afb6; background:#fff5f6; }
.settings-panel .switch.switch-inline { align-self:end; min-height:44px; padding:10px 12px; }
.settings-save-bar { width:min(1120px,100%); margin:0 auto; padding:13px 14px 13px 17px; border:1px solid #efdfe1; border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:space-between; gap:14px; box-shadow:0 6px 20px rgba(44,20,22,.04); }
.settings-save-bar > span { color:#727377; font-size:.78rem; line-height:1.45; }
.settings-save-bar > span i { color:var(--red); margin-right:5px; }
.settings-save-bar .btn { white-space:nowrap; }
.settings-exceptions-panel { width:min(1120px,100%); margin:16px auto 0; }
.settings-exception-form { display:grid; grid-template-columns:1fr 1fr 1fr minmax(220px,1.2fr) auto; gap:11px; align-items:end; }
.settings-exception-form > label { display:grid; gap:7px; color:#4a4b4e; font-size:.79rem; font-weight:800; }
.settings-exception-form input:not([type="checkbox"]) { width:100%; min-height:44px; border:1px solid #dcdddf; border-radius:10px; padding:10px 11px; font:inherit; outline:0; }
.settings-exception-form input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.11); }
.settings-exception-form .switch { min-height:44px; }
.agenda-exception-list { display:grid; gap:8px; margin-top:20px; padding-top:18px; border-top:1px solid #eeeeef; }
.agenda-exception-list article { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid #f1f1f2; }
.agenda-exception-list article > div { display:grid; gap:3px; }
.agenda-exception-list article b { color:#333437; font-size:.89rem; }
.agenda-exception-list article small { color:#77787b; font-size:.77rem; }
.btn.danger-outline { border-color:#f1b7bd; color:#b52735; background:#fff; }
.maintenance-panel { max-width:820px; }
.maintenance-toggle { margin:4px 0 20px; }
.admin-tools .sound-toggle-icon { width:42px; min-width:42px; height:40px; padding:0; display:grid; place-items:center; border-radius:10px; font-size:1rem; }
.admin-tools .sound-toggle-icon:hover { color:var(--red); border-color:#efb3b9; background:#fff7f8; }
.cep-input-wrap { position:relative; display:block; }
.cep-input-wrap input { padding-right:37px; }
.cep-input-wrap i { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--red); }
.cep-lookup-status { display:block; min-height:18px; margin-top:1px; color:#7d7e81; font-size:.72rem; font-weight:600; line-height:1.35; }
.cep-lookup-status.is-loading { color:#6c6d71; }
.cep-lookup-status.is-success { color:#147747; }
.cep-lookup-status.is-error { color:#b52533; }
.checkout-address-grid .checkout-cep-field { grid-column:1/-1; }
@media (max-width:980px) {
  .settings-switch-grid { grid-template-columns:1fr; }
  .settings-exception-form { grid-template-columns:1fr 1fr; }
  .settings-exception-form .switch { grid-column:1/-1; }
}
@media (max-width:680px) {
  .settings-page-head { align-items:flex-start; flex-direction:column; }
  .settings-page-head-actions { width:100%; justify-content:flex-start; }
  .settings-page-head-actions .btn { flex:1 1 auto; justify-content:center; }
  .settings-form-grid, .settings-banner-grid, .settings-exception-form { grid-template-columns:1fr; }
  .settings-field-wide, .settings-exception-form .switch { grid-column:auto; }
  .settings-banner-preview img { height:175px; }
  .settings-save-bar { align-items:stretch; flex-direction:column; }
  .settings-save-bar .btn { width:100%; justify-content:center; }
  .agenda-exception-list article { align-items:flex-start; flex-direction:column; }
  .checkout-address-grid .checkout-cep-field { grid-column:auto; }
}

/* V29.0.12 — horário de funcionamento, retirada e configurações unificadas */
.store-status-option.is-open { border-color: rgba(37,155,94,.28); background: #f4fcf7; }
.store-status-option.is-open .delivery-icon { color: #208f59; }
.store-status-option.is-open b { color: #197346; }
.store-status-option.is-closed { border-color: rgba(234,29,44,.24); background: #fff8f8; }
.store-status-option.is-closed .delivery-icon { color: #bf2633; }
.store-status-option.is-closed b { color: #a81e2a; }
.how-hours-note { display:flex; gap:7px; align-items:flex-start; margin-top:9px; color:#737477; font-size:.77rem; line-height:1.45; }
.how-hours-note i { color:var(--red); margin-top:2px; }

.pickup-timing-box { display:grid; gap:12px; margin:0 0 14px; padding:14px; border:1px solid #eee0e2; border-radius:13px; background:#fffafb; }
.pickup-timing-heading { display:flex; gap:10px; align-items:flex-start; }
.pickup-timing-heading>i { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:var(--red); background:#fff0f2; }
.pickup-timing-heading>div { display:grid; gap:3px; }
.pickup-timing-heading b { color:#333438; font-size:.88rem; }
.pickup-timing-heading small { color:#737477; font-size:.75rem; line-height:1.4; }
.pickup-timing-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.pickup-timing-options label { position:relative; cursor:pointer; }
.pickup-timing-options input { position:absolute; opacity:0; pointer-events:none; }
.pickup-timing-options span { display:grid; gap:3px; min-height:58px; padding:11px; border:1px solid #e2e2e4; border-radius:11px; background:#fff; transition:.18s; }
.pickup-timing-options b { font-size:.78rem; color:#393a3d; }
.pickup-timing-options small { color:#77787b; font-size:.68rem; line-height:1.25; }
.pickup-timing-options input:checked+span { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,29,44,.1); background:#fff7f8; }
.pickup-now-choice.is-disabled { cursor:not-allowed; }
.pickup-now-choice.is-disabled span { opacity:.55; background:#f8f8f8; }

.business-hours-help { display:flex; gap:9px; align-items:flex-start; margin:0 0 15px; padding:11px 12px; border-radius:11px; background:#fff7e8; color:#705221; font-size:.78rem; line-height:1.45; }
.business-hours-help i { color:#c98918; margin-top:2px; }
.business-hours-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.business-hours-day { display:grid; gap:11px; padding:13px; border:1px solid #ececee; border-radius:13px; background:#fff; }
.business-hours-day.is-closed { background:#fafafa; }
.business-day-toggle { display:flex !important; gap:9px; align-items:center; margin:0 !important; cursor:pointer; }
.business-day-toggle input { width:16px; height:16px; accent-color:var(--red); }
.business-day-toggle span { display:grid; gap:2px; }
.business-day-toggle b { color:#36373a; font-size:.84rem; }
.business-day-toggle small { color:#77787b; font-size:.7rem; }
.business-hours-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.business-hours-inputs label { display:grid; gap:5px; margin:0; color:#77787b; font-size:.69rem; font-weight:800; }
.business-hours-inputs input { width:100%; min-width:0; }
.business-hours-day:has(.business-day-toggle input:not(:checked)) .business-hours-inputs { opacity:.48; }
.business-hours-day:has(.business-day-toggle input:not(:checked)) .business-hours-inputs input { pointer-events:none; }

@media (max-width: 680px) {
  .business-hours-grid { grid-template-columns:1fr; }
  .pickup-timing-options { grid-template-columns:1fr; }
}


/* V29.0.13 — checkout simplificado: retirada imediata, pagamento 2x2 e informações claras. */
.fulfillment-pickup-choice.is-disabled { cursor:not-allowed; }
.fulfillment-pickup-choice.is-disabled span { opacity:.55; background:#f7f7f8; color:#76777a; }
.fulfillment-pickup-choice.is-disabled input { pointer-events:none; }

/* Os dois atalhos da home ficam visualmente equilibrados, inclusive no desktop. */
.delivery-controls { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.delivery-option {
  justify-content:center !important;
  text-align:center !important;
  padding:13px 12px !important;
}
.delivery-option > i.delivery-icon { flex:0 0 auto; margin:0 !important; }
.delivery-option > span { justify-items:center; text-align:center; }
.delivery-option > i.option-chevron { margin-left:4px !important; }
@media (max-width:390px) {
  .delivery-option { min-height:76px; padding:10px 8px !important; gap:7px; }
  .delivery-option > i.delivery-icon { display:none; }
  .delivery-option b { font-size:.82rem; }
  .delivery-option small { font-size:.66rem; }
}

/* Quatro formas de pagamento: duas colunas em qualquer largura útil de tela. */
.payment-method-options {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
}
.payment-online-slot { display:contents !important; }
.payment-method-options .payment-option,
.payment-method-options .payment-option-cash,
.payment-method-options .payment-option-online { grid-column:auto !important; }
.payment-method-options .payment-option span {
  min-height:76px;
  padding:11px 10px;
  grid-template-columns:24px minmax(0,1fr);
  gap:2px 7px;
}
.payment-method-options .payment-option i { font-size:16px; }
.payment-method-options .payment-option b { font-size:.78rem; }
.payment-method-options .payment-option small { font-size:.65rem; line-height:1.28; }
@media (max-width:370px) {
  .payment-method-options { gap:7px !important; }
  .payment-method-options .payment-option span { min-height:80px; padding:9px 8px; grid-template-columns:20px minmax(0,1fr); gap:2px 5px; }
  .payment-method-options .payment-option b { font-size:.72rem; }
  .payment-method-options .payment-option small { font-size:.61rem; }
}

/* Aviso claro antes de manter a forma de pagamento online. */
.online-payment-modal { z-index:1100 !important; background:rgba(22,22,23,.42); }
.online-payment-modal .online-payment-panel {
  width:min(100%,430px);
  padding:31px 25px 23px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 65px rgba(0,0,0,.25);
  text-align:center;
  transform:translateY(12px) scale(.98);
  transition:transform .18s ease;
}
.online-payment-modal.open .online-payment-panel { transform:translateY(0) scale(1); }
.online-payment-modal-icon {
  width:56px;height:56px;display:grid;place-items:center;margin:0 auto 14px;
  border-radius:17px;background:#fff0f2;color:var(--red);font-size:1.35rem;
}
.online-payment-panel > small { color:var(--red);font-weight:900;font-size:.68rem;letter-spacing:.1em; }
.online-payment-panel h2 { margin:8px auto 9px;max-width:330px;color:#2f3033;font-size:1.35rem;line-height:1.18; }
.online-payment-panel p { margin:0 auto;color:#66676b;font-size:.86rem;line-height:1.55;max-width:350px; }
.online-payment-modal-actions { display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:22px; }
.online-payment-modal-actions button { min-height:46px;border-radius:11px;padding:0 12px;font:800 .79rem/1.1 inherit;cursor:pointer; }
.online-payment-cancel { border:1px solid #dedee0;background:#fff;color:#5f6064; }
.online-payment-confirm { border:1px solid var(--red);background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px; }
.online-payment-confirm:hover { background:#c81726; }
@media (max-width:560px) {
  .online-payment-modal { align-items:center !important; padding:16px !important; }
  .online-payment-modal .online-payment-panel { width:min(100%,400px) !important; padding:29px 19px 18px; border-radius:18px !important; }
  .online-payment-modal-actions { grid-template-columns:1fr; }
  .online-payment-modal-actions button { min-height:48px; }
}

/* Modal "Como pedir": curto, organizado e fácil de ler no celular. */
.how-panel .how-modal-scroll { text-align:left !important; }
.how-panel .how-hero { justify-content:flex-start !important; text-align:left !important; }
.how-panel .how-hero > div { text-align:left !important; }
.how-panel .how-steps-simple { display:grid;gap:10px;padding:18px 0 4px; }
.how-panel .how-steps-simple li {
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
  justify-items:stretch !important;
  padding:11px 0;
  border-bottom:1px solid #f0f0f1;
  text-align:left !important;
}
.how-panel .how-steps-simple li:last-child { border-bottom:0; }
.how-panel .how-steps-simple li > b { width:34px;height:34px;border-radius:11px;font-size:.8rem; }
.how-panel .how-steps-simple li > b i { font-size:.76rem; }
.how-panel .how-steps-simple li > div,
.how-panel .how-steps-simple strong,
.how-panel .how-steps-simple p { text-align:left !important; }
.how-panel .how-steps-simple strong { font-size:.89rem; }
.how-panel .how-steps-simple p { margin-top:3px;font-size:.78rem;line-height:1.45; }
.how-panel .how-steps-simple .how-hours-note { margin-top:7px;font-size:.7rem; }
@media (max-width:560px) {
  .how-panel .how-hero { padding-bottom:15px !important; }
  .how-panel .how-steps-simple { padding-top:14px;gap:7px; }
  .how-panel .how-steps-simple li { grid-template-columns:31px minmax(0,1fr) !important; gap:9px !important; padding:10px 0; }
  .how-panel .how-steps-simple li > b { width:31px;height:31px; }
}


/* V29.0.14 — horários claros, pagamento neutro e histórico mais útil. */
/* O online só recebe destaque após ser realmente escolhido. */
.payment-option-online span,
.payment-method-options .payment-option-online span {
  background: #fff;
}
.payment-option-online input:checked + span,
.payment-method-options .payment-option-online input:checked + span {
  background: #fff7f8;
}

/* Modal exclusivo para a caixa "Loja aberta/fechada". */
.hours-modal { z-index: 1100 !important; }
.hours-modal .hours-panel {
  width: min(100%, 430px);
  max-height: min(640px, calc(100dvh - 32px));
  overflow: hidden;
  padding: 0;
  border-radius: 20px;
  background: #fff;
}
.hours-modal-scroll {
  max-height: min(640px, calc(100dvh - 32px));
  overflow-y: auto;
  padding: 54px 22px 22px;
}
.hours-modal-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  margin-bottom: 17px;
}
.hours-modal-head > i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: #eef9f2;
  color: #1d8c55;
  font-size: 1.08rem;
}
.hours-modal-head h2 {
  margin: 0;
  color: #2f3033;
  font-size: 1.16rem;
  line-height: 1.2;
}
.hours-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #e9e9eb;
  border-radius: 14px;
}
.hours-table-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 49px;
  padding: 10px 13px;
  border-bottom: 1px solid #ededee;
  background: #fff;
}
.hours-table-row:last-child { border-bottom: 0; }
.hours-table-row b { color: #35363a; font-size: .84rem; }
.hours-table-row span { color: #1d7d4c; font-size: .81rem; font-weight: 850; white-space: nowrap; }
.hours-table-row.is-closed { background: #fafafa; }
.hours-table-row.is-closed span { color: #8a8b8f; }

/* Itens abaixo de data/horário no histórico facilitam repetir o pedido certo. */
.history-order-copy .history-order-items {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  overflow: hidden;
  color: #5e5f63;
  font-size: .71rem;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.history-order-items i { flex: 0 0 auto; margin-top: 1px; color: var(--red); font-size: .67rem; }
@media (max-width: 650px) {
  .history-order-copy .history-order-items { white-space: normal; }
}
@media (max-width: 560px) {
  .hours-modal { align-items: center !important; padding: 16px !important; }
  .hours-modal .hours-panel { width: min(100%, 400px) !important; border-radius: 18px !important; }
  .hours-modal-scroll { padding: 52px 17px 18px; }
  .hours-table-row { min-height: 47px; padding: 10px 11px; }
  .hours-table-row b { font-size: .8rem; }
  .hours-table-row span { font-size: .76rem; }
}


/* V29.0.16 — acabamento de checkout, catálogo e painel. */
/* Sem foto, o produto usa toda a largura do texto: nenhum ícone ou bloco cinza aparece. */
.ifood-product-card.without-product-image .product-main {
  grid-template-columns: minmax(0, 1fr) !important;
}
.ifood-product-card.without-product-image .product-copy {
  padding-right: 54px;
}
.product-modal-image[hidden] {
  display: none !important;
}
.product-panel:has(.product-modal-image[hidden]) {
  grid-template-columns: minmax(0, 1fr) !important;
}
.product-panel:has(.product-modal-image[hidden]) .product-modal-copy {
  padding-top: 58px !important;
}
/* O botão de salvar fica no fim da página, depois das exceções de agenda. */
.settings-save-bar-bottom {
  margin: 22px 0 34px;
}
@media (max-width: 620px) {
  .settings-save-bar-bottom { margin-bottom: 20px; }
  .settings-save-bar-bottom .btn { width: 100%; }
}

/* V30 — PWA instalável e notificações do dispositivo */
.pwa-install-fab{
  position:fixed;z-index:90;right:18px;bottom:88px;display:inline-flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:13px 16px;background:#252525;color:#fff;font:800 13px/1 Arial,Helvetica,sans-serif;box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer
}
.pwa-install-fab:hover{transform:translateY(-1px)}
.pwa-install-fab[hidden],.admin-install-pwa[hidden]{display:none!important}
.pwa-notification-toggle,.pwa-notification-icon{
  width:42px;height:42px;border:1px solid #e6e6e6;border-radius:11px;background:#fff;color:#2d2d2d;display:inline-grid;place-items:center;cursor:pointer;transition:.18s ease
}
.pwa-notification-toggle:hover,.pwa-notification-icon:hover{border-color:#ea1d2c;color:#ea1d2c;background:#fff7f8}
.pwa-notification-toggle.is-active,.pwa-notification-icon.is-active{color:#fff;background:#16834d;border-color:#16834d;box-shadow:0 6px 14px rgba(22,131,77,.2)}
.pwa-notification-toggle:disabled,.pwa-notification-icon:disabled{opacity:.55;cursor:not-allowed}
.admin-tools{gap:9px}
.admin-install-pwa{
  width:100%;display:flex;align-items:center;gap:9px;padding:11px 10px;border:1px solid #f0cfd3;border-radius:10px;background:#fff7f8;color:#c71728;font:800 12px/1 Arial,Helvetica,sans-serif;cursor:pointer;text-align:left
}
.admin-install-pwa:hover{background:#feecee}
.pwa-order-notification{
  width:100%;margin:14px 0 2px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #f0c9ce;border-radius:12px;padding:13px 14px;background:#fff7f8;color:#bf1527;font:800 13px/1.3 Arial,Helvetica,sans-serif;cursor:pointer
}
.pwa-order-notification:hover{background:#ffeff1;border-color:#ea1d2c}
.pwa-order-notification.is-active{border-color:#bde1cd;background:#f0fff7;color:#177a48}
.confirmation-btn--notify{
  border:1px solid #f1c8cd;background:#fff7f8!important;color:#c71728!important;cursor:pointer
}
.confirmation-btn--notify.is-active{background:#effdf5!important;border-color:#bee5cf;color:#177a48!important}
html.pwa-offline::after{
  content:'Você está sem internet. Algumas funções podem não estar disponíveis.';position:fixed;z-index:9999;right:16px;bottom:18px;max-width:min(360px,calc(100vw - 32px));padding:11px 14px;border-radius:10px;background:#272727;color:#fff;font:700 12px/1.35 Arial,Helvetica,sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.22)
}
@media (min-width: 760px){
  .pwa-install-fab{bottom:24px;right:24px}
  .pwa-order-notification{max-width:420px;margin:18px auto 4px}
}
@media (max-width: 520px){
  .admin-user{display:none}
  .pwa-install-fab{bottom:84px;right:12px;padding:12px 14px}
}

/* V30.1 — aviso de instalação no topo, sem botão flutuante no rodapé */
.pwa-install-fab{display:none!important}
.pwa-install-banner{
  position:fixed;z-index:1200;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);
  width:min(720px,calc(100vw - 24px));display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;
  padding:12px 12px 12px 14px;border:1px solid #f2c6cb;border-radius:15px;background:rgba(255,255,255,.98);color:#292929;
  box-shadow:0 15px 35px rgba(0,0,0,.18);backdrop-filter:blur(10px);font-family:Arial,Helvetica,sans-serif;
}
.pwa-install-banner[hidden]{display:none!important}
.pwa-install-banner-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff0f2;color:#e7182a;font-size:17px}
.pwa-install-banner-copy{min-width:0;display:grid;gap:2px}
.pwa-install-banner-copy strong{font-size:13px;line-height:1.15;font-weight:900}
.pwa-install-banner-copy span{color:#666;font-size:12px;line-height:1.35}
.pwa-install-banner-copy small{margin-top:2px;color:#8b6b10;font-size:11px;line-height:1.35}
.pwa-install-banner-action{border:0;border-radius:10px;padding:10px 13px;background:#ea1d2c;color:#fff;font:900 12px/1 Arial,Helvetica,sans-serif;white-space:nowrap;cursor:pointer}
.pwa-install-banner-action:hover{background:#cc1422}
.pwa-install-banner-close{width:32px;height:32px;padding:0;border:0;border-radius:10px;background:#f5f5f5;color:#454545;display:grid;place-items:center;cursor:pointer}
.pwa-install-banner-close:hover{background:#ececec}
.pwa-install-banner--admin{top:12px;z-index:1400;width:min(620px,calc(100vw - 42px))}
@media (max-width:560px){
  .pwa-install-banner{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:11px}
  .pwa-install-banner-action{grid-column:2 / 4;width:100%;padding:11px 12px}
  .pwa-install-banner-close{grid-column:3;grid-row:1}
  .pwa-install-banner-copy strong{font-size:12px}
  .pwa-install-banner-copy span{font-size:11px}
  .pwa-install-banner--admin{width:calc(100vw - 24px)}
}

/* V30.2 — Pedido manual e impressão de comandas */
.manual-order-page{display:grid;gap:18px;max-width:1320px;margin:0 auto 34px}
.manual-order-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 2px 0}
.manual-order-heading small,.manual-order-schema-alert small{display:block;color:#ea1d2c;font-size:10px;font-weight:900;letter-spacing:.12em}
.manual-order-heading h2,.manual-order-schema-alert h2{margin:5px 0 7px;font-size:25px;line-height:1.1}
.manual-order-heading p,.manual-order-schema-alert p{max-width:720px;margin:0;color:#6a6a6a;font-size:14px;line-height:1.55}
.manual-order-schema-alert{display:flex;align-items:center;gap:18px;max-width:720px;margin:50px auto;padding:28px}
.manual-order-schema-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:#fff0f2;color:#ea1d2c;font-size:24px}
.manual-order-schema-alert .btn{margin-top:16px}
.manual-order-created{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid #bee4cf;border-radius:15px;background:#f0fff7;color:#167747}
.manual-order-created>div{display:flex;align-items:center;gap:10px}.manual-order-created i{font-size:20px}.manual-order-created span{display:grid;gap:2px}.manual-order-created small{color:#438664;font-size:12px}
.manual-order-form{display:grid;gap:18px}
.manual-order-catalog,.manual-order-cart-card,.manual-order-details-card{min-width:0}
.manual-order-catalog .card-title,.manual-order-cart-card .card-title{align-items:center}
.manual-order-search{position:relative;display:block;min-width:min(100%,320px)}
.manual-order-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#ea1d2c;font-size:13px;pointer-events:none}
.manual-order-search input{width:100%;height:42px;padding:0 13px 0 37px;border:1px solid #e5e5e5;border-radius:11px;background:#fff;font:700 13px/1 Arial,Helvetica,sans-serif}
.manual-order-search input:focus{outline:0;border-color:#ea1d2c;box-shadow:0 0 0 3px rgba(234,29,44,.08)}
.manual-order-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:11px;margin-top:16px}
.manual-product-card{min-width:0;display:grid;gap:8px;padding:14px;border:1px solid #ececec;border-radius:14px;background:#fff;transition:.16s ease}
.manual-product-card:hover{border-color:#f1b7be;box-shadow:0 10px 18px rgba(101,15,24,.07);transform:translateY(-1px)}
.manual-product-card small{color:#ea1d2c;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.manual-product-card h3{margin:0;color:#282828;font-size:15px;line-height:1.25}.manual-product-card p{min-height:34px;margin:0;color:#737373;font-size:11px;line-height:1.45}
.manual-product-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.manual-product-card b{color:#137444;font-size:14px}.manual-product-card button{border:0;border-radius:9px;padding:9px 10px;background:#ea1d2c;color:#fff;font:900 11px/1 Arial,Helvetica,sans-serif;cursor:pointer}.manual-product-card button:hover{background:#c81726}.manual-product-card button i{margin-right:5px}
.manual-order-no-products{grid-column:1/-1;padding:24px;border:1px dashed #d9d9d9;border-radius:13px;color:#777;text-align:center;font:700 13px/1.4 Arial,Helvetica,sans-serif}
.manual-order-count{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:6px 10px;border-radius:999px;background:#fff1f2;color:#d71b2b;font-size:11px;white-space:nowrap}
.manual-order-cart{display:grid;gap:11px;margin-top:14px}.manual-order-empty{display:grid;place-items:center;gap:7px;min-height:120px;padding:20px;border:1px dashed #dedede;border-radius:13px;color:#777;text-align:center}.manual-order-empty i{color:#e4a1a8;font-size:25px}.manual-order-empty p{margin:0;font-size:13px}
.manual-cart-item{display:grid;gap:12px;padding:14px;border:1px solid #e7e7e7;border-radius:14px;background:#fff}.manual-cart-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.manual-cart-item-top small{display:block;margin-bottom:4px;color:#ea1d2c;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.manual-cart-item h3{margin:0;color:#292929;font-size:16px;line-height:1.2}.manual-cart-remove{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #f2d3d7;border-radius:10px;background:#fff8f8;color:#d21a2b;cursor:pointer}.manual-cart-remove:hover{background:#fff0f2}
.manual-cart-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.manual-cart-controls>strong{color:#167747;font-size:16px}.manual-cart-controls>label{display:grid;gap:5px;color:#6b6b6b;font-size:11px;font-weight:800}.manual-quantity-control{display:inline-grid;grid-template-columns:34px 46px 34px;align-items:center;border:1px solid #e2e2e2;border-radius:9px;overflow:hidden;background:#fff}.manual-quantity-control button{height:32px;border:0;background:#f8f8f8;color:#d91c2c;font-size:20px;line-height:1;cursor:pointer}.manual-quantity-control input{width:46px;height:32px;padding:0;border:0;border-left:1px solid #e2e2e2;border-right:1px solid #e2e2e2;text-align:center;font:800 13px/1 Arial,Helvetica,sans-serif;appearance:textfield}.manual-quantity-control input::-webkit-outer-spin-button,.manual-quantity-control input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
.manual-combo-select,.manual-item-notes{display:grid;gap:5px;color:#555;font-size:11px;font-weight:800}.manual-combo-select select,.manual-item-notes input{width:100%;min-height:39px;padding:0 10px;border:1px solid #e2e2e2;border-radius:9px;background:#fff;color:#333;font:700 12px/1 Arial,Helvetica,sans-serif}.manual-item-notes input:focus,.manual-combo-select select:focus{outline:0;border-color:#ea1d2c}
.manual-item-addons{border:1px solid #eeeeee;border-radius:10px;background:#fcfcfc}.manual-item-addons summary{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;color:#333;font-size:12px;font-weight:900;cursor:pointer}.manual-item-addons summary span{color:#888;font-size:10px;font-weight:700}.manual-item-addons>div{display:grid;gap:7px;padding:0 11px 11px}.manual-addon-row{display:flex;align-items:center;justify-content:space-between;gap:9px;color:#444;font-size:11px;font-weight:700}.manual-addon-row span{display:flex;align-items:center;gap:5px;min-width:0}.manual-addon-row input[type=checkbox]{accent-color:#ea1d2c}.manual-addon-row em{color:#16834d;font-style:normal;white-space:nowrap}.manual-addon-row input[type=number]{width:50px;height:29px;padding:0 4px;border:1px solid #dedede;border-radius:7px;text-align:center;font:800 12px/1 Arial,Helvetica,sans-serif}
.manual-order-totals{display:grid;gap:7px;margin-top:16px;padding-top:15px;border-top:1px dashed #dfdfdf}.manual-order-totals span,.manual-order-totals strong{display:flex;align-items:center;justify-content:space-between;gap:12px}.manual-order-totals span{color:#676767;font-size:13px}.manual-order-totals strong{padding-top:8px;color:#282828;font-size:20px}.manual-order-totals strong b{color:#d31728}
.manual-order-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.manual-order-details-grid .stack-form{gap:12px}.manual-order-details-grid .switch{min-height:43px;padding:11px 12px;border:1px solid #ececec;border-radius:10px;background:#fafafa}.manual-order-payment-fields textarea,.manual-order-internal-note textarea{min-height:90px;resize:vertical}
.manual-order-delivery-fields{display:grid;gap:13px;margin-top:18px;padding:16px;border:1px solid #f1d0d4;border-radius:14px;background:#fff8f8}.manual-order-delivery-title{display:flex;align-items:center;gap:8px;color:#cf1728;font-size:13px;font-weight:900}.manual-order-delivery-title i{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#ffe8ea}.manual-order-internal-note{display:grid;gap:6px;margin-top:18px;color:#555;font-size:12px;font-weight:800}.manual-order-internal-note textarea{width:100%;padding:10px;border:1px solid #e2e2e2;border-radius:10px;font:700 12px/1.45 Arial,Helvetica,sans-serif}
.manual-order-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 16px;border:1px solid #efd4d7;border-radius:15px;background:#fff}.manual-order-actions>div:first-child{display:flex;align-items:flex-start;gap:9px;max-width:570px;color:#6d6263;font-size:12px;line-height:1.45}.manual-order-actions>div:first-child i{color:#e21b2c;margin-top:2px}.manual-order-action-buttons{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.manual-order-action-buttons .btn{white-space:nowrap}
.kitchen-order-origin{display:inline-flex!important;align-items:center;gap:4px;margin:2px 0 0!important;color:#8b6b10!important;font-size:10px!important;font-weight:900!important}
@media (max-width:860px){.manual-order-heading{align-items:flex-start;flex-direction:column}.manual-order-heading .btn{width:100%;justify-content:center}.manual-order-details-grid{grid-template-columns:1fr}.manual-order-actions{align-items:stretch;flex-direction:column}.manual-order-action-buttons{justify-content:stretch}.manual-order-action-buttons .btn{flex:1;justify-content:center}.manual-order-search{width:100%;min-width:0}.manual-order-catalog .card-title{align-items:stretch;flex-direction:column}}
@media (max-width:560px){.manual-order-page{gap:13px;margin-bottom:20px}.manual-order-heading h2{font-size:21px}.manual-order-heading p{font-size:12px}.manual-order-created{align-items:stretch;flex-direction:column}.manual-order-created .btn{justify-content:center}.manual-order-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-product-card{padding:11px}.manual-product-card h3{font-size:13px}.manual-product-card p{display:none}.manual-product-card>div{align-items:flex-start;flex-direction:column}.manual-product-card button{width:100%;justify-content:center}.manual-order-cart-card .card-title{align-items:flex-start}.manual-cart-item{padding:12px}.manual-order-actions{padding:13px}.manual-order-action-buttons{display:grid;grid-template-columns:1fr}.manual-order-action-buttons .btn{width:100%}.manual-order-schema-alert{align-items:flex-start;flex-direction:column;margin:20px auto;padding:22px}.manual-order-schema-alert h2{font-size:21px}.manual-order-schema-icon{width:48px;height:48px}}

/* ---------- V30.3: acabamento visual do painel administrativo ---------- */
.admin-body {
  --admin-ink:#22302b;
  --admin-green:#174d3d;
  --admin-green-soft:#eef7f3;
  --admin-red:#d72d3c;
  --admin-line:#e5ebe8;
  --admin-shadow:0 14px 36px rgba(28,56,47,.08);
  background:
    radial-gradient(circle at 92% 4%, rgba(215,45,60,.055), transparent 22rem),
    linear-gradient(180deg,#f8faf9 0,#f4f6f5 100%);
  color:var(--admin-ink);
}
.admin-main {
  max-width:1680px;
  padding-top:22px;
}
.admin-header {
  position:sticky;
  top:12px;
  z-index:45;
  min-height:78px;
  margin:0 0 22px;
  padding:12px 14px;
  border:1px solid rgba(222,231,227,.88);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 30px rgba(25,57,47,.07);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
.admin-header-copy { min-width:0; display:grid; gap:2px; }
.admin-header-copy h1 { line-height:1.05; }
.admin-header-date {
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  margin-top:3px;
  color:#89928e;
  font-size:.7rem;
  font-weight:700;
}
.admin-tools { gap:9px; }
.admin-quick-actions { display:flex; align-items:center; gap:7px; }
.admin-quick-actions a {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid #dfe7e3;
  border-radius:11px;
  color:#3c4d46;
  background:#fff;
  font-size:.78rem;
  font-weight:800;
  box-shadow:0 3px 10px rgba(28,56,47,.035);
}
.admin-quick-actions a:first-child {
  border-color:var(--admin-green);
  color:#fff;
  background:var(--admin-green);
}
.admin-quick-actions a:hover { transform:translateY(-1px); border-color:#c9d8d1; }
.admin-quick-actions a:first-child:hover { background:#103e31; border-color:#103e31; }
.admin-tool-icons { display:flex; align-items:center; gap:6px; }
.admin-tool-icons .sound-toggle,
.admin-tool-icons .pwa-notification-toggle {
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:0;
  border-radius:11px;
}
.admin-user {
  min-height:40px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid #e1e8e4;
  border-radius:11px;
  color:#59665f;
  background:#f9fbfa;
  font-size:.78rem;
  font-weight:750;
}
.admin-user i { color:var(--admin-green); }
.admin-sidebar {
  border-right:1px solid rgba(223,231,227,.9);
  background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%);
}
.admin-sidebar-brand-row {
  margin-bottom:5px;
  padding:7px 7px 17px;
  border-bottom:1px solid #edf1ef;
}
.admin-sidebar .admin-logo img {
  width:46px;
  height:46px;
  box-shadow:0 5px 15px rgba(22,66,52,.12);
}
.admin-sidebar .admin-logo b { color:var(--admin-green); font-size:1.04rem; }
.admin-nav-section {
  display:block;
  padding:9px 12px 3px;
  color:#9ba5a0;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.admin-nav-section-spaced { margin-top:5px; }
.admin-sidebar .admin-nav-link,
.admin-sidebar .admin-menu-group > summary,
.admin-sidebar .admin-submenu a {
  border:1px solid transparent;
}
.admin-sidebar .admin-nav-link:hover,
.admin-sidebar .admin-menu-group > summary:hover,
.admin-sidebar .admin-submenu a:hover {
  border-color:#f1dfe2;
  background:#fff6f7;
}
.admin-sidebar .admin-nav-link.active,
.admin-sidebar .admin-menu-group > summary.active-group,
.admin-sidebar .admin-submenu a.active {
  border-color:#f1ccd1;
  background:linear-gradient(90deg,#fff0f2,#fff8f9);
  box-shadow:inset 3px 0 0 var(--admin-red);
}
.admin-sidebar .side-bottom {
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid #edf1ef;
}
.metric-grid { gap:16px; }
.metric-grid article,
.admin-card {
  border-color:var(--admin-line);
  border-radius:16px;
  box-shadow:0 7px 24px rgba(31,58,49,.055);
}
.metric-grid article {
  position:relative;
  overflow:hidden;
  min-height:128px;
  padding:20px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.metric-grid article::after {
  content:"";
  position:absolute;
  right:-28px;
  bottom:-36px;
  width:90px;
  height:90px;
  border-radius:50%;
  background:rgba(23,77,61,.045);
}
.metric-grid article:hover,
.admin-card:hover {
  border-color:#d8e3de;
  box-shadow:var(--admin-shadow);
}
.metric-grid article:hover { transform:translateY(-2px); }
.metric-grid strong { color:var(--admin-green); }
.admin-card { padding:23px; }
.card-title { padding-bottom:13px; border-bottom:1px solid #eef2f0; }
.card-title h2,
.admin-card > h2 { color:#24342e; }
.order-table-wrap {
  border:1px solid #edf1ef;
  border-radius:13px;
  background:#fff;
}
.order-table-wrap table { border-collapse:separate; border-spacing:0; }
.order-table-wrap thead th {
  position:sticky;
  top:0;
  z-index:2;
  background:#f7faf8;
  color:#69766f;
}
.order-table-wrap tbody tr { transition:background .15s ease; }
.order-table-wrap tbody tr:hover { background:#fbfdfc; }
.order-table-wrap tbody tr:last-child td { border-bottom:0; }
.admin-main input:not([type="checkbox"]):not([type="radio"]),
.admin-main select,
.admin-main textarea {
  border-color:#dce5e1;
  border-radius:11px;
  background:#fff;
  box-shadow:0 1px 2px rgba(28,56,47,.025);
}
.admin-main input:not([type="checkbox"]):not([type="radio"]):focus,
.admin-main select:focus,
.admin-main textarea:focus {
  border-color:#8fb7a8;
  box-shadow:0 0 0 3px rgba(23,77,61,.11);
  outline:0;
}
.admin-main .btn.primary,
.admin-main .stack-form button[type="submit"] {
  background:linear-gradient(135deg,var(--admin-green),#22644f);
  box-shadow:0 7px 16px rgba(23,77,61,.16);
}
.admin-main .btn.primary:hover,
.admin-main .stack-form button[type="submit"]:hover {
  background:linear-gradient(135deg,#103d31,#1b5745);
}
.status { border:1px solid transparent; }
.empty-state {
  border:1px dashed #d9e3de;
  border-radius:14px;
  background:#fafcfb;
}

@media (max-width: 900px) {
  .admin-header { top:7px; min-height:70px; padding:10px; border-radius:15px; }
  .admin-header-date { display:none; }
  .admin-quick-actions a span,
  .admin-user span { display:none; }
  .admin-quick-actions a,
  .admin-user { width:40px; min-width:40px; height:40px; padding:0; justify-content:center; }
  .admin-main { padding:14px 12px 32px; }
  .admin-card { padding:17px; }
}

@media (max-width: 560px) {
  .admin-header-title h1 { font-size:1.18rem; }
  .admin-header-title small { font-size:.58rem !important; }
  .admin-tools { gap:5px; }
  .admin-tool-icons .pwa-notification-toggle { display:none; }
  .metric-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .metric-grid article { min-height:112px; padding:15px; }
  .metric-grid strong { font-size:1.38rem; }
}


/* ---------- V31: imagens integradas ao fundo branco e dias sem agendamento ---------- */
.product-photo,
.product-image-placeholder,
.product-modal-image,
.product-modal-image img {
  background: #fff !important;
}
.product-photo img {
  object-fit: contain !important;
  background: #fff !important;
}
.settings-exception-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.settings-exception-form .switch-inline,
.settings-exception-form > .btn {
  align-self: stretch;
  min-height: 58px;
}
@media (max-width: 980px) {
  .settings-exception-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-exception-form .switch-inline { grid-column: auto; }
}
@media (max-width: 620px) {
  .settings-exception-form { grid-template-columns: 1fr; }
}


/* ---------- V31.1: dias recorrentes somente para pedidos na hora ---------- */
.recurring-weekdays-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.recurring-weekday-option {
  position:relative;
  display:block;
  cursor:pointer;
}
.recurring-weekday-option input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.recurring-weekday-option span {
  display:flex;
  min-height:92px;
  padding:15px;
  border:1px solid #dce5e1;
  border-radius:14px;
  background:#fff;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}
.recurring-weekday-option span i { color:#718078; font-size:1rem; }
.recurring-weekday-option span b { color:#263832; font-size:.94rem; }
.recurring-weekday-option span small { color:#77837d; font-size:.73rem; }
.recurring-weekday-option:hover span { transform:translateY(-1px); border-color:#a9c4b9; }
.recurring-weekday-option input:focus-visible + span { outline:3px solid rgba(23,77,61,.16); outline-offset:2px; }
.recurring-weekday-option input:checked + span {
  border-color:#28725a;
  background:#eef8f4;
  box-shadow:0 0 0 2px rgba(23,77,61,.09);
}
.recurring-weekday-option input:checked + span i,
.recurring-weekday-option input:checked + span b { color:#174d3d; }
.recurring-weekdays-help { margin-top:14px; }
.recurring-global-warning { margin-top:14px; }
.recurring-global-warning[hidden] { display:none !important; }
@media (max-width:980px) {
  .recurring-weekdays-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .recurring-weekdays-grid { grid-template-columns:1fr; }
  .recurring-weekday-option span { min-height:78px; }
}

/* ---------- V31.2: combos personalizáveis com sabores e refrigerantes ---------- */
.combo-choice-list {
  gap:12px;
}
.combo-choice-group {
  overflow:hidden;
  border:1px solid #eadfcf;
  border-radius:13px;
  background:#fff;
}
.combo-choice-group > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border-bottom:1px solid #f1e6d5;
  background:#fffaf2;
}
.combo-choice-group > header > div {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.combo-choice-group > header > div > i {
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:#a86300;
  background:#ffecc6;
}
.combo-choice-group > header span { min-width:0; }
.combo-choice-group > header b { display:block; color:#432713; font-size:.84rem; }
.combo-choice-group > header small { display:block; margin-top:2px; color:#8e725d; font-size:.69rem; }
.combo-choice-group > header em {
  min-width:42px;
  padding:5px 8px;
  border-radius:999px;
  color:#9c5b00;
  background:#fff0ce;
  font-size:.72rem;
  font-style:normal;
  font-weight:900;
  text-align:center;
}
.combo-choice-group.is-complete > header { background:#eff9f4; border-bottom-color:#d8eee4; }
.combo-choice-group.is-complete > header > div > i { color:#17704f; background:#dff3e9; }
.combo-choice-group.is-complete > header em { color:#176449; background:#dff3e9; }
.combo-choice-group-options { display:grid; gap:7px; padding:8px; }
.combo-choice-option {
  cursor:default;
  grid-template-columns:34px minmax(0,1fr) auto;
}
.combo-choice-option .combo-choice-icon {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:#a86300;
  background:#fff2d9;
}
.combo-choice-option.selected .combo-choice-icon { color:#fff; background:var(--red); }
.combo-choice-quantity {
  display:grid;
  grid-template-columns:31px 27px 31px;
  align-items:center;
  gap:3px;
}
.combo-choice-quantity button {
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid #e4d8ca;
  border-radius:9px;
  color:#4a3526;
  background:#fff;
  font:900 1rem/1 Arial,sans-serif;
  cursor:pointer;
}
.combo-choice-quantity button:last-child { color:#fff; border-color:var(--red); background:var(--red); }
.combo-choice-quantity button:disabled { opacity:.35; cursor:not-allowed; }
.combo-choice-quantity strong { color:#362a22; font-size:.82rem; text-align:center; }

.combo-choice-option .combo-choice-icon.combo-choice-photo {
  overflow:hidden;
  padding:0;
  background:#fff2d9;
}
.combo-choice-option .combo-choice-icon.combo-choice-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.combo-choice-option {
  align-items:start;
}
.combo-choice-option > div:nth-child(2) {
  padding-top:2px;
}
.combo-addon-question {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding:10px;
  border-top:1px solid #f1e6d5;
  border-radius:10px;
  background:#fffaf6;
}
.combo-addon-question > strong {
  color:#51331c;
  font-size:.79rem;
}
.combo-addon-question > div {
  display:flex;
  gap:7px;
}
.combo-addon-question button {
  min-width:54px;
  height:32px;
  padding:0 13px;
  border:1px solid #e2d5c5;
  border-radius:9px;
  color:#5b4634;
  background:#fff;
  font:800 .75rem/1 Arial,sans-serif;
  cursor:pointer;
}
.combo-addon-question button.is-active {
  color:#fff;
  border-color:var(--red);
  background:var(--red);
}

.combo-choice-addons {
  grid-column:1 / -1;
  margin-top:8px;
  padding:10px;
  border-top:1px solid #f1e6d5;
  background:#fffaf6;
  border-radius:10px;
}
.combo-choice-addons > strong {
  display:block;
  color:#51331c;
  font-size:.79rem;
}
.combo-choice-addons > small {
  display:block;
  margin:3px 0 8px;
  color:#8a705d;
  font-size:.68rem;
}
.combo-addon-line {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-top:1px dashed #ecdcc8;
}
.combo-addon-line:first-of-type {
  border-top:0;
}
.combo-addon-line b { display:block; color:#3d2d20; font-size:.78rem; }
.combo-addon-line small { display:block; margin-top:2px; color:#7d6855; font-size:.69rem; }
.combo-addon-qty-control {
  flex-shrink:0;
}
.cart-line-combo-addons,
.checkout-combo-line.cart-line-combo-addons,
.checkout-combo-line + .checkout-combo-line {
  display:block;
  margin-top:4px;
  color:#75502f !important;
  font-weight:700;
}
.cart-line-combo-addons i,
.checkout-combo-line i {
  color:var(--red);
  margin-right:4px;
}

.combo-count-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:16px; }
.combo-admin-group { display:grid; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid #f0e2c8; }
.combo-admin-group-title { display:flex; align-items:center; gap:10px; }
.combo-admin-group-title > i {
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#a45e00;
  background:#ffedc9;
}
.combo-admin-group-title b { display:block; color:#3e3127; font-size:.88rem; }
.combo-admin-group-title small { display:block; margin-top:2px; color:#817469; font-size:.73rem; }
.combo-option-check > span { min-width:0; }
.combo-option-check:has(input:checked) { border-color:#de7b84; background:#fff5f6; box-shadow:0 0 0 2px rgba(234,29,44,.07); }

.manual-combo-builder {
  display:grid;
  gap:9px;
  padding:11px;
  border:1px solid #f0dcb8;
  border-radius:11px;
  background:#fffaf1;
}
.manual-combo-builder > strong { color:#54300f; font-size:12px; }
.manual-combo-group {
  overflow:hidden;
  border:1px solid #eadfce;
  border-radius:10px;
  background:#fff;
}
.manual-combo-group > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  border-bottom:1px solid #eee5d9;
  background:#fff8ec;
}
.manual-combo-group > header b { color:#4c3828; font-size:11px; }
.manual-combo-group > header em {
  padding:3px 7px;
  border-radius:999px;
  color:#985a00;
  background:#ffedc9;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.manual-combo-group.is-complete > header { background:#eff9f4; }
.manual-combo-group.is-complete > header em { color:#176449; background:#dff3e9; }
.manual-combo-option {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:39px;
  padding:6px 8px;
  border-top:1px solid #f2ece5;
}
.manual-combo-option:first-of-type { border-top:0; }
.manual-combo-option > span { color:#49413b; font-size:11px; font-weight:800; }
.manual-combo-option > div { display:grid; grid-template-columns:28px 25px 28px; align-items:center; gap:3px; }
.manual-combo-option button {
  width:28px;
  height:28px;
  border:1px solid #e1d8ce;
  border-radius:8px;
  color:#43372f;
  background:#fff;
  font:900 15px/1 Arial,sans-serif;
  cursor:pointer;
}
.manual-combo-option button:last-child { color:#fff; border-color:#ea1d2c; background:#ea1d2c; }
.manual-combo-option button:disabled { opacity:.35; cursor:not-allowed; }
.manual-combo-option b { color:#3c3733; font-size:11px; text-align:center; }

@media (max-width:760px) {
  .combo-count-grid,
  .combo-option-grid { grid-template-columns:1fr; }
}
@media (max-width:430px) {
  .combo-choice-option { grid-template-columns:30px minmax(0,1fr) auto; padding:8px; }
  .combo-choice-option .combo-choice-icon { width:29px; height:29px; }
  .combo-choice-quantity { grid-template-columns:29px 23px 29px; }
  .combo-choice-quantity button { width:29px; height:29px; }
}

/* ---------- V31.10: resumo responsivo e taxas manuais por bairro ---------- */
.checkout-preview {
  min-width: 0;
  overflow: hidden;
}
.checkout-preview-item {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #ececef;
}
.checkout-preview-item:first-child { padding-top: 0; }
.checkout-preview-item:last-child { padding-bottom: 0; border-bottom: 0; }
.checkout-preview-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.checkout-preview-title {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 5px;
  color: #2f3032;
  font-size: .82rem;
  line-height: 1.28;
}
.checkout-preview-title > span {
  display: block !important;
  min-width: 0;
  white-space: nowrap;
  font-size: .78rem;
}
.checkout-preview-title > b {
  min-width: 0;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: .82rem;
}
.checkout-preview-price {
  align-self: start;
  white-space: nowrap;
  color: #313234;
  font-size: .82rem;
}
.checkout-preview .checkout-combo-line,
.checkout-preview .checkout-preview-addons {
  display: block !important;
  min-width: 0;
  margin: 0;
  color: #6e6f72;
  font-size: .71rem;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.checkout-preview-empty {
  margin: 0;
  color: #77787b;
  font-size: .82rem;
}
@media (max-width: 370px) {
  .checkout-preview-item { gap: 7px; }
  .checkout-preview { padding: 11px; }
  .checkout-preview-price { font-size: .76rem; }
}

/* ---------- V31.11: hierarquia do resumo do pedido ---------- */
.checkout-preview .checkout-detail-line {
  display: block;
  min-width: 0;
  margin: 1px 0 0 21px;
  color: #6d6e71;
  font-size: .72rem;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.checkout-preview .checkout-detail-line b {
  color: #4e4f52;
  font-weight: 900;
  white-space: normal;
}
.checkout-preview .checkout-detail-addon {
  padding-left: 8px;
  border-left: 2px solid #f2c3c8;
  color: #7a5558;
}
.checkout-preview .checkout-detail-drink {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px dashed #e4e4e6;
}
.checkout-preview-item.is-drink {
  margin-top: 2px;
}
.cart-line-copy .checkout-detail-line {
  display: block;
  margin-top: 3px;
  color: #6d6e71;
  font-size: .73rem;
  line-height: 1.4;
}
.cart-line-copy .checkout-detail-addon {
  padding-left: 7px;
  border-left: 2px solid #f2c3c8;
}
@media (max-width:370px) {
  .checkout-preview .checkout-detail-line { margin-left: 17px; font-size: .69rem; }
}
.status-summary .track-detail-line {
  display: block;
  margin-top: 3px;
  color: #717277;
  font-size: .73rem;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
.status-summary .track-detail-line b {
  color: #4f5054;
  font-weight: 900;
}
.status-summary .track-detail-addon {
  padding-left: 7px;
  border-left: 2px solid #f2c3c8;
}
.status-summary .track-detail-drink {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px dashed #e3e3e6;
}

/* =========================================================
   KABÉCA 32.0 — fluxo de pedido, agenda e operação
   ========================================================= */
.order-availability-card{display:flex;align-items:flex-start;gap:14px;margin:14px auto 20px;padding:16px 18px;border:1px solid #eadfe0;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(44,26,28,.06)}
.order-availability-card>i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#fff0f1;color:var(--primary,#ea1d2c);font-size:19px}.order-availability-card strong{display:block;font-size:1rem;margin-bottom:4px}.order-availability-card p{margin:0;color:#685d60;line-height:1.45}.order-availability-card.is-open{border-color:#ccebd8;background:#f7fff9}.order-availability-card.is-open>i{background:#e4f8eb;color:#187344}.order-availability-card.is-scheduled{border-color:#d9e2ff;background:#f7f9ff}.order-availability-card.is-scheduled>i{background:#e9efff;color:#3155a6}.order-availability-card.is-closed{background:#fff8f2;border-color:#f1d7bd}.order-availability-card.is-closed>i{background:#ffead7;color:#a95d19}

.checkout-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px 16px;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:4}.checkout-stepper button{border:0;background:#f5f3f3;color:#776d6f;border-radius:13px;min-height:54px;padding:8px;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;cursor:pointer}.checkout-stepper button b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#ded9da}.checkout-stepper button span{font-size:.78rem;line-height:1.15}.checkout-stepper button.active{background:#fff0f1;color:#b50f1d}.checkout-stepper button.active b,.checkout-stepper button.complete b{background:var(--primary,#ea1d2c);color:#fff}.checkout-stepper button.complete{color:#554b4d}.checkout-step{animation:checkoutStepIn .18s ease}.checkout-step[hidden]{display:none!important}@keyframes checkoutStepIn{from{opacity:.35;transform:translateX(10px)}to{opacity:1;transform:none}}
.checkout-step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #eee}.checkout-step-actions .main-order-button{width:auto;max-width:100%;padding-inline:20px}.checkout-submit-actions{position:sticky;bottom:-1px;background:#fff;padding-bottom:max(10px,env(safe-area-inset-bottom));z-index:3}.timing-choice-row label span,.choice-row label span{height:100%}.timing-choice-row label span,.checkout-form .choice-row label>span{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.timing-choice-row label i{font-size:1.15rem;margin-bottom:3px}.timing-choice-row label small,.checkout-form .choice-row label small{font-size:.72rem;font-weight:600;color:#756b6d}.choice-row label.is-disabled{opacity:.48;cursor:not-allowed}.choice-row label.is-disabled span{background:#f4f2f2}
.checkout-final-summary{border:1px solid #dfd9da;border-radius:17px;padding:15px;background:#faf9f9;margin:4px 0 16px}.checkout-final-summary header{display:flex;align-items:center;gap:11px;margin-bottom:12px}.checkout-final-summary header>i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9f8ee;color:#197042}.checkout-final-summary header small{font-size:.68rem;font-weight:900;letter-spacing:.08em;color:#766c6e}.checkout-final-summary header h3{margin:2px 0 0;font-size:1rem}.checkout-final-summary [data-final-summary]{display:grid;gap:0}.checkout-final-summary [data-final-summary]>div{display:grid;grid-template-columns:minmax(84px,.38fr) 1fr;gap:10px;padding:9px 0;border-top:1px dashed #ded6d8}.checkout-final-summary [data-final-summary] span{font-size:.8rem;color:#776d6f}.checkout-final-summary [data-final-summary] strong{font-size:.83rem;text-align:right;overflow-wrap:anywhere}
.track-recovery-form{display:grid;gap:12px;width:100%;margin:18px 0}.track-recovery-form label{display:grid;gap:6px;text-align:left;font-weight:800;font-size:.82rem}.track-recovery-form input{width:100%;border:1px solid #d8d1d2;border-radius:12px;padding:13px;font:inherit;background:#fff}.track-recovery-form input:focus{outline:3px solid rgba(234,29,44,.12);border-color:var(--primary,#ea1d2c)}

.settings-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.settings-page-head h1{margin:.1rem 0}.settings-page-head p{max-width:720px;margin:.35rem 0 0;color:#6d6365}.settings-page-head-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-form-shell{display:grid;gap:18px}.settings-section-nav{display:flex;gap:8px;overflow:auto;padding:3px 1px 10px;scrollbar-width:thin}.settings-section-nav a{white-space:nowrap;text-decoration:none;color:#5d5355;background:#fff;border:1px solid #ddd5d6;border-radius:999px;padding:9px 13px;font-size:.8rem;font-weight:800}.settings-section-nav a:hover{border-color:var(--primary,#ea1d2c);color:var(--primary,#ea1d2c)}.settings-panel{scroll-margin-top:20px}.settings-panel-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.settings-panel-heading h2{margin:0 0 3px}.settings-panel-heading p{margin:0;color:#746a6c}.settings-panel-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#fff0f1;color:var(--primary,#ea1d2c)}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-field-wide{grid-column:1/-1}.settings-form-grid label,.stack-form label{display:grid;gap:6px;font-weight:800;font-size:.82rem}.settings-form-grid input,.settings-form-grid select,.settings-form-grid textarea,.stack-form input,.stack-form select,.stack-form textarea{width:100%;border:1px solid #d9d2d3;border-radius:11px;padding:11px;font:inherit;background:#fff}.settings-note{display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#f7f5f5;color:#655b5d;font-size:.82rem;line-height:1.45}.settings-note i{margin-top:2px}.weekly-mode-table-wrap{overflow-x:auto;border:1px solid #e2dcdd;border-radius:14px}.weekly-mode-table{width:100%;border-collapse:collapse;min-width:620px}.weekly-mode-table th,.weekly-mode-table td{padding:11px 12px;text-align:left;border-bottom:1px solid #eee8e9}.weekly-mode-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;background:#faf8f8;color:#756b6d}.weekly-mode-table tr:last-child td{border-bottom:0}.weekly-mode-table select,.weekly-mode-table input{min-width:120px}.customer-availability-preview{display:flex;gap:13px;align-items:flex-start;border:1px solid #ddd7d8;border-radius:16px;padding:16px;background:#fff}.customer-availability-preview>i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#f1eeee}.customer-availability-preview strong{display:block;margin-bottom:4px}.customer-availability-preview p{margin:0;color:#6d6365}.customer-availability-preview.is-open{background:#f5fff8;border-color:#c9ead5}.customer-availability-preview.is-scheduled{background:#f6f8ff;border-color:#d7e0ff}.settings-save-bar{display:flex;justify-content:flex-end;position:sticky;bottom:12px;z-index:5}.settings-save-bar .btn{box-shadow:0 8px 25px rgba(0,0,0,.14)}

.agenda-date-strip,.orders-period-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px}.agenda-date-strip a,.orders-period-tabs a{white-space:nowrap;text-decoration:none;border:1px solid #ded7d8;background:#fff;color:#5f5557;border-radius:12px;padding:9px 12px;font-size:.79rem;font-weight:850}.agenda-date-strip a.active,.orders-period-tabs a.active{background:var(--primary,#ea1d2c);border-color:var(--primary,#ea1d2c);color:#fff}.agenda-operation-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.8fr);gap:18px}.agenda-slot-list{display:grid;gap:12px}.agenda-slot-card{border:1px solid #ded8d9;border-radius:16px;padding:15px;background:#fff}.agenda-slot-card.is-unavailable{background:#faf7f7}.agenda-slot-card.is-few{border-color:#e5ba68;background:#fffaf0}.agenda-slot-card>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.agenda-slot-card>header h3{margin:0}.agenda-capacity-bar{height:8px;background:#ece7e8;border-radius:999px;overflow:hidden;margin:10px 0}.agenda-capacity-bar>i{display:block;height:100%;background:var(--primary,#ea1d2c);border-radius:inherit}.agenda-slot-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.agenda-inline-capacity{display:flex;align-items:flex-end;gap:7px}.agenda-inline-capacity label{display:grid;gap:4px;font-size:.72rem;font-weight:800}.agenda-inline-capacity input{width:72px;border:1px solid #d8d1d2;border-radius:9px;padding:8px}.agenda-slot-orders{display:grid;gap:7px;margin-top:12px}.agenda-slot-orders article{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;background:#f7f5f5;border-radius:10px;font-size:.78rem}.agenda-slot-orders small{display:block;color:#756b6d}.agenda-tools-column{display:grid;align-content:start;gap:15px}.agenda-exception-list{display:grid;gap:8px}.agenda-exception-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e3ddde;border-radius:11px}.agenda-exception-actions{display:flex;gap:5px}.agenda-metric-grid{margin-bottom:16px}

.manual-order-schedule-fields{display:grid;gap:10px;padding:12px;background:#f7f5f5;border-radius:12px;border:1px solid #e3ddde}.orders-period-tabs{margin:10px 0 3px}.danger-outline{color:#aa1b26!important;border-color:#e8aeb3!important;background:#fff!important}.empty-state.compact{padding:20px!important;min-height:auto!important}

@media(max-width:820px){.settings-page-head{display:grid}.settings-form-grid{grid-template-columns:1fr}.agenda-operation-grid{grid-template-columns:1fr}.checkout-stepper button span{display:none}.checkout-stepper button{min-height:42px}.checkout-step-actions{align-items:stretch}.checkout-step-actions .main-order-button,.checkout-step-actions .btn{flex:1}.weekly-mode-table{min-width:560px}.order-availability-card{margin-inline:12px}}
@media(max-width:520px){.order-availability-card{padding:13px}.checkout-step-actions{flex-direction:column-reverse}.checkout-step-actions>span:empty{display:none}.checkout-step-actions .main-order-button,.checkout-step-actions .btn{width:100%}.checkout-final-summary [data-final-summary]>div{grid-template-columns:1fr}.checkout-final-summary [data-final-summary] strong{text-align:left}.agenda-slot-card>header{align-items:flex-start}.agenda-slot-actions{display:grid}.agenda-inline-capacity{width:100%}.agenda-inline-capacity label{flex:1}.agenda-inline-capacity input{width:100%}}
.kitchen-next-status{width:100%;border:0;border-radius:11px;padding:10px 12px;background:var(--primary,#ea1d2c);color:#fff;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:7px}.kitchen-next-status:hover{filter:brightness(.93)}
.order-availability-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#fff0f1;color:var(--primary,#ea1d2c);font-size:19px}.order-availability-copy{flex:1;min-width:0}.order-availability-copy small{display:block;font-size:.67rem;font-weight:900;letter-spacing:.09em;color:#776d6f;margin-bottom:3px}.order-availability-copy h2{font-size:1rem;margin:0 0 4px}.order-availability-copy p{margin:0;color:#685d60;line-height:1.45}.order-availability-card>button{border:0;background:transparent;color:var(--primary,#ea1d2c);font:inherit;font-size:.78rem;font-weight:900;cursor:pointer;align-self:center}.order-availability-card.is-open .order-availability-icon{background:#e4f8eb;color:#187344}.order-availability-card.is-scheduled .order-availability-icon{background:#e9efff;color:#3155a6}.order-availability-card.is-closed .order-availability-icon{background:#ffead7;color:#a95d19}@media(max-width:520px){.order-availability-card{flex-wrap:wrap}.order-availability-card>button{margin-left:56px}}
.public-legal-footer{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 16px 110px;color:#7b7173;font-size:.75rem}.public-legal-footer a{color:#5e5557;font-weight:800}.legal-page{margin:0;background:#f7f4f4;color:#2f292a;font-family:Arial,sans-serif}.legal-card{width:min(760px,calc(100% - 28px));margin:28px auto;padding:28px;background:#fff;border-radius:20px;box-shadow:0 12px 40px rgba(45,25,28,.08)}.legal-card>img{display:block;width:78px;height:78px;object-fit:contain;margin:20px auto 12px}.legal-card>small{display:block;text-align:center;font-weight:900;letter-spacing:.1em;color:#9b202b}.legal-card h1{text-align:center;margin:.4rem 0 1.3rem}.legal-card h2{font-size:1rem;margin:1.5rem 0 .45rem}.legal-card p{color:#655c5e;line-height:1.65}.legal-updated{font-size:.78rem;border-top:1px solid #eee;padding-top:14px;margin-top:25px}.legal-card .back-menu{display:inline-flex}

/* ---------- V32.3: fluxo Pix, centralização do checkout e navegação simplificada ---------- */
.restaurant-name-row .rating {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#d38f00;
}
.restaurant-name-row .rating i { margin:0; color:#f3a800; }

.how-panel .how-hero small {
  display:block;
  margin-bottom:3px;
  color:var(--red);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.1em;
}
.how-panel .how-hero h2 { margin:0; }
.how-panel .how-hero p { margin:4px 0 0; color:#756b6d; font-size:.78rem; line-height:1.4; }

/* Entrega/retirada, agora/agendar e formas de pagamento ficam realmente centralizados. */
.checkout-form .fulfillment-choice-row label > span,
.checkout-form .timing-choice-row label > span,
.checkout-form .choice-row label > span {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  min-height:78px;
  padding:10px 8px;
  text-align:center !important;
}
.checkout-form .choice-row label > span i,
.checkout-form .fulfillment-choice-row label > span i,
.checkout-form .timing-choice-row label > span i {
  margin:0 0 3px !important;
  font-size:1.05rem;
}
.checkout-form .choice-row label > span b,
.checkout-form .choice-row label > span small {
  width:100%;
  text-align:center !important;
}

.payment-family-options {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.payment-family-options .payment-option,
.payment-family-options .payment-option-cash { grid-column:auto !important; }
.payment-family-options .payment-option span {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  min-height:88px;
  padding:10px 7px;
  text-align:center;
}
.payment-family-options .payment-option i { margin:0 0 2px !important; grid-area:auto; }
.payment-family-options .payment-option b,
.payment-family-options .payment-option small { grid-area:auto; width:100%; text-align:center; }

.pix-payment-choices {
  display:grid;
  gap:10px;
  margin-top:11px;
  padding:13px;
  border:1px solid #eadfe1;
  border-radius:14px;
  background:#fffafa;
}
.pix-payment-choices[hidden] { display:none !important; }
.pix-payment-choices > strong { font-size:.82rem; text-align:center; }
.pix-payment-choice-row { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pix-payment-choice-row label { min-width:0; }
.pix-payment-choice-row label > span { min-height:94px !important; }
.pix-payment-choice-row label > span b { font-size:.78rem; line-height:1.2; }
.pix-payment-choice-row label > span small { font-size:.66rem; line-height:1.3; }

.checkout-online-email-block {
  display:grid;
  gap:10px;
  margin-top:11px;
  padding:13px;
  border:1px solid #dce6f7;
  border-radius:14px;
  background:#f8fbff;
}
.checkout-online-email-block[hidden] { display:none !important; }
.checkout-online-email-block .checkout-email-field { display:grid; gap:6px; }
.checkout-online-email-block .checkout-email-field > span { font-size:.82rem; font-weight:850; }
.checkout-online-email-block input[type="email"] { width:100%; border:1px solid #d9d2d3; border-radius:11px; padding:11px; font:inherit; background:#fff; }

@media(max-width:390px) {
  .payment-family-options { gap:6px !important; }
  .payment-family-options .payment-option span { min-height:84px; padding:8px 5px; }
  .payment-family-options .payment-option b { font-size:.72rem; }
  .payment-family-options .payment-option small { font-size:.59rem; }
  .pix-payment-choice-row { grid-template-columns:1fr 1fr; gap:6px; }
  .pix-payment-choice-row label > span { min-height:100px !important; padding:8px 5px !important; }
}


/* ---------- V32.4: situação do dia e explicações dentro de Como funciona ---------- */
.day-situation-option.is-scheduled { border-color:rgba(49,85,166,.25); background:#f7f9ff; }
.day-situation-option.is-scheduled .delivery-icon,
.day-situation-option.is-scheduled b { color:#3155a6; }
.day-situation-option.is-now { border-color:rgba(234,29,44,.22); background:#fff8f8; }
.day-situation-option.is-now .delivery-icon,
.day-situation-option.is-now b { color:var(--red); }
.day-situation-option.is-both { border-color:rgba(183,121,15,.25); background:#fffaf0; }
.day-situation-option.is-both .delivery-icon,
.day-situation-option.is-both b { color:#9b6509; }
.day-situation-option.is-closed { border-color:rgba(168,30,42,.22); background:#fff8f8; }
.day-situation-option.is-closed .delivery-icon,
.day-situation-option.is-closed b { color:#a81e2a; }
.day-situation-option > span { min-width:0; }
.day-situation-option b { line-height:1.22; }
.day-situation-option small { line-height:1.3; }

.how-today-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:13px; margin:18px 0 22px; padding:15px; border:1px solid #d9e2ff; border-radius:16px; background:#f7f9ff; }
.how-today-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; background:#e9efff; color:#3155a6; font-size:1.08rem; }
.how-today-copy { min-width:0; }
.how-today-copy > small { display:block; margin-bottom:3px; color:#6d6e73; font-size:.65rem; font-weight:900; letter-spacing:.1em; }
.how-today-copy strong { display:block; color:#2d2f34; font-size:1rem; line-height:1.25; }
.how-today-copy p { margin:5px 0 8px; color:#62646a; font-size:.84rem; line-height:1.48; }
.how-today-copy span { display:flex; align-items:center; gap:6px; color:#55575c; font-size:.76rem; font-weight:750; line-height:1.35; }
.how-today-copy span i { color:#208f59; }
.how-today-card.is-open { border-color:#ccebd8; background:#f7fff9; }
.how-today-card.is-open .how-today-icon { background:#e4f8eb; color:#187344; }
.how-today-card.is-closed { border-color:#f1d7bd; background:#fff8f2; }
.how-today-card.is-closed .how-today-icon { background:#ffead7; color:#a95d19; }
.how-section-title { margin:0 0 12px; }
.how-section-title small { display:block; color:var(--red); font-size:.64rem; font-weight:900; letter-spacing:.1em; }
.how-section-title h3 { margin:3px 0 0; color:#303136; font-size:1.12rem; }

@media(max-width:520px){
  .delivery-controls { align-items:stretch; }
  .delivery-option { min-height:94px; }
  .day-situation-option b { font-size:.78rem; }
  .day-situation-option small { font-size:.63rem; }
  .how-today-card { grid-template-columns:40px minmax(0,1fr); gap:11px; padding:13px; }
  .how-today-icon { width:40px; height:40px; }
}


/* ---------- V32.5: melhorias no checkout e modal Como funciona ---------- */
.secondary-order-button {
  background:#fff !important;
  color:var(--red) !important;
  border:1px solid rgba(234,29,44,.28) !important;
  box-shadow:0 7px 16px rgba(234,29,44,.08) !important;
}
.secondary-order-button:hover {
  background:#fff5f6 !important;
  color:var(--red-dark) !important;
}
.checkout-preferences-top {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.checkout-preferences-top label {
  display:grid;
  gap:6px;
}
.checkout-preferences-top select {
  width:100%;
}
.cep-lookup-status[hidden] { display:none !important; }
.how-panel {
  background:linear-gradient(180deg,#fff 0%,#fff 70%,#fff9fa 100%);
}
.how-panel .how-modal-scroll {
  display:grid;
  gap:16px;
}
.how-section-title {
  margin-top:2px;
}
.how-panel .how-steps-simple li {
  background:#fff;
  border:1px solid #f0e3e5;
  border-radius:16px;
  padding:13px 14px;
  box-shadow:0 8px 18px rgba(34,36,38,.05);
}
.how-tip-card {
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  padding:14px 15px;
  border:1px solid #efe3c0;
  border-radius:16px;
  background:#fffaf0;
}
.how-tip-card > i {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:#fff0c9;
  color:#9a6708;
}
.how-tip-card strong {
  display:block;
  margin-bottom:4px;
  color:#3a3324;
}
.how-tip-card p {
  margin:0;
  color:#655b49;
  font-size:.82rem;
  line-height:1.5;
}
@media(max-width:520px){
  .checkout-preferences-top { grid-template-columns:1fr; }
  .how-tip-card { grid-template-columns:1fr; }
  .how-tip-card > i { width:36px; height:36px; }
}


/* ---------- V32.5.3: destaque verde na home e Como funciona centralizado ---------- */
.day-situation-option.is-now {
  border-color:#ccebd8 !important;
  background:#f7fff9 !important;
}
.day-situation-option.is-now:hover {
  border-color:#a9ddbf !important;
  background:#f1fff6 !important;
}
.day-situation-option.is-now > i.delivery-icon {
  display:grid !important;
  place-items:center;
  flex:0 0 38px !important;
  width:38px !important;
  height:38px !important;
  margin:0 !important;
  border-radius:12px;
  background:#e4f8eb;
  color:#187344 !important;
  font-size:1rem !important;
}
.day-situation-option.is-now b {
  color:#173f2a !important;
}
.day-situation-option.is-now > i.option-chevron {
  color:#187344 !important;
}
.day-situation-option small:empty {
  display:none !important;
}

.how-panel .how-modal-scroll {
  text-align:center !important;
  justify-items:stretch;
}
.how-panel .how-hero {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:10px 34px 20px !important;
  text-align:center !important;
}
.how-panel .how-hero > div,
.how-panel .how-hero small,
.how-panel .how-hero h2,
.how-panel .how-hero p,
.how-panel .how-section-title,
.how-panel .how-section-title small,
.how-panel .how-section-title h3 {
  width:100%;
  text-align:center !important;
}
.how-panel .how-steps-simple {
  width:100%;
  justify-items:stretch !important;
}
.how-panel .how-steps-simple li {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  text-align:center !important;
}
.how-panel .how-steps-simple li > b {
  margin:0 auto !important;
}
.how-panel .how-steps-simple li > div,
.how-panel .how-steps-simple strong,
.how-panel .how-steps-simple p,
.how-panel .how-steps-simple small,
.how-panel .how-hours-note {
  width:100%;
  text-align:center !important;
}
.how-panel .how-hours-note {
  justify-content:center !important;
}

@media(max-width:520px){
  .day-situation-option.is-now > i.delivery-icon {
    display:grid !important;
    flex-basis:34px !important;
    width:34px !important;
    height:34px !important;
  }
  .how-panel .how-hero {
    padding:8px 28px 16px !important;
  }
}

/* ---------- V34: mapa ao vivo, mensagens e rastreamento ---------- */
.live-tracking-card{overflow:hidden;margin:16px 0;border:1px solid #eadfe1;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(35,27,29,.07)}
.live-tracking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px 12px}
.live-tracking-head small{display:block;color:var(--red);font-size:.64rem;font-weight:950;letter-spacing:.1em}.live-tracking-head h3{margin:3px 0 0;font-size:1rem}.live-tracking-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f3f1f1;color:#766d6f;font-size:.62rem;font-weight:900;white-space:nowrap}.live-tracking-card.is-active .live-tracking-badge{background:#eaf8f0;color:#157a4b}.live-tracking-card.is-active .live-tracking-badge i{width:7px;height:7px;border-radius:50%;background:#16a064;box-shadow:0 0 0 5px rgba(22,160,100,.12)}
.live-tracking-info{display:grid;gap:4px;padding:0 16px 13px;color:#6c6466;font-size:.78rem;line-height:1.45}.live-tracking-info strong{color:#3d3739;font-size:.85rem}.live-tracking-info span[hidden]{display:none!important}.live-tracking-card.is-stale .live-tracking-info strong{color:#a05c0d}
.live-tracking-map{height:270px;background:#f2f1f1}.live-tracking-map[hidden]{display:none!important}
.kabeca-map-marker{background:transparent!important;border:0!important}.kabeca-map-marker span{display:grid;place-items:center;width:42px;height:42px;border:3px solid #fff;border-radius:50%;box-shadow:0 7px 18px rgba(0,0,0,.24);font-size:17px}.kabeca-map-marker.is-driver span{background:#ea1d2c;color:#fff}.kabeca-map-marker.is-destination span{background:#16834f;color:#fff}
.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}
.status-message-settings{display:grid;gap:14px}.status-message-card{overflow:hidden;border:1px solid #e7dfe1;border-radius:17px;background:#fff}.status-message-card header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;background:#faf8f8;border-bottom:1px solid #eee7e8}.status-message-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff0f1;color:var(--red)}.status-message-card header b,.status-message-card header small{display:block}.status-message-card header small{margin-top:3px;color:#776e70;font-size:.74rem}.status-message-card textarea{width:calc(100% - 28px);margin:14px;min-height:128px;resize:vertical;border:1px solid #dcd4d6;border-radius:13px;padding:12px;font:inherit;line-height:1.5}.status-whatsapp-check{white-space:nowrap}.status-whatsapp-check input{position:absolute;opacity:0}.status-whatsapp-check span{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #cfe7d8;border-radius:999px;background:#fff;color:#26734d;font-size:.72rem;font-weight:900}.status-whatsapp-check input:checked+span{background:#eaf8f0;border-color:#9ed0b2;color:#157a4b}.message-variables{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:15px;padding:12px 13px;border-radius:14px;background:#f7f5f5}.message-variables b{margin-right:4px;font-size:.78rem}.message-variables code{padding:5px 7px;border-radius:7px;background:#fff;border:1px solid #e6dfe0;color:#8f2631;font-size:.7rem}.tracking-config-status{display:flex;align-items:flex-start;gap:10px;margin-top:15px;padding:12px 13px;border-radius:14px;background:#fff7e9;color:#89500d}.tracking-config-status.is-ready{background:#effbf4;color:#176942}.tracking-config-status i{margin-top:2px}.tracking-config-status b,.tracking-config-status span{display:block}.tracking-config-status span{margin-top:3px;font-size:.77rem}.map-provider-grid{margin-top:15px}
@media(max-width:620px){.status-message-card header{grid-template-columns:40px minmax(0,1fr)}.status-whatsapp-check{grid-column:1/-1}.status-whatsapp-check span{justify-content:center;width:100%}.live-tracking-map{height:235px}}

/* ---------- V34.3: experiência animada no acompanhamento do pedido ---------- */
.order-experience-card {
  --experience-accent: var(--red,#ea1d2c);
  display:grid;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr);
  align-items:center;
  gap:20px;
  overflow:hidden;
  margin:18px 0 22px;
  padding:17px 19px;
  border:1px solid #eee4e6;
  border-radius:20px;
  background:linear-gradient(135deg,#fff 0%,#fff8f9 100%);
  box-shadow:0 12px 30px rgba(53,35,39,.07);
}
.order-experience-card.is-confirmed { --experience-accent:#168650; background:linear-gradient(135deg,#fff 0%,#f4fff8 100%); border-color:#d8eee1; }
.order-experience-card.is-preparing { --experience-accent:#d26b17; background:linear-gradient(135deg,#fff 0%,#fff8f0 100%); border-color:#f2dfc9; }
.order-experience-card.is-ready { --experience-accent:#168650; background:linear-gradient(135deg,#fff 0%,#f4fff8 100%); border-color:#d8eee1; }
.order-experience-card.is-out_for_delivery { --experience-accent:#187d93; background:linear-gradient(135deg,#fff 0%,#f1fbfd 100%); border-color:#d3ebf0; }
.order-experience-card.is-completed { --experience-accent:#168650; background:linear-gradient(135deg,#fff 0%,#f2fff7 100%); border-color:#d3ecdd; }
.order-experience-card.is-cancelled { --experience-accent:#af2531; background:linear-gradient(135deg,#fff 0%,#fff4f5 100%); border-color:#f0d5d8; }
.order-experience-art {
  min-height:145px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.98),rgba(255,255,255,.55) 68%,transparent 69%);
}
.order-stage-svg { display:block; width:100%; max-width:190px; height:auto; overflow:visible; }
.order-experience-copy { min-width:0; }
.order-experience-kicker {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--experience-accent);
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.09em;
}
.order-experience-copy h2 { margin:7px 0 6px; color:#2d292a; font-size:clamp(1.12rem,3.8vw,1.45rem); line-height:1.16; letter-spacing:-.025em; }
.order-experience-copy p { margin:0; color:#6a6264; font-size:.84rem; line-height:1.5; }
.order-experience-progress { height:5px; overflow:hidden; margin-top:15px; border-radius:999px; background:rgba(35,29,30,.08); }
.order-experience-progress span { display:block; width:38%; height:100%; border-radius:inherit; background:var(--experience-accent); animation:experienceProgress 2.2s ease-in-out infinite alternate; }
.order-experience-card.is-completed .order-experience-progress span,
.order-experience-card.is-cancelled .order-experience-progress span { width:100%; animation:none; }
.track-order-content .order-experience-card { grid-template-columns:150px minmax(0,1fr); margin:16px 0 20px; padding:14px 16px; }
.track-order-content .order-experience-art { min-height:118px; }
.track-order-content .order-stage-svg { max-width:155px; }

/* Base dos desenhos vetoriais */
.order-stage-svg .stage-paper { fill:#fff; stroke:#ded5d7; stroke-width:2.5; }
.order-stage-svg .stage-line { fill:none; stroke:#c9bec1; stroke-width:5; stroke-linecap:round; }
.order-stage-svg .stage-sparkles path,
.order-stage-svg .stage-confetti path { fill:none; stroke:var(--experience-accent); stroke-width:4; stroke-linecap:round; }
.order-stage-svg .stage-counter-shadow { fill:rgba(59,42,46,.10); }
.order-stage-svg .stage-success-halo { fill:rgba(22,134,80,.14); transform-origin:center; }
.order-stage-svg .stage-success { fill:#168650; }
.order-stage-svg .stage-check { fill:none; stroke:#fff; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.order-stage-svg .stage-waiting-dots circle { fill:var(--red,#ea1d2c); }
.order-stage-svg .stage-order-dot { fill:#fff0f1; stroke:var(--red,#ea1d2c); stroke-width:3; }

/* Recebido / confirmado */
.stage-receipt-drop { animation:receiptDrop 1.1s cubic-bezier(.21,.9,.34,1.15) both; transform-origin:120px 75px; }
.stage-receipt { animation:receiptFloat 3s ease-in-out infinite; transform-origin:120px 75px; }
.stage-waiting-dots circle { animation:waitingDot 1.15s ease-in-out infinite; }
.stage-waiting-dots circle:nth-child(2) { animation-delay:.16s; }
.stage-waiting-dots circle:nth-child(3) { animation-delay:.32s; }
.stage-check-pulse { transform-origin:151px 102px; animation:checkPop .7s cubic-bezier(.2,.9,.3,1.3) both; }
.stage-success-halo { animation:successHalo 1.8s ease-out infinite; }
.stage-sparkles path { animation:sparkle 1.9s ease-in-out infinite alternate; transform-box:fill-box; transform-origin:center; }
.stage-sparkles path:nth-child(2) { animation-delay:.35s; }
.stage-sparkles path:nth-child(3) { animation-delay:.7s; }

/* Em preparo */
.stage-pot { transform-origin:120px 105px; animation:potBreathe 2.2s ease-in-out infinite; }
.stage-pot-body { fill:#fff; stroke:#e1d7d9; stroke-width:3; }
.stage-pot-rim { fill:#fff; stroke:var(--red,#ea1d2c); stroke-width:4; }
.stage-food { fill:#d99c52; }
.stage-cheese { fill:none; stroke:#f8dc76; stroke-width:7; stroke-linecap:round; }
.stage-garnish circle { fill:#3c9b5e; }
.stage-spoon { transform-origin:128px 84px; animation:stirSpoon 1.4s ease-in-out infinite alternate; }
.stage-spoon path { fill:none; stroke:#a89da0; stroke-width:6; stroke-linecap:round; }
.stage-spoon ellipse { fill:#d8d0d2; stroke:#a89da0; stroke-width:3; }
.stage-steam path { fill:none; stroke:#d8cfd1; stroke-width:4; stroke-linecap:round; animation:steamRise 2s ease-in-out infinite; }
.stage-steam path:nth-child(2) { animation-delay:.35s; }
.stage-steam path:nth-child(3) { animation-delay:.7s; }

/* Pronto */
.stage-ready-bag { transform-origin:120px 127px; animation:bagPop 1s cubic-bezier(.2,.9,.3,1.2) both, bagFloat 3s 1s ease-in-out infinite; }
.stage-bag { fill:#fff; stroke:#d8ced0; stroke-width:3; }
.stage-bag-fold { fill:#fff2f3; stroke:var(--red,#ea1d2c); stroke-width:3; }
.stage-handle { fill:none; stroke:#9f9295; stroke-width:6; stroke-linecap:round; }
.stage-brand-seal { fill:var(--red,#ea1d2c); }
.stage-brand-letter { fill:#fff; font-family:Arial,sans-serif; font-size:27px; font-weight:900; }

/* Em entrega */
.stage-road { fill:none; stroke:#c5babc; stroke-width:5; stroke-linecap:round; }
.stage-road-dash { fill:none; stroke:#e6dcde; stroke-width:3; stroke-linecap:round; }
.stage-city path { fill:none; stroke:#ded4d6; stroke-width:3; stroke-linejoin:round; }
.stage-bike-wrap { transform-origin:120px 105px; animation:bikeRide 2.4s ease-in-out infinite; }
.stage-wheel { fill:#fff; stroke:#403a3b; stroke-width:5; }
.stage-bike { fill:none; stroke:var(--red,#ea1d2c); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.stage-delivery-box { fill:#fff0f1; stroke:var(--red,#ea1d2c); stroke-width:3; }
.stage-box-mark { fill:none; stroke:var(--red,#ea1d2c); stroke-width:3; stroke-linecap:round; }
.stage-rider-head { fill:#e5b38d; stroke:#7f5c51; stroke-width:2; }
.stage-rider { fill:var(--red,#ea1d2c); stroke:#a51623; stroke-width:2; }
.stage-motion-lines path { fill:none; stroke:#b8abad; stroke-width:4; stroke-linecap:round; animation:motionLine 1.1s ease-in-out infinite; }
.stage-motion-lines path:nth-child(2) { animation-delay:.18s; }
.stage-motion-lines path:nth-child(3) { animation-delay:.36s; }

/* Concluído / cancelado */
.stage-complete-box { transform-origin:120px 124px; animation:boxArrive .9s cubic-bezier(.2,.9,.3,1.2) both; }
.stage-box { fill:#fff; stroke:#d7cdcf; stroke-width:3; }
.stage-box-top { fill:#fff0f1; stroke:var(--red,#ea1d2c); stroke-width:3; }
.stage-box-tape { fill:#ffd1d5; stroke:var(--red,#ea1d2c); stroke-width:2; }
.stage-confetti path { animation:confettiBounce 1.3s ease-in-out infinite alternate; }
.stage-confetti path:nth-child(2) { animation-delay:.2s; }.stage-confetti path:nth-child(3) { animation-delay:.4s; }.stage-confetti path:nth-child(4) { animation-delay:.6s; }.stage-confetti path:nth-child(5) { animation-delay:.8s; }
.stage-cancel-paper { transform-origin:120px 80px; animation:cancelShake .7s ease-in-out both; }
.stage-cancel-mark circle { fill:#af2531; }
.stage-cancel-mark path { fill:none; stroke:#fff; stroke-width:5; stroke-linecap:round; }
.stage-cancel-mark { transform-origin:151px 102px; animation:checkPop .7s cubic-bezier(.2,.9,.3,1.2) both; }

.status-timeline li.current { color:#2d292a; }
.status-timeline li.current > i { animation:timelinePulse 1.8s ease-out infinite; }
.status-timeline li.current b { color:var(--red,#ea1d2c); }
.status-timeline li[data-step="completed"].current b { color:#168650; }

@keyframes experienceProgress { from { width:28%; transform:translateX(0); } to { width:58%; transform:translateX(65%); } }
@keyframes receiptDrop { 0% { opacity:0; transform:translateY(-25px) scale(.88); } 70% { opacity:1; transform:translateY(4px) scale(1.03); } 100% { opacity:1; transform:none; } }
@keyframes receiptFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes waitingDot { 0%,60%,100% { transform:translateY(0); opacity:.45; } 30% { transform:translateY(-7px); opacity:1; } }
@keyframes checkPop { from { opacity:0; transform:scale(.35) rotate(-14deg); } to { opacity:1; transform:scale(1) rotate(0); } }
@keyframes successHalo { 0% { transform:scale(.75); opacity:.8; } 75%,100% { transform:scale(1.35); opacity:0; } }
@keyframes sparkle { from { opacity:.35; transform:scale(.82) rotate(-5deg); } to { opacity:1; transform:scale(1.12) rotate(5deg); } }
@keyframes potBreathe { 0%,100% { transform:translateY(0); } 50% { transform:translateY(2px); } }
@keyframes stirSpoon { from { transform:rotate(-8deg); } to { transform:rotate(10deg); } }
@keyframes steamRise { 0% { opacity:0; transform:translateY(8px); } 35% { opacity:.8; } 100% { opacity:0; transform:translateY(-14px); } }
@keyframes bagPop { from { opacity:0; transform:translateY(24px) scale(.86); } to { opacity:1; transform:none; } }
@keyframes bagFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes bikeRide { 0%,100% { transform:translateX(-7px) translateY(0); } 45% { transform:translateX(7px) translateY(-2px); } 55% { transform:translateX(8px) translateY(0); } }
@keyframes motionLine { 0% { opacity:0; transform:translateX(9px); } 45% { opacity:.8; } 100% { opacity:0; transform:translateX(-9px); } }
@keyframes boxArrive { from { opacity:0; transform:translateY(25px) scale(.85); } to { opacity:1; transform:none; } }
@keyframes confettiBounce { from { opacity:.4; transform:translateY(4px) rotate(-5deg); } to { opacity:1; transform:translateY(-5px) rotate(5deg); } }
@keyframes cancelShake { 0% { transform:translateX(0); } 25% { transform:translateX(-7px) rotate(-2deg); } 50% { transform:translateX(6px) rotate(2deg); } 75% { transform:translateX(-3px); } 100% { transform:translateX(0); } }
@keyframes timelinePulse { 0% { box-shadow:inset 0 0 0 6px #fff,0 0 0 0 rgba(234,29,44,.30); } 75%,100% { box-shadow:inset 0 0 0 6px #fff,0 0 0 9px rgba(234,29,44,0); } }

@media(max-width:620px) {
  .order-experience-card,
  .track-order-content .order-experience-card { grid-template-columns:1fr; gap:5px; padding:14px 15px 16px; text-align:center; }
  .order-experience-art,
  .track-order-content .order-experience-art { min-height:118px; }
  .order-stage-svg,
  .track-order-content .order-stage-svg { max-width:170px; }
  .order-experience-kicker { justify-content:center; }
  .order-experience-copy h2 { margin-top:5px; }
  .order-experience-progress { max-width:230px; margin:13px auto 0; }
}
@media(prefers-reduced-motion:reduce) {
  .order-experience-card *,
  .status-timeline li.current > i { animation:none !important; }
}


/* ---------- V34.6 · Admin Professional UI ---------- */
:root {
  --admin-bg: #f6f7f9;
  --admin-surface: #ffffff;
  --admin-border: #e7e8eb;
  --admin-text: #25272b;
  --admin-muted: #74777d;
  --admin-soft-red: #fff3f4;
  --admin-shadow: 0 10px 30px rgba(26, 28, 32, .055);
}
.admin-body { background: var(--admin-bg); color: var(--admin-text); }
.admin-main { min-width: 0; }
.admin-header {
  min-height: 76px; padding: 14px 16px; margin-bottom: 22px;
  border: 1px solid rgba(225,226,230,.95); border-radius: 18px;
  background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(28,30,34,.045);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.admin-header-copy { display:grid; grid-template-columns:auto auto; align-items:end; column-gap:12px; min-width:0; }
.admin-header-copy > small { grid-column:1/-1; }
.admin-header-copy h1 { margin:3px 0 0; color:#24262a; }
.admin-header-date { align-self:center; margin-top:4px; color:#85888e; font-size:.73rem; white-space:nowrap; }
.admin-quick-actions { display:flex; align-items:center; gap:7px; }
.admin-quick-actions a {
  display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 11px;
  border:1px solid #e5e6e9; border-radius:10px; background:#fff; color:#50535a;
  font-size:.77rem; font-weight:820; text-decoration:none; transition:.16s ease;
}
.admin-quick-actions a:hover { border-color:#efbcc1; background:#fff7f8; color:var(--red); transform:translateY(-1px); }
.admin-tool-icons { display:flex; gap:6px; }
.admin-user { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 11px; border-left:1px solid #ececef; color:#676a70; }

.admin-main .admin-card,
.admin-main .metric-grid article {
  border-color:var(--admin-border); border-radius:16px; box-shadow:var(--admin-shadow);
}
.admin-main .admin-card { padding:22px; }
.admin-main .metric-grid article { position:relative; overflow:hidden; padding:18px 19px; }
.admin-main .metric-grid article::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:transparent; }
.admin-main .metric-grid article:hover { border-color:#dedfe3; box-shadow:0 14px 34px rgba(26,28,32,.075); }
.admin-main .metric-grid span { color:#777a80; font-weight:720; }
.admin-main .metric-grid strong { color:#24262a; font-variant-numeric:tabular-nums; }
.card-title { align-items:center; margin-bottom:17px; }
.card-title h2 { color:#292b30; }
.card-title small,.admin-header-copy>small,.settings-block>small { color:#bb1824; }
.card-subtitle { color:#7d8086; }

.admin-main input:not([type="checkbox"]):not([type="radio"]),
.admin-main select,
.admin-main textarea {
  width:100%; border:1px solid #dfe1e5; border-radius:10px; background:#fff; color:#2c2e33;
  min-height:42px; padding:9px 11px; font:inherit; outline:0; transition:border-color .15s,box-shadow .15s,background .15s;
}
.admin-main textarea { min-height:92px; resize:vertical; }
.admin-main input:not([type="checkbox"]):not([type="radio"]):focus,
.admin-main select:focus,.admin-main textarea:focus {
  border-color:#d7515c; box-shadow:0 0 0 3px rgba(215,81,92,.11); background:#fff;
}
.admin-main label { color:#55585e; }
.admin-main table { background:#fff; }
.admin-main th { position:sticky; top:0; z-index:1; background:#fafafb; color:#73767c; font-weight:850; }
.admin-main td { color:#41444a; }
.admin-main tbody tr:hover td { background:#fcfcfd; }
.order-table-wrap { border:1px solid #ececef; border-radius:12px; background:#fff; }
.order-table-wrap table th:first-child,.order-table-wrap table td:first-child { padding-left:14px; }
.order-table-wrap table th:last-child,.order-table-wrap table td:last-child { padding-right:14px; }

.admin-sidebar { background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%); border-right:1px solid #e6e7ea; }
.admin-sidebar-brand-row { border-bottom:1px solid #f0f0f2; margin-bottom:10px; }
.admin-sidebar .admin-logo img { box-shadow:0 5px 14px rgba(0,0,0,.08); }
.admin-sidebar .admin-logo b { color:#26282c; letter-spacing:-.01em; }
.admin-sidebar .admin-nav-section { margin:7px 10px 3px; color:#9a9ca1; font-size:.62rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.admin-sidebar .admin-nav-link,
.admin-sidebar .admin-menu-group > summary,
.admin-sidebar .admin-submenu a { transition:background .15s,color .15s,transform .15s; }
.admin-sidebar .admin-nav-link:hover,
.admin-sidebar .admin-menu-group > summary:hover,
.admin-sidebar .admin-submenu a:hover { transform:translateX(2px); }
.admin-sidebar .admin-nav-link.active,
.admin-sidebar .admin-menu-group > summary.active-group,
.admin-sidebar .admin-submenu a.active { box-shadow:inset 3px 0 0 var(--red); }

.manual-order-heading { border:1px solid #e6e7ea; border-radius:16px; background:#fff; padding:20px 22px; box-shadow:var(--admin-shadow); }
.manual-order-details-grid { gap:20px; }
.manual-order-payment-fields { padding:16px; border:1px solid #ececef; border-radius:13px; background:#fafafb; }
.manual-order-actions { position:sticky; bottom:10px; z-index:15; margin-top:18px; border:1px solid #e2e3e6; border-radius:15px; padding:12px 14px; background:rgba(255,255,255,.96); box-shadow:0 14px 38px rgba(30,32,36,.12); backdrop-filter:blur(12px); }
.payment-online-provider-note { display:flex; align-items:flex-start; gap:8px; margin:10px 0 0; padding:11px 12px; border:1px solid #dfe8ff; border-radius:10px; background:#f5f8ff; color:#506078; font-size:.75rem; line-height:1.45; }
.payment-online-provider-note i { margin-top:2px; color:#5476b7; }

@media (min-width:1180px) {
  .admin-body { display:grid; grid-template-columns:272px minmax(0,1fr); min-height:100dvh; }
  .admin-sidebar {
    position:sticky; top:0; inset:auto; transform:none !important; width:272px; min-height:100dvh; height:100dvh;
    z-index:40; box-shadow:none; overflow-y:auto; padding:18px 13px;
  }
  .admin-main { grid-column:2; width:100%; max-width:none; margin:0; padding:24px clamp(24px,3vw,48px) 52px; }
  .admin-menu-backdrop,.admin-menu-toggle,.admin-menu-close { display:none !important; }
  .admin-body.admin-menu-open { overflow:auto; }
  .admin-sidebar .admin-nav-groups { overflow:auto; }
  .admin-header { position:sticky; top:12px; z-index:30; }
}
@media (max-width:1179px) {
  .admin-quick-actions span { display:none; }
  .admin-quick-actions a { width:40px; justify-content:center; padding:0; }
}
@media (max-width:760px) {
  .admin-main { padding:12px 10px 30px; }
  .admin-header { min-height:64px; padding:10px 11px; border-radius:14px; margin-bottom:14px; }
  .admin-header-copy { grid-template-columns:1fr; }
  .admin-header-date { display:none; }
  .admin-tools { gap:5px; }
  .admin-quick-actions { display:none; }
  .admin-main .admin-card { padding:15px; border-radius:14px; }
  .dashboard-metric-grid { gap:9px; }
  .admin-main .metric-grid article { min-height:106px; padding:13px; border-radius:13px; }
  .admin-main .metric-grid strong { font-size:1.28rem; }
  .manual-order-heading { padding:15px; }
  .manual-order-actions { bottom:6px; padding:10px; }
}

.manual-payment-help{display:block;margin-top:6px;color:#7b7e84;font-size:.72rem;line-height:1.4;font-weight:600}.manual-order-payment-fields label>small.manual-payment-help{color:#7b7e84}


/* ---------- V34.6.1: Como funciona centralizado no desktop ---------- */
@media (min-width: 761px) {
  .how-panel .how-modal-scroll {
    width: 100%;
    text-align: center !important;
    justify-items: center !important;
  }
  .how-panel .how-section-title {
    width: 100%;
    text-align: center !important;
  }
  .how-panel .how-steps-simple {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    justify-items: center !important;
  }
  .how-panel .how-steps-simple li {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .how-panel .how-steps-simple li > div,
  .how-panel .how-steps-simple strong,
  .how-panel .how-steps-simple p,
  .how-panel .how-steps-simple small {
    text-align: center !important;
  }
}
