:root {
  --cor-fundo: #DBD2D2;
  --cor-primaria: #00613B;
  --cor-destaque: #038351;
  --cor-suave: #98D0331A;
  --cor-texto: #1C1C1C;
  --cor-card: #F0F4F2;
  --cor-borda: #C8D4CE;
  --fonte-base: 'Inter', sans-serif;
}

body {
  font-family: var(--fonte-base);
  background-color: var(--cor-fundo);
  color: var(--cor-texto);
}

/* Cores de fundo */
.bg-fundo     { background-color: var(--cor-fundo); }
.bg-primario  { background-color: var(--cor-primaria); }
.bg-destaque  { background-color: var(--cor-destaque); }
.bg-card      { background-color: var(--cor-card); }
.bg-white     { background-color: white; }

/* Texto */
.text-texto     { color: var(--cor-texto); }
.text-destaque  { color: var(--cor-destaque); }
.text-primario  { color: var(--cor-primaria); }
.text-white     { color: white; }
.text-muted     { color: #666; }

/* Bordas */
.border-borda   { border-color: var(--cor-borda); }
.border         { border-width: 1px; border-style: solid; }
.rounded        { border-radius: .5rem; }
.rounded-lg     { border-radius: 1rem; }
.rounded-full   { border-radius: 9999px; }

/* Card */
.card {
  background-color: var(--cor-card);
  border: 1px solid var(--cor-borda);
  border-radius: 1rem;
  padding: 1rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* Botões */
.btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.btn-destaque {
  background-color: var(--cor-destaque);
  color: white;
}

.btn-destaque:hover {
  opacity: 0.9;
}

.btn-primario {
  background-color: var(--cor-primaria);
  color: white;
}

.btn-primario:hover {
  opacity: 0.9;
}

.btn-white {
  background-color: white;
  color: var(--cor-primaria);
  border: 1px solid var(--cor-primaria);
}

.btn-white:hover {
  background-color: #f0f0f0;
}

/* Títulos */
.titulo {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--cor-destaque);
}

/* Utilitários */
.shadow        { box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.shadow-lg     { box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.text-center   { text-align: center; }
.text-right    { text-align: right; }
.text-left     { text-align: left; }
.mt-4          { margin-top: 1rem; }
.mb-4          { margin-bottom: 1rem; }
.p-4           { padding: 1rem; }
.p-2           { padding: 0.5rem; }
.w-full        { width: 100%; }
.max-w-sm      { max-width: 24rem; }
