/* Bonanoni's — Sistema de Gestão · v2 (13/10/2026)
   Direção: ferramenta de cozinha profissional. Geist na interface e nos números; Cormorant só
   no nome das categorias do cardápio (tipografia de menu impresso). Fundo neutro quente, tinta
   quase preta, vinho só para ação e item ativo. Card só onde há agrupamento real; o resto é
   linha fina. Contrastes medidos (AA) contra branco e contra --fundo. */

@font-face { font-family: 'Geist'; src: url('../fonts/geist.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'Geist Mono'; src: url('../fonts/geist-mono.woff2') format('woff2'); font-weight: 400 600; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant.woff2') format('woff2'); font-weight: 500 700; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-italic.woff2') format('woff2'); font-weight: 500; font-style: italic; font-display: swap; }

:root {
  color-scheme: light;
  --tinta: #1b1513;
  --tinta-2: #5c524d;
  --tinta-3: #766b66;
  --fundo: #f6f4f2;
  --papel: #ffffff;
  --papel-2: #faf9f7;
  --linha: #ebe6e2;
  --linha-forte: #d8d0ca;

  --vinho: #8e0f18;
  --vinho-hover: #74080f;
  --vinho-tinta: #fbf1f1;
  --vinho-tinta-2: #f4dfdf;
  --vinho-noite: #2a0306;
  --ouro: #c9973f;
  --ouro-texto: #8a5f17;
  --creme: #f6ead8;

  --ok: #1f6b3a; --ok-fundo: #e8f3ec;
  --aviso: #7a4a00; --aviso-fundo: #fbf0dc;
  --erro: #a3141d; --erro-fundo: #fcebea;

  --f-ui: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono: 'Geist Mono', ui-monospace, 'Cascadia Mono', monospace;
  --f-menu: 'Cormorant Garamond', Georgia, serif;

  --e1: 4px; --e2: 8px; --e3: 12px; --e4: 16px; --e5: 24px; --e6: 32px; --e7: 48px; --e8: 64px;
  --t-12: .75rem; --t-13: .8125rem; --t-14: .875rem; --t-16: 1rem; --t-20: 1.25rem; --t-25: 1.5625rem; --t-31: 1.9375rem; --t-39: 2.4375rem;
  --raio: 6px; --raio-g: 10px; --raio-pilula: 999px;
  --sombra-flutua: 0 1px 2px rgba(27, 21, 19, .06), 0 12px 32px -12px rgba(27, 21, 19, .22);
  --foco: 0 0 0 2px var(--papel), 0 0 0 4px rgba(142, 15, 24, .45);
  --lateral: 236px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --lm-cor: rgba(201, 151, 63, .35);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--f-ui); font-size: var(--t-14); line-height: 1.5; color: var(--tinta); background: var(--fundo); -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 600; letter-spacing: -.015em; line-height: 1.2; }
p { margin: 0; }
:where(input, select, textarea, button) { font: inherit; color: inherit; }
:focus-visible { outline: none; box-shadow: var(--foco); border-radius: var(--raio); }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }
.num { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--f-mono); font-size: .92em; letter-spacing: -.01em; }
.fraco { color: var(--tinta-3); }

