/* Paleta moderna (Teal + Sky) e dark mode */
:root{
  --brand-50:#f0fdfa; --brand-100:#ccfbf1; --brand-500:#14b8a6; --brand-600:#0d9488; --brand-700:#0f766e;
  --accent-500:#0ea5e9; --bg:#f6f7fb; --surface:#ffffff; --surface-2:#f8fafc; --border:#e5e7eb;
  --text:#111827; --muted:#6b7280; --success:#16a34a; --warning:#f59e0b; --danger:#dc2626;
}
[data-theme="dark"]{
  --brand-50:#042f2e; --brand-100:#064e3b; --brand-500:#2dd4bf; --brand-600:#5eead4; --brand-700:#99f6e4;
  --accent-500:#22d3ee; --bg:#0b1220; --surface:#111827; --surface-2:#0f172a; --border:#1f2937;
  --text:#e5e7eb; --muted:#9ca3af; --success:#22c55e; --warning:#fbbf24; --danger:#f87171;
}

/* Base */
body{ color:var(--text); }
.content-wrapper{ background: var(--bg); }
.content-header{ border-bottom:1px solid var(--border); }
.main-header.navbar{
  background: linear-gradient(180deg, rgba(248,250,252,.85), rgba(236,240,244,.85));
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.main-header .nav-link, .main-header .navbar-nav .nav-item .nav-link{ color:#0f172a !important; }

/* Sidebar moderna (teal) */
[data-theme="light"] .main-sidebar{ background: linear-gradient(180deg, #0b1220, #141b2d) !important; }
[data-theme="dark"] .main-sidebar{ background: linear-gradient(180deg, #0b1220, #0f172a) !important; }
.main-sidebar .nav-sidebar .nav-link{ color:#cbd5e1; border-radius:10px; margin:2px 8px; }
.main-sidebar .nav-sidebar .nav-link .nav-icon{ color:#a3aab8; }
.main-sidebar .nav-sidebar .nav-link.active{ background: rgba(255,255,255,.14); color:#fff; font-weight:600 }
.main-sidebar .nav-sidebar .nav-link:hover{ background: rgba(255,255,255,.10); color:#fff }
.brand-link{ background: transparent !important; color:var(--text) !important; border-bottom:1px solid var(--border) }
.brand-link .brand-image{ box-shadow:none }

/* Links */
a{ color:var(--brand-600) }
a:hover{ color:var(--brand-700) }

/* Cards */
.card{ border:1px solid var(--border); border-radius:14px; box-shadow: 0 6px 12px rgba(17,24,39,.06); overflow:hidden; }
.card>.card-header{ background:var(--surface-2); border-bottom:1px solid var(--border); font-weight:600 }
.card>.card-footer{ background:var(--surface-2); border-top:1px solid var(--border) }

/* Botões */
.btn{ border-radius:10px }
.btn-primary{ background: linear-gradient(90deg, var(--brand-700), var(--brand-500)); border-color: transparent }
.btn-primary:hover{ filter:brightness(1.05) }
.btn-outline-primary{ color:var(--brand-700); border-color:var(--brand-500) }
.btn-outline-primary:hover{ background:var(--brand-50); border-color:var(--brand-500) }
.btn-success{ background: var(--success); border-color: var(--success) }
.btn-warning{ background: var(--warning); border-color: var(--warning) }
.btn-danger{ background: var(--danger); border-color: var(--danger) }

/* Inputs */
.form-control, .custom-select{ border-radius:10px; border-color:var(--border); background:var(--surface); color:var(--text) }
.form-control:focus{ border-color:var(--brand-500); box-shadow:0 0 0 .2rem rgba(20,184,166,.25) }

/* Select2 (tema bootstrap4) */
.select2-container--bootstrap4 .select2-selection--single,
.select2-container--bootstrap4 .select2-selection--multiple{
  border:1px solid var(--border) !important; border-radius:10px !important; min-height: calc(2.25rem + 2px);
  background:var(--surface); color:var(--text)
}
.select2-container--bootstrap4 .select2-selection__clear{ color:var(--muted) }

/* Tabelas */
table.table thead th{ background:var(--surface-2); border-bottom:1px solid var(--border) }
table.table tbody tr:hover{ background:var(--brand-50) }
table.table td, table.table th{ border-top:1px solid var(--border) }

/* Avatares */
.avatar, .avatar-initials{
  width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--surface-2); color:var(--text); font-weight:700; font-size:.8rem; margin-right:6px; overflow:hidden;
}
.avatar img{ width:100%; height:100%; object-fit:cover; border-radius:50% }

/* Paginação */
.pagination .page-link{ border-radius:10px; color:var(--muted) }
.pagination .page-item.active .page-link{ background:var(--brand-600); border-color:var(--brand-600) }

/* Badges/Alertas */
.badge-success{ background:var(--success) }
.badge-warning{ background:var(--warning) }
.badge-danger{ background:var(--danger) }
.alert{ border-radius:10px; border-color:var(--border); color:var(--text) }
