:root {
  --mata: #13241f;
  --mata-media: #1f3b32;
  --mata-clara: #315548;
  --papel: #f7f0de;
  --papel-fraco: #ded3b9;
  --ouro: #e9b949;
  --ouro-claro: #f4d783;
  --coral: #d96b4e;
  --verde: #79c99e;
  --branco: #fffdf7;
  --linha: rgba(247, 240, 222, .16);
  --sombra: 0 18px 50px rgba(5, 17, 13, .28);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--mata); }
html, body { margin: 0; min-height: 100%; }
body {
  color: var(--papel);
  background:
    linear-gradient(rgba(19, 36, 31, .94), rgba(19, 36, 31, .96)),
    url('/assets/palha-seamless.png');
  background-size: auto, 120px;
  font: 15px/1.45 'Karla', 'Avenir Next', sans-serif;
}
button, input, select, textarea, a { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid var(--ouro);
  outline-offset: 2px;
}

.agenda-app {
  width: min(100%, 430px);
  min-height: 100dvh;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: rgba(19, 36, 31, .7);
  box-shadow: 0 0 70px rgba(0, 0, 0, .22);
}

.estado-centro {
  min-height: 100dvh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 8px;
  padding: 32px;
  text-align: center;
}
.estado-centro strong { margin-top: 12px; font: 25px/1.1 'Bree Serif', Georgia, serif; }
.estado-centro small { color: var(--papel-fraco); }
.marca-orbita {
  width: 88px;
  height: 88px;
  border: 1px solid rgba(233, 185, 73, .45);
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
}
.marca-orbita::before, .marca-orbita::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ouro);
  box-shadow: 0 0 0 5px rgba(233, 185, 73, .12);
}
.marca-orbita::before { left: -5px; top: 36px; }
.marca-orbita::after { right: 7px; top: 3px; width: 6px; height: 6px; }
.marca-orbita span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ouro);
  color: var(--mata);
  font: 36px/1 'Bree Serif', Georgia, serif;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}
.estado-centro .marca-orbita { animation: respirar 1.8s ease-in-out infinite; }

.login { min-height: 100dvh; display: flex; flex-direction: column; }
.login::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 46%;
  background:
    radial-gradient(circle at 80% 15%, rgba(121, 201, 158, .2), transparent 32%),
    linear-gradient(145deg, var(--mata-media), var(--mata));
  clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%);
  pointer-events: none;
}
.login-marca { position: relative; display: flex; align-items: center; gap: 14px; padding: max(34px, env(safe-area-inset-top)) 24px 0; }
.login-marca .marca-orbita { width: 62px; height: 62px; }
.login-marca .marca-orbita span { width: 42px; height: 42px; font-size: 27px; }
.login-marca strong { display: block; font: 24px/1 'Bree Serif', Georgia, serif; }
.sobretitulo, .etiqueta {
  display: block;
  color: var(--ouro);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}
.login-conteudo { position: relative; margin-top: auto; padding: 44px 24px max(28px, env(safe-area-inset-bottom)); }
.login-conteudo h1 { margin: 10px 0 14px; font: 43px/.98 'Bree Serif', Georgia, serif; letter-spacing: -.8px; }
.login-conteudo > p { margin: 0 0 28px; max-width: 34ch; color: var(--papel-fraco); font-size: 16px; }

