:root {
  --fundo: #f7f3ee;
  --cartao: #ffffff;
  --tinta: #1f1a17;
  --suave: #6f655d;
  --linha: #e6ddd3;
  --ouro: #a07a3f;
  --ouro-claro: #f3e9d9;
  --ok: #2f7d4f;
  --ok-claro: #e2f2e8;
  --espera: #9a6a00;
  --espera-claro: #fbf0d5;
  --erro: #b3372f;
  --erro-claro: #f9e3e1;
  --azul: #2f5d8a;
  --azul-claro: #e3edf7;
  --barra: #b07a1a;
  --raio: 14px;
  --sombra: 0 1px 2px rgba(31, 26, 23, .06), 0 6px 20px rgba(31, 26, 23, .06);
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--fundo);
  color: var(--tinta);
  font: 15px/1.45 Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, .serif { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; letter-spacing: .2px; margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: var(--ouro); }
.btn {
  border: 1px solid var(--linha); background: var(--cartao); border-radius: 10px;
  padding: 9px 14px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  transition: transform .05s, background .15s;
}
.btn:hover { background: #fbf8f4; }
.btn:active { transform: scale(.98); }
.btn:disabled { opacity: .5; cursor: default; }
.btn.prim { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.btn.prim:hover { background: #3a322c; }
.btn.ouro { background: var(--ouro); color: #fff; border-color: var(--ouro); }
.btn.perigo { color: var(--erro); }
.btn.peq { padding: 5px 10px; font-size: 13px; border-radius: 8px; }
.btn.grande { padding: 15px 18px; font-size: 17px; border-radius: 12px; width: 100%; }
input, select, textarea {
  width: 100%; border: 1px solid var(--linha); background: #fff; border-radius: 10px; padding: 10px 12px; outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--ouro); box-shadow: 0 0 0 3px var(--ouro-claro); }
label { display: block; font-size: 13px; font-weight: 600; color: var(--suave); margin: 10px 0 4px; }
.cartao { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); }
.chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 99px; white-space: nowrap; }
.chip.ok { background: var(--ok-claro); color: var(--ok); }
.chip.espera { background: var(--espera-claro); color: var(--espera); }
.chip.erro { background: var(--erro-claro); color: var(--erro); }
.chip.azul { background: var(--azul-claro); color: var(--azul); }
.chip.cinza { background: #eee9e3; color: var(--suave); }
.chip.ouro { background: var(--ouro-claro); color: var(--ouro); }
.aovivo { background: #d6322b; color: #fff; font-weight: 700; font-size: 12px; padding: 3px 9px; border-radius: 6px; letter-spacing: .5px; display: inline-flex; align-items: center; gap: 6px; }
.aovivo::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: pulso 1.2s infinite; }
@keyframes pulso { 50% { opacity: .25; } }
.suave { color: var(--suave); }
.peq { font-size: 13px; }
.linha { display: flex; gap: 8px; align-items: center; }
.cresce { flex: 1; min-width: 0; }
.oculto { display: none !important; }
.foto { background: var(--ouro-claro) center/cover no-repeat; border-radius: 10px; flex: none; display: grid; place-items: center; color: var(--ouro); font-family: 'Cormorant Garamond', serif; font-weight: 700; }
#toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px); opacity: 0; pointer-events: none;
  background: var(--tinta); color: #fff; padding: 12px 18px; border-radius: 12px; font-weight: 600; z-index: 99; transition: .25s; max-width: calc(100% - 32px); text-align: center;
}
#toast.vis { opacity: 1; transform: translateX(-50%); }
#toast.erro { background: var(--erro); }