.pular { position: absolute; left: var(--e4); top: -60px; z-index: 50; background: var(--vinho); color: #fff; padding: var(--e2) var(--e4); border-radius: var(--raio); text-decoration: none; }
.pular:focus { top: var(--e4); }

/* ---------- Logo: as 3 camadas PNG (1146×570) viram máscara; a cor vem do CSS ---------- */
.logo { display: grid; aspect-ratio: 1146 / 570; }
.logo__camada { grid-area: 1 / 1; width: 100%; height: auto; }
.logo__chapeu { transform-origin: 51% 22%; }
.logo--tinta { display: grid; aspect-ratio: 1146 / 570; }
.logo--tinta > span { grid-area: 1 / 1; -webkit-mask: var(--m) center / 100% 100% no-repeat; mask: var(--m) center / 100% 100% no-repeat; }
.logo--tinta .l-palavra, .logo--tinta .l-chapeu { background: var(--vinho); }
.logo--tinta .l-eventos { background: var(--ouro-texto); }
.logo--tinta .l-chapeu { transform-origin: 51% 22%; }

/* ---------- Casca ---------- */
.casca { display: grid; grid-template-columns: var(--lateral) minmax(0, 1fr); min-height: 100vh; }
.lateral { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; background: var(--papel-2); border-right: 1px solid var(--linha); }
.lateral__marca { display: block; padding: var(--e5) var(--e5) var(--e3); text-decoration: none; }
.lateral__marca .logo--tinta { width: 150px; }
.lateral__nav { flex: 1; overflow-y: auto; padding: var(--e2) var(--e3) var(--e4); }
.lateral__grupo { font-size: var(--t-12); font-weight: 500; color: var(--tinta-3); padding: var(--e4) var(--e3) 6px; }
.lateral__link { display: flex; align-items: center; gap: 10px; height: 34px; padding: 0 var(--e3); border-radius: var(--raio); text-decoration: none;
  color: var(--tinta-2); font-weight: 500; position: relative; }
.lateral__link svg { width: 17px; height: 17px; flex: none; }
.lateral__link:hover { background: #f0ece8; color: var(--tinta); }
.lateral__link[aria-current='page'] { background: var(--vinho-tinta); color: var(--vinho); }
.lateral__link[aria-current='page']::before { content: ''; position: absolute; left: -12px; top: 7px; bottom: 7px; width: 2px; border-radius: 2px; background: var(--vinho); }
.lateral__breve { margin-left: auto; font-family: var(--f-mono); font-size: 11px; color: var(--tinta-3); }
.lateral__link--breve { color: var(--tinta-3); }
.lateral__rodape { padding: var(--e3); border-top: 1px solid var(--linha); display: flex; align-items: center; gap: 10px; }
.lateral__eu { min-width: 0; flex: 1; line-height: 1.3; }
.lateral__eu strong { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lateral__eu span { font-size: var(--t-12); color: var(--tinta-3); }
.lateral form { margin: 0; }
.icone-btn { width: 32px; height: 32px; display: grid; place-items: center; border-radius: var(--raio); border: 0; background: none; color: var(--tinta-2); cursor: pointer; text-decoration: none; }
.icone-btn:hover { background: #ece7e3; color: var(--tinta); }
.icone-btn svg { width: 17px; height: 17px; }

.topo-movel { display: none; }
.area { min-width: 0; display: flex; flex-direction: column; }

/* Barra da página: migalha + título + ações, presa no topo */
.barra { position: sticky; top: 0; z-index: 20; background: rgba(246, 244, 242, .88); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); }
.barra__dentro { max-width: 1280px; margin: 0 auto; padding: var(--e3) var(--e6); display: flex; align-items: center; gap: var(--e4); min-height: 68px; }
.barra__titulos { min-width: 0; flex: 1; }
.migalha { display: flex; align-items: center; gap: 6px; font-size: var(--t-12); color: var(--tinta-3); margin-bottom: 2px; }
.migalha a { color: var(--tinta-3); text-decoration: none; }
.migalha a:hover { color: var(--vinho); }
.migalha svg { width: 12px; height: 12px; }
.barra__titulo { font-size: var(--t-20); font-weight: 600; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barra__acoes { display: flex; gap: var(--e2); flex: none; }
.principal { width: 100%; max-width: 1280px; margin: 0 auto; padding: var(--e5) var(--e6) var(--e8); }
.intro { color: var(--tinta-2); max-width: 70ch; margin-bottom: var(--e5); }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: var(--raio);
  border: 1px solid transparent; font-size: var(--t-14); font-weight: 500; text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .15s, border-color .15s, color .15s; }
.btn svg { width: 16px; height: 16px; flex: none; }
.btn--primario { background: var(--vinho); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 1px 2px rgba(42, 3, 6, .25); }
.btn--primario:hover { background: var(--vinho-hover); }
.btn--secundario { background: var(--papel); color: var(--tinta); border-color: var(--linha-forte); box-shadow: 0 1px 1px rgba(27, 21, 19, .04); }
.btn--secundario:hover { border-color: #c4bab3; background: var(--papel-2); }
.btn--fantasma { background: transparent; color: var(--tinta-2); }
.btn--fantasma:hover { background: #ece7e3; color: var(--tinta); }
.btn--perigo { background: var(--papel); color: var(--erro); border-color: #ecc4c1; }
.btn--perigo:hover { background: var(--erro-fundo); }
.btn--pequeno { height: 30px; padding: 0 10px; font-size: var(--t-13); }
.btn--grande { height: 44px; font-size: var(--t-16); }
.btn[disabled] { opacity: .55; cursor: not-allowed; }

/* ---------- Painel (superfície com cabeçalho) ---------- */
.painel { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); }
.painel + .painel { margin-top: var(--e4); }
.painel__cabeca { display: flex; align-items: center; gap: var(--e3); padding: 12px var(--e5); border-bottom: 1px solid var(--linha); min-height: 52px; }
.painel__cabeca h2 { font-size: var(--t-14); font-weight: 600; letter-spacing: -.005em; flex: 1; }
.painel__cabeca .fraco { font-size: var(--t-13); }
.painel__corpo { padding: var(--e5); }
.grade-2 { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--e4); align-items: start; }
.grade-2 > * { min-width: 0; }
.grade-2 > .painel + .painel, .coluna > .painel + .painel { margin-top: 0; }
.coluna { display: grid; gap: var(--e4); min-width: 0; }

/* ---------- Início ---------- */
.saudacao { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--e4); margin-bottom: var(--e5); flex-wrap: wrap; }
.saudacao__data { font-family: var(--f-mono); font-size: var(--t-12); color: var(--tinta-3); letter-spacing: .01em; }
.saudacao__titulo { font-size: var(--t-31); letter-spacing: -.035em; margin-top: 2px; }

.semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); overflow: hidden; margin-bottom: var(--e4); }
.dia { min-height: 132px; padding: 14px 14px var(--e4); border-left: 1px solid var(--linha); display: flex; flex-direction: column; gap: 10px; position: relative; min-width: 0; }
.dia:first-child { border-left: 0; }
.dia__topo { display: flex; align-items: baseline; justify-content: space-between; gap: var(--e2); }
.dia__nome { font-size: var(--t-12); font-weight: 500; color: var(--tinta-3); }
.dia__num { font-size: var(--t-25); font-weight: 600; letter-spacing: -.04em; font-variant-numeric: tabular-nums; line-height: 1; }
.dia--hoje { background: linear-gradient(180deg, var(--vinho-tinta), var(--papel) 75%); }
.dia--hoje::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--vinho); }
.dia--hoje .dia__nome, .dia--hoje .dia__num { color: var(--vinho); }
.dia--fim { background: var(--papel-2); }
.dia__metricas { margin-top: auto; display: grid; gap: 2px; font-size: var(--t-12); color: var(--tinta-3); }
.dia__metricas b { font-family: var(--f-mono); font-weight: 500; color: var(--tinta-2); }
.dia__evento { display: flex; align-items: center; gap: 6px; font-size: var(--t-12); font-weight: 500; padding: 5px 8px; line-height: 1.25; border-radius: var(--raio); background: #fdf5e7; color: var(--ouro-texto); min-width: 0; text-decoration: none; }
.dia__evento span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dia__evento svg { width: 13px; height: 13px; flex: none; }
.dia__evento:hover { background: #fbecd2; }

.indicadores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.indicador { padding: var(--e4) var(--e5); border-left: 1px solid var(--linha); text-decoration: none; display: block; }
.indicador:first-child { border-left: 0; }
a.indicador:hover { background: var(--papel-2); }
.indicador__valor { font-size: var(--t-25); font-weight: 600; letter-spacing: -.035em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.indicador__rotulo { font-size: var(--t-12); color: var(--tinta-3); margin-top: 2px; }

.etapas { list-style: none; margin: 0; padding: 6px 0; }
.etapa { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: var(--e3); align-items: center; padding: 8px var(--e5); position: relative; }
.etapa__ponto { width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--linha-forte); background: var(--papel); justify-self: center; position: relative; z-index: 1; }
.etapa::before { content: ''; position: absolute; left: calc(var(--e5) + 8.5px); top: 0; bottom: 0; width: 1px; background: var(--linha); }
.etapa:first-child::before { top: 50%; }
.etapa:last-child::before { bottom: 50%; }
.etapa--feita .etapa__ponto { background: var(--ok); border-color: var(--ok); }
.etapa--proxima .etapa__ponto { border-color: var(--vinho); box-shadow: 0 0 0 4px var(--vinho-tinta); }
.etapa__nome { font-weight: 500; display: flex; align-items: center; gap: var(--e2); min-width: 0; }
.etapa__nome svg { width: 15px; height: 15px; color: var(--tinta-3); flex: none; }
.etapa__data { font-family: var(--f-mono); font-size: var(--t-12); color: var(--tinta-3); }
.etapa--feita .etapa__data { color: var(--ok); }

/* ---------- Formulários ---------- */
.form { display: grid; gap: var(--e4); }
.secao-form { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--e6); padding: var(--e5); border-bottom: 1px solid var(--linha); }
.secao-form__texto h2 { font-size: var(--t-14); font-weight: 600; }
.secao-form__texto p { color: var(--tinta-3); font-size: var(--t-13); margin-top: 4px; }
.secao-form__campos { display: grid; gap: var(--e4); min-width: 0; align-content: start; }
.form__linha { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: var(--e4); }
.campo { display: grid; gap: 6px; min-width: 0; align-content: start; }
.campo > label, .campo__rotulo { font-size: var(--t-13); font-weight: 500; color: var(--tinta); }
.campo__opcional { font-weight: 400; color: var(--tinta-3); }
.campo__ajuda { font-size: var(--t-12); color: var(--tinta-3); }
.campo__erro { font-size: var(--t-12); color: var(--erro); font-weight: 500; }
:where(.campo input:not([type='checkbox']):not([type='radio']), .campo select, .campo textarea, .entrada) {
  width: 100%; height: 38px; padding: 0 var(--e3); background: var(--papel); border: 1px solid var(--linha-forte); border-radius: var(--raio);
  font-size: var(--t-14); color: var(--tinta); box-shadow: 0 1px 1px rgba(27, 21, 19, .03); transition: border-color .15s, box-shadow .15s; }
:where(.campo textarea) { height: auto; min-height: 92px; padding: 10px var(--e3); resize: vertical; line-height: 1.5; }
:where(.campo input, .campo select, .campo textarea, .entrada):hover { border-color: #c4bab3; }
:where(.campo input, .campo select, .campo textarea, .entrada):focus { border-color: var(--vinho); box-shadow: 0 0 0 3px rgba(142, 15, 24, .14); outline: none; }
.campo [aria-invalid='true'] { border-color: var(--erro); }
::placeholder { color: #9b908a; }
.marcar { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.marcar input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--vinho); flex: none; }
.marcar strong { font-weight: 500; display: block; }
.marcar small { display: block; color: var(--tinta-3); font-size: var(--t-12); margin-top: 2px; }
.form__acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--e2); padding: 12px var(--e5); background: var(--papel-2); border-radius: 0 0 var(--raio-g) var(--raio-g); }
.form__acoes--esquerda { justify-content: flex-start; background: none; padding: 0; }
.prefixo { display: flex; }
.prefixo span { display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--linha-forte); border-right: 0; border-radius: var(--raio) 0 0 var(--raio); background: var(--papel-2); color: var(--tinta-3); font-size: var(--t-13); }
.campo .prefixo input { border-radius: 0 var(--raio) var(--raio) 0; }

