:root{
  --bg0:#070b14;
  --bg1:#0b1220;
  --card: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.12);
  --text: #eaf0ff;
  --muted: rgba(234,240,255,.70);
  --radius: 16px;
}

html,body{height:100%;}
body{background:var(--bg1); color:var(--text);}

/* Fundo mais “controlado” (menos poluído) */
.bg-grad{
  background:
    radial-gradient(900px 520px at 15% 10%, rgba(99,102,241,.22), transparent 60%),
    radial-gradient(900px 520px at 85% 18%, rgba(34,197,94,.16), transparent 60%),
    radial-gradient(900px 620px at 50% 90%, rgba(14,165,233,.12), transparent 65%),
    linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 50%, var(--bg1) 100%);
  min-height: 100vh;
}

/* Navbar */
.navbar{
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  background: rgba(7,11,20,.35);
}
.navbar .navbar-brand{letter-spacing:.2px;}
.navbar .btn{white-space:nowrap;}

/* Card base */
.card-glass{
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
}

/* Tipografia */
.small-muted{color:var(--muted);}
.mini{font-size:.92rem;}
h1,h2,h3,h4,h5{letter-spacing:.1px;}
hr.hr-soft{border-color: rgba(255,255,255,.10)!important; opacity:1;}

/* Links */
a{color: var(--text); text-decoration:none;}
a:hover{opacity:.92;}

/* Badges */
.badge-soft{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}

/* Inputs */
.form-control, .form-select{
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--text);
  border-radius: 12px;
}
.form-control::placeholder{color: rgba(234,240,255,.55);}
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.09);
  color: var(--text);
  border-color: rgba(99,102,241,.45);
  box-shadow: 0 0 0 .2rem rgba(99,102,241,.12);
}
.form-text{color: var(--muted)!important;}

/* Botões (parar de quebrar) */
.btn{border-radius: 12px; font-weight: 700;}
.btn-light{
  background: #f3f6ff;
  border-color: #f3f6ff;
  color: #0b1220;
}
.btn-light:hover{filter: brightness(.96);}
.btn-outline-light{
  border-color: rgba(255,255,255,.28);
  color: var(--text);
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.35);
}

/* Tabelas */
.table-responsive{border-radius: 14px; overflow:hidden;}
.table{
  margin:0;
}
.table-dark{
  --bs-table-bg: rgba(255,255,255,.02);
  --bs-table-color: var(--text);
  --bs-table-striped-bg: rgba(255,255,255,.03);
  --bs-table-hover-bg: rgba(255,255,255,.05);
  --bs-table-border-color: rgba(255,255,255,.08);
}
.table thead th{
  color: rgba(234,240,255,.75);
  font-weight: 700;
  font-size: .90rem;
  letter-spacing: .15px;
}
.table td{
  vertical-align: middle;
}

/* Cards de KPI */
.kpi{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.kpi .num{
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1;
}
.kpi .label{
  color: var(--muted);
  font-size: .95rem;
}

/* Ajustes gerais de espaçamento */
.container{max-width: 1200px;}
