/* Açaí Mais 2026 — camada visual unificada.
   Somente apresentação: não altera regras de negócio, permissões, rotas ou integrações. */
:root{
  --am-purple-950:#0c5c3a;
  --am-purple-900:#0f6b43;
  --am-purple-800:#157a42;
  --am-purple-700:#1f9d57;
  --am-purple-600:#2bb86a;
  --am-purple-500:#bfe8d0;
  --am-purple-100:#e7f6ee;
  --am-purple-50:#f4fbf7;
  --am-on-purple:#ffffff;
  --am-green:#12b76a;
  --am-green-50:#eafbf2;
  --am-orange:#ff8a1f;
  --am-orange-50:#fff3e7;
  --am-blue:#2684ff;
  --am-blue-50:#eaf3ff;
  --am-red:#ef4444;
  --am-red-50:#fff0f0;
  --am-pink:#ef3f73;
  --am-ink:#1d2333;
  --am-muted:#70778b;
  --am-line:#e8eaf1;
  --am-page:#f4fbf7;
  --am-card:#ffffff;
  --am-shadow:0 10px 30px rgba(12,92,58,.08);
  --am-shadow-sm:0 5px 16px rgba(12,92,58,.06);
  --am-radius:16px;
}

html{background:var(--am-page)}
body.admin-body,body.owner-body,body.page-cardapio{
  background:var(--am-page)!important;
  color:var(--am-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

/* ===== ADMINISTRADOR / OPERADOR / ENTREGADOR ===== */
.admin-body--loja .admin-sidebar,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-sidebar{
  background:linear-gradient(180deg,#128a52 0%,#0c5c3a 100%)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:10px 0 35px rgba(12,92,58,.16);
}
.admin-body--loja .admin-loja-sidebar__head,
.admin-body--loja .admin-loja-sidebar__foot,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-sidebar__head,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-sidebar__foot{
  background:transparent!important;
  border-color:rgba(255,255,255,.10)!important;
}
.admin-body--loja .admin-loja-nav a,
.admin-body--loja .admin-loja-nav button,
.admin-body--loja .admin-nav a{
  color:#f3fff8!important;
  border-radius:12px!important;
  transition:.18s ease;
}
.admin-body--loja .admin-loja-nav a:hover,
.admin-body--loja .admin-loja-nav a.is-active,
.admin-body--loja .admin-loja-nav .active,
.admin-body--loja .admin-nav a:hover,
.admin-body--loja .admin-nav a.active{
  color:#fff!important;
  background:linear-gradient(135deg,#3dbe78,#1f9d57)!important;
  box-shadow:0 8px 18px rgba(21,122,66,.28)!important;
}
.admin-loja-nav__badge{background:#ff435d!important;color:#fff!important;border:2px solid rgba(255,255,255,.18)!important}

.admin-topbar,.admin-loja-topbar,.owner-topbar{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--am-line)!important;
  box-shadow:0 4px 18px rgba(31,18,58,.04)!important;
  backdrop-filter:blur(12px);
}
.admin-main,.owner-main{background:var(--am-page)!important}
.page-shell,.owner-page-shell{padding-top:18px!important}

.admin-profile-toggle,.owner-topbar__venc-btn,.admin-menu-toggle{
  border-radius:12px!important;
}
.admin-profile-avatar{
  box-shadow:0 0 0 3px #fff,0 0 0 4px #e9ddff;
}

/* cards, panels, tables */
.admin-card,.panel,.card,.dashboard-card,.saas-card,.owner-card,
.op-card,.ent-card,.mesa-card,.delivery-card,.relatorio-card,
.admin-section,.admin-widget,.admin-panel{
  border:1px solid var(--am-line)!important;
  border-radius:var(--am-radius)!important;
  box-shadow:var(--am-shadow-sm)!important;
  background:var(--am-card)!important;
}

button,.btn,.button,input[type="submit"],input[type="button"],a.btn{
  border-radius:10px;
}
.btn-primary,.button-primary,.admin-btn-primary,.op-btn-primary,.ent-btn-primary,
button[type="submit"]:not(.link-btn):not(.admin-profile-toggle):not(.admin-menu-toggle){
  background:linear-gradient(135deg,var(--am-purple-600),var(--am-purple-700));
  border-color:transparent;
  box-shadow:0 6px 16px rgba(21,122,66,.18);
}
input,select,textarea,.input,.form-control{
  border-color:#dfe2ea!important;
  border-radius:10px!important;
  background:#fff;
}
input:focus,select:focus,textarea:focus{
  border-color:#14532d!important;
  box-shadow:0 0 0 3px rgba(21,122,66,.16)!important;
  outline:0!important;
}

table.dataTable,table.admin-table,.table{
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  border-radius:12px!important;
}
table.dataTable thead th,table.admin-table thead th,.table thead th{
  background:#f4fbf7!important;
  color:#4b4260!important;
  border-bottom-color:#e5ddf3!important;
}
table.dataTable tbody tr:hover,table.admin-table tbody tr:hover,.table tbody tr:hover{background:#f7fdf9!important}

/* Dashboard administrador */
.admin-painel,.admin-dashboard,.dashboard-grid{gap:14px!important}
.admin-painel .painel-kpi,.admin-painel .admin-kpi,.admin-dashboard .admin-kpi{
  border:0!important;border-radius:14px!important;box-shadow:var(--am-shadow-sm)!important;overflow:hidden;
}
.admin-painel .painel-kpi:nth-child(5n+1),.admin-dashboard .admin-kpi:nth-child(5n+1){background:linear-gradient(135deg,#149a58,#2bb86a)!important;color:#fff!important}
.admin-painel .painel-kpi:nth-child(5n+2),.admin-dashboard .admin-kpi:nth-child(5n+2){background:linear-gradient(135deg,#08a95c,#16c775)!important;color:#fff!important}
.admin-painel .painel-kpi:nth-child(5n+3),.admin-dashboard .admin-kpi:nth-child(5n+3){background:linear-gradient(135deg,#ff8917,#ff9f32)!important;color:#fff!important}
.admin-painel .painel-kpi:nth-child(5n+4),.admin-dashboard .admin-kpi:nth-child(5n+4){background:linear-gradient(135deg,#1976ed,#2e91ff)!important;color:#fff!important}
.admin-painel .painel-kpi:nth-child(5n+5),.admin-dashboard .admin-kpi:nth-child(5n+5){background:linear-gradient(135deg,#e93469,#f4557f)!important;color:#fff!important}

/* ===== PROPRIETÁRIO SaaS ===== */
.owner-sidebar{
  background:linear-gradient(180deg,#128a52,#0c5c3a)!important;
  border-right:0!important;
  box-shadow:10px 0 35px rgba(12,92,58,.16)!important;
}
.owner-sidebar__brand-mark{background:rgba(255,255,255,.10)!important;color:#fff!important}
.owner-sidebar__brand-text strong{font-size:20px!important;color:#fff!important}
.owner-sidebar__brand-text small,.owner-sidebar__brand-text em{color:#d7f5e4!important}
.owner-nav a,.owner-nav button{border-radius:11px!important;color:#f3fff8!important}
.owner-nav a:hover,.owner-nav a.is-active,.owner-nav .is-active>a{
  background:linear-gradient(135deg,#3dbe78,#1f9d57)!important;color:#fff!important;
  box-shadow:0 7px 18px rgba(21,122,66,.28)!important;
}
.owner-sidebar__profile-link,.saas-sistema{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important;border-radius:14px!important}
.saas-sistema span{color:#55e795!important}
.saas-busca{background:#f4fbf7!important;border:1px solid #e7f6ee!important;border-radius:13px!important}
.saas-busca input{background:transparent!important;border:0!important;box-shadow:none!important}

.saas-dash{gap:14px!important}
.saas-kpis{gap:12px!important}
.saas-kpi{
  border:0!important;border-radius:14px!important;box-shadow:var(--am-shadow-sm)!important;
  min-height:104px!important;position:relative;overflow:hidden;color:#fff!important;
}
.saas-kpi::after{content:"";position:absolute;width:120px;height:120px;border:24px solid rgba(255,255,255,.08);border-radius:50%;right:-50px;bottom:-65px}
.saas-kpi--roxo{background:linear-gradient(135deg,#d5c7f7,#e4d9f9)!important}
.saas-kpi--verde{background:linear-gradient(135deg,#04a95b,#17c978)!important}
.saas-kpi--laranja{background:linear-gradient(135deg,#fb7d0a,#ff9b26)!important}
.saas-kpi--azul{background:linear-gradient(135deg,#1976ed,#2e91ff)!important}
.saas-kpi--rosa{background:linear-gradient(135deg,#e62f66,#f84f7e)!important}
.saas-kpi span,.saas-kpi strong,.saas-kpi small{color:#fff!important;position:relative;z-index:1}
.saas-card{border-radius:15px!important;border-color:var(--am-line)!important;box-shadow:var(--am-shadow-sm)!important;overflow:hidden}
.saas-card>header{border-bottom-color:#f0edf6!important}
.saas-donut{box-shadow:inset 0 0 0 10px rgba(255,255,255,.6)}
.saas-barras>span{background:linear-gradient(180deg,#d8f3e4,#1f9d57)!important;border-radius:5px 5px 0 0!important}
.saas-resumo strong,.saas-card strong{color:#201a31}
.saas-atalhos a{border-radius:12px!important;box-shadow:none!important}

/* ===== OPERADOR DE MESAS ===== */
.admin-body--perfil-operador,.admin-body--operador{--op-purple:var(--am-purple-600)}
.operador-painel,.operador-shell,.op-shell{background:var(--am-page)!important}
.operador-painel .op-kpi,.operador-painel .op-card,.operador-painel .mesa-card,
.op-shell .op-kpi,.op-shell .mesa-card{border-radius:14px!important;box-shadow:var(--am-shadow-sm)!important;border:1px solid var(--am-line)!important}
.op-mesa,.mesa-tile,.mesa-card__status{border-radius:12px!important;transition:transform .15s ease,box-shadow .15s ease}
.op-mesa:hover,.mesa-tile:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(42,17,89,.10)}
.mesa-livre,.is-livre{background:#e7f9ee!important;border-color:#aee9c6!important;color:#067a42!important}
.mesa-ocupada,.is-ocupada{background:#fff0f0!important;border-color:#ffc0c0!important;color:#d92d20!important}
.mesa-conta,.is-conta{background:#fff4dc!important;border-color:#ffd484!important;color:#b65f00!important}
.mesa-atendimento,.is-atendimento{background:#e7f6ee!important;border-color:#9ed9b8!important;color:#0f6b43!important}

/* ===== ENTREGADOR ===== */
.admin-body--perfil-entregador{background:#f6f7fb!important}
.admin-body--perfil-entregador .admin-sidebar{background:linear-gradient(180deg,#ebe3fb,#f3eefe)!important}
.entregador-painel,.entregador-shell,.ent-shell{background:var(--am-page)!important}
.entregador-painel .ent-card,.entregador-painel .ent-kpi,.entregador-painel .pedido-card,
.ent-shell .ent-card,.ent-shell .pedido-card{border:1px solid var(--am-line)!important;border-radius:14px!important;box-shadow:var(--am-shadow-sm)!important;background:#fff!important}
.entregador-painel .ent-kpi:nth-child(1),.ent-shell .ent-kpi:nth-child(1){background:linear-gradient(135deg,#1f9d57,#2bb86a)!important;color:#fff!important}
.entregador-painel .ent-kpi:nth-child(2),.ent-shell .ent-kpi:nth-child(2){background:linear-gradient(135deg,#05aa5d,#18c979)!important;color:#fff!important}
.ent-status,.status-chip,.badge{border-radius:999px!important}

/* ===== CARDÁPIO DO CLIENTE ===== */
.page-cardapio{background:linear-gradient(180deg,#f4fbf7 0,#fff 230px)!important}
.page-cardapio .app-header{
  background:linear-gradient(135deg,#1f9d57,#157a42)!important;
  color:#fff!important;border-bottom:0!important;box-shadow:0 8px 24px rgba(21,122,66,.18)!important;
}
.page-cardapio .app-header a,.page-cardapio .app-header button,.page-cardapio .app-header__brand{color:#fff!important}
.page-cardapio .app-header__logo,.page-cardapio .brand-logo{border-radius:14px!important;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.page-cardapio .catalogo,.page-cardapio .cardapio-shell,.page-cardapio main{max-width:1180px;margin-left:auto;margin-right:auto}
.page-cardapio .produto-card,.page-cardapio .catalogo-card,.page-cardapio .cardapio-produto,.page-cardapio .item-card{
  background:#fff!important;border:1px solid #ece9f2!important;border-radius:15px!important;box-shadow:var(--am-shadow-sm)!important;overflow:hidden;
}
.page-cardapio .produto-card img,.page-cardapio .catalogo-card img,.page-cardapio .cardapio-produto img{border-radius:12px!important}
.page-cardapio .categoria-tabs,.page-cardapio .catalogo-tabs{gap:8px!important;scrollbar-width:none}
.page-cardapio .categoria-tabs a,.page-cardapio .categoria-tabs button,.page-cardapio .catalogo-tabs a,.page-cardapio .catalogo-tabs button{
  border-radius:999px!important;border:1px solid #e4dcf6!important;background:#fff!important;color:#5c5478!important;
}
.page-cardapio .categoria-tabs .active,.page-cardapio .categoria-tabs .is-active,.page-cardapio .catalogo-tabs .active{
  background:var(--am-purple-600)!important;color:#fff!important;border-color:var(--am-purple-600)!important;
}
.page-cardapio .preco,.page-cardapio .produto-preco,.page-cardapio .cardapio-preco{color:#0f6b43!important;font-weight:800!important}
.page-cardapio .btn-adicionar,.page-cardapio .produto-add,.page-cardapio .cart-add,.page-cardapio .finalizar-pedido{
  background:linear-gradient(135deg,#1f9d57,#1f9d57)!important;color:#fff!important;border:0!important;border-radius:10px!important;
}
.page-cardapio .cart-bar,.page-cardapio .carrinho-flutuante,.page-cardapio .pedido-resumo{
  border-radius:16px!important;box-shadow:0 12px 34px rgba(56,19,117,.17)!important;
}

/* modais e overlays */
.admin-modal,.admin-cadastro-modal,.app-dialog,.modal-content,.owner-vencimento-modal{
  border-radius:18px!important;border:1px solid #e9e5f1!important;box-shadow:0 24px 70px rgba(27,8,58,.22)!important;
}
.admin-modal-backdrop,.admin-cadastro-modal-backdrop,.app-dialog-backdrop{backdrop-filter:blur(4px)}

/* Responsividade para a referência mobile */
@media(max-width:900px){
  :root{--am-radius:14px}
  .page-shell,.owner-page-shell{padding:10px!important}
  .saas-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .saas-kpi{min-height:94px!important}
  .saas-kpi strong{font-size:22px!important}
  .saas-grade{grid-template-columns:1fr!important}
  .page-cardapio .produto-card,.page-cardapio .catalogo-card{border-radius:13px!important}
}
@media(max-width:560px){
  .saas-kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .saas-kpi{padding:12px!important;min-height:86px!important}
  .saas-kpi span{font-size:12px!important}.saas-kpi strong{font-size:20px!important}.saas-kpi small{font-size:10px!important}
  .admin-card,.panel,.card,.saas-card,.owner-card{border-radius:13px!important}
  .page-cardapio{background:linear-gradient(180deg,#efe6ff 0,#fff 180px)!important}
}

/* Ajustes finos para as classes reais do dashboard */
.adm-kpis{gap:12px!important}.adm-kpi{border-radius:14px!important;box-shadow:var(--am-shadow-sm)!important;position:relative;overflow:hidden}
.adm-kpi::after{content:"";position:absolute;width:96px;height:96px;border:18px solid rgba(255,255,255,.08);border-radius:50%;right:-35px;bottom:-50px}
.adm-kpi--roxo{background:linear-gradient(135deg,#149a58,#2bb86a)!important;color:#fff!important}
.adm-kpi--verde{background:linear-gradient(135deg,#08a95c,#16c775)!important}
.adm-kpi--laranja{background:linear-gradient(135deg,#ff8515,#ffa02f)!important}
.adm-kpi--azul{background:linear-gradient(135deg,#1976ed,#2e91ff)!important}
.adm-kpi--rosa{background:linear-gradient(135deg,#e93369,#f2527e)!important}
.adm-card{border:1px solid var(--am-line)!important;border-radius:15px!important;box-shadow:var(--am-shadow-sm)!important}
.adm-card header{border-bottom:1px solid #f1eef7;padding-bottom:9px!important}
.adm-card header a{color:var(--am-purple-600)!important}
.adm-salao,.adm-filtros button.is-on{background:var(--am-purple-100)!important;color:var(--am-purple-700)!important}
.adm-mesa{border:1px solid transparent!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.adm-mesa--livre{background:#e6f9ee!important;border-color:#b8ebcc!important;color:#087947!important}
.adm-mesa--ocupada{background:#fff0f0!important;border-color:#ffc5c5!important;color:#cf2f2f!important}
.adm-mesa--conta{background:#fff4db!important;border-color:#ffd98e!important;color:#b86300!important}
.adm-mesa--atendimento{background:#e7f6ee!important;border-color:#9ed9b8!important;color:#0f6b43!important}
.adm-acoes a{border-radius:11px!important}.adm-acoes .is-roxo{background:linear-gradient(135deg,#1f9d57,#1f9d57)!important}.adm-acoes .is-verde{background:linear-gradient(135deg,#0baa60,#15c776)!important}.adm-acoes .is-azul{background:linear-gradient(135deg,#1d76ea,#2e91ff)!important}.adm-acoes .is-laranja{background:linear-gradient(135deg,#ff8314,#ff9e2b)!important}
.adm-status div,.adm-pagos div{border:1px solid #eceaf1!important;background:#fbfbfd!important}
.adm-barras span{background:linear-gradient(180deg,#bfe8d0,#1f9d57)!important}

/* Operador - mesma identidade visual das telas de referência */
.admin-body--perfil-operador .admin-main,.admin-body--perfil-garcom .admin-main{box-shadow:0 0 45px rgba(12,92,58,.10)}
.op-head{background:linear-gradient(135deg,#1f9d57,#157a42)!important;color:#fff!important;box-shadow:0 8px 22px rgba(21,122,66,.18)!important}
.op-kpis{gap:8px!important}.op-kpi{border-radius:13px!important;box-shadow:var(--am-shadow-sm)!important}
.op-kpi--livre{background:linear-gradient(135deg,#0baa60,#19c879)!important;color:#fff!important}.op-kpi--ocupada{background:linear-gradient(135deg,#e83c45,#f45b62)!important;color:#fff!important}.op-kpi--conta{background:linear-gradient(135deg,#f39819,#ffac32)!important;color:#fff!important}.op-kpi--hoje{background:linear-gradient(135deg,#1f9d57,#2bb86a)!important;color:#fff!important}
.op-row,.op-folha,.op-dialog,.op-produto,.op-item{border:1px solid var(--am-line)!important;box-shadow:var(--am-shadow-sm)!important;border-radius:14px!important}
.op-tile{border-radius:12px!important;border:1px solid transparent!important;box-shadow:none!important}.op-tile--livre{background:#e7f9ee!important;border-color:#b7ebca!important;color:#087947!important}.op-tile--ocupada{background:#fff0f0!important;border-color:#ffc1c1!important;color:#d43131!important}.op-tile--conta{background:#fff3d8!important;border-color:#ffd27b!important;color:#b76100!important}.op-tile--preparo,.op-tile--atendimento{background:#e7f6ee!important;border-color:#9ed9b8!important;color:#0f6b43!important}
.op-cta,.op-btn,.op-carrinho{background:linear-gradient(135deg,#1f9d57,#1f9d57)!important;color:#fff!important;box-shadow:0 7px 16px rgba(21,122,66,.18)!important}.op-cta--ok{background:linear-gradient(135deg,#09a95d,#15c776)!important}.op-btn--perigo{background:linear-gradient(135deg,#df3842,#ef535c)!important}.op-abas a.is-on,.op-chips button.is-on{background:var(--am-purple-600)!important;color:#fff!important}

/* Entregador */
.admin-body--perfil-entregador .admin-main{box-shadow:0 0 45px rgba(12,92,58,.10)}
.ent-head{background:linear-gradient(135deg,#1f9d57,#157a42)!important;color:#fff!important;box-shadow:0 8px 22px rgba(21,122,66,.18)!important}
.ent-kpis{gap:8px!important}.ent-kpis>div{border-radius:13px!important;box-shadow:var(--am-shadow-sm)!important}.ent-kpis>div:first-child{background:linear-gradient(135deg,#1f9d57,#2bb86a)!important;color:#fff!important}.ent-kpis>div:nth-child(2){background:linear-gradient(135deg,#0baa60,#16c776)!important;color:#fff!important}
.ent-row,.ent-sheet,.ent-acerto,.ent-pix-card,.ent-perfil-card,.ent-menu,.ent-form{border:1px solid var(--am-line)!important;box-shadow:var(--am-shadow-sm)!important;border-radius:14px!important}.ent-row{border-left-width:4px!important}
.ent-btn--pri,.ent-filtros a.is-on,.ent-tipos button.is-on{background:linear-gradient(135deg,#1f9d57,#1f9d57)!important}.ent-btn--ok{background:linear-gradient(135deg,#09a95d,#16c777)!important}.ent-bottom{box-shadow:0 -10px 30px rgba(12,92,58,.08)!important}.ent-bottom a.is-active{color:var(--am-purple-600)!important}

/* menu/admin mobile */
@media(max-width:720px){
  .adm-kpis{grid-template-columns:1fr 1fr!important}.adm-grade{grid-template-columns:1fr!important}.adm-status{grid-template-columns:repeat(2,minmax(0,1fr))!important}.adm-kpi{min-height:88px!important}.adm-kpi strong{font-size:1.25rem!important}.adm-card{padding:12px!important}
}


/* ===== UX refresh 2026.10 — navegação, legibilidade e responsividade ===== */
*{box-sizing:border-box}
img,svg,video,canvas{max-width:100%;height:auto}
html{-webkit-text-size-adjust:100%}
body{overflow-wrap:break-word;word-break:normal}
a,button,input,select,textarea,[role="button"]{-webkit-tap-highlight-color:transparent}

.admin-main,.owner-main{min-width:0}
.page-shell,.owner-page-shell{padding:18px;max-width:1440px;margin:0 auto}
.admin-loja-topbar,.admin-topbar,.owner-topbar{position:sticky;top:0;z-index:70}
.admin-loja-topbar__actions,.admin-topbar__actions,.owner-topbar__actions,
.admin-loja-topbar__meta,.owner-topbar__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.admin-card,.panel,.card,.dashboard-card,.saas-card,.owner-card,.adm-card,.ent-sheet,.ent-acerto,
.ent-pix-card,.ent-perfil-card,.ent-menu,.ent-form,.op-folha,.op-menu,.op-row,.op-produto,
.delivery-card,.relatorio-card{overflow:hidden}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
button,
a.btn,
.btn,
.button,
input[type="submit"],
input[type="button"]{min-height:44px}
textarea{min-height:108px}
label{line-height:1.35}

button,.btn,.button,a.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;font-weight:700
}

.table-responsive,.dataTables_wrapper,.admin-table-wrap,.owner-table-wrap{width:100%;overflow:auto hidden}
.dataTables_wrapper{padding-bottom:4px}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{min-height:42px;border-radius:10px}
.dataTables_wrapper .dataTables_paginate .paginate_button{
  border-radius:10px!important;margin:2px!important;min-width:38px;text-align:center
}

.admin-modal,.admin-cadastro-modal,.app-dialog,.owner-vencimento-modal,.ent-modal,.op-dialog{
  max-height:min(88vh,860px);overflow:auto
}
.admin-modal-body,.app-dialog__body{max-height:calc(88vh - 120px);overflow:auto}

.owner-topbar__venc-btn,.admin-profile-toggle,.admin-menu-toggle,.owner-sidebar__close,
.catalogo-loja-menu-toggle,.ent-disp,.ent-btn,.op-cta,.op-btn{touch-action:manipulation}

.page-cardapio .app-header,.page-cardapio .catalogo-loja-header__inner{position:relative}
.page-cardapio .catalogo-loja-header,.page-cardapio .app-header{border-radius:0 0 24px 24px}
.page-cardapio .carrinho-flutuante,.page-cardapio .cart-bar,.page-cardapio .pedido-resumo{backdrop-filter:blur(8px)}
.page-cardapio input,.page-cardapio select,.page-cardapio textarea,.page-cardapio button{font-size:16px}

.catalogo-loja-nav__drawer,.catalogo-loja-nav-drawer{max-width:min(92vw,360px)}

@media (max-width: 1100px){
  .page-shell,.owner-page-shell{padding:14px}
}

@media (max-width: 900px){
  .admin-layout,.owner-layout{display:block}
  .admin-main,.owner-main{width:100%!important;max-width:none!important;flex:1 1 auto}
  .owner-topbar__actions,.admin-loja-topbar__actions{justify-content:flex-end}
  .saas-dash,.dashboard-grid,.admin-dashboard{grid-template-columns:1fr!important}
}

@media (max-width: 720px){
  .page-shell,.owner-page-shell{padding:12px 10px calc(84px + env(safe-area-inset-bottom))}
  .admin-loja-topbar,.admin-topbar,.owner-topbar{padding-left:12px!important;padding-right:12px!important}
  .admin-loja-topbar__meta,.owner-topbar__meta{width:100%;justify-content:space-between}
  .admin-loja-topbar__actions,.owner-topbar__actions{width:100%;justify-content:space-between}
  .admin-profile-toggle,.owner-topbar__venc-btn{width:auto;max-width:100%}
  .admin-card,.panel,.card,.saas-card,.owner-card,.adm-card,.op-row,.op-folha,.ent-row,.ent-sheet,.delivery-card{border-radius:14px!important}
  .adm-kpis,.saas-kpis,.op-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none!important;text-align:left!important;margin-top:8px}
  .dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none!important;text-align:left!important;margin-bottom:8px}
  .page-cardapio .catalogo,.page-cardapio .cardapio-shell,.page-cardapio main{padding-left:10px;padding-right:10px}
  .page-cardapio .catalogo-loja-header__inner,.page-cardapio .app-header__inner{padding-left:10px!important;padding-right:10px!important}
  .page-cardapio .catalogo-loja-header__brand{align-items:flex-start}
}

@media (max-width: 560px){
  .adm-kpis,.saas-kpis,.op-kpis{gap:8px!important}
  .adm-kpis,.saas-kpis{grid-template-columns:1fr 1fr!important}
  .owner-topbar__actions .owner-topbar__venc-btn{flex:1 1 auto}
  .owner-topbar__profile,.admin-profile{flex:1 1 auto;min-width:0}
  .admin-profile-toggle{width:100%;justify-content:flex-start}
  .page-shell,.owner-page-shell{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  .table-responsive,.dataTables_wrapper{font-size:.92rem}
  .page-cardapio .catalogo-loja-header,.page-cardapio .app-header{border-radius:0 0 18px 18px}
  .page-cardapio .produto-card,.page-cardapio .catalogo-card,.page-cardapio .cardapio-produto,.page-cardapio .item-card{border-radius:14px!important}
  .ent-busca input,.op-folha input,.op-folha select,.op-folha textarea,.ent-form input,.ent-form select,.ent-form textarea{font-size:16px}
}

@media (max-width: 420px){
  .adm-kpis,.saas-kpis,.op-kpis{grid-template-columns:1fr!important}
  .ent-kpis{grid-template-columns:1fr!important}
  .op-mapa,.op-escolher{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-cardapio .categoria-tabs a,.page-cardapio .categoria-tabs button,.page-cardapio .catalogo-tabs a,.page-cardapio .catalogo-tabs button{padding-inline:12px!important}
  .page-cardapio .catalogo-produtos-track,
  .page-cardapio .produtos-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}


/* ===== Cards do cardápio — refinamento visual e mobile ===== */
.page-cardapio .catalogo-produtos-track,
.page-cardapio .produtos-grid{
  align-items:stretch!important;
  gap:14px!important;
}

.page-cardapio .catalogo-produto-card,
.page-cardapio .produto-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%)!important;
  border:1px solid #ece6f7!important;
  border-radius:20px!important;
  box-shadow:0 10px 24px rgba(50,22,105,.08)!important;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.page-cardapio .catalogo-produto-card:hover,
.page-cardapio .produto-card:hover,
.page-cardapio .catalogo-produto-card:focus-within,
.page-cardapio .produto-card:focus-within{
  transform:translateY(-3px);
  border-color:#d7c5fb!important;
  box-shadow:0 16px 32px rgba(59,24,124,.14)!important;
}

.page-cardapio .catalogo-produto-card:focus-visible,
.page-cardapio .produto-card:focus-visible{
  outline:3px solid rgba(21,122,66,.28)!important;
  outline-offset:2px!important;
}

.page-cardapio .catalogo-produto-card__media,
.page-cardapio .produto-imagem{
  position:relative;
  background:linear-gradient(135deg,#f3ebff 0%,#efe7ff 45%,#fff4ea 100%)!important;
  border-radius:18px 18px 0 0!important;
  overflow:hidden;
}

.page-cardapio .catalogo-produto-card__media::after,
.page-cardapio .produto-imagem::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:36px;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.16) 100%);
  pointer-events:none;
}

.page-cardapio .catalogo-produto-card__media img,
.page-cardapio .produto-imagem img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .24s ease;
}

.page-cardapio .catalogo-produto-card:hover .catalogo-produto-card__media img,
.page-cardapio .produto-card:hover .produto-imagem img{
  transform:scale(1.035);
}

.page-cardapio .catalogo-produto-card__body,
.page-cardapio .produto-info{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:14px!important;
  flex:1 1 auto!important;
}

.page-cardapio .catalogo-produto-card__codigo{
  display:inline-flex!important;
  align-items:center;
  align-self:flex-start;
  padding:5px 9px;
  border-radius:999px;
  background:#f3edff;
  color:#0f6b43;
  font-size:.72rem;
  font-weight:800;
  line-height:1;
}

.page-cardapio .catalogo-produto-card__nome,
.page-cardapio .produto-nome{
  margin:0!important;
  color:#24163f!important;
  font-size:1rem!important;
  line-height:1.34!important;
  font-weight:800!important;
  letter-spacing:-.01em;
  min-height:2.7em;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.page-cardapio .catalogo-produto-card__descricao,
.page-cardapio .produto-descricao{
  color:#6f6a7e!important;
  font-size:.84rem!important;
  line-height:1.45!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.8em;
}

.page-cardapio .catalogo-produto-card__preco,
.page-cardapio .produto-preco{
  margin-top:auto!important;
  color:#0f6b43!important;
  font-size:1.08rem!important;
  font-weight:900!important;
  letter-spacing:-.01em;
}

.page-cardapio .catalogo-produto-card__estoque{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#f7f5fb;
  color:#655f74;
  font-size:.73rem;
  font-weight:700;
  line-height:1;
}
.page-cardapio .catalogo-produto-card__estoque.is-zero{
  background:#fff1f2;
  color:#d92d20;
}

.page-cardapio .catalogo-produto-card__indisponivel{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border-radius:12px;
  background:#fff0f0;
  color:#d92d20!important;
  font-weight:800;
}

.page-cardapio .catalogo-produto-card__add,
.page-cardapio .btn-adicionar,
.page-cardapio .produto-add,
.page-cardapio .catalogo-produto-add{
  margin-top:auto!important;
  width:100%!important;
  min-height:48px!important;
  padding:10px 14px!important;
  border-radius:14px!important;
  border:0!important;
  background:linear-gradient(135deg,#1f9d57,#1f9d57)!important;
  color:#fff!important;
  font-size:.92rem!important;
  font-weight:800!important;
  box-shadow:0 10px 18px rgba(84,23,185,.18)!important;
}

.page-cardapio .catalogo-produto-card__add-icon{
  width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:900!important;
}

.page-cardapio .catalogo-produto-card__add:hover,
.page-cardapio .btn-adicionar:hover,
.page-cardapio .produto-add:hover,
.page-cardapio .catalogo-produto-add:hover{
  filter:brightness(1.03);
  transform:translateY(-1px);
}

.page-cardapio .catalogo-produto-card--sem-estoque{
  opacity:1!important;
}
.page-cardapio .catalogo-produto-card--sem-estoque .catalogo-produto-card__media,
.page-cardapio .catalogo-produto-card--sem-estoque .catalogo-produto-card__body{
  opacity:.88;
}

/* Grid dos cards em diferentes telas */
@media (min-width: 1081px){
  .page-cardapio .catalogo-produtos-track,
  .page-cardapio .produtos-grid{
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
  }
}

@media (max-width: 1080px){
  .page-cardapio .catalogo-produtos-track,
  .page-cardapio .produtos-grid{
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;
  }
}

@media (max-width: 720px){
  .page-cardapio .catalogo-produtos-track,
  .page-cardapio .produtos-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .page-cardapio .catalogo-produto-card,
  .page-cardapio .produto-card{
    border-radius:18px!important;
  }
  .page-cardapio .catalogo-produto-card__body,
  .page-cardapio .produto-info{
    padding:12px!important;
    gap:7px!important;
  }
  .page-cardapio .catalogo-produto-card__nome,
  .page-cardapio .produto-nome{
    font-size:.94rem!important;
    min-height:2.55em;
  }
  .page-cardapio .catalogo-produto-card__descricao,
  .page-cardapio .produto-descricao{
    font-size:.8rem!important;
    min-height:2.6em;
  }
  .page-cardapio .catalogo-produto-card__preco,
  .page-cardapio .produto-preco{
    font-size:1rem!important;
  }
  .page-cardapio .catalogo-produto-card__add,
  .page-cardapio .btn-adicionar,
  .page-cardapio .produto-add,
  .page-cardapio .catalogo-produto-add{
    min-height:44px!important;
    font-size:.88rem!important;
    border-radius:13px!important;
  }
}

@media (max-width: 420px){
  .page-cardapio .catalogo-produtos-track,
  .page-cardapio .produtos-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .page-cardapio .catalogo-produto-card,
  .page-cardapio .produto-card{
    border-radius:17px!important;
  }
  .page-cardapio .catalogo-produto-card__body,
  .page-cardapio .produto-info{
    padding:13px!important;
  }
  .page-cardapio .catalogo-produto-card__nome,
  .page-cardapio .produto-nome{
    font-size:.98rem!important;
  }
  .page-cardapio .catalogo-produto-card__descricao,
  .page-cardapio .produto-descricao{
    -webkit-line-clamp:3;
    min-height:auto;
  }
}

/* ======================================================================
   Acabamento profissional por perfil — etapa 2
   Proprietário • Administrador • Operador • Entregador • Cardápio
   ====================================================================== */

/* ---------- Fundamentos de leitura e interação ---------- */
.admin-body,.owner-body,.page-cardapio{
  --am-content-max:1480px;
  --am-touch:46px;
}
.admin-body h1,.owner-body h1,.page-cardapio h1{letter-spacing:-.025em}
.admin-body h2,.owner-body h2,.page-cardapio h2{letter-spacing:-.018em}
.admin-body p,.owner-body p,.page-cardapio p{line-height:1.55}
.admin-body :focus-visible,.owner-body :focus-visible,.page-cardapio :focus-visible{
  outline:3px solid rgba(21,122,66,.24)!important;
  outline-offset:2px!important;
}

/* ---------- PROPRIETÁRIO: visão executiva e SaaS ---------- */
.owner-body .owner-page-shell{max-width:var(--am-content-max)!important;margin-inline:auto!important}
.owner-body .owner-topbar__page-title{font-size:clamp(1.05rem,2vw,1.35rem)!important;font-weight:850!important;color:#261a3e!important}
.owner-body .owner-topbar__brand{font-weight:900!important;color:#0f6b43!important}
.owner-body .saas-dash{display:grid;gap:18px!important}
.owner-body .saas-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px!important}
.owner-body .saas-kpi{padding:18px!important;min-height:118px!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease!important}
.owner-body .saas-kpi:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(44,14,92,.14)!important}
.owner-body .saas-kpi strong{font-size:clamp(1.45rem,2.3vw,2rem)!important;line-height:1.05!important}
.owner-body .saas-kpi span{font-weight:800!important}
.owner-body .saas-grade{gap:18px!important;align-items:start}
.owner-body .saas-card{padding:18px!important}
.owner-body .saas-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 14px;padding-bottom:12px!important}
.owner-body .saas-card>header h2{margin:0;font-size:1rem!important;color:#2b2040!important}
.owner-body .saas-pag,.owner-body .saas-plano,.owner-body .saas-lembrete{
  border:1px solid #eee9f6!important;border-radius:13px!important;background:#fff!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease
}
.owner-body .saas-pag:hover,.owner-body .saas-plano:hover{background:#f7fdf9!important;border-color:#dcccfa!important;transform:translateY(-1px)}
.owner-body .saas-acoes{gap:10px!important}
.owner-body .saas-acoes a,.owner-body .saas-atalhos a,.owner-body .saas-nova,.owner-body .saas-relatorio{
  min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px!important;font-weight:800!important;text-decoration:none!important
}
.owner-body .saas-tabela-wrap{border:1px solid #e7f6ee;border-radius:14px;overflow:auto;background:#fff}
.owner-body .saas-tabela{min-width:780px}
.owner-body .saas-tabela th{position:sticky;top:0;z-index:1;background:#f4fbf7!important;color:#4f4165!important;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em}
.owner-body .saas-tabela td{vertical-align:middle!important}
.owner-body .saas-acoes-linha{white-space:nowrap}
.owner-body .owner-nav a,.owner-body .owner-nav button{min-height:42px;display:flex;align-items:center}
.owner-body .owner-sidebar__foot{padding-bottom:max(14px,env(safe-area-inset-bottom))}

/* ---------- ADMINISTRADOR: operação rápida e visão da loja ---------- */
.admin-body:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom) .page-shell{
  max-width:var(--am-content-max);margin-inline:auto
}
.admin-body .adm-dash{display:grid;gap:18px}
.admin-body .adm-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px!important}
.admin-body .adm-kpi{padding:17px!important;min-height:112px!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease!important}
.admin-body .adm-kpi:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(44,14,92,.14)!important}
.admin-body .adm-kpi strong{font-size:clamp(1.35rem,2vw,1.85rem)!important;line-height:1.08!important}
.admin-body .adm-grade{gap:18px!important;align-items:start}
.admin-body .adm-card{padding:17px!important}
.admin-body .adm-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px!important}
.admin-body .adm-card>header h2{margin:0!important;font-size:1rem!important;color:#2a203d!important}
.admin-body .adm-pedido,.admin-body .adm-rota{
  border:1px solid #efebf6!important;border-radius:13px!important;padding:11px!important;transition:.15s ease;background:#fff!important
}
.admin-body .adm-pedido:hover,.admin-body .adm-rota:hover{background:#f7fdf9!important;border-color:#d9c8f6!important;transform:translateY(-1px)}
.admin-body .adm-mapa{gap:9px!important}
.admin-body .adm-mesa{min-height:78px!important;border-radius:13px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;transition:.15s ease}
.admin-body .adm-mesa:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(33,18,62,.10)!important}
.admin-body .adm-acoes{gap:10px!important}
.admin-body .adm-acoes a{min-height:50px!important;font-weight:800!important;box-shadow:0 8px 16px rgba(51,20,107,.09)}
.admin-body .admin-loja-nav__link{min-height:42px!important}
.admin-body .admin-loja-topbar__title,.admin-body .admin-topbar__page-title{font-weight:850!important;color:#291e3e!important}

/* Páginas administrativas com listas/formulários */
.admin-body[class*="admin-page--"] .admin-card,
.admin-body[class*="admin-page--"] .panel,
.admin-body[class*="admin-page--"] .card{padding:clamp(13px,2vw,18px)}
.admin-body[class*="admin-page--"] form:not(.admin-profile-menu form):not(.inline-form){row-gap:12px}
.admin-body[class*="admin-page--"] .toolbar,
.admin-body[class*="admin-page--"] .filters,
.admin-body[class*="admin-page--"] .admin-filters{gap:10px;flex-wrap:wrap}

/* ---------- OPERADOR DE MESAS: touch-first ---------- */
.admin-body--perfil-operador .admin-main,.admin-body--perfil-garcom .admin-main{background:#f6f7fb!important}
.admin-body--perfil-operador .page-shell,.admin-body--perfil-garcom .page-shell{padding:0!important;max-width:520px!important;margin-inline:auto!important}
.op-app{max-width:520px;margin:0 auto;min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom));background:#f6f7fb}
.op-head{position:sticky;top:0;z-index:35;padding:14px 15px!important;border-radius:0 0 20px 20px}
.op-head--bar{min-height:66px}
.op-head__brand strong{font-size:1rem!important}.op-head__brand small{font-size:.76rem!important;opacity:.88}
.op-kpis{padding:14px 12px 10px!important}
.op-kpi{min-height:82px!important;padding:13px!important;display:flex!important;flex-direction:column;justify-content:center}
.op-kpi b{font-size:1.6rem!important}.op-kpi span{font-size:.78rem!important}
.op-secao{padding:6px 13px 9px!important}.op-secao h2{font-size:1rem!important}
.op-row{margin:0 12px 10px!important;padding:13px!important;min-height:72px!important;border-radius:15px!important}
.op-row__ico{width:42px!important;height:42px!important;border-radius:12px!important}
.op-row__acoes a,.op-row__acoes button{min-height:38px!important;min-width:38px!important}
.op-mapa{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px!important;padding:6px 12px 12px!important}
.op-tile{min-height:78px!important;aspect-ratio:auto!important;border-radius:14px!important}
.op-tile b{font-size:1.05rem!important}.op-tile small{font-size:.68rem!important}
.op-grade{gap:10px!important;padding:0 12px 94px!important}
.op-produto{min-height:154px;padding:10px!important;border-radius:15px!important}
.op-produto__foto{height:88px!important;border-radius:12px!important}
.op-produto strong{line-height:1.3}.op-produto b{font-size:.94rem}
.op-folha{margin:11px 12px!important;padding:14px!important;border-radius:17px!important}
.op-folha input,.op-folha select,.op-folha textarea,.op-dialog input,.op-dialog select,.op-dialog textarea{min-height:46px!important;font-size:16px!important}
.op-cta,.op-btn{min-height:50px!important;border-radius:14px!important;font-size:.92rem!important}
.op-bottom{box-shadow:0 -8px 24px rgba(46,20,92,.08)!important;border-radius:18px 18px 0 0!important;padding-top:7px!important}
.op-bottom a{min-height:48px;justify-content:center}
.op-bottom a.is-active{background:#f3ecff;border-radius:12px}

/* ---------- ENTREGADOR: somente o essencial ---------- */
.admin-body--perfil-entregador .page-shell{padding:0!important;max-width:520px!important;margin-inline:auto!important}
.ent-app{max-width:520px;margin:0 auto;min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom));background:#f6f7fb}
.ent-head{position:sticky;top:0;z-index:35;padding:14px 15px!important;border-radius:0 0 20px 20px}
.ent-head--bar{min-height:66px}
.ent-head h1{font-size:1.08rem!important}.ent-head small{opacity:.88}
.ent-disp{min-height:38px!important;padding:8px 11px!important;border-radius:999px!important;font-weight:800!important}
.ent-kpis{padding:14px 12px 8px!important}
.ent-kpis>a{min-height:90px!important;border-radius:15px!important;padding:14px!important;box-shadow:var(--am-shadow-sm)!important}
.ent-kpis strong{font-size:1.7rem!important}.ent-kpis small{font-size:.79rem!important}
.ent-busca{margin:9px 12px 13px!important;border:1px solid #e5dff0!important;border-radius:14px!important;box-shadow:0 5px 14px rgba(47,20,91,.05)!important}
.ent-busca input{min-height:48px!important;font-size:16px!important}
.ent-secao{padding:0 13px 9px!important}.ent-secao h2{font-size:1rem!important}
.ent-row{margin:0 12px 10px!important;padding:14px!important;border-radius:16px!important;min-height:116px!important;transition:.15s ease}
.ent-row:active{transform:scale(.995)}
.ent-row__top{gap:8px}.ent-row__top strong{font-size:1rem!important}
.ent-row p{margin:.3rem 0!important;line-height:1.38!important;color:#626b7b!important}
.ent-row__foot{padding-top:9px!important;margin-top:7px!important;border-top:1px solid #f0edf5}
.ent-row__foot>span{font-weight:900!important;color:#27183f!important}
.ent-chip,.ent-badge{font-weight:800!important;letter-spacing:.005em}
.ent-sheet,.ent-acerto,.ent-pix-card{margin:12px!important;padding:15px!important;border-radius:18px!important}
.ent-cliente-linha{gap:12px!important}.ent-contato{gap:8px!important}
.ent-round{width:44px!important;height:44px!important}
.ent-end{padding:12px!important;border-radius:13px!important;background:#f7fdf9!important;border:1px solid #ebe4f6}
.ent-produtos li{padding:11px 0!important}
.ent-linha--total{font-size:1.1rem!important;color:#31115e!important}
.ent-btn,.ent-link-btn{min-height:50px!important;border-radius:14px!important;font-weight:850!important}
.ent-btn--pix{box-shadow:0 10px 20px rgba(95,29,201,.18)!important}
.ent-pago-site{padding:13px!important;border-radius:13px!important;background:#eafbf2!important;border:1px solid #bfeccf!important;color:#087947!important;font-weight:850!important}
.ent-modal{width:min(440px,calc(100vw - 20px))!important;border-radius:20px!important;padding:17px!important}
.ent-bottom{border-radius:18px 18px 0 0!important;padding-top:7px!important}.ent-bottom a{min-height:48px;justify-content:center}.ent-bottom a.is-active{background:#f3ecff;border-radius:12px}

/* ---------- CARDÁPIO DO CLIENTE: vitrine comercial ---------- */
.page-cardapio .main-container,.page-cardapio .catalogo-loja-main{max-width:1180px!important;margin-inline:auto!important}
.page-cardapio .app-header__inner,.page-cardapio .catalogo-loja-header__inner{max-width:1180px!important;margin-inline:auto!important}
.page-cardapio .app-header__track,.page-cardapio .app-header__admin,.page-cardapio .app-header__link-btn{min-height:44px!important;border-radius:12px!important;font-weight:800!important}
.page-cardapio .catalogo-categoria-secao{scroll-margin-top:88px}
.page-cardapio .catalogo-categoria-secao__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px!important}
.page-cardapio .catalogo-categoria-secao__title{font-size:clamp(1.05rem,2vw,1.3rem)!important;color:#291846!important}
.page-cardapio .catalogo-categoria-secao__count{padding:5px 9px;border-radius:999px;background:#e7f6ee;color:#0f6b43!important;font-weight:800!important}
.page-cardapio .cart-panel,.page-cardapio .pedido-panel{border:1px solid #e9e3f2!important;border-radius:20px!important;box-shadow:0 12px 28px rgba(49,18,101,.08)!important;overflow:hidden}
.page-cardapio .cart-header{background:linear-gradient(135deg,#f9f6ff,#fff)!important;border-bottom:1px solid #eee8f6!important}
.page-cardapio .cart-item{border:1px solid #eee9f4!important;border-radius:14px!important;padding:12px!important;background:#fff!important}
.page-cardapio .cart-total{border-radius:14px!important;background:#e7f6ee!important;color:#0f6b43!important;padding:13px!important}
.page-cardapio .pedido-form .form-group{padding:13px!important;border-radius:15px!important;background:#fbfaff!important;border:1px solid #eee9f5!important}
.page-cardapio .pedido-preview{border-radius:14px!important;background:linear-gradient(135deg,#d4c4f6,#e2d6f9)!important;color:#fff!important;padding:14px!important}
.page-cardapio .pedido-preview strong{color:#fff!important;font-size:1.15rem!important}
.page-cardapio .btn-block{min-height:50px!important;border-radius:14px!important;font-weight:850!important}
.page-cardapio .extra-option{min-height:46px!important;border-radius:13px!important}

/* ---------- Responsividade refinada ---------- */
@media(max-width:1100px){
  .owner-body .saas-kpis,.admin-body .adm-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .owner-body .saas-kpis,.admin-body .adm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .owner-body .saas-card,.admin-body .adm-card{padding:14px!important}
  .owner-body .saas-tabela-wrap{margin-inline:-2px}
  .op-mapa{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-cardapio .cart-panel,.page-cardapio .pedido-panel{border-radius:16px!important}
}
@media(max-width:480px){
  .owner-body .saas-kpis,.admin-body .adm-kpis{grid-template-columns:1fr 1fr!important}
  .owner-body .saas-kpi,.admin-body .adm-kpi{min-height:96px!important;padding:13px!important}
  .owner-body .saas-kpi strong,.admin-body .adm-kpi strong{font-size:1.35rem!important}
  .op-mapa{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .op-grade{grid-template-columns:1fr 1fr!important}
  .ent-sheet,.ent-acerto,.ent-pix-card{margin:10px!important;padding:13px!important}
  .page-cardapio .main-container,.page-cardapio .catalogo-loja-main{padding-inline:8px!important}
  .page-cardapio .cart-panel,.page-cardapio .pedido-panel{margin-inline:0!important}
}
@media(max-width:360px){
  .owner-body .saas-kpis,.admin-body .adm-kpis{grid-template-columns:1fr!important}
  .op-grade{grid-template-columns:1fr!important}
}


/* ===== Etapa extra — cards comerciais / vitrine premium ===== */
.page-cardapio.page-catalogo .catalogo-categoria-secao,
.page-cardapio.page-catalogo-loja .catalogo-categoria-secao,
.page-cardapio .categoria-section{
  margin-bottom:22px!important;
}

.page-cardapio.page-catalogo .catalogo-categoria-secao__head,
.page-cardapio.page-catalogo-loja .catalogo-categoria-secao__head{
  align-items:center!important;
  gap:10px!important;
  margin-bottom:12px!important;
}

.page-cardapio.page-catalogo .catalogo-categoria-secao__title,
.page-cardapio.page-catalogo-loja .catalogo-categoria-secao__title,
.page-cardapio .category-title{
  font-size:1.1rem!important;
  font-weight:900!important;
  color:#24163f!important;
  letter-spacing:-.02em;
}

.page-cardapio.page-catalogo .catalogo-categoria-secao__count,
.page-cardapio.page-catalogo-loja .catalogo-categoria-secao__count{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f3ecff!important;
  color:#0f6b43!important;
  font-weight:800!important;
  font-size:.75rem!important;
}

.page-cardapio .catalogo-produto-card,
.page-cardapio .produto-card{
  background:
    radial-gradient(circle at top right, rgba(255,153,102,.16), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#fffafe 100%)!important;
  border:1px solid #eadff9!important;
  box-shadow:0 12px 28px rgba(66,28,136,.08),0 2px 6px rgba(32,13,64,.04)!important;
}

.page-cardapio .catalogo-produto-card::before,
.page-cardapio .produto-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#e2d6f9 0%,#ff8b1e 100%);
  opacity:.96;
}

.page-cardapio .catalogo-produto-card__media,
.page-cardapio .produto-imagem{
  aspect-ratio:1.18/1!important;
  min-height:164px;
}

.page-cardapio .catalogo-produto-card__media::before,
.page-cardapio .produto-imagem::before{
  content:"Mais pedido";
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(27,16,48,.78);
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.01em;
  backdrop-filter:blur(6px);
}

.page-cardapio .catalogo-produto-card:nth-child(3n) .catalogo-produto-card__media::before,
.page-cardapio .produto-card:nth-child(3n) .produto-imagem::before{
  content:"Promoção";
  background:rgba(231,63,115,.88);
}

.page-cardapio .catalogo-produto-card:nth-child(4n) .catalogo-produto-card__media::before,
.page-cardapio .produto-card:nth-child(4n) .produto-imagem::before{
  content:"Novo";
  background:rgba(16,137,90,.88);
}

.page-cardapio .catalogo-produto-card__media img,
.page-cardapio .produto-imagem img{
  filter:saturate(1.05) contrast(1.02);
}

.page-cardapio .catalogo-produto-card__body,
.page-cardapio .produto-info{
  padding:15px!important;
  gap:9px!important;
}

.page-cardapio .catalogo-produto-card__codigo{
  background:linear-gradient(180deg,#f4fbf7 0%,#efe7ff 100%)!important;
  color:#0f6b43!important;
  border:1px solid #e4d7ff;
}

.page-cardapio .catalogo-produto-card__nome,
.page-cardapio .produto-nome{
  font-size:1.03rem!important;
}

.page-cardapio .catalogo-produto-card__descricao,
.page-cardapio .produto-descricao{
  color:#686377!important;
}

.page-cardapio .catalogo-produto-card__preco,
.page-cardapio .produto-preco{
  display:flex!important;
  align-items:center;
  gap:8px;
}

.page-cardapio .catalogo-produto-card__preco::before,
.page-cardapio .produto-preco::before{
  content:"A partir de";
  font-size:.72rem;
  font-weight:700;
  color:#81789a;
  letter-spacing:0;
}

.page-cardapio .catalogo-produto-card__add,
.page-cardapio .btn-adicionar,
.page-cardapio .produto-add,
.page-cardapio .catalogo-produto-add{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 18px rgba(109,40,217,.28)!important;
}

.page-cardapio .catalogo-produto-card__add::after,
.page-cardapio .btn-adicionar::after,
.page-cardapio .produto-add::after,
.page-cardapio .catalogo-produto-add::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.16) 48%,transparent 100%);
  transform:translateX(-120%);
  transition:transform .45s ease;
}

.page-cardapio .catalogo-produto-card__add:hover::after,
.page-cardapio .btn-adicionar:hover::after,
.page-cardapio .produto-add:hover::after,
.page-cardapio .catalogo-produto-add:hover::after{
  transform:translateX(120%);
}

.page-cardapio .catalogo-produto-card__add-icon{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.page-cardapio .catalogo-produto-card--sem-estoque::before{
  background:linear-gradient(180deg,#d1d5db 0%,#9ca3af 100%);
}
.page-cardapio .catalogo-produto-card--sem-estoque .catalogo-produto-card__media::before{
  content:"Indisponível";
  background:rgba(190,24,24,.88);
}

.page-cardapio .cart-panel,
.page-cardapio .pedido-panel,
.page-cardapio .cart-bar,
.page-cardapio .pedido-resumo,
.page-cardapio .carrinho-flutuante{
  border:1px solid #ece2ff!important;
  box-shadow:0 16px 32px rgba(57,22,118,.09)!important;
}

.page-cardapio .cart-header,
.page-cardapio .cart-header--toggle{
  background:linear-gradient(180deg,#fff 0%,#faf7ff 100%)!important;
}

.page-cardapio .cart-item{
  border:1px solid #ede7f8!important;
  border-radius:16px!important;
  box-shadow:0 5px 14px rgba(43,17,89,.05)!important;
}

.page-cardapio .icon-btn,
.page-cardapio .cart-item-actions button{
  border-radius:12px!important;
}

@media (max-width: 900px){
  .page-cardapio .catalogo-produto-card__media,
  .page-cardapio .produto-imagem{min-height:150px}
}

@media (max-width: 720px){
  .page-cardapio .catalogo-produto-card::before,
  .page-cardapio .produto-card::before{width:4px}
  .page-cardapio .catalogo-produto-card__media,
  .page-cardapio .produto-imagem{min-height:132px}
  .page-cardapio .catalogo-produto-card__media::before,
  .page-cardapio .produto-imagem::before{
    top:10px;left:10px;padding:6px 9px;font-size:.64rem
  }
  .page-cardapio .catalogo-produto-card__body,
  .page-cardapio .produto-info{padding:12px!important}
}

@media (max-width: 420px){
  .page-cardapio .catalogo-produto-card__media,
  .page-cardapio .produto-imagem{min-height:172px}
  .page-cardapio .catalogo-produto-card__nome,
  .page-cardapio .produto-nome{font-size:1rem!important}
  .page-cardapio .catalogo-produto-card__preco,
  .page-cardapio .produto-preco{font-size:1.08rem!important}
  .page-cardapio .catalogo-produto-card__preco::before,
  .page-cardapio .produto-preco::before{font-size:.7rem}
}

/* ===== Conversão do cardápio — banners, vitrines e upsell ===== */
.page-cardapio .catalogo-produto-card__media::before,
.page-cardapio .produto-imagem::before{
  display:none!important;
  content:""!important;
}
.page-cardapio .catalogo-produto-card.is-bestseller .catalogo-produto-card__media::before{
  content:"🔥 Mais vendido"!important;
  display:inline-flex!important;
  background:rgba(34,18,58,.86)!important;
}
.page-cardapio .catalogo-produto-card.is-featured .catalogo-produto-card__media::before{
  content:"✨ Destaque"!important;
  display:inline-flex!important;
  background:rgba(99,40,207,.88)!important;
}
.page-cardapio .catalogo-produto-card.is-combo .catalogo-produto-card__media::before{
  content:"💜 Combo"!important;
  display:inline-flex!important;
  background:rgba(230,47,102,.90)!important;
}
.page-cardapio .catalogo-produto-card--sem-estoque .catalogo-produto-card__media::before{
  content:"Indisponível"!important;
  display:inline-flex!important;
  background:rgba(190,24,24,.9)!important;
}
.page-cardapio .catalogo-produto-card__preco::before,
.page-cardapio .produto-preco::before{
  display:none!important;
  content:""!important;
}

.catalogo-commerce-zone{
  width:100%;
  max-width:none;
  margin:16px 0 8px;
  padding-left:max(var(--loja-content-pad, 12px), env(safe-area-inset-left));
  padding-right:max(var(--loja-content-pad, 12px), env(safe-area-inset-right));
  box-sizing:border-box;
  display:grid;
  gap:20px;
}
.catalogo-promo-banner{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  align-items:center;
  gap:22px;
  min-height:220px;
  padding:28px;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 14%,rgba(255,186,84,.42),transparent 28%),
    radial-gradient(circle at 70% 90%,rgba(255,86,144,.24),transparent 34%),
    linear-gradient(135deg,#d8f3e4 0%,#1f9d57 50%,#2bb86a 100%);
  box-shadow:0 20px 46px rgba(63,19,135,.2);
  color:#fff;
}
.catalogo-promo-banner::after{
  content:"";
  position:absolute;
  width:280px;height:280px;
  border:46px solid rgba(255,255,255,.07);
  border-radius:50%;
  right:-110px;top:-100px;
}
.catalogo-promo-banner__copy{position:relative;z-index:1;max-width:620px}
.catalogo-promo-banner__eyebrow{
  display:inline-flex;align-items:center;
  padding:7px 11px;border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;
}
.catalogo-promo-banner h2{margin:12px 0 8px;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.05;letter-spacing:-.035em;color:#fff}
.catalogo-promo-banner p{margin:0 0 18px;color:rgba(255,255,255,.88);font-size:1rem;line-height:1.5}
.catalogo-promo-banner__cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:10px 17px;border-radius:14px;
  background:#fff;color:#0f6b43;text-decoration:none;font-weight:900;
  box-shadow:0 10px 22px rgba(28,8,60,.18)
}
.catalogo-promo-banner__benefits{
  position:relative;z-index:1;
  display:grid;gap:10px;
}
.catalogo-promo-banner__benefits span{
  display:flex;align-items:center;min-height:48px;
  padding:12px 14px;border-radius:15px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;font-size:.9rem;font-weight:800;
  backdrop-filter:blur(5px)
}

.catalogo-vitrine-section{
  min-width:0;
  padding:18px;
  border:1px solid #ece5f8;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fcfaff 100%);
  box-shadow:0 10px 26px rgba(54,23,111,.06);
}
.catalogo-vitrine-section__head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:12px;
  margin-bottom:14px;
}
.catalogo-vitrine-section__head h2{
  margin:3px 0 0;color:#24163f;font-size:1.2rem;line-height:1.2;letter-spacing:-.02em
}
.catalogo-vitrine-section__head a{color:#0f6b43;font-size:.84rem;font-weight:850;text-decoration:none;white-space:nowrap}
.catalogo-vitrine-section__eyebrow{font-size:.73rem;color:#7e758e;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.catalogo-vitrine-track{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  grid-auto-flow:row;
  gap:12px;
  width:100%;
  overflow:visible;
  padding:2px 0 9px;
  align-items:start;
}
.catalogo-vitrine-card{scroll-snap-align:start;min-width:0;height:auto}
.catalogo-vitrine-card .catalogo-produto-card__media{
  min-height:0!important;
  max-height:168px!important;
  aspect-ratio:1.25/1!important;
}
.catalogo-vitrine-card .catalogo-produto-card__body{padding:12px!important}
.catalogo-vitrine-card .catalogo-produto-card__nome{font-size:.94rem!important}
.catalogo-vitrine-card .catalogo-produto-card__descricao{font-size:.78rem!important;min-height:2.4em}
.catalogo-vitrine-card .catalogo-produto-card__add{min-height:42px!important;font-size:.84rem!important}
.catalogo-scroll-anchor{position:relative;top:-92px;display:block;visibility:hidden}

.modal-produto-adicionais{
  position:relative;
  padding:14px!important;
  border:1px solid #e9defb!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fcf9ff 0%,#fff 100%)!important;
}
.modal-produto-adicionais__eyebrow{
  display:block;margin-bottom:4px;color:#0f6b43;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em
}
.modal-produto-adicionais__convite{
  margin:2px 0 10px;color:#777083;font-size:.82rem;line-height:1.45
}
.modal-produto-adicionais__lista label,
.modal-produto-adicionais__lista .opcao,
.modal-produto-adicionais__lista > div{
  border-radius:12px!important;
}

@media(max-width:720px){
  .catalogo-commerce-zone{width:100%;max-width:none;margin-top:10px;gap:14px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}
  .catalogo-promo-banner{grid-template-columns:1fr;min-height:0;padding:20px;border-radius:20px;gap:16px}
  .catalogo-promo-banner__benefits{grid-template-columns:1fr;gap:8px}
  .catalogo-promo-banner__benefits span{justify-content:flex-start;min-height:44px;padding:10px 12px;text-align:left;font-size:.84rem}
  .catalogo-vitrine-section{padding:12px 10px;border-radius:16px}
  .catalogo-vitrine-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .catalogo-vitrine-card .catalogo-produto-card__media{min-height:0!important;aspect-ratio:1/1!important}
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__nome{font-size:.84rem!important;-webkit-line-clamp:2}
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__preco{font-size:.92rem!important}
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__add{min-height:40px!important;padding:8px 6px!important;font-size:.76rem!important}
}
.page-cardapio .catalogo-vitrine-card .catalogo-produto-card__nome{
  display:-webkit-box!important;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
  min-height:0!important;
  font-size:1rem!important;
  line-height:1.3!important;
}
.page-cardapio .catalogo-vitrine-card .catalogo-produto-card__preco{
  display:block!important;
  margin-top:4px!important;
  white-space:nowrap!important;
  font-size:1.12rem!important;
  line-height:1.2!important;
}
.page-cardapio .catalogo-vitrine-card .catalogo-produto-card__preco::before{
  content:none!important;
  display:none!important;
}
@media(max-width:720px){
  .page-cardapio .catalogo-vitrine-card.catalogo-produto-card{
    display:flex!important;
    flex-direction:column!important;
    padding:0!important;
    align-items:stretch!important;
  }
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__media{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-height:none!important;
    min-height:118px!important;
  }
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__body{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
  }
  body.page-modo-catalogo .catalogo-produto-card{
    display:flex!important;
    flex-direction:column!important;
    padding:0!important;
    align-items:stretch!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__media{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    max-height:none!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__body{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__nome{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
    -webkit-line-clamp:2;
    font-size:.84rem!important;
    line-height:1.25!important;
    min-height:0!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__preco{
    display:block!important;
    white-space:nowrap!important;
    font-size:.92rem!important;
    line-height:1.2!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__add,
  .page-cardapio .catalogo-produto-card__add{
    min-height:40px!important;
    padding:8px 6px!important;
    font-size:.76rem!important;
    gap:4px!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__add-icon,
  .page-cardapio .catalogo-produto-card__add-icon{
    width:18px!important;
    height:18px!important;
    font-size:.85rem!important;
  }
  body.page-modo-catalogo .catalogo-produto-card__preco::before{
    content:none!important;
    display:none!important;
  }
}
@media(max-width:420px){
  .catalogo-promo-banner__benefits{grid-template-columns:1fr}
  .catalogo-promo-banner__benefits span{justify-content:flex-start;padding-inline:12px;font-size:.78rem}
  .catalogo-vitrine-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalogo-vitrine-section__head{align-items:flex-start}
}

/* ===== Vitrine comercial específica do cardápio de açaí ===== */
.acai-commerce-zone{
  width:100%;
  max-width:none;
  margin:18px 0 4px;
  padding-left:max(var(--loja-content-pad, 12px), env(safe-area-inset-left));
  padding-right:max(var(--loja-content-pad, 12px), env(safe-area-inset-right));
  box-sizing:border-box;
  display:grid;
  gap:18px;
}
.acai-promo-banner{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:22px;
  align-items:center;
  min-height:210px;
  padding:26px;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 20%,rgba(255,182,72,.38),transparent 28%),
    radial-gradient(circle at 74% 96%,rgba(255,95,149,.2),transparent 34%),
    linear-gradient(135deg,#d8f3e4 0%,#d8f3e4 52%,#e7f6ee 100%);
  color:#fff;
  box-shadow:0 20px 46px rgba(62,19,132,.18);
  overflow:hidden;
}
.acai-promo-banner__eyebrow{
  display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em
}
.acai-promo-banner h2{margin:12px 0 8px;color:#fff;font-size:clamp(1.5rem,4vw,2.3rem);line-height:1.05;letter-spacing:-.035em}
.acai-promo-banner p{margin:0 0 17px;color:rgba(255,255,255,.88);line-height:1.5}
.acai-promo-banner__cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border-radius:14px;background:#fff;color:#0f6b43;text-decoration:none;font-weight:900;box-shadow:0 10px 22px rgba(28,8,60,.18)}
.acai-promo-banner__chips{display:grid;gap:9px}
.acai-promo-banner__chips span{display:flex;align-items:center;min-height:46px;padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:.86rem;font-weight:800;backdrop-filter:blur(5px)}

.acai-vitrine-section{padding:18px;border:1px solid #ece4f8;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fcfaff 100%);box-shadow:0 10px 26px rgba(54,23,111,.06);min-width:0}
.acai-vitrine-section__head{margin-bottom:13px}
.acai-vitrine-section__eyebrow{display:block;color:#7c728c;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.acai-vitrine-section__head h2{margin:3px 0 0;color:#24163f;font-size:1.18rem;letter-spacing:-.02em}
.acai-vitrine-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,230px);gap:12px;overflow-x:auto;scroll-snap-type:inline proximity;padding:2px 2px 9px;overscroll-behavior-inline:contain;scrollbar-width:thin}
.acai-vitrine-card{scroll-snap-align:start;position:relative;overflow:hidden;border:1px solid #e9def8;border-radius:19px;background:#fff;box-shadow:0 9px 22px rgba(51,20,105,.07)}
.acai-vitrine-card.is-bestseller::before{content:"🔥 Mais pedido";position:absolute;top:10px;left:10px;z-index:2;padding:6px 9px;border-radius:999px;background:rgba(34,18,58,.86);color:#fff;font-size:.65rem;font-weight:900;backdrop-filter:blur(5px)}
.acai-vitrine-card__media{height:142px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3eaff 0%,#fff1e9 100%);overflow:hidden}
.acai-vitrine-card__media img{max-width:82%;max-height:132px;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(58,17,116,.16));transition:transform .2s ease}
.acai-vitrine-card:hover .acai-vitrine-card__media img{transform:scale(1.04)}
.acai-vitrine-card__body{display:flex;flex-direction:column;gap:8px;padding:13px}
.acai-vitrine-card__body strong{color:#24163f;font-size:.95rem;line-height:1.3}
.acai-vitrine-card__body>span{color:#0f6b43;font-weight:900;font-size:1rem}
.acai-vitrine-card__btn{min-height:43px;border:0;border-radius:13px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 8px 16px rgba(109,40,217,.28)}

.acai-sabores-track{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 7px;scrollbar-width:thin}
.acai-sabor-chip{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;min-height:54px;padding:9px 12px;border:1px solid #e8def8;border-radius:15px;background:#fff;color:#2c2042;font:inherit;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(43,17,89,.05)}
.acai-sabor-chip>span{grid-row:1 / span 2;font-size:1.35rem}
.acai-sabor-chip strong{font-size:.84rem}
.acai-sabor-chip small{color:#0f6b43;font-size:.7rem;font-weight:800}
.acai-sabor-chip:hover,.acai-sabor-chip:focus-visible{border-color:#cdb5fa;background:#faf7ff;outline:none}

@media(max-width:720px){
  .acai-commerce-zone{width:100%;max-width:none;margin-top:10px;gap:14px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));box-sizing:border-box}
  .acai-promo-banner{grid-template-columns:1fr;padding:20px;border-radius:20px;min-height:0;gap:15px}
  .acai-promo-banner__chips{grid-template-columns:1fr;gap:8px}
  .acai-promo-banner__chips span{justify-content:flex-start;text-align:left;padding:10px 12px;font-size:.82rem}
  .acai-vitrine-section{padding:14px;border-radius:18px}
  .acai-vitrine-track{grid-auto-columns:minmax(180px,70vw)}
}
@media(max-width:420px){
  .acai-promo-banner__chips{grid-template-columns:1fr}
  .acai-promo-banner__chips span{justify-content:flex-start;padding-inline:12px;font-size:.77rem}
  .acai-vitrine-track{grid-auto-columns:minmax(225px,84vw)}
}

/* Referência visual: painéis iguais às telas do proprietário e do administrador. */
.owner-body--saas .owner-topbar__venc-btn{
  width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:14px;
  background:#e7f6ee;color:#14532d;position:relative;font-size:1.15rem;
}
.owner-body--saas .owner-topbar__venc-label{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}
.owner-body--saas .owner-topbar__venc-badge{position:absolute;top:-4px;right:-4px}
.owner-body--saas .saas-sistema{position:relative;padding-top:28px}
.owner-body--saas .saas-sistema::before{
  content:"Seu sistema";position:absolute;top:12px;left:12px;font-size:.72rem;color:#c6ead6;font-weight:700;
}
.owner-body .saas-kpi{padding:16px 14px 16px 70px!important}
.owner-body .saas-kpi::before{
  content:"▣";position:absolute;left:14px;top:18px;z-index:1;width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;background:rgba(255,255,255,.2);font-size:1.05rem;
}
.owner-body .saas-kpi--roxo::before{content:"🏢"}
.owner-body .saas-kpi--verde::before{content:"✓"}
.owner-body .saas-kpi--laranja::before{content:"⏱"}
.owner-body .saas-kpi--azul::before{content:"💳"}
.owner-body .saas-kpi--rosa::before{content:"$"}
.owner-body .saas-kpi__delta{
  position:absolute;top:12px;right:12px;z-index:1;border-radius:999px;padding:2px 8px;
  background:rgba(255,255,255,.22);font-style:normal;font-weight:800;font-size:.72rem;
}
.owner-body .saas-kpi small{opacity:.92}
.owner-body .saas-card>header{align-items:center}
.owner-body .saas-busca-tabela{
  display:flex;align-items:center;gap:6px;background:#f6f4fb;border-radius:12px;padding:0 10px;min-width:min(220px,100%);
}
.owner-body .saas-busca-tabela input{
  border:0!important;background:transparent!important;box-shadow:none!important;min-height:36px!important;padding:6px 0!important;width:100%;
}
.owner-body .saas-filtros button,.owner-body .saas-card header select,.admin-body .adm-filtros button{
  min-height:32px!important;height:auto;
}
.owner-body .saas-acoes a{justify-content:flex-start;padding-inline:12px;text-align:left}
.owner-body .saas-acoes i{font-style:normal;width:1.1rem;text-align:center}
.owner-body .saas-lembrete{align-items:flex-start}
.owner-body .saas-lembrete>span{display:block}
.owner-body .saas-lembrete i{
  display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:999px;
  background:#e7f6ee;color:#14532d;font-style:normal;font-weight:800;font-size:.75rem;vertical-align:middle;
}
.owner-body .saas-lembrete small{display:block;margin:2px 0 0 36px;color:#64748b;font-weight:600}
.owner-body .saas-fin{align-items:center;gap:10px}
.owner-body .saas-fin::before{
  content:"";width:34px;height:34px;border-radius:10px;flex:0 0 auto;
}
.owner-body .saas-fin--ok::before{background:#dcfce7}
.owner-body .saas-fin--wait::before{background:#fff4e5}
.owner-body .saas-fin--mes::before{background:#e7f0ff}
.owner-body .saas-fin--ano::before{background:#e7f6ee}
.owner-body .saas-fin span{flex:1}
.owner-body .saas-acoes-linha{display:flex;gap:6px;align-items:center}
.owner-body .saas-ico,.owner-body .saas-ico-form{display:inline-flex}
.owner-body .saas-ico{
  width:32px;height:32px;min-height:32px!important;padding:0;border:0;border-radius:10px;
  background:#f4fbf7;color:#14532d;font-weight:800;text-decoration:none;display:inline-grid;place-items:center;
}
.owner-body .saas-ico--wa{background:#e7f8ef;color:#15803d}
.owner-body .saas-ico--danger{background:#fff1f2;color:#e11d48;cursor:pointer}
.owner-body .saas-relatorio{background:linear-gradient(135deg,#1f9d57,#1f9d57)!important}

.admin-body .adm-kpi{padding:16px 14px 16px 68px!important}
.admin-body .adm-kpi::before{
  content:"▣";position:absolute;left:14px;top:16px;z-index:1;width:40px;height:40px;border-radius:13px;
  display:grid;place-items:center;background:rgba(255,255,255,.2);font-size:1rem;
}
.admin-body .adm-kpi--roxo::before{content:"📦"}
.admin-body .adm-kpi--verde::before{content:"▦"}
.admin-body .adm-kpi--laranja::before{content:"🛵"}
.admin-body .adm-kpi--azul::before{content:"$"}
.admin-body .adm-kpi--rosa::before{content:"☺"}
.admin-body .adm-acoes a{justify-content:flex-start;padding-inline:12px}
.admin-body .adm-acoes i{font-style:normal}
.admin-body .adm-mapa{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){
  .owner-body .saas-card>header{align-items:stretch}
  .owner-body .saas-busca-tabela{width:100%}
  .admin-body .adm-mapa{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.admin-body .pedido-card__actions--icons .icon-btn{
  background:#16a34a!important;border-color:#15803d!important;color:#fff!important;
}
.admin-body .pedido-card__actions--icons .icon-btn:hover{
  background:#15803d!important;color:#fff!important;
}
.admin-body .pedido-card__actions--icons .icon-btn.danger{
  background:#fff1f2!important;border-color:#fecdd3!important;color:#e11d48!important;
}

/* Tela inteira no celular, no tablet e no computador. */
html,body{
  width:100%;
  max-width:100%;
  min-height:100dvh;
}
.admin-layout,.owner-layout,.admin-main,.owner-main{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:100dvh;
}
.page-shell,.owner-page-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(12px,2vw,24px)!important;
  padding-left:max(clamp(12px,2vw,24px),env(safe-area-inset-left))!important;
  padding-right:max(clamp(12px,2vw,24px),env(safe-area-inset-right))!important;
  box-sizing:border-box;
}
.page-cardapio .catalogo,
.page-cardapio .cardapio-shell,
.page-cardapio main,
.page-cardapio .main-container,
.page-cardapio .catalogo-loja-main,
.page-cardapio .app-header__inner,
.page-cardapio .catalogo-loja-header__inner,
.page-cardapio .catalogo-busca-bar__inner{
  width:100%!important;
  max-width:none!important;
}
.page-cardapio,.page-cardapio.page-catalogo-loja{
  width:100%;
  min-height:100dvh;
}
.catalogo-loja-header,.page-cardapio .app-header{
  width:100%;
}
body.page-catalogo-loja .catalogo-produtos-track,
body.page-catalogo-loja .catalogo-loja-main--filtrando{
  width:100%;
}
.catalogo-cart-drawer{
  height:100dvh!important;
  max-height:100dvh!important;
}
@media (max-width:1100px){
  .catalogo-cart-drawer{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    border-radius:0!important;
  }
}
@media (max-width:900px){
  #modal-entrega.modal-backdrop.open,
  #modal-entrega.modal-backdrop.active,
  #modal-produto.modal-backdrop.open,
  #modal-produto.modal-backdrop.active,
  #modal-acompanhar-pedido.modal-backdrop.open,
  #modal-reset-senha.modal-backdrop.open,
  #modal-horarios.modal-backdrop.open,
  #modal-enderecos.modal-backdrop.open{
    align-items:stretch!important;
    justify-content:flex-start!important;
    padding:0!important;
  }
  #modal-horarios.modal-backdrop.open,
  #modal-enderecos.modal-backdrop.open{
    align-items:flex-end!important;
    background:rgba(12,18,34,.55)!important;
  }
  #modal-entrega>.modal,
  #modal-produto .modal-produto,
  #modal-acompanhar-pedido>.modal,
  #modal-reset-senha>.modal{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    height:100dvh!important;
    height:100svh!important;
    max-height:100dvh!important;
    max-height:100svh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #modal-horarios>.modal,
  #modal-enderecos>.modal{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:min(92dvh,100svh)!important;
    margin:0!important;
    border:0!important;
    border-radius:20px 20px 0 0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    padding:18px 16px max(16px,env(safe-area-inset-bottom))!important;
  }
  #modal-produto .modal-produto__scroll,
  #modal-entrega #form-finalizar,
  #modal-acompanhar-pedido>.modal,
  #modal-reset-senha>.modal{
    min-height:0;
  }
  #modal-produto .modal-produto__scroll,
  #modal-entrega .modal-body,
  #modal-reset-senha .modal-body,
  #modal-acompanhar-pedido .modal-body,
  #modal-horarios>.modal,
  #modal-enderecos>.modal{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  #modal-horarios>.modal,
  #modal-enderecos>.modal{
    flex:0 1 auto!important;
  }
  #modal-entrega>.modal{
    padding-top:env(safe-area-inset-top);
  }
  #modal-entrega #form-finalizar{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #modal-entrega .modal-header,
  #modal-acompanhar-pedido .modal-header,
  #modal-reset-senha .modal-header{
    flex-shrink:0;
    position:relative;
    top:auto;
  }
  #modal-produto .modal-produto__footer,
  #modal-entrega .modal-footer,
  #modal-acompanhar-pedido .modal-footer,
  #modal-reset-senha .modal-footer{
    flex-shrink:0!important;
    position:relative;
    margin-top:auto;
    padding:12px 14px max(14px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #e5e7eb;
  }
  #modal-produto .btn-adicionar-pedido,
  #modal-entrega .modal-footer .btn,
  #modal-acompanhar-pedido .modal-footer .btn,
  #modal-reset-senha .modal-footer .btn,
  .catalogo-info-modal__close{
    width:100%!important;
    min-height:52px!important;
    border-radius:14px!important;
    font-size:1rem!important;
  }
  #modal-produto .modal-close-x{
    top:max(10px,env(safe-area-inset-top))!important;
    right:10px!important;
    width:44px!important;
    height:44px!important;
    font-size:1.6rem!important;
  }
  #modal-produto .modal-produto__hero{
    padding-top:max(16px,env(safe-area-inset-top))!important;
    padding-right:64px!important;
  }
  #modal-produto .modal-produto__titulo{
    padding-top:0!important;
    padding-right:0!important;
  }
  .catalogo-info-modal__close{
    max-width:none!important;
    margin-top:14px!important;
    position:sticky;
    bottom:0;
  }
}
.admin-body--perfil-operador .page-shell,
.admin-body--perfil-garcom .page-shell,
.admin-body--perfil-entregador .page-shell,
.op-app,.ent-app{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh;
}

/* Verde vivo: texto branco nas faixas e nos botões da marca. */
.admin-body--loja .admin-sidebar,
.admin-body--loja .admin-loja-nav a,
.admin-body--loja .admin-loja-nav button,
.admin-body--loja .admin-nav a,
.admin-body--loja .admin-loja-nav a:hover,
.admin-body--loja .admin-loja-nav a.is-active,
.admin-body--loja .admin-nav a.active,
.owner-sidebar,
.owner-sidebar__brand-text strong,
.owner-sidebar__brand-mark,
.owner-nav a,
.owner-nav button,
.owner-nav a:hover,
.owner-nav a.is-active,
.page-cardapio .app-header,
.page-cardapio .app-header a,
.page-cardapio .app-header button,
.page-cardapio .app-header__brand,
.page-cardapio .btn-adicionar,
.page-cardapio .produto-add,
.page-cardapio .cart-add,
.page-cardapio .finalizar-pedido,
.page-cardapio .catalogo-produto-card__add,
.page-cardapio .btn-adicionar-pedido,
.page-cardapio .categoria-tabs .active,
.page-cardapio .categoria-tabs .is-active,
.catalogo-promo-banner,
.catalogo-promo-banner h2,
.catalogo-promo-banner p,
.acai-promo-banner,
.acai-promo-banner h2,
.acai-promo-banner p,
.saas-kpi--roxo,
.saas-kpi--roxo span,
.saas-kpi--roxo strong,
.saas-kpi--roxo small,
.adm-kpi--roxo,
.op-cta,
.op-btn,
.op-carrinho,
.op-abas a.is-on,
.op-chips button.is-on,
.ent-btn--pri,
.ent-filtros a.is-on,
.ent-tipos button.is-on,
body.page-catalogo-loja .catalogo-loja-header,
body.page-catalogo-loja .catalogo-loja-header a,
body.page-catalogo-loja .catalogo-loja-header button,
body.page-catalogo-loja .catalogo-loja-cart-bar,
body.page-catalogo-loja .catalogo-loja-cart-bar__btn,
body.page-catalogo-loja .catalogo-cart-actions .btn-continuar,
body.page-catalogo-loja .catalogo-cart-actions .btn-finalizar,
.btn-primary,
button[type="submit"]:not(.link-btn):not(.admin-profile-toggle):not(.admin-menu-toggle):not(.icon-btn){
  color:var(--am-on-purple,#14532d)!important;
}
.op-cta--ok,.op-btn--perigo,.ent-btn--ok,.adm-acoes .is-verde,.adm-acoes .is-azul,.adm-acoes .is-laranja{
  color:#fff!important;
}

/* Menu colado no topo, na mesma linha do cabeçalho. */
@media (min-width: 901px) {
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) {
    --loja-topbar-h: 72px;
  }
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .admin-topbar,
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .panel-vencimento-stack,
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .site-footer {
    margin-left: var(--loja-sidebar-w);
    width: calc(100% - var(--loja-sidebar-w));
    box-sizing: border-box;
  }
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .admin-topbar {
    min-height: var(--loja-topbar-h);
    position: sticky;
    top: 0;
    z-index: 80;
  }
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .admin-layout {
    padding-left: var(--loja-sidebar-w) !important;
    box-sizing: border-box;
    min-height: calc(100dvh - var(--loja-topbar-h)) !important;
  }
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .admin-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: var(--loja-sidebar-w) !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    z-index: 60;
  }
  body.admin-body.admin-body--loja:not(.admin-body--perfil-entregador):not(.admin-body--perfil-operador):not(.admin-body--perfil-garcom):not(.admin-bloqueio-only) .admin-loja-sidebar__head {
    min-height: var(--loja-topbar-h) !important;
    height: var(--loja-topbar-h);
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box;
    align-items: center;
  }
}

.pedido-card__entrega{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  width:100%;
  margin-top:.75rem;
}
.pedido-card__entrega select{
  width:100%;
  min-height:42px;
  border:1px solid #b7e0c8;
  border-radius:10px;
  background:#fff;
  color:#14532d;
  padding:0 .7rem;
  font:inherit;
}
.pedido-card__sair,
.pedido-card__confirmar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  width:100%;
  min-height:44px;
  border:0;
  border-radius:10px;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.pedido-card__sair{background:#1f9d57}
.pedido-card__confirmar{background:#157a42}
.pedido-card__sair svg,
.pedido-card__confirmar svg{flex:0 0 auto}
.pedido-rota{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  margin-top:.7rem;
  padding:.65rem .75rem;
  border-radius:12px;
  background:#e7f6ee;
  color:#14532d;
}
.pedido-rota span{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.pedido-rota strong{font-size:.95rem}

/* Menu do administrador: ícones e item ativo sempre legíveis. */
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--home,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--inbox,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--cycle,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--check,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--board,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--box,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--people,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--chart,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--qr,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--moto,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--store,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--tags,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--plus,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--users,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--book,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--printer,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--card,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--clock,
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon--pin{
  width:2rem!important;
  height:2rem!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__icon svg{
  stroke:#fff!important;
}
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__link.is-active .admin-loja-nav__icon{
  background:#e7f6ee!important;
  color:#0f6b43!important;
}
.admin-body--loja:not(.admin-body--perfil-entregador) .admin-loja-nav__link.is-active .admin-loja-nav__icon svg{
  stroke:#0f6b43!important;
}
.owner-body .owner-nav a[href*="/owner/dashboard.php"],
.owner-body .owner-nav__inicio{
  display:none!important;
}
.pedido-rota small{font-weight:650}

/* Celular: dois cards por linha, cabeçalho numa linha e conteúdo acima da barra de baixo. */
@media (max-width: 900px){
  .admin-body--loja .admin-main .page-shell{
    padding-top:.35rem!important;
    padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .admin-body--loja .admin-loja-topbar__actions,
  .owner-body--mpdv .owner-topbar__actions{
    width:auto!important;
    max-width:none!important;
    flex:0 1 auto!important;
    flex-wrap:nowrap!important;
  }
  .admin-profile-toggle{
    width:auto!important;
    max-width:100%;
  }
  body.admin-body--loja:not(.admin-nav-open) .admin-sidebar,
  body.owner-body--mpdv:not(.admin-nav-open) .owner-sidebar.admin-sidebar{
    position:fixed!important;
    transform:translateX(-105%)!important;
  }
  body.admin-nav-open.admin-body--loja .admin-sidebar,
  body.admin-nav-open.owner-body--mpdv .owner-sidebar.admin-sidebar{
    transform:translateX(0)!important;
  }
  #modal-produto .modal-produto,
  #modal-entrega>.modal,
  #modal-acompanhar-pedido>.modal,
  #modal-reset-senha>.modal{
    overflow:hidden!important;
  }
}
@media (max-width: 720px){
  body.page-catalogo-loja .catalogo-loja-shell,
  body.page-cardapio{
    overflow-x:hidden;
  }
  .catalogo-commerce-zone,
  .acai-commerce-zone{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }
  .catalogo-vitrine-card,
  .page-cardapio .catalogo-produto-card{
    min-width:0!important;
    max-width:100%;
  }
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__media{
    min-height:0!important;
    aspect-ratio:1/1!important;
  }
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__nome{
    font-size:.84rem!important;
    -webkit-line-clamp:2;
  }
  .page-cardapio .catalogo-vitrine-card .catalogo-produto-card__preco{
    font-size:.92rem!important;
  }
  body.page-catalogo-loja .catalogo-produtos-track,
  .page-cardapio .catalogo-produtos-track,
  .page-cardapio .produtos-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

.app-dialog-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))!important;
}
.app-dialog{
  width:min(100%,420px)!important;
  max-height:min(86dvh,100%)!important;
  margin:auto!important;
  border-radius:18px!important;
  overflow:auto!important;
}
.app-dialog-btn-primary{
  background:#1f9d57!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(21,122,66,.28)!important;
}
@media (max-width:900px){
  .app-dialog-actions{flex-direction:column!important}
  .app-dialog-btn{width:100%!important;min-height:48px!important}
}

/* ---------- DASHBOARD: mapa de mesas conforme layout solicitado ---------- */
.admin-body .adm-mesas-panel{
  padding:18px!important;
}
.admin-body .adm-mesas-topo{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.admin-body .adm-mesas-topo h2{
  margin:0!important;
  font-size:1.15rem!important;
  color:#172033!important;
}
.admin-body .adm-mesas-gerenciar{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 16px;
  border-radius:12px;
  border:1px solid #e6ebf2;
  background:#f8fafc;
  color:#172033;
  text-decoration:none;
  font-weight:800;
  white-space:nowrap;
}
.admin-body .adm-mesas-legenda{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  margin-bottom:14px;
  color:#475569;
  font-size:.84rem;
  font-weight:700;
}
.admin-body .adm-mesas-legenda span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.admin-body .adm-mesas-legenda i{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}
.admin-body .adm-mesas-legenda .is-livre{background:#16a34a;}
.admin-body .adm-mesas-legenda .is-ocupada{background:#d88a0d;}
.admin-body .adm-mapa--mesas{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:14px!important;
}
.admin-body .adm-mesa--painel{
  min-height:126px!important;
  aspect-ratio:auto!important;
  border-radius:18px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px;
  padding:16px 14px!important;
  border:2px solid transparent!important;
  box-shadow:0 3px 12px rgba(15,23,42,.05)!important;
}
.admin-body .adm-mesa--painel b{
  font-size:1.05rem!important;
  line-height:1.2;
}
.admin-body .adm-mesa--painel small,
.admin-body .adm-mesa--painel em{
  display:block;
  font-size:.82rem!important;
  line-height:1.25;
  font-style:normal;
  text-align:center;
}
.admin-body .adm-mesa--livre-card{
  background:#fff!important;
  border-color:#6fbf9d!important;
  color:#14804b!important;
}
.admin-body .adm-mesa--livre-card small{
  color:#5b6473!important;
  font-weight:700!important;
}
.admin-body .adm-mesa--ocupada-card{
  background:#e59411!important;
  border-color:#d7870b!important;
  color:#fff!important;
}
.admin-body .adm-mesa--ocupada-card small,
.admin-body .adm-mesa--ocupada-card em{
  color:rgba(255,255,255,.95)!important;
  font-weight:700!important;
}
@media (max-width: 768px){
  .admin-body .adm-mesas-topo{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-body .adm-mesas-gerenciar{
    justify-content:center;
    width:100%;
  }
  .admin-body .adm-mapa--mesas{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px!important;
  }
}
@media (max-width: 480px){
  .admin-body .adm-mapa--mesas{
    grid-template-columns:1fr;
  }
}