/* ---------- Listas ---------- */
.ferramentas { display: flex; flex-wrap: wrap; gap: var(--e2); align-items: center; padding: 10px var(--e4); border-bottom: 1px solid var(--linha); }
.busca { position: relative; flex: 1 1 260px; max-width: 420px; }
.busca svg { position: absolute; left: 11px; top: 50%; translate: 0 -50%; width: 16px; height: 16px; color: var(--tinta-3); pointer-events: none; }
.busca .entrada { padding-left: 34px; }
.ferramentas__conta { margin-left: auto; font-size: var(--t-13); color: var(--tinta-3); }
.tabela-rolagem { position: relative; overflow-x: auto; }
.tabela { width: 100%; border-collapse: collapse; }
.tabela th { text-align: left; font-weight: 500; color: var(--tinta-3); font-size: var(--t-12); padding: 9px var(--e4); border-bottom: 1px solid var(--linha); white-space: nowrap; background: var(--papel-2); }
.tabela td { padding: 10px var(--e4); border-bottom: 1px solid var(--linha); vertical-align: middle; height: 56px; }
.tabela tbody tr:last-child td { border-bottom: 0; }
.tabela tbody tr { position: relative; transition: background-color .12s; }
.tabela tbody tr:hover { background: var(--papel-2); }
.tabela .direita { text-align: right; }
.linha-link { text-decoration: none; font-weight: 500; }
.linha-link::after { content: ''; position: absolute; inset: 0; }
.avatar { width: 32px; height: 32px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--vinho-tinta-2); color: var(--vinho); font-weight: 600; font-size: 11px; letter-spacing: .02em; }
.avatar--grande { width: 52px; height: 52px; font-size: var(--t-16); }
.pessoa { display: flex; align-items: center; gap: var(--e3); min-width: 0; }
.pessoa__nome { min-width: 0; }
.pessoa__nome small { display: block; color: var(--tinta-3); font-size: var(--t-12); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selo { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: var(--raio-pilula); font-size: var(--t-12); font-weight: 500; white-space: nowrap; }
.selo::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.selo--neutro { background: #f0ece8; color: var(--tinta-2); }
.selo--ok { background: var(--ok-fundo); color: var(--ok); }
.selo--aviso { background: var(--aviso-fundo); color: var(--aviso); }
.selo--vinho { background: var(--vinho-tinta); color: var(--vinho); }
.selo--sem-ponto::before { display: none; }
.paginas { display: flex; gap: var(--e2); align-items: center; justify-content: flex-end; padding: 10px var(--e4); border-top: 1px solid var(--linha); }

.vazio { text-align: center; padding: var(--e7) var(--e5); }
.vazio__icone { width: 44px; height: 44px; margin: 0 auto var(--e4); display: grid; place-items: center; border-radius: var(--raio-g); background: var(--vinho-tinta); color: var(--vinho); }
.vazio__icone svg { width: 22px; height: 22px; }
.vazio h2 { font-size: var(--t-16); margin-bottom: 6px; }
.vazio p { color: var(--tinta-3); max-width: 46ch; margin: 0 auto var(--e4); }
.vazio--compacto { padding: var(--e5); text-align: left; }
.vazio--compacto p { margin: 0; }

/* ---------- Cardápio: menu impresso ---------- */
.indice { display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px var(--e4); scrollbar-width: none; }
.indice::-webkit-scrollbar { display: none; }
.indice a { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: var(--raio-pilula); border: 1px solid var(--linha-forte);
  background: var(--papel); text-decoration: none; font-size: var(--t-13); font-weight: 500; color: var(--tinta-2); }
.indice a:hover { border-color: var(--vinho); color: var(--vinho); }
.indice b { font-family: var(--f-mono); font-weight: 500; font-size: 11px; color: var(--tinta-3); }

.menu { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio-g); }
.menu__secao { padding: var(--e6) var(--e6) var(--e5); scroll-margin-top: 90px; }
.menu__secao + .menu__secao { border-top: 1px solid var(--linha); }
.menu__cabeca { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--e2) var(--e5); align-items: end; margin-bottom: var(--e3); }
.menu__nome-linha { display: flex; align-items: center; gap: var(--e2) var(--e3); flex-wrap: wrap; }
.menu__nome { font-family: var(--f-menu); font-size: var(--t-39); font-weight: 600; letter-spacing: -.01em; line-height: 1; }
.menu__regra { display: flex; flex-wrap: wrap; align-items: center; gap: 6px var(--e3); font-size: var(--t-13); color: var(--tinta-3); margin-top: var(--e2); }
.menu__preco { text-align: right; line-height: 1; }
.menu__preco strong { display: block; font-size: var(--t-31); font-weight: 600; letter-spacing: -.04em; font-variant-numeric: tabular-nums; color: var(--vinho); }
.menu__preco strong small { font-size: .45em; font-weight: 500; letter-spacing: 0; margin-right: 4px; vertical-align: .7em; color: var(--tinta-3); }
.menu__preco span { font-size: var(--t-12); color: var(--tinta-3); }
.menu__fio { height: 1px; margin: 0 0 var(--e2); background: linear-gradient(90deg, var(--ouro), rgba(201, 151, 63, .25) 45%, transparent); }
.menu__sabores { list-style: none; margin: 0; padding: 0; columns: 3 220px; column-gap: var(--e6); }
.menu__sabor { break-inside: avoid; display: flex; align-items: baseline; gap: 6px; padding: 7px 0; }
.menu__sabor-nome { min-width: 0; }
.menu__sabor-nome small { display: block; color: var(--tinta-3); font-size: var(--t-12); }
.menu__pontos { flex: 1; min-width: 12px; border-bottom: 1px dotted var(--linha-forte); transform: translateY(-4px); }
.menu__sabor-preco { flex: none; font-variant-numeric: tabular-nums; font-size: var(--t-13); font-weight: 600; color: var(--vinho); }
.menu__sabor--fora { color: var(--tinta-3); }
.menu__sabor--fora .menu__sabor-nome { text-decoration: line-through; text-decoration-color: var(--linha-forte); }
.menu__descricao { color: var(--tinta-2); max-width: 68ch; }
.veg { display: inline-grid; place-items: center; width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--ok-fundo); color: var(--ok); align-self: center; }
.veg svg { width: 11px; height: 11px; }
.menu__secao--fora .menu__nome, .menu__secao--fora .menu__preco strong { color: var(--tinta-3); }
.legenda { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-12); color: var(--tinta-3); }

