/* ══════════════════════════════════════
   FLORENCIA REY · Dark Mode Glassmorphism
   ══════════════════════════════════════ */

body.dark {
  --pk:#E07090;--pk-light:rgba(200,84,122,.15);--pk-mid:rgba(200,84,122,.4);--pk-dark:#F0A0B8;
  --gd:#D4AF5A;--gd-mid:#C49A3A;--gd-pale:rgba(212,175,90,.12);
  --neu:#F0E8EC;--neu-mid:#C8A8B8;--neu-soft:rgba(255,255,255,.35);
  --sur:rgba(255,255,255,.04);--bg:#0E080C;--bd:rgba(255,255,255,.07);
  --ok:#4EC89A;--ok-bg:rgba(78,200,154,.12);--ok-bd:rgba(78,200,154,.25);
  --warn:#D4A020;--warn-bg:rgba(212,160,32,.12);--warn-bd:rgba(212,160,32,.25);
  --danger:#E05050;--danger-bg:rgba(224,80,80,.12);--danger-bd:rgba(224,80,80,.25);
}

body.dark { background:#0E080C !important; }

body.dark::before {
  content:'';position:fixed;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,84,122,.12) 0%,transparent 70%);
  top:-100px;right:-100px;pointer-events:none;z-index:0;
}
body.dark::after {
  content:'';position:fixed;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,175,90,.07) 0%,transparent 70%);
  bottom:100px;left:-80px;pointer-events:none;z-index:0;
}

body.dark .topbar,body.dark .top-bar {
  background:rgba(14,8,12,.85)!important;
  backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
  border-color:rgba(255,255,255,.07)!important;
}
body.dark .brand-name,body.dark .top-title { color:#F0E8EC!important; }
body.dark .brand-date,body.dark .top-sub { color:rgba(255,255,255,.35)!important; }
body.dark .top-back { color:#E07090!important; background:transparent!important; border-color:transparent!important; }

body.dark .prod-card,body.dark .venta-card,body.dark .stock-card,
body.dark .compra-card,body.dark .hist-card,body.dark .hist-group,
body.dark .confirm-card,body.dark .ventas-card,body.dark .ventas-wrap,
body.dark .glass-card,body.dark .gc,body.dark .kpi,body.dark .stat,
body.dark .dw,body.dark .vw,body.dark .cobro-section,body.dark .action-btn,
body.dark .qb,body.dark .sk,body.dark .rc,body.dark .deuda-wrap,
body.dark .deuda-card,body.dark .o2-stat,body.dark .o2-row {
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.07)!important;
  backdrop-filter:blur(10px);
}

body.dark .scroll,body.dark .dash-scroll,body.dark .form-area,
body.dark .login-body,body.dark .form-sheet { background:transparent!important; }

body.dark .fi,body.dark .field input,body.dark .field select,
body.dark .sb-input,body.dark .filter-select,
body.dark input[type="text"],body.dark input[type="email"],
body.dark input[type="password"],body.dark input[type="number"],
body.dark input[type="date"],body.dark select {
  background:rgba(255,255,255,.05)!important;
  color:#F0E8EC!important;border-color:rgba(255,255,255,.1)!important;
}
body.dark .fi:focus,body.dark input:focus {
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(200,84,122,.5)!important;
}

body.dark .search-box,body.dark .filter-wrap,body.dark .sb-input-wrap {
  background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.07)!important;
}

body.dark .modal,body.dark .mb {
  background:rgba(14,8,12,.96)!important;
  border-color:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(30px)!important;
}

body.dark .tipo-btn,body.dark .pt-tab,body.dark .fpill,body.dark .cpill,body.dark .tab-btn {
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.08)!important;
  color:rgba(255,255,255,.5)!important;
}
body.dark .tab-btn.active,body.dark .fpill.active,body.dark .tab-btn.on {
  background:var(--pk)!important;color:#fff!important;border-color:var(--pk)!important;
}
body.dark .tipo-btn.sel-dep { background:rgba(78,200,154,.15)!important;border-color:rgba(78,200,154,.3)!important; }
body.dark .tipo-btn.sel-ext { background:rgba(224,80,80,.15)!important;border-color:rgba(224,80,80,.3)!important; }

body.dark .steps {
  background:rgba(14,8,12,.85)!important;
  border-color:rgba(255,255,255,.07)!important;
  backdrop-filter:blur(20px)!important;
}
body.dark .sn-idle { background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important; }

body.dark .bnav {
  background:rgba(14,8,12,.85)!important;
  backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
  border-color:rgba(255,255,255,.07)!important;
}
body.dark .bn svg { color:rgba(255,255,255,.35); }
body.dark .bn span { color:rgba(255,255,255,.35); }
body.dark .bn.on svg { color:#E07090; }
body.dark .bn.on span { color:#E07090; }

body.dark .login-hero,body.dark .hero,body.dark .greet {
  background:linear-gradient(135deg,rgba(200,84,122,.15) 0%,rgba(14,8,12,.9) 60%,rgba(212,175,90,.08) 100%)!important;
  border-color:rgba(200,84,122,.2)!important;
}

body.dark .hc-chip,body.dark .chip,body.dark .cc-chip,body.dark .gc-chip,body.dark .ic {
  background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.06)!important;
}

body.dark .btn-sec,body.dark .b-sec {
  background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.7)!important;
}

