:root{
  --radius: 16px;
  --bg: #0b1220;

  /* Glass */
  --glass: rgba(255,255,255,.085);
  --border: rgba(255,255,255,.14);

  /* Text */
  --text: #eef3ff;
  --muted: rgba(255,255,255,.78);

  /* Brand (da logo) */
  --primary: #16a34a;          /* verde */
  --primaryGlow: rgba(22,163,74,.22);

  --accent: #facc15;           /* amarelo */
  --accentGlow: rgba(250,204,21,.18);

  --danger: #ef4444;           /* vermelho */
  --dangerGlow: rgba(239,68,68,.18);
}

/* Fundo CLEAN (corporativo) */
body{
  color: var(--text);
  background:
    radial-gradient(circle at 18% 0%, rgba(22,163,74,.10), transparent 55%),
    radial-gradient(circle at 85% 10%, rgba(250,204,21,.08), transparent 60%),
    var(--bg);
}

a{ text-decoration: none; color: inherit; }
a:hover{ color: rgba(250,204,21,.95); }

/* Containers */
.card{ border-radius: var(--radius); background: transparent; }
.btn, .form-control, .form-select{ border-radius: 12px; }

.topbar, .navbar{
  background: rgba(255,255,255,.06) !important;
  border-bottom: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}

.bg-glass{
  background: var(--glass);
  border: 1px solid var(--border);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
}

/* FIX: alguns textos vinham "escuros" por classes do Bootstrap */
.text-dark, .text-body, .text-body-secondary, .text-secondary{
  color: rgba(255,255,255,.80) !important;
}

/* Títulos / subtítulos */
.panel-title{
  color: #fff !important;
  font-weight: 850;
  letter-spacing: .2px;
}
.text-soft{ color: var(--muted) !important; }

/* KPI */
.kpi{ position: relative; overflow: hidden; }
.kpi .icon{
  width: 44px; height: 44px;
  display:flex; align-items:center; justify-content:center;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  font-size: 20px;
  color: rgba(255,255,255,.90);
}
.kpi .label{
  color: rgba(255,255,255,.88);
  font-weight: 650;
  font-size: 13px;
}
.kpi .value{
  font-size: 38px;
  font-weight: 900;
  line-height: 1.05;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* Botões */
.btn{
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease, background .12s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }

/* Primário (verde – padrão do sistema) */
.btn-primary{
  background: var(--primary) !important;
  border-color: rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 45px var(--primaryGlow) !important;
}
.btn-primary:hover{
  filter: brightness(1.06);
  box-shadow: 0 0 0 .18rem rgba(22,163,74,.12), 0 18px 45px rgba(22,163,74,.26) !important;
}

/* Secundário clean */
.btn-outline-light{
  border-color: rgba(255,255,255,.20);
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.26);
  box-shadow: 0 0 0 .18rem rgba(255,255,255,.06);
}

/* Botão “Usuários” (amarelo da logo) */
.btn-outline-info{
  border-color: rgba(250,204,21,.35) !important;
  color: rgba(250,204,21,.95) !important;
}
.btn-outline-info:hover{
  background: rgba(250,204,21,.12) !important;
  border-color: rgba(250,204,21,.45) !important;
  box-shadow: 0 0 0 .18rem rgba(250,204,21,.10);
}

/* Inputs */
.form-control, .form-select{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.08);
  border-color: rgba(22,163,74,.60) !important; /* foco verde */
  box-shadow: 0 0 0 .2rem rgba(22,163,74,.20) !important;
  color: var(--text);
}
.form-control::placeholder{ color: rgba(255,255,255,.45); }

/* Alertas */
.alert{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
}
.alert-success{
  background: rgba(22,163,74,.12) !important;
  border-color: rgba(22,163,74,.30) !important;
  color: #dfffe8 !important;
}
.alert-danger, .alert-error{
  background: rgba(239,68,68,.12) !important;
  border-color: rgba(239,68,68,.30) !important;
  color: #ffe2e2 !important;
}
.alert-warning{
  background: rgba(250,204,21,.12) !important;
  border-color: rgba(250,204,21,.30) !important;
  color: #fff7d6 !important;
}

/* Tabela */
.table{ color: rgba(255,255,255,.92); }
.table thead th{
  color: rgba(255,255,255,.88) !important;
  font-weight: 850;
  border-bottom-color: rgba(255,255,255,.12) !important;
}
.table td, .table th{
  border-color: rgba(255,255,255,.08) !important;
}
.table-hover tbody tr:hover{ background: rgba(255,255,255,.06); }
.table-dark{ --bs-table-bg: transparent; }

/* FIX extra: pequenos textos dentro dos cards */
.bg-glass .small, .bg-glass small{
  color: var(--muted) !important;
}


/* Badge warning legível no dark */
.badge.bg-warning{ color:#1a1a1a !important; }

/* ============================
   TOPBAR / LOGO
   ============================ */
.brand-logo{
  width: 38px; height: 38px;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  padding: 4px;
}

/* Subnav */
.subnav{
  background:rgba(0,0,0,.25);
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* ============================
   FIX SELECT (Bootstrap Dark)
   - corrige dropdown branco e altura
   ============================ */
.form-select{
  min-height: 44px;
  padding-top: 10px;
  padding-bottom: 10px;

  /* seta branca no select */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='white' d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592c.86 0 1.319 1.013.753 1.658L8.753 11.14a1 1 0 0 1-1.506 0z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 16px 12px;
}

.form-select option{
  background: #0b1220;
  color: #fff;
}
/* =========================
   FIX inputs brancos (number/date/disabled/readonly)
   ========================= */

input[type="number"].form-control,
input[type="date"].form-control,
input[type="text"].form-control,
input[type="email"].form-control,
input[type="tel"].form-control,
textarea.form-control{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.92) !important;
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
.form-select[readonly]{
  background: rgba(255,255,255,.04) !important; /* mantém dark mesmo desabilitado */
  color: rgba(255,255,255,.70) !important;
  border-color: rgba(255,255,255,.10) !important;
  opacity: 1 !important; /* bootstrap costuma “lavar” o campo */
}

.form-control:disabled::placeholder,
.form-control[readonly]::placeholder{
  color: rgba(255,255,255,.35) !important;
}

/* Remove setas/estilo diferente em alguns browsers no number */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"]{
  -moz-appearance: textfield;
}

/* Checkbox / radio no tema */
.form-check-input{
  background-color: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.form-check-input:checked{
  background-color: var(--primary) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.form-check-label{
  color: rgba(255,255,255,.88) !important;
}




/* Card padrão (glass) usado em telas de formulário */
.card-soft{
  background: var(--glass);
  border: 1px solid var(--border);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
}