.botao {
  min-height: 50px;
  border: 0;
  border-radius: 14px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 800;
  cursor: pointer;
}
.botao:disabled { cursor: wait; opacity: .55; }
.botao.primario { background: var(--ouro); color: var(--mata); box-shadow: 0 5px 0 #9e7420; }
.botao.primario:active { transform: translateY(3px); box-shadow: 0 2px 0 #9e7420; }
.botao.secundario { margin-top: 12px; border: 1px solid rgba(247, 240, 222, .25); background: rgba(247, 240, 222, .06); color: var(--papel); }
.botao.texto { width: 100%; background: transparent; color: var(--papel-fraco); }
.botao.pequeno { min-height: 40px; padding: 0 14px; border-radius: 12px; font-size: 13px; }
.botao.largura-total { width: 100%; }
.botao.perigo { color: #f2a592; }
.google { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--branco); color: #315548; }
.link-voltar { display: block; margin-top: 22px; text-align: center; color: var(--papel-fraco); font-weight: 700; }

.cadastro, .app { min-height: 100dvh; }
.topo {
  height: 76px;
  padding: max(14px, env(safe-area-inset-top)) 18px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--linha);
  background: rgba(19, 36, 31, .92);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 20;
}
.topo.simples { height: auto; padding-bottom: 18px; }
.topo h1 { margin: 1px 0 0; max-width: 235px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 22px/1.1 'Bree Serif', Georgia, serif; }
.topo-identidade { display: flex; align-items: center; gap: 11px; min-width: 0; }
.marca-pequena { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--ouro); color: var(--mata); font: 25px/1 'Bree Serif', Georgia, serif; flex: 0 0 auto; }
.botao-icone { width: 42px; height: 42px; border: 1px solid var(--linha); border-radius: 50%; background: rgba(247, 240, 222, .06); color: var(--papel); font-size: 22px; cursor: pointer; }
.passo { padding: 7px 10px; border-radius: 999px; background: rgba(233, 185, 73, .12); color: var(--ouro-claro); font-size: 12px; font-weight: 800; }
.conteudo { padding: 20px 18px 34px; }
.rolavel { min-height: calc(100dvh - 78px); overflow-y: auto; }
.chamada-cadastro { display: flex; gap: 13px; padding: 15px; margin-bottom: 18px; border-left: 3px solid var(--ouro); background: rgba(233, 185, 73, .08); }
.chamada-cadastro p { margin: 4px 0 0; color: var(--papel-fraco); }
.chamada-icone { color: var(--ouro); font-size: 24px; }

fieldset { min-width: 0; margin: 0 0 18px; padding: 16px; border: 1px solid var(--linha); border-radius: 16px; background: rgba(247, 240, 222, .035); }
legend { padding: 0 8px; color: var(--ouro); font-weight: 800; }
label { display: block; margin: 12px 0 6px; color: var(--papel-fraco); font-size: 12px; font-weight: 800; }
input, select, textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(247, 240, 222, .2);
  border-radius: 11px;
  padding: 11px 12px;
  background: rgba(5, 20, 15, .45);
  color: var(--papel);
}
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { color: rgba(222, 211, 185, .48); }
.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.ajuda { margin: 0 0 4px; color: var(--papel-fraco); font-size: 13px; }
.aviso-inline { display: flex; gap: 9px; align-items: flex-start; margin: 16px 0; padding: 12px; border-radius: 12px; background: rgba(121, 201, 158, .1); color: #bde8cf; font-size: 13px; }
.aviso-inline > span { width: 19px; height: 19px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--verde); color: var(--mata); font-weight: 800; }

