/* Paleta da marca VittaDiet */
:root {
  color-scheme: dark;
  --verde: #8CC63F;
  --verde-claro: #A3D65C;
  --verde-escuro: #75A832;
  --ardosia: #514B69;
  --ardosia-claro: #8B84AB;
  --fundo: #141220;
  --superficie: #1E1B2B;
}

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  background-color: var(--fundo);
}

/* wordmark: fonte geométrica arredondada, como na logomarca original */
.marca-texto {
  font-family: Poppins, Inter, sans-serif;
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: -0.01em;
  color: #C6C1DA;
}
.marca-texto-verde { color: var(--verde); }

/* Logomarca completa: fundo recortado e versão com o ardósia clareado,
   então assenta direto no fundo escuro, sem placa nem moldura. */
.marca-lockup {
  height: 34px;
  width: auto;
  display: block;
  background: none;
  padding: 0;
}
@media (min-width: 640px) {
  .marca-lockup { height: 38px; }
}

/* símbolo da marca — sem plaquinha; o arquivo já vem com fundo transparente */
.marca-icone {
  background: none;
  padding: 0;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;
}

.border-gradient { position: relative; }
.border-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  background: linear-gradient(225deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.15) 50%, rgba(255,255,255,0) 100%);
  pointer-events: none;
}

@keyframes fadeSlideIn {
  0% { opacity: 0; transform: translateY(30px); filter: blur(8px); }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(12px); }
  100% { opacity: 1; transform: translateY(0); }
}
.animate-in { animation: fadeSlideIn .8s ease-out both; }
.animate-up { animation: fadeUp .45s ease-out both; }
.delay-1 { animation-delay: .1s; }
.delay-2 { animation-delay: .2s; }
.delay-3 { animation-delay: .3s; }
.delay-4 { animation-delay: .4s; }

/* formulários */
.campo {
  width: 100%;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: .7rem 1rem;
  font-size: .875rem;
  color: #fff;
  transition: all .2s ease;
}
.campo::placeholder { color: #5A5470; }
.campo:focus {
  outline: none;
  border-color: rgba(140,198,63,.45);
  box-shadow: 0 0 0 1px rgba(140,198,63,.45);
}
.campo option { background: var(--superficie); color: #fff; }
textarea.campo { resize: vertical; min-height: 84px; line-height: 1.5; }

.rotulo {
  display: block;
  font-size: .8125rem;
  font-weight: 500;
  color: #B7B2C8;
  margin-bottom: .4rem;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 40px #141220 inset !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
}

/* botões utilitários */
.btn-primario {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border-radius: 9999px; background: var(--verde); color: #1A1826;
  padding: .75rem 1.5rem; font-size: .875rem; font-weight: 600;
  box-shadow: 0 1px 0 0 rgba(255,255,255,.35) inset, 0 6px 18px -6px rgba(140,198,63,.5);
  transition: all .2s ease; cursor: pointer;
}
.btn-primario:hover:not(:disabled) { transform: translateY(-2px); background: var(--verde-claro); }
.btn-primario:disabled { opacity: .5; cursor: not-allowed; }

.btn-glass {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border-radius: 9999px; background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.8); padding: .7rem 1.25rem;
  font-size: .875rem; font-weight: 500; backdrop-filter: blur(16px);
  transition: all .2s ease; cursor: pointer;
}
.btn-glass:hover { color: #fff; transform: translateY(-2px); }

/* impressão do plano */
@media print {
  body { background: #fff !important; color: #111 !important; }
  header, #tela-inicio, #tela-entrar, #toast, .nao-imprime { display: none !important; }
  .border-gradient::before { display: none; }
  * { color: #111 !important; background: transparent !important; box-shadow: none !important; }
  .ring-1 { box-shadow: 0 0 0 1px #ddd !important; }
}

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,.06); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.12); }

.rotulo.mb-0 { margin-bottom: 0; }