/* Edição de sabores */
.lista-edicao { list-style: none; margin: 0; padding: 0; max-height: 420px; overflow-y: auto; }
.lista-edicao li { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 var(--e3) 0 var(--e5); border-bottom: 1px solid var(--linha); }
.lista-edicao li:last-child { border-bottom: 0; }
.lista-edicao__nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lista-edicao li[aria-current='true'] { background: var(--vinho-tinta); }
.form-remover { margin: 0; }

/* ---------- Avisos ---------- */
.avisos { position: fixed; right: var(--e5); bottom: var(--e5); z-index: 60; display: grid; gap: var(--e2); width: min(400px, calc(100vw - 32px)); }
.aviso { display: flex; gap: 10px; align-items: flex-start; padding: 12px 10px 12px 14px; border-radius: var(--raio-g); background: var(--tinta); color: #fff; box-shadow: var(--sombra-flutua); }
.aviso__icone { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.aviso--ok .aviso__icone { color: #7fd39b; }
.aviso--erro .aviso__icone { color: #ff9a92; }
.aviso span { flex: 1; }
.aviso button { background: none; border: 0; cursor: pointer; color: rgba(255, 255, 255, .75); width: 24px; height: 24px; display: grid; place-items: center; border-radius: var(--raio); }
.aviso button:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.alerta { padding: 10px 14px; border-radius: var(--raio); font-size: var(--t-13); margin-bottom: var(--e4); }
.alerta--erro { background: var(--erro-fundo); color: var(--erro); }
.alerta--ok { background: var(--ok-fundo); color: var(--ok); }

.dialogo { border: 0; border-radius: var(--raio-g); padding: 0; width: min(420px, calc(100vw - 32px)); box-shadow: var(--sombra-flutua); color: var(--tinta); }
.dialogo::backdrop { background: rgba(27, 21, 19, .4); }
.dialogo__corpo { padding: var(--e5); }
.dialogo__corpo h2 { font-size: var(--t-16); margin-bottom: 6px; }
.dialogo__corpo p { color: var(--tinta-2); }
.dialogo__acoes { display: flex; justify-content: flex-end; gap: var(--e2); padding: 12px var(--e5); background: var(--papel-2); border-top: 1px solid var(--linha); }

/* ---------- Ficha do cliente ---------- */
.ficha-topo { display: flex; align-items: center; gap: var(--e4); margin-bottom: var(--e5); }
.ficha-topo h1 { font-size: var(--t-25); letter-spacing: -.03em; }
.ficha-topo__meta { display: flex; flex-wrap: wrap; gap: 6px var(--e3); align-items: center; color: var(--tinta-3); font-size: var(--t-13); margin-top: 4px; }
.lista-def { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 10px var(--e4); margin: 0; }
.lista-def dt { color: var(--tinta-3); }
.lista-def dd { margin: 0; overflow-wrap: anywhere; }
.lista-def .vazio-dd { color: var(--tinta-3); }
.endereco { padding: 14px var(--e5); border-bottom: 1px solid var(--linha); display: flex; gap: var(--e3); align-items: flex-start; }
.endereco:last-child { border-bottom: 0; }
.endereco__icone { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: var(--raio); background: #f0ece8; color: var(--tinta-2); }
.endereco__icone svg { width: 16px; height: 16px; }
.endereco__texto { flex: 1; min-width: 0; }
.endereco__texto strong { font-weight: 500; }
.endereco__texto div { color: var(--tinta-2); }
.endereco__acoes { display: flex; gap: 2px; align-items: center; }
.endereco form { margin: 0; }
.texto-livre { white-space: pre-line; color: var(--tinta-2); }
.campo--dobro { grid-column: span 2; }

/* Página que ainda vai chegar */
.chegando { max-width: 520px; margin: var(--e7) auto; text-align: center; }
.chegando p { color: var(--tinta-2); }
.chegando__data { font-family: var(--f-mono); font-size: var(--t-39); font-weight: 500; color: var(--vinho); letter-spacing: -.04em; margin: var(--e4) 0; }

/* ---------- Responsivo ---------- */
@media (max-width: 1100px) {
  .grade-2 { grid-template-columns: minmax(0, 1fr); }
  .semana { grid-template-columns: repeat(7, minmax(120px, 1fr)); overflow-x: auto; }
  .secao-form { grid-template-columns: minmax(0, 1fr); gap: var(--e4); }
}
@media (max-width: 900px) {
  .casca { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .lateral { position: fixed; inset: 0 auto 0 0; width: min(290px, 86vw); z-index: 40; transform: translateX(-100%); transition: transform .25s var(--ease); box-shadow: var(--sombra-flutua); }
  .casca.menu-aberto .lateral { transform: none; }
  .veu { position: fixed; inset: 0; background: rgba(27, 21, 19, .4); z-index: 39; }
  .topo-movel { display: flex; align-items: center; gap: var(--e2); position: sticky; top: 0; z-index: 30; height: 56px; padding: 0 var(--e3); background: var(--papel-2); border-bottom: 1px solid var(--linha); }
  .topo-movel button { width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; border-radius: var(--raio); cursor: pointer; color: var(--tinta); }
  .topo-movel svg { width: 22px; height: 22px; }
  .topo-movel .logo--tinta { width: 96px; }
  .barra { position: static; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 0; }
  .barra__dentro { padding: var(--e4) var(--e4) 0; flex-wrap: wrap; min-height: 0; }
  .barra__titulo { font-size: var(--t-25); white-space: normal; }
  .barra__acoes { width: 100%; }
  .barra__acoes .btn { flex: 1; height: 44px; }
  .principal { padding: var(--e4) var(--e4) var(--e8); }
  .indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .indicador:nth-child(3) { border-left: 0; }
  .indicador:nth-child(n+3) { border-top: 1px solid var(--linha); }
}
@media (max-width: 640px) {
  .semana { grid-template-columns: minmax(0, 1fr); overflow: visible; }
  .dia { min-height: 0; border-left: 0; border-top: 1px solid var(--linha); flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px var(--e4); }
  .dia:first-child { border-top: 0; }
  .dia__topo { width: 96px; justify-content: flex-start; gap: var(--e2); }
  .dia__metricas { margin: 0 0 0 auto; text-align: right; }
  .dia__evento { flex-basis: 100%; }
  .dia--hoje::before { bottom: 0; right: auto; width: 3px; height: auto; }
  .form__linha { grid-template-columns: minmax(0, 1fr); }
  .campo--dobro { grid-column: auto; }
  .menu__secao { padding: var(--e5) var(--e4) var(--e4); }
  .menu__nome { font-size: var(--t-31); }
  .menu__cabeca { grid-template-columns: minmax(0, 1fr); }
  .menu__preco { text-align: left; }
  .painel__cabeca, .painel__corpo, .secao-form, .endereco { padding-left: var(--e4); padding-right: var(--e4); }
  .lista-edicao li { padding-left: var(--e4); }
  .form__acoes { padding: var(--e3) var(--e4); }
  .form__acoes .btn { flex: 1; height: 44px; }
  .avisos { left: var(--e4); right: var(--e4); bottom: var(--e4); width: auto; }
  .ficha-topo { align-items: flex-start; }
  .avatar--grande { width: 44px; height: 44px; font-size: var(--t-14); }
  .endereco { flex-wrap: wrap; }
  .endereco__texto { flex-basis: calc(100% - 44px); }
  .endereco__acoes { width: 100%; padding-left: 44px; }
  .tabela--cartoes thead { display: none; }
  .tabela--cartoes tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px var(--e3); padding: 12px var(--e4); border-bottom: 1px solid var(--linha); }
  .tabela--cartoes tbody tr:last-child { border-bottom: 0; }
  .tabela--cartoes td { padding: 0; border: 0; height: auto; }
  .tabela--cartoes td[data-col='principal'] { grid-column: 1 / -1; }
  .tabela--cartoes td[data-col='oculto'] { display: none; }
  .tabela--cartoes td[data-col='tel'] { padding-left: 44px; color: var(--tinta-2); align-self: center; }
}
@media (pointer: coarse) { .lateral__link { height: 44px; } .btn--pequeno { height: 40px; } .icone-btn { width: 40px; height: 40px; } }
@media print { .lateral, .topo-movel, .avisos, .barra__acoes { display: none !important; } .casca { display: block; } }
.chegando__acoes { justify-content: center; margin-top: var(--e5); }
.legenda--rodape { margin-top: var(--e4); }

/* Inclusão recolhível (endereço) */
.incluir { border-top: 1px solid var(--linha); }
.incluir__botao { list-style: none; display: flex; align-items: center; gap: 6px; padding: 12px var(--e5); cursor: pointer; font-weight: 500; color: var(--vinho); }
.incluir__botao::-webkit-details-marker { display: none; }
.incluir__botao svg { width: 16px; height: 16px; transition: transform .2s var(--ease); }
.incluir[open] .incluir__botao svg { transform: rotate(45deg); }
.incluir__botao:hover { background: var(--papel-2); }
.incluir[open] .incluir__botao { border-bottom: 1px solid var(--linha); }
.subtitulo { font-size: var(--t-13); font-weight: 600; margin: var(--e5) 0 6px; }
.form-remover.painel__corpo { padding-top: 0; }
.ficha-topo__forte { color: var(--tinta); font-weight: 500; font-size: var(--t-14); }
@media (max-width: 640px) { .incluir__botao { padding-left: var(--e4); } }

.dia__evento small { display: block; font-weight: 400; color: var(--ouro-texto); font-size: 11px; }
.dia__evento span { min-width: 0; }
.recentes { list-style: none; margin: 0; padding: 0; }
.recentes li { position: relative; display: flex; align-items: center; gap: var(--e3); padding: 10px var(--e5); border-top: 1px solid var(--linha); }
.recentes li:hover { background: var(--papel-2); }
.recentes .pessoa__nome { flex: 1; }
.recentes time { font-family: var(--f-mono); font-size: var(--t-12); color: var(--tinta-3); }
@media (max-width: 640px) { .recentes li { padding-left: var(--e4); padding-right: var(--e4); } }

.dia__nada { margin-top: auto; font-size: var(--t-12); color: var(--tinta-3); }
.nota-semana { font-size: var(--t-12); color: var(--tinta-3); margin: calc(var(--e2) * -1) 0 var(--e5); }
@media (max-width: 640px) { .dia__nada { margin: 0 0 0 auto; } }