body.dark .btn-google {
  background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.1)!important;color:#F0E8EC!important;
}

body.dark .gold-tag,body.dark .gtag,body.dark .h-badge,body.dark .hc-badge {
  background:rgba(212,175,90,.12)!important;border-color:rgba(212,175,90,.25)!important;color:#D4AF5A!important;
}

body.dark .avatar {
  background:rgba(200,84,122,.15)!important;border-color:rgba(200,84,122,.4)!important;color:#F0A0B8!important;
}

body.dark .dark-toggle { background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important;color:#D4AF5A!important; }

body.dark .alert-warn,body.dark .a-warn { background:rgba(212,160,32,.08)!important;border-color:rgba(212,160,32,.2)!important; }

body.dark .hg-head,body.dark .dc-head,body.dark .vc-head,body.dark .vw-h,body.dark .dw-h {
  background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.06)!important;
}

body.dark .potencial-card,body.dark .pot { background:rgba(212,175,90,.08)!important;border-color:rgba(212,175,90,.15)!important; }
body.dark .caja-pos,body.dark .caja-ok { background:rgba(78,200,154,.08)!important;border-color:rgba(78,200,154,.2)!important; }
body.dark .caja-neg,body.dark .caja-no { background:rgba(224,80,80,.08)!important;border-color:rgba(224,80,80,.2)!important; }

body.dark .info-box { background:rgba(24,95,165,.12)!important;border-color:rgba(24,95,165,.2)!important;color:#85B7EB!important; }

body.dark .sep-line,body.dark .sln { background:rgba(255,255,255,.08)!important; }

body.dark ::-webkit-scrollbar { width:4px; }
body.dark ::-webkit-scrollbar-track { background:transparent; }
body.dark ::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1);border-radius:2px; }

body, body * { transition:background-color .25s,border-color .25s,color .2s; }

.dark-toggle {
  width:32px;height:32px;border-radius:50%;
  border:0.5px solid var(--bd);background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;transition:all .2s;
}
.dark-toggle:active { opacity:.7; }
.dark-toggle svg { width:16px;height:16px; }

