/* Tema Maquiagem (rose / nude) - sem alterar funcionalidades */
:root{
  --bg: #fbf7fb;
  --card: #ffffff;
  --ink: #231f24;
  --muted: #6b6470;

  --rose-50:#fff1f7;
  --rose-100:#ffe4f0;
  --rose-200:#ffc7e2;

  --mauve-500:#b04a8c;
  --mauve-600:#9a3f7c;
  --mauve-700:#7f3165;

  --nude-500:#c58c74;
  --shadow: 0 10px 28px rgba(35,31,36,.08);
  --radius: 18px;
}

body{
  background: radial-gradient(1200px 600px at 15% 0%, var(--rose-50), transparent 55%),
              radial-gradient(900px 500px at 85% 10%, #f7f0ff, transparent 55%),
              var(--bg);
  color: var(--ink);
}

h1,h2,h3,h4,h5,h6{ color: var(--ink); }

.text-muted{ color: var(--muted) !important; }

.card{
  background: var(--card);
  border: 1px solid rgba(176,74,140,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.btn{
  border-radius: 14px;
  font-weight: 600;
}

.btn-primary{
  background: linear-gradient(135deg, var(--mauve-600), var(--nude-500));
  border: 0;
}
.btn-primary:hover{ filter: brightness(.97); }

.btn-dark{
  background: var(--ink);
  border-color: var(--ink);
}
.btn-dark:hover{ filter: brightness(.95); }

.btn-outline-primary{
  color: var(--mauve-600);
  border-color: rgba(176,74,140,.45);
}
.btn-outline-primary:hover{
  background: rgba(176,74,140,.10);
  border-color: rgba(176,74,140,.65);
  color: var(--mauve-700);
}

.btn-outline-danger{
  border-color: rgba(220,53,69,.45);
}
.btn-outline-danger:hover{
  background: rgba(220,53,69,.08);
}

.form-control{
  border-radius: 14px;
  border-color: rgba(35,31,36,.14);
}
.form-control:focus{
  border-color: rgba(176,74,140,.55);
  box-shadow: 0 0 0 .2rem rgba(176,74,140,.15);
}

.table thead th{
  color: var(--muted);
  font-weight: 700;
  border-bottom-color: rgba(35,31,36,.10);
}
.table td, .table th{
  border-top-color: rgba(35,31,36,.08);
}

.badge-soft{
  background: linear-gradient(135deg, rgba(176,74,140,.12), rgba(197,140,116,.12));
  color: var(--mauve-700);
  border: 1px solid rgba(176,74,140,.18);
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 700;
}

/* Marca discreta */
.brand{ display:flex; align-items:center; gap:12px; }
.brand-logo{
  width: 46px;
  height: 46px;
  object-fit: contain;
  opacity: .55;
  filter: saturate(.9);
}

/* Alinha melhor os cards no mobile */
@media (max-width: 991px){
  .badge-soft{ padding: 6px 10px; }
}


.brand{display:flex;align-items:center;gap:10px;}
.brand .brand-logo{width:42px;height:42px;max-width:42px;max-height:42px;}
