:root {
  --fundo: #0b0d10;
  --superficie: #14181d;
  --superficie-2: #1b2027;
  --borda: #2a313b;
  --texto: #f5f7fa;
  --texto-suave: #9aa6b2;
  --marca: #d7b36a;
  --marca-clara: #f0d89b;
  --sucesso: #49b985;
  --perigo: #ef6b6b;
  --aviso: #e2a94b;
  --raio: 18px;
  --sombra: 0 18px 50px rgba(0, 0, 0, .28);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--fundo); color: var(--texto); }
body { min-height: 100vh; background: radial-gradient(circle at 90% 0, rgba(215, 179, 106, .12), transparent 30rem), var(--fundo); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.oculto { display: none !important; }
.espacamento-topo { margin-top: 1rem; }
.secao-distante { margin-top: 1.4rem !important; }

.cartao { background: linear-gradient(180deg, var(--superficie-2), var(--superficie)); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); }
.botao { border: 1px solid var(--borda); border-radius: 14px; padding: .78rem 1rem; background: var(--superficie-2); color: var(--texto); font-weight: 700; min-height: 44px; }
a.botao { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.botao.primario { background: var(--marca); color: #17130b; border-color: transparent; }
.botao.perigo { color: #fff; background: #7f2f33; border-color: #a4464c; }
.botao.fantasma { background: transparent; }
.botao:disabled { opacity: .48; cursor: not-allowed; }

.campo { display: grid; gap: .38rem; }
.campo label { color: var(--texto-suave); font-size: .78rem; font-weight: 700; }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 46px; border-radius: 13px; border: 1px solid var(--borda); background: #0f1318; color: var(--texto); padding: .72rem .8rem; outline: 0; }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--marca); box-shadow: 0 0 0 3px rgba(215, 179, 106, .12); }
.texto-suave { color: var(--texto-suave); }
.dinheiro { font-variant-numeric: tabular-nums; }
.etiqueta { display: inline-flex; align-items: center; padding: .25rem .55rem; border-radius: 999px; background: #242a32; color: #ccd5dd; font-size: .72rem; font-weight: 800; }
.etiqueta.concluido { background: rgba(73, 185, 133, .14); color: #83d9ad; }
.etiqueta.cancelado, .etiqueta.falta { background: rgba(239, 107, 107, .14); color: #ff9a9a; }
.etiqueta.confirmado { background: rgba(215, 179, 106, .16); color: var(--marca-clara); }
.etiqueta.em_atendimento { background: rgba(226, 169, 75, .15); color: #f3c36e; }
.vazio { padding: 2rem; text-align: center; color: var(--texto-suave); }