/* ── Greeting / Hero card ── */
body.dark .greet {
  background: linear-gradient(135deg, rgba(200,84,122,.2) 0%, rgba(14,8,12,.95) 60%, rgba(212,175,90,.1) 100%) !important;
  border: 0.5px solid rgba(200,84,122,.2) !important;
}
body.dark .greet::before { border-color: rgba(200,84,122,.12) !important; }
body.dark .greet::after  { border-color: rgba(212,175,90,.08) !important; }
body.dark .chip { background: rgba(255,255,255,.06) !important; border: 0.5px solid rgba(255,255,255,.06) !important; }
body.dark .chip-lbl { color: rgba(255,255,255,.3) !important; }
body.dark .chip-val { color: rgba(255,255,255,.85) !important; }
body.dark .greet-hi { color: rgba(255,255,255,.35) !important; }
body.dark .greet-name { color: #F0E8EC !important; }
body.dark .greet-badge { background: rgba(212,175,90,.12) !important; border-color: rgba(212,175,90,.25) !important; color: #D4AF5A !important; }

/* ── Stock total card ── */
body.dark .total-card {
  background: linear-gradient(135deg, rgba(200,84,122,.15) 0%, rgba(14,8,12,.95) 60%, rgba(212,175,90,.08) 100%) !important;
  border: 0.5px solid rgba(200,84,122,.15) !important;
}
body.dark .total-card::before { border-color: rgba(200,84,122,.1) !important; }
body.dark .tc-chip { background: rgba(255,255,255,.06) !important; border: 0.5px solid rgba(255,255,255,.06) !important; }
body.dark .tc-cl { color: rgba(255,255,255,.3) !important; }
body.dark .tc-cv { color: rgba(255,255,255,.85) !important; }
body.dark .tc-lbl { color: rgba(255,255,255,.35) !important; }

/* ── Mes cards ── */
body.dark .mes-card { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.07) !important; }
body.dark .mes-actual { border-color: rgba(200,84,122,.3) !important; }
body.dark .mes-actual::before { background: var(--pk) !important; }
body.dark .mes-lbl { color: rgba(255,255,255,.35) !important; }
body.dark .mes-val { color: #F0E8EC !important; }
body.dark .mes-titulo { color: rgba(255,255,255,.35) !important; }
body.dark .mes-actual .mes-titulo { color: #E07090 !important; }

/* ── KPI cards ── */
body.dark .kpi { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.07) !important; }
body.dark .kpi-l { color: rgba(255,255,255,.35) !important; }
body.dark .kpi-v { color: #F0E8EC !important; }

/* ── Caja card ── */
body.dark .caja-ok { background: rgba(78,200,154,.08) !important; border-color: rgba(78,200,154,.2) !important; }
body.dark .caja-no { background: rgba(224,80,80,.08) !important; border-color: rgba(224,80,80,.2) !important; }

/* ── Stock cards ── */
body.dark .stock-card { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.07) !important; }
body.dark .sc-name { color: #F0E8EC !important; }
body.dark .sc-cat { color: rgba(255,255,255,.35) !important; }
body.dark .sc-num { background: rgba(255,255,255,.04) !important; }
body.dark .sc-num-lbl { color: rgba(255,255,255,.35) !important; }
body.dark .sc-num-val { color: #F0E8EC !important; }
body.dark .sc-bar { background: rgba(255,255,255,.08) !important; }
body.dark .sc-lotes { color: rgba(255,255,255,.3) !important; }
body.dark .sc-units-lbl { color: rgba(255,255,255,.3) !important; }

/* ── Deuda card ── */
body.dark .deuda-card { background: rgba(224,80,80,.08) !important; border-color: rgba(224,80,80,.15) !important; }
body.dark .dc-head { background: rgba(224,80,80,.06) !important; border-color: rgba(224,80,80,.1) !important; }
body.dark .di { border-color: rgba(224,80,80,.08) !important; }
body.dark .di-name { color: #F0E8EC !important; }
body.dark .di-meta { color: rgba(255,255,255,.35) !important; }

/* ── Ventas recientes ── */
body.dark .ventas-card { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.07) !important; }
body.dark .vc-head { background: rgba(255,255,255,.03) !important; border-color: rgba(255,255,255,.06) !important; }
body.dark .vi { border-color: rgba(255,255,255,.06) !important; }
body.dark .vi-name { color: #F0E8EC !important; }
body.dark .vi-prod { color: rgba(255,255,255,.35) !important; }
body.dark .vi-monto { color: #F0E8EC !important; }

/* ── Quick actions ── */
body.dark .qb { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.07) !important; }
body.dark .ql { color: rgba(255,255,255,.6) !important; }

/* ── Slbl labels ── */
body.dark .slbl { color: rgba(255,255,255,.3) !important; }

/* ── Brand topbar ── */
body.dark .brand-name { color: #F0E8EC !important; }
body.dark .brand-date { color: rgba(255,255,255,.3) !important; }

/* ══ FIX: elementos que usan var(--neu) como fondo — deben quedar OSCUROS en dark ══ */
body.dark .greet {
  background: #1A0810 !important;
}
body.dark .total-card {
  background: #1A0810 !important;
}
body.dark .caja-card {
  background: var(--sur) !important;
}

/* ══ FIX: --neu en dark no debe ser blanco cuando se usa como COLOR DE TEXTO ══ */
/* Textos que deben ser claros en dark */
body.dark .brand-name,
body.dark .top-title,
body.dark .vc-title,
body.dark .dw-title,
body.dark .vi-name,
body.dark .di-name,
body.dark .sc-name,
body.dark .pc-name,
body.dark .prod-name,
body.dark .hist-concepto,
body.dark .dc-title,
body.dark .kpi-v,
body.dark .mes-val,
body.dark .gc-val,
body.dark .gv,
body.dark .cj-val,
body.dark .pot-val,
body.dark .action-lbl,
body.dark .modal-title,
body.dark .slbl,
body.dark p,
body.dark h1, body.dark h2, body.dark h3,
body.dark .prod-name {
  color: #F0E8EC !important;
}

/* Textos secundarios */
body.dark .vi-prod,
body.dark .di-meta,
body.dark .sc-cat,
body.dark .pc-cat,
body.dark .prod-cat,
body.dark .hist-fecha,
body.dark .kpi-l,
body.dark .mes-lbl,
body.dark .gc-lbl,
body.dark .gl,
body.dark .cj-sub,
body.dark .pot-sub,
body.dark .brand-date,
body.dark .sc-lotes,
body.dark .sc-units-lbl,
body.dark .slbl {
  color: rgba(255,255,255,.4) !important;
}

/* Fondo general */
body.dark,
body.dark .scroll {
  background: #0E080C !important;
}

/* Cards en dark — fondo glass */
body.dark .kpi,
body.dark .mes-card,
body.dark .stock-card,
body.dark .ventas-card,
body.dark .ventas-wrap,
body.dark .vw,
body.dark .qb,
body.dark .sk,
body.dark .action-btn {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.07) !important;
}

body.dark .mes-actual {
  border-color: rgba(200,84,122,.4) !important;
}

/* Nums dentro de stock */
body.dark .sc-num {
  background: rgba(255,255,255,.05) !important;
}
body.dark .sc-num-lbl { color: rgba(255,255,255,.35) !important; }
body.dark .sc-num-val { color: #F0E8EC !important; }
body.dark .sc-bar { background: rgba(255,255,255,.08) !important; }