.app { height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
.conexao { margin: 8px 14px 0; padding: 9px 11px; display: flex; gap: 9px; align-items: center; border-radius: 10px; background: #6d3d31; color: #ffe3d9; font-size: 12px; }
.conexao span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #ffab92; }
.conexao p { margin: 0; }
.toast { position: fixed; z-index: 100; top: max(88px, calc(env(safe-area-inset-top) + 68px)); left: 50%; width: min(calc(100% - 32px), 398px); transform: translateX(-50%); padding: 12px 15px; border-radius: 12px; background: var(--papel); color: var(--mata); box-shadow: var(--sombra); font-weight: 700; }
.telas { flex: 1; min-height: 0; overflow: hidden; }
.tela { height: 100%; overflow-y: auto; padding: 18px 16px 112px; scrollbar-width: none; }
.tela::-webkit-scrollbar { display: none; }
.saudacao { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.saudacao span:first-child { color: var(--papel-fraco); font-size: 12px; font-weight: 700; text-transform: capitalize; }
.saudacao h2, .titulo-tela h2 { margin: 3px 0 0; font: 31px/1.05 'Bree Serif', Georgia, serif; }
.status-conta { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: rgba(233, 185, 73, .12); color: var(--ouro-claro); font-size: 11px !important; font-weight: 800; text-transform: none !important; }
.status-conta.ativo { background: rgba(121, 201, 158, .14); color: #bce8cf; }
.status-conta.bloqueado { background: rgba(217, 107, 78, .15); color: #f2a592; }
.prioridade { padding: 15px; border: 1px solid rgba(233, 185, 73, .38); border-radius: 18px; background: linear-gradient(145deg, rgba(233, 185, 73, .12), rgba(247, 240, 222, .04)); }
.prioridade.sem-itens { border-color: var(--linha); background: rgba(247, 240, 222, .035); }
.secao-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.secao-topo h3 { margin: 2px 0 0; font: 21px/1.1 'Bree Serif', Georgia, serif; }
.etiqueta.alerta { color: var(--ouro-claro); }
.contador { min-width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--ouro); color: var(--mata); }
.lista { display: grid; gap: 10px; }
.vazio { padding: 17px 12px; text-align: center; border: 1px dashed var(--linha); border-radius: 13px; color: var(--papel-fraco); font-size: 13px; }
.reserva-pix { padding: 14px; border-radius: 14px; background: var(--papel); color: var(--mata); box-shadow: 0 10px 28px rgba(0, 0, 0, .15); }
.reserva-pix-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.reserva-pix-topo span { display: block; color: #5d6a65; font-size: 12px; }
.reserva-pix-topo strong { font-size: 17px; }
.reserva-pix-topo time { color: #365c4e; font-size: 13px; font-weight: 800; }
.reserva-pix .valor { margin: 12px 0 5px; font: 26px/1 'Bree Serif', Georgia, serif; }
.reserva-pix .instrucao { margin: 0 0 12px; color: #5d6a65; font-size: 12px; }
.cliente-reserva { margin: 8px 0; padding: 9px 10px; border-radius: 10px; background: rgba(31, 59, 50, .08); }
.cliente-reserva strong, .cliente-reserva span { display: block; }
.cliente-reserva span { color: #5d6a65; font-size: 12px; }
.whatsapp-link { width: fit-content; display: inline-flex; margin-top: 5px; color: #196342; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.acoes-reserva { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.acoes-reserva button { min-height: 44px; border: 0; border-radius: 11px; padding: 0 13px; font-weight: 800; cursor: pointer; }
.acoes-reserva .confirmar { background: var(--mata-media); color: var(--branco); }
.acoes-reserva .rejeitar { background: #f1ded5; color: #8b3d2b; }
.trilha-dia { margin-top: 24px; }
.linha-tempo { position: relative; display: grid; gap: 0; }
.linha-tempo::before { content: ''; position: absolute; left: 63px; top: 14px; bottom: 14px; width: 1px; background: linear-gradient(var(--ouro), rgba(233, 185, 73, .08)); }
.evento { display: grid; grid-template-columns: 50px 16px 1fr; gap: 7px; align-items: flex-start; padding: 10px 0; }
.evento time { padding-top: 2px; color: var(--papel-fraco); font-size: 12px; font-weight: 800; text-align: right; }
.evento-ponto { width: 10px; height: 10px; margin: 5px auto 0; border: 2px solid var(--ouro); border-radius: 50%; background: var(--mata); position: relative; z-index: 1; }
.evento.confirmada .evento-ponto { background: var(--verde); border-color: var(--verde); }
.evento-corpo { min-width: 0; padding: 0 0 10px; }
.evento-corpo strong { display: block; }
.evento-corpo span { color: var(--papel-fraco); font-size: 12px; }
.evento-corpo .cliente-inline { display: block; margin-top: 2px; }
.estado { display: inline-flex !important; width: fit-content; margin-top: 6px; padding: 3px 7px; border-radius: 999px; background: rgba(233, 185, 73, .13); color: var(--ouro-claro) !important; font-size: 10px !important; font-weight: 800; }
.estado.confirmada, .estado.concluida { background: rgba(121, 201, 158, .12); color: #bce8cf !important; }
.estado.expirada, .estado.rejeitada, .estado.cancelada { background: rgba(247, 240, 222, .08); color: var(--papel-fraco) !important; }

.titulo-tela { margin-bottom: 18px; }
.titulo-tela p { margin: 7px 0 0; color: var(--papel-fraco); }
.titulo-tela.com-acao { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.acoes-rapidas { display: grid; grid-template-columns: 1fr 1.15fr; gap: 9px; margin: -5px 0 14px; }
.acoes-rapidas .botao.secundario { margin-top: 0; }
.filtros { display: grid; grid-template-columns: repeat(3, 1fr); padding: 4px; margin-bottom: 16px; border-radius: 12px; background: rgba(247, 240, 222, .06); }
.filtros button { min-height: 38px; border: 0; border-radius: 9px; background: transparent; color: var(--papel-fraco); font-weight: 800; }
.filtros button.ativo { background: var(--papel); color: var(--mata); }
.agenda-dias { display: grid; gap: 18px; }
.dia h3 { margin: 0 0 7px; color: var(--ouro-claro); font-size: 12px; letter-spacing: .4px; text-transform: uppercase; }
.dia .evento-agenda { display: grid; grid-template-columns: 52px 1fr; gap: 11px; padding: 11px 0; border-top: 1px solid var(--linha); }
.dia .evento-agenda.aberto { grid-template-columns: 52px 1fr auto; align-items: center; }
.evento-agenda time { font-weight: 800; }
.evento-agenda strong, .evento-agenda span { display: block; }
.evento-agenda span { color: var(--papel-fraco); font-size: 12px; }
.evento-agenda .whatsapp-link { color: var(--verde); }
.usar-horario { min-height: 36px; border: 1px solid rgba(121, 201, 158, .35); border-radius: 10px; padding: 0 10px; background: rgba(121, 201, 158, .12); color: #bce8cf; font-size: 12px; font-weight: 800; }

.servico-card { padding: 15px; border: 1px solid var(--linha); border-radius: 15px; background: rgba(247, 240, 222, .04); }
.servico-card.inativo { opacity: .58; }
.servico-card-topo { display: flex; justify-content: space-between; gap: 12px; }
.servico-card h3 { margin: 0; font: 19px/1.1 'Bree Serif', Georgia, serif; }
.servico-card p { margin: 6px 0; color: var(--papel-fraco); font-size: 13px; }
.servico-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.servico-meta span { padding: 4px 7px; border-radius: 8px; background: rgba(247, 240, 222, .07); color: var(--papel-fraco); font-size: 11px; font-weight: 700; }
.editar { border: 0; background: transparent; color: var(--ouro); font-weight: 800; cursor: pointer; }
.painel-form { margin-top: 16px; padding: 16px; border-radius: 18px; background: var(--mata-media); box-shadow: var(--sombra); }
.painel-form-topo { display: flex; justify-content: space-between; align-items: flex-start; }
.painel-form-topo h3 { margin: 2px 0 0; font: 22px/1 'Bree Serif', Georgia, serif; }
.painel-form-topo button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(247, 240, 222, .08); color: var(--papel); font-size: 23px; }
.interruptor { display: flex; align-items: center; gap: 10px; margin: 16px 0; color: var(--papel); }
.interruptor input { position: absolute; opacity: 0; pointer-events: none; }
.interruptor span { width: 42px; height: 24px; padding: 3px; border-radius: 999px; background: rgba(247, 240, 222, .2); transition: background .2s; }
.interruptor span::after { content: ''; display: block; width: 18px; height: 18px; border-radius: 50%; background: var(--papel); transition: transform .2s; }
.interruptor input:checked + span { background: var(--verde); }
.interruptor input:checked + span::after { transform: translateX(18px); background: var(--mata); }

.atalho-almoco { width: 100%; min-height: 43px; margin: 0 0 12px; border: 1px dashed rgba(233, 185, 73, .48); border-radius: 12px; background: rgba(233, 185, 73, .08); color: var(--ouro-claro); font-size: 12px; font-weight: 800; }
.semana { display: grid; gap: 8px; margin-bottom: 17px; }
.dia-regra { min-height: 58px; padding: 10px; border: 1px solid var(--linha); border-radius: 13px; background: rgba(247, 240, 222, .035); }
.dia-regra.desligado { opacity: .55; }
.dia-regra-topo { display: grid; grid-template-columns: 29px 32px 1fr auto; gap: 7px; align-items: center; }
.dia-regra input[type="checkbox"] { width: 22px; min-height: 22px; accent-color: var(--ouro); }
.dia-regra strong { font-size: 13px; }
.dia-nome { color: var(--papel-fraco); font-size: 11px; }
.adicionar-turno { min-height: 34px; border: 0; border-radius: 9px; padding: 0 9px; background: rgba(233, 185, 73, .12); color: var(--ouro-claro); font-size: 11px; font-weight: 800; }
.turnos-dia { display: grid; gap: 6px; margin-top: 8px; padding-left: 68px; }
.turno { display: grid; grid-template-columns: 1fr auto 1fr 28px; gap: 5px; align-items: center; }
.turno input[type="time"] { min-width: 0; min-height: 38px; padding: 4px 5px; font-size: 12px; }
.turno > span { color: var(--papel-fraco); font-size: 10px; text-align: center; }
.remover-turno { width: 28px; min-height: 32px; border: 0; border-radius: 8px; background: rgba(217, 107, 78, .12); color: #f2a592; font-size: 18px; }
.bloqueios-resumo { margin: 22px 0 16px; padding-top: 16px; border-top: 1px solid var(--linha); }
.bloqueio-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border: 1px solid var(--linha); border-radius: 12px; background: rgba(247, 240, 222, .035); }
.bloqueio-card strong, .bloqueio-card span { display: block; }
.bloqueio-card span { color: var(--papel-fraco); font-size: 11px; }

.cartao-pix { padding: 17px; border: 1px solid rgba(233, 185, 73, .35); border-radius: 17px; background: linear-gradient(145deg, rgba(233, 185, 73, .1), rgba(247, 240, 222, .035)); }
.cartao-pix-topo { display: flex; justify-content: space-between; gap: 10px; }
.cartao-pix-topo span, .cartao-pix-topo strong { display: block; }
.cartao-pix-topo > div span { color: var(--papel-fraco); font-size: 12px; }
.status-pix { height: fit-content; padding: 5px 8px; border-radius: 999px; background: rgba(233, 185, 73, .13); color: var(--ouro-claro); font-size: 11px; font-weight: 800; }
.status-pix.ativo { background: rgba(121, 201, 158, .14); color: #bce8cf; }
.cartao-pix .botao { width: 100%; }
.resumo-financeiro { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; margin: 14px 0; }
.resumo-financeiro article { min-width: 0; padding: 15px; border: 1px solid var(--linha); border-radius: 15px; background: rgba(247, 240, 222, .04); }
.resumo-financeiro span, .resumo-financeiro small { display: block; color: var(--papel-fraco); font-size: 11px; }
.resumo-financeiro strong { display: block; margin: 8px 0 5px; color: var(--ouro-claro); font: 23px/1 'Bree Serif', Georgia, serif; }
.nota-financeira { display: flex; gap: 11px; padding: 14px; border-left: 3px solid var(--verde); background: rgba(121, 201, 158, .08); }
.nota-financeira > span { color: var(--verde); font-weight: 800; }
.nota-financeira p { margin: 4px 0 0; color: var(--papel-fraco); font-size: 12px; }
.vendas { margin: 22px 0; }
.venda-card { padding: 13px; border: 1px solid var(--linha); border-radius: 14px; background: rgba(247, 240, 222, .04); }
.venda-topo { display: flex; justify-content: space-between; gap: 12px; }
.venda-topo strong, .venda-topo span { display: block; }
.venda-topo span { color: var(--papel-fraco); font-size: 11px; }
.venda-valor { flex: 0 0 auto; color: var(--ouro-claro); }
.venda-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.venda-meta span { padding: 4px 7px; border-radius: 8px; background: rgba(247, 240, 222, .07); color: var(--papel-fraco); font-size: 10px; font-weight: 700; }
.venda-card .whatsapp-link { color: var(--verde); }

.confirmacao-reserva {
  width: min(calc(100% - 32px), 398px);
  margin: auto;
  border: 1px solid rgba(233, 185, 73, .38);
  border-radius: 22px;
  padding: 24px 20px 20px;
  background: var(--papel);
  color: var(--mata);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .52);
}
.confirmacao-reserva::backdrop { background: rgba(5, 15, 12, .78); backdrop-filter: blur(5px); }
.confirmacao-reserva .etiqueta { color: #8c671a; }
.confirmacao-reserva h2 { margin: 8px 0 9px; font: 29px/1.05 'Bree Serif', Georgia, serif; }
.confirmacao-reserva p { margin: 0; color: #5d6a65; font-size: 14px; }
.confirmacao-selo { width: 42px; height: 42px; margin-bottom: 16px; display: grid; place-items: center; border-radius: 50%; background: var(--ouro); color: var(--mata); font-size: 21px; font-weight: 800; }
.confirmacao-acoes { display: grid; grid-template-columns: .72fr 1.28fr; gap: 9px; margin-top: 22px; }
.confirmacao-acoes .botao.secundario { margin-top: 0; border-color: rgba(19, 36, 31, .16); color: var(--mata); }
.confirmacao-acoes .botao.primario { background: var(--mata-media); color: var(--branco); box-shadow: none; }
.confirmacao-reserva.recusa .confirmacao-selo { background: #f1ded5; color: #8b3d2b; }
.confirmacao-reserva.recusa .confirmacao-acoes .botao.primario { background: #8b3d2b; }

.dialog-form {
  width: min(calc(100% - 24px), 410px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  border: 1px solid rgba(233, 185, 73, .34);
  border-radius: 22px;
  padding: 18px;
  overflow-y: auto;
  background: var(--mata-media);
  color: var(--papel);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .52);
}
.dialog-form::backdrop { background: rgba(5, 15, 12, .8); backdrop-filter: blur(5px); }
.dialog-form h2 { margin: 3px 0 0; font: 26px/1.05 'Bree Serif', Georgia, serif; }
.dialog-form .painel-form-topo { position: sticky; top: -18px; z-index: 2; margin: -18px -18px 8px; padding: 18px 18px 10px; background: var(--mata-media); }
.dialog-form .botao { margin-top: 18px; }

.navegacao {
  min-height: calc(70px + env(safe-area-inset-bottom));
  padding: 7px 7px env(safe-area-inset-bottom);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--linha);
  background: rgba(14, 29, 24, .96);
  backdrop-filter: blur(18px);
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  bottom: 0;
}
.navegacao button { min-width: 0; border: 0; border-radius: 10px; background: transparent; color: #9fae9e; font-size: 9px; font-weight: 800; cursor: pointer; }
.navegacao button span { min-height: 25px; display: grid; place-items: center; color: inherit; font-size: 17px; font-weight: 800; }
.navegacao button.ativo { background: rgba(233, 185, 73, .1); color: var(--ouro-claro); }

@keyframes respirar { 50% { transform: scale(1.045); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; } }
@media (min-width: 700px) {
  body { padding: 24px 0; }
  .agenda-app { min-height: calc(100dvh - 48px); height: calc(100dvh - 48px); border: 1px solid rgba(247, 240, 222, .14); border-radius: 26px; }
  .app, .login, .cadastro, .estado-centro { min-height: 100%; height: 100%; }
}
