:root{
  --bg:#0b1220;
  --panel:rgba(18,26,44,.75);
  --panel2:rgba(15,21,40,.92);
  --stroke:rgba(255,255,255,.08);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.62);
  --gold:#ffd000;
  --cyan:#00d4ff;
  --green:#25d366;
  --red:#ff4d4d;
  --shadow:0 14px 45px rgba(0,0,0,.45);
  --radius:16px;
}

body{
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(255,208,0,.12), transparent 60%),
    radial-gradient(700px 500px at 90% 15%, rgba(0,212,255,.12), transparent 55%),
    var(--bg);
  color:var(--text) !important;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* Bootstrap white background killer */
.table, .table thead, .table tbody, .table tr, .table th, .table td, .table-responsive{
  background-color:transparent !important;
  color:var(--text) !important;
}
.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:transparent !important;}

/* Common containers */
.panel{
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter: blur(10px);
}

.table-shell{
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.table-custom thead{background:rgba(255,255,255,.03);}
.table-custom th{
  color:var(--gold) !important;
  font-size:.72rem;
  letter-spacing:1.2px;
  text-transform:uppercase;
  font-weight:900;
  border-bottom:1px solid rgba(255,208,0,.25) !important;
  white-space:nowrap;
}
.table-custom td{border-bottom:1px solid var(--stroke);}
.table-custom tbody tr:hover{background:rgba(255,255,255,.03) !important;}

.text-gold{color:var(--gold) !important;font-weight:900;}
.text-cyan{color:var(--cyan) !important;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-weight:800;}

.chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:6px 10px;border-radius:999px;
  font-size:.75rem;font-weight:800;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
}
.chip-plat{color:var(--gold);background:rgba(255,208,0,.12);border-color:rgba(255,208,0,.35);text-transform:uppercase;letter-spacing:.8px;}
.chip-date{color:#7cffb3;background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.35);font-weight:900;}

.btn-icon{
  width:40px;height:40px;
  border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
  text-decoration:none;
  transition: transform .12s ease, filter .12s ease;
}
.btn-icon:hover{transform:translateY(-1px);filter:brightness(1.1)}
.btn-wa{color:#7cffb3 !important;border-color:rgba(37,211,102,.35);background:rgba(37,211,102,.12)}
.btn-copy{color:var(--gold) !important;border-color:rgba(255,208,0,.35);background:rgba(255,208,0,.12)}

.form-control, .form-select{
  background:rgba(255,255,255,.05) !important;
  border:1px solid var(--stroke) !important;
  color:var(--text) !important;
}
.form-control:focus, .form-select:focus{
  box-shadow:none !important;
  border-color:rgba(255,208,0,.55) !important;
}

/* =========================
   NAVBAR + LOGO DASHBOARD
   ========================= */

.navbar{
  background:rgba(10,14,25,.75) !important;
  border-bottom:1px solid var(--stroke);
  backdrop-filter: blur(10px);
}

.navbar .container{
  min-height: 86px;
  display:flex;
  align-items:center;
}

.navbar .navbar-brand{
  font-weight:900;
  letter-spacing:.6px;
  display:flex !important;
  align-items:center !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  line-height:1 !important;
}

/* Logo */
.navbar .dash-logo{
  height:74px;
  width:auto;
  max-width:340px;
  object-fit:contain;
  display:block;
  transform:scale(1.18);
  transform-origin:left center;
}

@media (max-width:480px){
  .navbar .container{min-height:78px;}
  .navbar .dash-logo{
    height:60px;
    transform:scale(1.10);
  }
}

.toastify{
  position:fixed;right:18px;bottom:18px;
  background:var(--panel2);
  border:1px solid var(--stroke);
  padding:12px 14px;
  border-radius:14px;
  box-shadow:var(--shadow);
  z-index:9999;
}

select.form-select,
select.form-control,
select.input-renovar {
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid #334155 !important;
}

select option{
  background:#111827 !important;
  color:#ffffff !important;
}

/* Badges de stock en dashboard */
.stock-badge-high{
  background: rgba(37,211,102,.18);
  color:#7CFFB3;
  border-color: rgba(37,211,102,.55);
}
.stock-badge-medium{
  background: rgba(255,193,7,.20);
  color:#ffdd7a;
  border-color: rgba(255,193,7,.60);
}
.stock-badge-low{
  background: rgba(255,77,77,.20);
  color:#ff9e9e;
  border-color: rgba(255,77,77,.75);
}