:root {
  --bg: #0a0a0f;
  --bg2: #111118;
  --bg3: #1d1d24;
  --accent: #7c5cfc;
  --accent2: #a484ff;
  --text: #f0eeff;
  --muted: #4d4d54;
  --success: #22d3a5;
  --danger: #f43f5e;
  --warning: #f59e0b;
  --btn: #7c5cfc;
  --border: #7c5cfc18;
  --border2: #7c5cfc28;
}

body { background: var(--bg) !important; color: var(--text) !important; }

.sidebar { background: var(--bg2) !important; border-right: 1px solid #7c5cfc22 !important; }
.sb-logo { border-bottom: 1px solid #7c5cfc22 !important; }
.brand span { color: var(--accent2) !important; }
.ni.active { background: #7c5cfc15 !important; border-left-color: var(--accent) !important; color: var(--text) !important; }
.ni:hover { background: #f0eeff06 !important; }
.sb-user { border-top: 1px solid #7c5cfc22 !important; }
.avatar, .avatar-cli { background: linear-gradient(135deg, #7c5cfc, #a484ff) !important; }

.topbar { background: var(--bg2) !important; border-bottom: 1px solid #7c5cfc22 !important; }
.topbar-title { color: var(--text) !important; }
.content { background: var(--bg) !important; }

.stat { background: var(--bg2) !important; border-color: #7c5cfc22 !important; }
.form-card, .form-card-cli, .form-card-dist { background: var(--bg2) !important; border-color: #7c5cfc22 !important; }
.table-wrap, .table-wrap-cli { background: var(--bg2) !important; border-color: #7c5cfc22 !important; }
th { color: var(--muted) !important; border-bottom-color: #7c5cfc22 !important; }
td { border-bottom-color: #7c5cfc15 !important; }
tr:hover td { background: #f0eeff04 !important; }

input, select, textarea { background: var(--bg3) !important; border-color: #7c5cfc33 !important; color: var(--text) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--accent) !important; }

.btn-save, .btn-auth, .btn-buy, .btn-rec, .btn-primary { background: #7c5cfc !important; border-color: #a484ff !important; }
.btn-buy { box-shadow: 0 0 14px #7c5cfc44 !important; }

.saldo-val, .success-txt { color: var(--success) !important; }
.pc-precio, .precio-nuevo { color: var(--success) !important; font-weight: 700 !important; }

.badge.ok, .badge.activa { background: #22d3a520 !important; color: var(--success) !important; border-color: #22d3a530 !important; }
.role-badge-cli { background: #7c5cfc22 !important; border-color: #7c5cfc44 !important; color: var(--accent2) !important; }

.cc { background: var(--bg2) !important; border-color: #7c5cfc22 !important; }
.pc { background: var(--bg2) !important; border-color: #7c5cfc22 !important; }
.pc:hover { border-color: var(--accent) !important; }

.overlay { background: #0a0a0fbb !important; }
.modal-datos, .modal { background: var(--bg2) !important; border-color: #7c5cfc33 !important; }

.auth-card { background: var(--bg2) !important; border-color: #7c5cfc33 !important; }
.auth-logo .brand span { color: var(--accent2) !important; }
.btn-auth { background: #7c5cfc !important; border-color: #a484ff !important; box-shadow: 0 0 20px #7c5cfc44 !important; }
.auth-links a, .link-small, .sec-link { color: var(--accent2) !important; }
.inp-hint { color: var(--accent2) !important; }

.saldo-chip { background: var(--bg3) !important; border-color: #7c5cfc33 !important; }
.bienvenida-card { background: var(--bg2) !important; border-color: #7c5cfc22 !important; }

.tag.ok { background: #22d3a520 !important; color: var(--success) !important; border-color: #22d3a530 !important; }
.bar-fill.ok { background: var(--success) !important; }

.alert-success { background: #22d3a518 !important; border-color: #22d3a544 !important; color: var(--success) !important; }
