/* ===== Tema Trok (identidad única para toda la app) =====
   Layout: app de una sola página con enrutador de vistas -> login / shell (lateral + lienzo). */
:root{
  color-scheme:dark;
  --bg:#111315; --panel:#16191C; --hair:#262B30; --hair2:#343A40;
  --ink:#F2F4F5; --ink2:#AEB6BD; --ink3:#7C848B; --accent:#9FB4C4; --dot:rgba(170,182,192,.16); --danger:#e0736b;
  --card2:#1b2024; --accsoft:rgba(159,180,196,.14);
  --okc:#5cbb85; --okbg:rgba(92,187,133,.13); --okln:rgba(92,187,133,.33);
  --wrnc:#d9a441; --wrnbg:rgba(217,164,65,.13); --wrnln:rgba(217,164,65,.33);
  --infc:#5aa0e0; --infbg:rgba(90,160,224,.14); --infln:rgba(90,160,224,.34);
  --badc:#e0736b; --badbg:rgba(224,115,107,.13); --badln:rgba(224,115,107,.33);
  /* colores que voltean entre temas (fondos de campos, textos sobre botón claro, overlays) */
  --field:#0f1113; --optbg:#15181b; --onInk:#0d0f11; --markbg:#0d0f11;
  --ovr:rgba(255,255,255,.04); --ovr2:rgba(255,255,255,.1); --topbar:rgba(17,19,21,.86);
}
/* ===== Tema claro ===== (el oscuro es el predeterminado) */
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#e8ecf1; --panel:#ffffff; --hair:#ccd4dd; --hair2:#b4bfca;
  --ink:#171b20; --ink2:#4b555f; --ink3:#78828c; --accent:#35638a; --dot:rgba(42,58,78,.22); --danger:#cf4b42;
  --card2:#f4f6f8; --accsoft:rgba(63,107,140,.12);
  --okc:#1f9d5c; --okbg:rgba(31,157,92,.12); --okln:rgba(31,157,92,.30);
  --wrnc:#b5831f; --wrnbg:rgba(181,131,31,.13); --wrnln:rgba(181,131,31,.32);
  --infc:#2c6fb0; --infbg:rgba(44,111,176,.12); --infln:rgba(44,111,176,.30);
  --badc:#cf4b42; --badbg:rgba(207,75,66,.11); --badln:rgba(207,75,66,.30);
  --field:#f2f4f7; --optbg:#ffffff; --onInk:#ffffff; --markbg:#e7ebef;
  --ovr:rgba(20,28,36,.05); --ovr2:rgba(20,28,36,.08); --topbar:rgba(255,255,255,.86);
}
/* En claro, el logotipo plateado (degradado blanco) no contrasta: va en sólido oscuro. */
:root[data-theme="light"] .wordmark{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--ink);color:var(--ink)}
/* Transición suave SOLO durante el cambio de tema (clase temporal, para no afectar hovers). */
:root.theming *, :root.theming *::before, :root.theming *::after{
  transition: background-color .40s ease, color .40s ease, border-color .40s ease, fill .40s ease, box-shadow .40s ease !important;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:15px;line-height:1.55}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}
.dotgrid{background-image:radial-gradient(circle,var(--dot) .9px,transparent 1.3px);background-size:14px 14px}

/* Marca plateada (compartida) */
.wordmark{font-family:"Barlow Condensed";font-weight:700;letter-spacing:.02em;margin:0;text-wrap:balance;line-height:.88;
  background:linear-gradient(100deg,#6b747c 0%,#8c959d 22%,#e9f0f6 44%,#ffffff 50%,#e9f0f6 56%,#8c959d 78%,#6b747c 100%);
  background-size:200% 100%;background-position:0 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 20px rgba(170,195,220,.12));animation:sweep 6.5s linear infinite}
@keyframes sweep{from{background-position:0 0}to{background-position:-200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin .8s linear infinite}

/* ===== Vista Login ===== */
.auth{display:grid;grid-template-columns:1.05fr .95fr;min-height:100%}
.auth[hidden]{display:none}
.brandside{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:40px;border-right:1px solid var(--hair);overflow:hidden}
.brandside .mid{display:flex;flex-direction:column;align-items:center;gap:16px;margin:auto 0}
.brandside .wordmark{font-size:clamp(54px,7vw,104px)}
.brandside p{color:var(--ink2);margin:0;max-width:34ch}
.eyebrow{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.3em;color:var(--ink3);text-transform:uppercase}
.brandfoot{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.06em;color:var(--ink3);display:flex;gap:16px;flex-wrap:wrap}
.formside{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:22px}
.card-head h1{font-family:"Barlow Condensed";font-weight:600;font-size:30px;margin:0 0 4px}
.card-head p{color:var(--ink2);margin:0;font-size:14px}
form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;color:var(--ink3);text-transform:uppercase}
.inp{display:flex;align-items:center;gap:10px;border:1px solid var(--hair2);border-radius:7px;padding:11px 12px;background:var(--field);transition:border-color .15s}
.inp:focus-within{border-color:var(--accent)}
.inp i{color:var(--ink3);flex:0 0 auto}
.inp input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;outline:none}
.inp input::placeholder{color:var(--ink3)}
.inp .toggle{border:0;background:none;color:var(--ink3);display:grid;place-items:center;padding:0}
.inp .toggle:hover{color:var(--ink2)}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.remember{display:flex;align-items:center;gap:8px;color:var(--ink2);cursor:pointer;user-select:none}
.remember input{width:15px;height:15px;accent-color:var(--accent)}
.link{color:var(--accent);text-decoration:none}
.link:hover{text-decoration:underline}
.submit{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--ink);color:var(--onInk);border:0;border-radius:7px;
  padding:13px;font-family:"Barlow Condensed";font-weight:600;font-size:18px;letter-spacing:.03em;transition:opacity .15s,transform .05s}
.submit:hover{opacity:.9}.submit:active{transform:translateY(1px)}.submit[disabled]{opacity:.6;cursor:default}
.msg{font-size:13px;min-height:18px;color:var(--ink3)}.msg.err{color:var(--danger)}
.foot-note{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.05em;color:var(--ink3);text-align:center}

/* ===== Vista App (shell) ===== */
#shell{display:flex;min-height:100%}
.sidebar{flex:0 0 264px;width:264px;background:var(--panel);border-right:1px solid var(--hair);display:flex;flex-direction:column;
  position:sticky;top:env(safe-area-inset-top,0px);height:100vh;transition:flex-basis .22s ease,width .22s ease}
#shell.rail .sidebar{flex-basis:70px;width:70px}
#shell.rail .lbl,#shell.rail .grp-hd,#shell.rail .brand-txt{opacity:0;pointer-events:none;width:0;height:0;padding:0;overflow:hidden}
#shell.rail .grp-body{display:flex!important}
#shell.rail .nav-item{justify-content:center}
.brand{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--hair);min-height:61px}
.brand-mark{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--hair2);display:grid;place-items:center;font-family:"Barlow Condensed";font-weight:700;font-size:18px;background:var(--markbg)}
.brand-txt{font-family:"Barlow Condensed";font-weight:700;font-size:20px;letter-spacing:.04em;white-space:nowrap;transition:opacity .15s}
.brand-txt small{display:block;font-family:"IBM Plex Mono";font-weight:400;font-size:9.5px;letter-spacing:.18em;color:var(--ink3);margin-top:-2px}
.nav{flex:1;overflow-y:auto;padding:10px 10px 16px}
.grp{display:flex;flex-direction:column}
.grp-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:none;color:var(--ink2);font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.09em;text-transform:uppercase;padding:15px 10px 7px;cursor:pointer;white-space:nowrap}
.grp-hd:hover{color:var(--ink)}
.grp-hd .chev{color:var(--ink3);flex:0 0 auto;transition:transform .18s}
.grp.collapsed .grp-hd .chev{transform:rotate(-90deg)}
.grp-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1)}
.grp.collapsed .grp-body{grid-template-rows:0fr}
.grp-inner{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;background:none;text-align:left;color:var(--ink2);border-radius:5px;white-space:nowrap;transition:background .14s,color .14s}
.nav-item:hover{background:var(--ovr);color:var(--ink)}
.nav-item[aria-current="page"]{background:rgba(159,180,196,.12);color:var(--ink)}
.nav-item[aria-current="page"] .ic{color:var(--accent)}
.nav-item .ic{flex:0 0 auto}.nav-item .lbl{font-size:14px;transition:opacity .15s}
/* Selector de rol (solo lo ve el desarrollador): previsualiza la interfaz de cada rol. */
.role-switch{position:relative;border-top:1px solid var(--hair);padding:9px 10px}
.role-sw-hd{width:100%;display:flex;align-items:center;gap:8px;background:var(--markbg);border:1px solid var(--hair2);border-radius:9px;padding:7px 10px;color:var(--ink);cursor:pointer;font-size:12.5px;transition:.12s}
.role-sw-hd:hover{border-color:var(--accent)}
.role-sw-hd .rs-lbl{flex:1;text-align:left;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-sw-hd .rs-lbl b{color:var(--ink);font-weight:600}
.role-sw-hd i:first-child{color:var(--accent);flex:0 0 auto}
.role-sw-hd .rs-chev{flex:0 0 auto;color:var(--ink3);transition:transform .15s}
.role-sw-hd[aria-expanded="true"] .rs-chev{transform:rotate(180deg)}
.role-sw-menu{position:absolute;left:10px;right:10px;bottom:calc(100% - 3px);background:var(--panel);border:1px solid var(--hair2);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:5px;display:flex;flex-direction:column;gap:2px;z-index:30}
.rs-opt{display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;background:none;border-radius:7px;color:var(--ink);font-size:13px;cursor:pointer;text-align:left}
.rs-cargos{display:flex;flex-wrap:wrap;gap:4px;padding:2px 8px 6px 30px}
.rs-cargo{border:1px solid var(--hair2);background:var(--bg);color:var(--ink3);border-radius:999px;padding:3px 9px;font-size:11.5px;cursor:pointer}
.rs-cargo:hover{color:var(--ink);border-color:var(--accent)}
.rs-cargo.on{background:var(--accent);border-color:var(--accent);color:#fff}
.rs-opt i{color:var(--ink3)}
.rs-opt:hover{background:var(--markbg)}
.rs-opt.on{background:var(--accsoft);color:var(--accent)}
.rs-opt.on i{color:var(--accent)}
#shell.rail .role-switch .rs-lbl,#shell.rail .role-switch .rs-chev{opacity:0;width:0;overflow:hidden}
.side-foot{border-top:1px solid var(--hair);padding:12px 10px;display:flex;align-items:center;gap:12px}
.avatar{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--markbg);border:1px solid var(--hair2);display:grid;place-items:center;font-family:"Barlow Condensed";font-weight:700;color:var(--accent)}
.side-foot .lbl{font-size:13px;line-height:1.2;min-width:0}
.side-foot .lbl b{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-foot .lbl small{display:block;color:var(--ink3);font-size:11px;font-family:"IBM Plex Mono"}
.logout{margin-left:auto;border:0;background:none;color:var(--ink3);display:grid;place-items:center;padding:6px}
.logout:hover{color:var(--danger)}
#shell.rail .side-foot .lbl,#shell.rail .logout{opacity:0;width:0;overflow:hidden;pointer-events:none}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;align-items:center;gap:14px;padding:0 20px;min-height:61px;background:var(--topbar);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}
.iconbtn{width:38px;height:38px;border:1px solid var(--hair2);background:transparent;border-radius:6px;display:grid;place-items:center;color:var(--ink2);flex:0 0 auto}
.iconbtn:hover{color:var(--ink);border-color:var(--ink3)}
.crumb{font-family:"Barlow Condensed";font-weight:600;font-size:22px;letter-spacing:.01em;white-space:nowrap}
.search{flex:1;max-width:420px;display:flex;align-items:center;gap:9px;border:1px solid var(--hair2);border-radius:6px;padding:8px 11px}
.search input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;outline:none}
.search input::placeholder{color:var(--ink3)}
.almacenes{display:flex;gap:6px;margin-left:auto}
.alm{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.06em;color:var(--ink2);border:1px solid var(--hair2);border-radius:4px;padding:5px 9px;display:inline-flex;align-items:center;gap:6px;background:none}
.alm[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* Selector de modo claro/oscuro */
.themesw{position:relative;width:58px;height:28px;flex:0 0 auto;margin-left:auto;border-radius:999px;border:1px solid var(--hair2);background:var(--card2);cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.themesw i{color:var(--ink3);pointer-events:none}
.themesw-knob{position:absolute;top:50%;left:31px;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--ink);transition:left .45s cubic-bezier(.34,1.52,.64,1);box-shadow:0 1px 3px rgba(0,0,0,.35)}
:root[data-theme="light"] .themesw-knob{left:3px}
/* el knob conserva su deslizamiento orgánico aun durante el cambio de tema */
:root.theming .themesw-knob{transition:left .45s cubic-bezier(.34,1.52,.64,1)!important}
.canvas{flex:1;position:relative}
.inner{max-width:1480px;margin:0 auto;padding:16px;padding-block:0 64px}

.hero{min-height:44vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:52px 0 36px;gap:16px}
.hero .wordmark{font-size:clamp(46px,9vw,118px)}
.hero .eyebrow{text-transform:uppercase}
.hero p{max-width:52ch;color:var(--ink2);margin:0}
.sec-lbl{display:flex;align-items:center;gap:12px;font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;color:var(--ink3);text-transform:uppercase;margin:6px 0 2px}
.sec-lbl::after{content:"";flex:1;height:1px;background:var(--hair)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--hair);border-left:1px solid var(--hair);margin-top:14px}
.qa{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px 18px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);background:none;text-align:left;transition:background .16s}
.qa:hover{background:var(--ovr)}
.qa .ic-box{width:40px;height:40px;border:1px solid var(--hair2);border-radius:7px;display:grid;place-items:center;color:var(--accent)}
.qa h3{margin:0;font-family:"Barlow Condensed";font-weight:600;font-size:21px}
.qa p{margin:0;color:var(--ink2);font-size:13.5px;line-height:1.45}
.qa .go{position:absolute;top:18px;right:16px;color:var(--ink3);transition:transform .16s,color .16s}
.qa:hover .go{color:var(--ink);transform:translateX(3px)}

/* Vista módulo en construcción */
.stub{min-height:52vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:48px 16px}
.stub .big-ic{width:66px;height:66px;border:1px solid var(--hair2);border-radius:12px;display:grid;place-items:center;color:var(--accent)}
.stub h2{font-family:"Barlow Condensed";font-weight:600;font-size:34px;margin:0}
.stub p{color:var(--ink2);margin:0;max-width:46ch}
.cat-wrap{display:flex;flex-direction:column;margin:0 -16px;height:calc(100vh - 62px)}
.cat-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--hair);background:var(--panel)}
.cat-bar span{font-family:"Barlow Condensed";font-weight:600;font-size:18px}
.cat-open{font-family:"IBM Plex Mono";font-size:12px;color:var(--accent);text-decoration:none;border:1px solid var(--hair2);padding:6px 10px;border-radius:5px;white-space:nowrap}
.cat-open:hover{border-color:var(--accent)}
/* ===== Inventario (tabla editable) ===== */
.inv{max-width:100%}
.inv-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.inv-title{font-family:"Barlow Condensed";font-weight:600;font-size:26px;letter-spacing:.02em;color:var(--ink);margin:0;display:inline-flex;align-items:center;gap:10px}
.inv-count{font-family:"IBM Plex Mono";font-size:13px;color:var(--ink3);background:var(--card2);border:1px solid var(--hair2);border-radius:999px;padding:2px 11px}
.inv-search{flex:1;min-width:240px;max-width:460px;display:flex;align-items:center;gap:8px;border:1px solid var(--hair2);border-radius:8px;padding:9px 12px;background:var(--field)}
.inv-search i{color:var(--ink3)}
.inv-search input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;outline:none}
.inv-add{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--okc);background:var(--okbg);border:1px solid var(--okln);border-radius:8px;padding:9px 15px;cursor:pointer;transition:background .14s,color .14s}
.inv-add:hover{background:var(--okc);color:var(--bg)}
.inv-add:disabled{opacity:.4;cursor:not-allowed;background:var(--card2);color:var(--ink3);border-color:var(--hair2)}
.inv-add:disabled:hover{background:var(--card2);color:var(--ink3)}
.inv-mode{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink2);background:var(--card2);border:1px solid var(--hair2);border-radius:8px;padding:9px 15px;cursor:pointer;transition:background .14s,color .14s,border-color .14s}
.inv-mode:hover{color:var(--ink);border-color:var(--ink3)}
.inv-mode.on{color:var(--accent);border-color:var(--accent);background:var(--accsoft)}
.inv-del:disabled{opacity:.3;cursor:not-allowed}
.inv-del:disabled:hover{color:inherit;background:none}
.tc-back{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);padding:20px}
.tc-box{background:var(--panel);border:1px solid var(--hair2);border-radius:16px;padding:26px 26px 20px;max-width:420px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.tc-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--accsoft);color:var(--accent);margin-bottom:14px}
.tc-msg{font-size:16px;line-height:1.5;color:var(--ink);margin-bottom:22px}
.tc-btns{display:flex;gap:10px;justify-content:center}
.tc-no{font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink2);background:var(--card2);border:1px solid var(--hair2);border-radius:8px;padding:10px 20px;cursor:pointer}
.tc-no:hover{color:var(--ink);border-color:var(--ink3)}
.tc-yes{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--okc);background:var(--okbg);border:1px solid var(--okln);border-radius:8px;padding:10px 20px;cursor:pointer}
.tc-yes:hover{background:var(--okc);color:var(--bg)}
.inv-hint{font-size:13px;color:var(--ink2);margin-bottom:12px;max-width:none;line-height:1.5}
.inv-hint b{color:var(--ink)}
/* Botón y panel de filtros (estilo Airtable) */
.inv-fbtn{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink2);background:var(--card2);border:1px solid var(--hair2);border-radius:8px;padding:9px 14px;cursor:pointer;transition:border-color .14s,color .14s}
.inv-fbtn:hover{border-color:var(--accent);color:var(--ink)}
.inv-fbtn.on{color:var(--accent);border-color:var(--accent);background:var(--accsoft)}
.inv-fct{background:var(--accent);color:var(--bg);border-radius:999px;font-family:"IBM Plex Mono";font-size:11px;padding:0 7px;line-height:17px}
.inv-fpanel{display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--card2);border:1px solid var(--hair2);border-radius:10px;padding:12px 14px;margin-bottom:12px}
.inv-frow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inv-fand{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink3);min-width:44px}
.inv-fcol,.inv-fop,.inv-fval{font-family:"IBM Plex Sans";font-size:13px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:7px;padding:7px 10px;outline:none}
.inv-fcol:focus,.inv-fop:focus,.inv-fval:focus{border-color:var(--accent)}
.inv-fval.num{font-family:"IBM Plex Mono";width:120px;text-align:right}
.inv-fdel{border:0;background:none;color:var(--ink3);cursor:pointer;padding:6px;border-radius:6px}
.inv-fdel:hover{color:var(--badc);background:var(--badbg)}
.inv-fadd{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--accent);background:none;border:0;cursor:pointer;padding:4px 2px;font-weight:600}
.inv-fempty{font-size:13px;color:var(--ink3)}
.inv-scroll{overflow:auto;max-height:calc(100vh - 210px);border:1px solid var(--hair);border-radius:10px;background:var(--panel)}
.inv-tbl{border-collapse:separate;border-spacing:0;font-size:13px;white-space:nowrap;font-family:"IBM Plex Sans";table-layout:fixed}
.inv-tbl th,.inv-tbl td{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:0;text-align:left;overflow:hidden}
.inv-hd-th{position:sticky;top:0;background:var(--card2);z-index:3;font-family:"IBM Plex Mono";font-weight:500;color:var(--ink2);padding:0;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.inv-th-lbl{display:block;padding:9px 12px;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inv-hd-th:hover{color:var(--ink);background:var(--hair)}
.inv-tbl .inv-stick{position:sticky;z-index:2;background:var(--panel)}
.inv-tbl thead .inv-stick{z-index:6;background:var(--card2)}
.inv-tbl tbody tr:hover td{background:var(--ovr)}
.inv-tbl tbody tr:hover .inv-stick{background:var(--card2)}
.inv-th-drag{opacity:.45}
.inv-th-over{box-shadow:inset 3px 0 0 var(--accent)}
.inv-rz{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;z-index:7}
.inv-rz:hover,.inv-rz:active{box-shadow:inset -2px 0 0 var(--accent)}
.inv-in{width:100%;background:none;border:0;outline:none;color:var(--ink);font:inherit;padding:7px 12px;min-height:34px}
.inv-in.num{font-family:"IBM Plex Mono";text-align:right}
.inv-in:focus{background:var(--accsoft);box-shadow:inset 0 0 0 1.5px var(--accent)}
.inv-in::placeholder{color:var(--ink3)}
.inv-hl{background:rgba(230,170,60,.40);color:inherit;border-radius:2px;padding:0 .5px;font-weight:600}
:root[data-theme="light"] .inv-hl{background:rgba(224,150,30,.38)}
.inv-sugg{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 2px 2px}
.inv-sugg-l{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2)}
.inv-sugg-l svg{color:var(--wrnc)}
.inv-sugg-chip{font-family:"IBM Plex Mono";font-size:12.5px;color:var(--accent);background:var(--accsoft);border:1px solid var(--hair2);border-radius:999px;padding:4px 12px;cursor:pointer;transition:background .14s,border-color .14s}
.inv-sugg-chip:hover{border-color:var(--accent);background:var(--card2)}
/* Selector de vistas del inventario */
.iv-switch{display:inline-flex;gap:4px;background:var(--card2);border:1px solid var(--hair2);border-radius:10px;padding:4px;margin-bottom:16px}
.iv-vbtn{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink2);background:none;border:0;border-radius:7px;padding:8px 16px;cursor:pointer;transition:background .14s,color .14s}
.iv-vbtn:hover{color:var(--ink)}
.iv-vbtn.on{color:var(--ink);background:var(--panel);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.iv-vbtn.on svg{color:var(--accent)}
.iv-empty{padding:34px;text-align:center;color:var(--ink3);font-size:14px}
/* Vista de tarjetas */
.ivc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px}
.ivc{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 15px;display:flex;flex-direction:column;gap:7px}
.ivc:hover{border-color:var(--hair2)}
.ivc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ivc-code{font-family:"IBM Plex Mono";font-size:13px;font-weight:600;color:var(--ink)}
.ivc-desc{font-size:14px;line-height:1.4;color:var(--ink);font-weight:500}
.ivc-sub{font-size:12.5px;color:var(--ink2)}
.ivc-alt{font-family:"IBM Plex Mono"}
.ivc-ex{display:flex;gap:14px;font-size:12.5px;color:var(--ink2);border-top:1px solid var(--hair);padding-top:8px;margin-top:1px}
.ivc-ex b{color:var(--ink);font-family:"IBM Plex Mono"}
.ivc-tr b{color:var(--infc)}
.ivc-foot{font-size:12px;color:var(--ink2)}
.ivc-dim{color:var(--ink3)}
/* Vista agrupada */
.ivg-by{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2);white-space:nowrap}
.ivg-by select{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:7px;padding:7px 10px;font:inherit;font-size:13px;cursor:pointer}
.ivg-group{border:1px solid var(--hair);border-radius:10px;margin-bottom:10px;overflow:hidden;background:var(--panel)}
.ivg-head{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--card2);border:0;border-bottom:1px solid var(--hair);padding:11px 14px;cursor:pointer;color:var(--ink);font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.02em}
.ivg-head svg{color:var(--ink3);flex:0 0 auto}
.ivg-gname{flex:1 1 auto}
.ivg-gct{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink2);background:var(--panel);border:1px solid var(--hair2);border-radius:999px;padding:2px 10px}
.ivg-rows{overflow-x:auto}
.ivg-row{display:grid;grid-template-columns:116px minmax(160px,1fr) 128px 128px auto;gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--hair);font-size:13px;min-width:640px}
.ivg-row:last-child{border-bottom:0}
.ivg-code{font-family:"IBM Plex Mono";color:var(--ink);font-weight:600;white-space:nowrap}
.ivg-desc{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ivg-marca{color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ivg-est{justify-self:start;margin:0}
.ivg-ex{color:var(--ink2);font-family:"IBM Plex Mono";white-space:nowrap;justify-self:end}
/* Tablero (dashboard) */
.ivd-visions{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--card2);border:1px solid var(--hair2);border-radius:10px;padding:4px;margin-bottom:12px}
.ivd-vbtn{display:inline-flex;align-items:center;gap:6px;font-family:"Barlow Condensed";font-weight:600;font-size:13.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink2);background:none;border:0;border-radius:7px;padding:7px 14px;cursor:pointer;transition:background .14s,color .14s}
.ivd-vbtn:hover{color:var(--ink)}
.ivd-vbtn.on{color:var(--ink);background:var(--panel);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ivd-vbtn.on svg{color:var(--accent)}
.ivd-ctrls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:14px}
.ivd-search{max-width:480px;margin-bottom:16px}
.ivd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.ivd-kpi{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}
.ivd-kl{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin-bottom:7px}
.ivd-kv{font-family:"Barlow Condensed";font-weight:600;font-size:28px;line-height:1;color:var(--ink)}
.ivd-kv.ivd-ok{color:var(--okc)} .ivd-kv.ivd-tr{color:var(--infc)} .ivd-kv.ivd-cd{color:var(--wrnc)}
.ivd-chartbox{background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:14px 14px 6px}
.ivd-chart{min-height:260px;overflow-x:auto;overflow-y:hidden}
/* Lista para agregar al pedido (tablero dentro de Montar pedido) */
.ivd-list{margin-top:16px;border:1px solid var(--hair);border-radius:12px;background:var(--panel);overflow:hidden}
.ivd-listh{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--hair);background:var(--card2);font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--ink)}
.ivd-listh svg{color:var(--accent)}
.ivd-lct{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink2);background:var(--panel);border:1px solid var(--hair2);border-radius:999px;padding:2px 10px;margin-left:2px}
.ivd-lrow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--hair)}
.ivd-list.ro .ivd-lrow{grid-template-columns:1fr auto}
.ivd-lrow:last-child{border-bottom:0}
.ivd-linfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.ivd-lcode{font-size:12.5px;font-weight:600;color:var(--ink)}
.ivd-ldesc{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ivd-lmk{color:var(--ink3)}
.ivd-lprice{font-size:13px;color:var(--ink2);white-space:nowrap}
.ivd-ladd{display:inline-flex;align-items:center;gap:6px}
.ivd-lqin{width:54px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:7px;padding:7px 6px;font-size:12.5px;text-align:center;outline:none}
.ivd-lqin:focus{border-color:var(--accent)}
.ivd-laddb{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--okc);background:var(--okbg);border:1px solid var(--okln);border-radius:8px;cursor:pointer;transition:background .14s,color .14s}
.ivd-laddb:hover{background:var(--okc);color:var(--bg)}
.ivd-lmore{padding:10px 14px;font-size:12.5px;color:var(--ink3);text-align:center}
/* Mini-tabla del tablero de Inventario (encabezados + cuadrícula) */
.ivdt-scroll{overflow-x:auto}
.ivdt{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.ivdt th{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);text-align:left;padding:10px 12px;background:var(--card2);border-bottom:1px solid var(--hair2);border-right:1px solid var(--hair);white-space:nowrap}
.ivdt td{padding:9px 12px;color:var(--ink);border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);white-space:nowrap}
.ivdt th:last-child,.ivdt td:last-child{border-right:0}
.ivdt tbody tr:last-child td{border-bottom:0}
.ivdt .r{text-align:right}
.ivdt .num{font-family:"IBM Plex Mono"}
.ivdt-code{font-weight:600}
.ivdt-desc{max-width:360px}
.ivdt-descw{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ivdt tbody tr:hover td{background:var(--ovr)}
.mtr .mtr-dash{margin-bottom:16px}
.mtr .mtr-dashtog{display:inline-flex;align-items:center;gap:8px;font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);background:var(--card2);border:1px solid var(--hair2);border-radius:9px;padding:10px 16px;cursor:pointer;transition:border-color .14s}
.mtr .mtr-dashtog:hover{border-color:var(--accent)}
.mtr .mtr-dashtog.on{border-color:var(--accent);color:var(--ink)}
.mtr .mtr-dashtog svg:first-child{color:var(--accent)}
.mtr .mtr-dashtog [data-dashchev]{transition:transform .18s;color:var(--ink3)}
.mtr .mtr-dashbox{padding-top:16px}
.mtr .mtr-sugg{padding:10px 12px 12px}
.ivd-chtitle{font-family:"Barlow Condensed";font-weight:600;font-size:23px;letter-spacing:.02em;color:var(--ink);margin:2px 2px 4px}
.ivd-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);margin:0 2px 8px}
.ivd-hint svg{color:var(--accent)}
.ivd-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:14px;font-size:13px;color:var(--ink2)}
.ivd-crumb>svg{color:var(--accent)}
.ivd-crumb .ivd-croot{color:var(--ink2);font-weight:600}
.ivd-cchip{font-size:13px;color:var(--ink);background:var(--accsoft);border:1px solid var(--hair2);border-radius:999px;padding:4px 12px;cursor:pointer}
.ivd-cchip:hover{border-color:var(--accent)}
.ivd-cchip b{color:var(--ink)}
.ivd-cx{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--danger);background:none;border:1px solid var(--hair2);border-radius:999px;padding:4px 11px;cursor:pointer;margin-left:4px}
.ivd-cx:hover{border-color:var(--danger)}
.inv-ro{display:block;width:100%;color:var(--ink);font:inherit;padding:7px 12px;min-height:34px;line-height:20px}
.inv-ro.num{font-family:"IBM Plex Mono";text-align:right}
.inv-robadge{display:inline-flex;align-items:center;gap:6px;font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.05em;color:var(--ink3);background:var(--card2);border:1px solid var(--hair2);border-radius:999px;padding:5px 12px;white-space:nowrap}
.guia-wrap{display:flex;flex-direction:column;gap:14px}
.guia-hint2{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.5;color:var(--ink2);background:var(--accsoft);border:1px solid var(--hair2);border-radius:10px;padding:12px 15px}
.guia-hint2 svg{color:var(--accent);flex:0 0 auto;margin-top:1px}
.guia-hint2 b{color:var(--ink)}
.inv-est{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:4px 9px;margin:6px 10px;white-space:nowrap}
.inv-est.ok{color:var(--okc);background:var(--okbg);border:1px solid var(--okln)}
.inv-est.cd{color:var(--wrnc);background:var(--wrnbg);border:1px solid var(--wrnln)}
.inv-est.tr{color:var(--infc);background:var(--infbg);border:1px solid var(--infln)}
.inv-del-td{text-align:center;background:var(--panel)}
.inv-tbl thead .inv-del-th{background:var(--card2);position:sticky;top:0;z-index:3}
.inv-del{border:0;background:none;color:var(--ink3);cursor:pointer;padding:7px;border-radius:6px;transition:color .14s,background .14s}
.inv-del:hover{color:var(--badc);background:var(--badbg)}
.inv-empty{padding:28px;text-align:center;color:var(--ink3)}
/* ===== Guía de carga ===== */
.guia{max-width:1200px;margin:0 auto}
.guia-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.guia-title{font-family:"Barlow Condensed";font-weight:600;font-size:26px;letter-spacing:.02em;color:var(--ink);margin:0}
.guia-search{flex:1;min-width:220px;max-width:420px;display:flex;align-items:center;gap:8px;border:1px solid var(--hair2);border-radius:8px;padding:9px 12px;background:var(--field)}
.guia-search i{color:var(--ink3)}
.guia-search input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;outline:none}
.guia-sel{font-family:"IBM Plex Mono";font-size:13px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:9px 12px;outline:none;cursor:pointer}
.guia-hint{font-size:13px;color:var(--ink2);margin-bottom:16px;line-height:1.5}
.guia-hint b{color:var(--ink)}
.guia-sec{margin-bottom:24px}
.guia-sechd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--hair);padding-bottom:7px;margin-bottom:13px}
.guia-sechd h3{font-family:"Barlow Condensed";font-weight:600;font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin:0}
.guia-secres{font-family:"IBM Plex Mono";font-size:12.5px;color:var(--ink3)}
.guia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.guia-card{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:15px 16px;display:flex;flex-direction:column;gap:9px}
.guia-head{display:flex;align-items:center;gap:9px}
.guia-corr{font-family:"Barlow Condensed";font-weight:700;font-size:22px;color:var(--accent);letter-spacing:.02em}
.guia-met{display:inline-flex;align-items:center;gap:5px;font-family:"IBM Plex Mono";font-size:11px;color:var(--ink2);border:1px solid var(--hair2);border-radius:999px;padding:3px 10px}
.guia-anexo{margin-left:auto;font-size:11px;font-weight:600;color:var(--wrnc);background:var(--wrnbg);border:1px solid var(--wrnln);border-radius:999px;padding:3px 10px;cursor:help}
.guia-cli{font-weight:600;font-size:15px;color:var(--ink);line-height:1.3}
.guia-dest{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ink2)}
.guia-dest i{color:var(--accent)}
.guia-meta{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink3);font-family:"IBM Plex Mono"}
.guia-meta b{color:var(--ink2);font-weight:600;font-family:"IBM Plex Sans"}
.guia-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--hair);padding-top:10px;margin-top:2px}
.guia-bultos{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--ink)}
.guia-bultos i{color:var(--ink3)}
.guia-flete{font-size:13px;color:var(--ink2)}
.guia-flete b{color:var(--okc);font-size:15px}
.guia-empty{padding:40px;text-align:center;color:var(--ink3)}
/* ===== Guía de carga (lógica de prueba) ===== */
.g2{max-width:1240px;margin:0 auto}
.g2-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.g2-title{font-family:"Barlow Condensed";font-weight:600;font-size:26px;letter-spacing:.02em;color:var(--ink);margin:0}
.g2-test{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--wrnc);background:var(--wrnbg);border:1px solid var(--wrnln);border-radius:999px;padding:4px 11px}
.g2-sech{display:flex;align-items:center;gap:8px;font-family:"Barlow Condensed";font-weight:600;font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin:22px 0 4px}
.g2-sech i{color:var(--accent)}
.g2-sech span{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink3);background:var(--card2);border:1px solid var(--hair2);border-radius:999px;padding:1px 9px}
.g2-note{font-size:12.5px;color:var(--ink2);margin:0 0 10px;line-height:1.5}
.g2-note b{color:var(--ink)}
.g2-scroll{overflow:auto;border:1px solid var(--hair);border-radius:10px;background:var(--panel)}
.g2-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;white-space:nowrap}
.g2-tbl th,.g2-tbl td{border-bottom:1px solid var(--hair);padding:9px 12px;text-align:left}
.g2-tbl th{position:sticky;top:0;background:var(--card2);z-index:2;font-family:"IBM Plex Mono";font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.g2-tbl th.r,.g2-tbl td.r{text-align:right}
.g2-tbl .num{font-family:"IBM Plex Mono"}
.g2-tbl tbody tr:hover td{background:var(--ovr)}
.g2-num{font-family:"IBM Plex Mono";font-weight:600;color:var(--ink)}
.g2-dim{color:var(--ink3)}
.g2-flete{color:var(--okc);font-weight:600}
.g2-in{width:100%;min-width:72px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);font:inherit;border-radius:6px;padding:6px 8px;outline:none}
.g2-in.num{text-align:right;font-family:"IBM Plex Mono"}
.g2-in:focus{border-color:var(--accent)}
.g2-sel{width:100%;background:var(--field);border:1px solid var(--hair2);color:var(--ink);font:inherit;font-size:13px;border-radius:6px;padding:6px 8px;outline:none;cursor:pointer}
.g2-out th,.g2-out td{border-right:1px solid var(--hair)}
.g2-corr{font-family:"Barlow Condensed";font-weight:700;font-size:16px;color:var(--accent)}
.g2-tbl tfoot td{border-top:1px solid var(--hair2);border-bottom:0;font-weight:600;color:var(--ink);background:var(--card2)}
.g2-empty{padding:30px;text-align:center;color:var(--ink3);line-height:1.6}
.g2-empty b{color:var(--ink2)}
#catFrame{flex:1;width:100%;border:0;background:var(--bg)}
/* Montar pedido */
.mtr{padding-top:4px}
.mtr .mlbl{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.mtr .mtr-cli{display:flex;flex-direction:column;gap:6px;max-width:360px;margin-bottom:16px}
.mtr .mtr-cli-fixed{display:inline-flex;align-items:center;gap:7px;background:var(--accsoft);border:1px solid var(--hair2);border-radius:9px;padding:9px 13px;color:var(--ink);font-size:13.5px}
.mtr .mtr-cli-fixed i{color:var(--accent)}
.mtr .mtr-cli-fixed b{font-weight:600}
.mtr .mtr-sel{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:7px;padding:9px 11px;font-size:13px;outline:none}
.mtr .mtr-sel:focus{border-color:var(--accent)}
.mtr .mtr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:16px;align-items:start}
@media (max-width:820px){.mtr .mtr-grid{grid-template-columns:1fr}}
.mtr .mtr-cat{border:1px solid var(--hair);border-radius:10px;background:var(--panel);display:flex;flex-direction:column;min-width:0}
.mtr .mtr-cath{padding:12px;border-bottom:1px solid var(--hair);display:flex;gap:10px}
.mtr .mtr-list{max-height:56vh;overflow:auto;padding:2px 6px}
.mtr .mrow{display:flex;align-items:center;gap:12px;padding:9px 8px;border-bottom:1px solid var(--hair)}
.mtr .mrow:last-child{border-bottom:0}
.mtr .mrow-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mtr .mcode{font-size:11px;color:var(--ink2)}
.mtr .mdesc{font-size:13px}
.mtr .mmk{color:var(--ink3)}
.mtr .mprice{font-size:12.5px;color:var(--ink2);flex:0 0 auto}
.mtr .madd{display:flex;gap:5px;flex:0 0 auto}
.mtr .mqin{width:52px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:6px;padding:5px;font-size:12px;text-align:center;outline:none}
.mtr .mqin:focus{border-color:var(--accent)}
.mtr .maddb{border:1px solid var(--hair2);background:none;color:var(--accent);border-radius:6px;width:34px;display:grid;place-items:center;cursor:pointer}
.mtr .maddb:hover{border-color:var(--accent);background:rgba(159,180,196,.08)}
.mtr .mnote{font-size:11.5px;color:var(--ink3);padding:9px 8px;border-bottom:1px solid var(--hair)}
.mtr .mnote-cat{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--accent);background:var(--accsoft)}
.mtr .mnote-cat span{display:inline-flex;align-items:center;gap:6px}
.mtr .mcat-clear{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--ink2);font-size:11px;cursor:pointer;white-space:nowrap}
.mtr .mcat-clear:hover{color:var(--ink)}
.mtr .mtr-desp2{margin-top:18px;border:1px solid var(--hair);border-radius:12px;background:var(--panel);padding:14px;display:flex;flex-direction:column}
.mtr .mtr-desp-h{display:flex;align-items:center;gap:8px;font-family:"Barlow Condensed";font-weight:600;font-size:16px;color:var(--ink);margin-bottom:12px}
.mtr .mtr-desp-h i{color:var(--ink3)}
.mtr .mtr-chips .mchip-sys{display:flex;flex-wrap:wrap;gap:8px}
.mtr .mtr-chips .mchip-fams{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;padding-top:11px;border-top:1px dashed var(--hair)}
.mtr .mchip{font-size:12.5px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 13px;cursor:pointer;transition:.12s;font-weight:500}
.mtr .mchip:hover{border-color:var(--accent);color:var(--accent)}
.mtr .mchip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.mtr .mchip-fam{font-size:12px;padding:5px 11px;background:var(--panel)}
.mtr .mtr-cart{border:1px solid var(--hair);border-radius:10px;background:var(--panel);display:flex;flex-direction:column;position:sticky;top:76px}
.mtr .cart-h{padding:12px 14px;border-bottom:1px solid var(--hair);font-family:"Barlow Condensed";font-weight:600;font-size:19px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;letter-spacing:.02em}
.mtr .cart-n{font-size:11px;color:var(--ink3);font-weight:400}
.mtr .cart-rows{padding:6px 12px;max-height:42vh;overflow:auto}
.mtr .cempty{color:var(--ink3);font-size:13px;padding:18px 4px;text-align:center}
.mtr .crow{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--hair)}
.mtr .crow:last-child{border-bottom:0}
.mtr .crow-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.mtr .cqty{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto}
.mtr .cqb{width:22px;height:22px;border:1px solid var(--hair2);background:none;color:var(--ink2);border-radius:5px;cursor:pointer;line-height:1;font-size:13px}
.mtr .cqb:hover{color:var(--ink);border-color:var(--ink3)}
.mtr .cq{min-width:24px;text-align:center;font-size:13px}
.mtr .csub{font-size:12.5px;flex:0 0 auto;min-width:62px;text-align:right}
.mtr .crm{border:0;background:none;color:var(--ink3);cursor:pointer;flex:0 0 auto;display:grid;place-items:center}
.mtr .crm:hover{color:var(--badc)}
.mtr .cart-foot{padding:12px 14px;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:10px}
.mtr .cart-tot{display:flex;align-items:center;justify-content:space-between}
.mtr .cart-totv{font-size:18px;font-weight:600}
.mtr .cart-msg{font-size:12px;color:var(--okc)}
.mtr .enviar-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(140deg,#6fe0a3,#2f9e63);color:#06160d;border:0;border-radius:8px;padding:11px;font-family:"Barlow Condensed";font-weight:600;font-size:17px;letter-spacing:.03em;cursor:pointer}
.mtr .enviar-btn:hover{filter:brightness(1.05)}
.mtr .mtr-cartcol{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.mtr #mtrToast{min-height:0;display:flex;justify-content:center}
.mtr .mtr-toast{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(140deg,#6fe0a3,#2f9e63);color:#06160d;border-radius:10px;padding:10px 18px;font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.02em;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);pointer-events:none;animation:mtrToastUp 2.6s ease forwards}
.mtr .mtr-toast i{color:#06160d}
@keyframes mtrToastUp{0%{opacity:0;transform:translateY(12px)}12%{opacity:1;transform:translateY(0)}68%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-22px)}}
.mtr .cart-confirm{border:1px solid var(--hair2);background:var(--card2);border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:10px;text-align:center}
.mtr .cc-q{margin:0;font-size:13.5px;color:var(--ink)}
.mtr .cc-btns{display:flex;gap:8px}
.mtr .cc-no,.mtr .cc-si{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:10px;font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.03em;cursor:pointer}
.mtr .cc-no{border:1px solid var(--hair2);background:none;color:var(--ink2)}
.mtr .cc-no:hover{color:var(--ink);border-color:var(--ink3)}
.mtr .cc-si{border:0;background:linear-gradient(140deg,#6fe0a3,#2f9e63);color:#06160d}
.mtr .cc-si:hover{filter:brightness(1.05)}
/* Vista Pedidos (cartera) con estética Trok */
.ped{padding-top:6px}
.ped .font-display{font-family:"Barlow Condensed","Arial Narrow",sans-serif}
.ped .num{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.ped .eyebrow{letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:600}
.ped .drawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1)}
.ped .drawer.open{grid-template-rows:1fr}
.ped .drawer>div{overflow:hidden}
.ped .cardbtn{transition:border-color .15s,background .15s}
.ped .card-flags{display:flex;gap:8px;margin-top:6px}
.ped .card-flag{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;cursor:pointer;transition:transform .13s ease,box-shadow .13s ease,filter .13s ease}
.ped .card-flag:hover{transform:scale(1.18);filter:brightness(1.3);box-shadow:0 0 0 2px var(--ovr2),0 6px 16px -6px rgba(0,0,0,.6);z-index:3}
.ped .card-flag[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:9px;background:var(--panel);border:1px solid var(--hair2);color:var(--ink);font-size:11px;font-family:"IBM Plex Mono";padding:6px 10px;border-radius:7px;white-space:nowrap;z-index:7;pointer-events:none;box-shadow:0 10px 26px -8px rgba(0,0,0,.75)}
.ped .alm-fecha{font-family:"IBM Plex Sans";font-size:14px;color:var(--ink)}
.ped mark.hl{background:#e67a32;color:#13100c;border-radius:3px;padding:0 1px;font-weight:600}
.ped .card-flag.cf-bad{background:var(--badbg);color:var(--badc);border:1px solid var(--badln)}
.ped .card-flag.cf-dev{background:var(--wrnbg);color:var(--wrnc);border:1px solid var(--wrnln)}
.ped .card-flag.cf-ok{background:var(--okbg);color:var(--okc);border:1px solid var(--okln)}
.ped .card-flag.cf-ship{background:var(--accsoft);color:var(--accent);border:1px solid var(--hair2)}
.ped .card-flag.cf-chk{background:var(--ovr2);color:var(--ink);border:1px solid var(--hair2)}
.ped .card-flag.cf-fac{background:var(--accsoft);color:var(--accent);border:1px solid var(--hair2)}
.ped .cardbtn:hover{border-color:var(--accent);background:var(--ovr)}
.ped .cardbtn:focus-visible,.ped [data-focus]:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}
.ped .bkcard{border-color:var(--badln)!important;background:var(--badbg)}
.ped .bkcard:hover{border-color:var(--badc)!important;background:rgba(224,115,107,.18)}
.ped .bk-tag{display:inline-flex;align-items:center;gap:5px;font-family:"IBM Plex Mono";font-size:10px;color:var(--badc);border:1px solid var(--badln);border-radius:999px;padding:2px 8px;width:fit-content;letter-spacing:.03em;cursor:pointer;position:relative;z-index:2}
.ped .bk-tag:hover{background:var(--badbg)}
.ped .bk-meta{font-size:12px;color:var(--ink3)}
.ped .pedcard-hl .cardbtn{border-color:var(--badc)!important;box-shadow:0 0 0 2px var(--badbg),0 0 0 1px var(--badc)}
.ped .alm-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:5px;font-family:"IBM Plex Mono";font-size:11px;font-weight:600;color:var(--ink2);border:1px solid var(--hair2);background:var(--card2);border-radius:999px;padding:2px 9px;z-index:2;cursor:pointer;transition:border-color .13s,color .13s,background .13s}
.ped .alm-badge i{color:#e67a32}
.ped .alm-numrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ped .alm-num{font-family:"Barlow Condensed";font-weight:600;font-size:17px;letter-spacing:.02em;color:var(--ink)}
.ped .alm-sib .cardbtn{border-color:#e67a32!important;box-shadow:0 0 0 1px #e67a32}
.ped .alm-sib .alm-badge{border-color:#e67a32;color:#e67a32;background:rgba(230,122,50,.15)}
.ped .bkmodal .pm-head{border-bottom-color:var(--badln)}
.ped .bk-htag{display:inline-flex;align-items:center;gap:5px;font-family:"IBM Plex Mono";font-size:11px;color:var(--badc);border:1px solid var(--badln);background:var(--badbg);border-radius:999px;padding:2px 9px;margin-right:9px;vertical-align:middle;letter-spacing:.03em}
.ped .bd-note{margin-top:10px;font-size:12px;color:var(--ink3)}
.ped .chev{transition:transform .28s cubic-bezier(.4,0,.2,1)}
.ped .chev.open{transform:rotate(90deg)}
.ped .badge{background:linear-gradient(140deg,#6fe0a3 0%,#39b06f 55%,#1f8a52 100%);color:#06160d;font-weight:800;animation:pop .2s ease-out}
.ped .pin{position:absolute;top:-9px;right:-9px;z-index:5;height:24px;min-width:24px;padding:0 7px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;border-radius:12px 12px 12px 3px;box-shadow:0 0 0 2.5px var(--bg),0 3px 10px -3px rgba(0,0,0,.6);pointer-events:none}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.ped .ftoolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.ped .fbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--hair2);background:none;color:var(--ink2);border-radius:8px;padding:9px 13px;font-size:13px}
.ped .fbtn:hover{color:var(--ink);border-color:var(--ink3)}
.ped .fcnt{background:linear-gradient(140deg,#6fe0a3,#2f9e63);color:#06160d;font-weight:800;font-size:11px;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.ped .fbar{border:1px solid var(--hair);border-radius:10px;background:var(--panel);padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}
.ped .fhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ped .frows{display:flex;flex-direction:column;gap:8px}
.ped .frow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ped .fsel,.ped .finput{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:6px;padding:7px 9px;font-size:13px;outline:none}
.ped .fsel{cursor:pointer}
.ped .fsel:focus,.ped .finput:focus{border-color:var(--accent)}
.ped .frow .fsel[data-fcampo]{min-width:172px}
.ped .frow .finput{min-width:140px;flex:1;max-width:240px}
.ped .fdel{border:1px solid var(--hair2);background:none;color:var(--ink3);border-radius:6px;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.ped .fdel:hover{color:var(--badc);border-color:var(--badc)}
.ped .ffoot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ped .fadd{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--hair2);background:none;color:var(--accent);border-radius:6px;padding:7px 11px;font-size:13px;cursor:pointer}
.ped .fadd:hover{border-color:var(--accent)}
.ped .fclear{border:0;background:none;color:var(--ink3);font-size:12px;cursor:pointer;text-decoration:underline}
.ped .fclear:hover{color:var(--ink)}
.ped .fcount{color:var(--ink3);font-size:12px;margin-left:auto}
.ped .pedgrupo{margin-bottom:26px}
.ped .pedgrupo+.pedgrupo{border-top:1px solid var(--hair);padding-top:20px}
.ped .pedgrupo-h{display:flex;align-items:center;gap:10px;font-family:"Barlow Condensed";font-weight:600;font-size:18px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin:0 0 14px}
.ped .pedgrupo-n{font-family:"IBM Plex Mono";font-size:11px;color:var(--ink3);font-weight:400;letter-spacing:.04em}
/* Modal maestro-detalle de pedido */
.ped .pmodal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(8,10,12,.5);opacity:0;transition:opacity .28s,backdrop-filter .28s;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
.ped .pmodal-backdrop.open{opacity:1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.ped .pmodal{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7);width:min(1040px,94vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--hair2);border-radius:14px;box-shadow:0 30px 90px -20px rgba(0,0,0,.75);opacity:0;transition:opacity .28s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.2,.8,.2,1)}
.ped .pmodal.open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ped .pm-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--hair);position:sticky;top:0;background:var(--panel);z-index:2}
.ped .pm-title{font-size:25px;font-weight:600;line-height:1.1}
.ped .pm-sub{font-size:12px;color:var(--ink3);margin-top:3px}
.ped .pm-close{border:1px solid var(--hair2);background:none;color:var(--ink2);border-radius:8px;width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto}
.ped .pm-close:hover{color:var(--ink);border-color:var(--ink3)}
.ped .pm-headbtns{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ped .pm-almtoggle{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--hair2);background:var(--card2);color:var(--ink2);border-radius:8px;font-family:"IBM Plex Mono";font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.ped .pm-almtoggle i{color:#e67a32}
.ped .pm-almtoggle:hover{color:var(--ink);border-color:var(--ink3)}
.ped .pm-almtoggle.on{border-color:#e67a32;color:#e67a32;background:rgba(230,122,50,.12)}
.ped .pm-fields{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid var(--hair)}
.ped .pm-f{display:flex;flex-direction:column;gap:6px}
.ped label.pm-f{flex:0 0 168px}
.ped div.pm-f{flex:0 0 auto}
.ped .pm-fl{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.ped .pm-fields .pm-fl{text-align:center}
.ped .pm-fv{font-size:15px;min-height:40px;display:flex;align-items:center;justify-content:center}
.ped .pm-despcell{align-items:center}
.ped .pm-in{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:7px;padding:9px 11px;font-size:13px;outline:none}
.ped .pm-in:focus{border-color:var(--accent)}
.ped .pm-gcarga{border-top:1px solid var(--hair);padding-top:14px;margin-top:2px}
.ped .pm-gcarga-h{display:flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.ped .pm-gcarga-h svg{color:var(--accent)}
.ped .pm-gcarga-row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start}
.ped .pm-gcarga-row label.pm-f{flex:0 0 auto}
.ped .pm-corr{width:68px;text-align:center}
.ped .pm-selnarrow,.ped .pm-selwide{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a93a6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 9px center;padding-right:28px}
.ped .pm-selnarrow{width:132px}
.ped .pm-selwide{width:248px;font-size:12px}
.ped .pm-cols{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:18px 20px}
.ped .pm-cols .pcol{flex:0 1 460px;max-width:520px;min-width:0}
.ped .aline{cursor:default}
.ped .asg{display:inline-flex;gap:4px;flex:0 0 auto;margin-left:8px}
.ped .asgb{border:1px solid var(--hair2);background:none;color:var(--ink3);border-radius:5px;padding:3px 8px;font-family:"IBM Plex Mono";font-size:11px;cursor:pointer}
.ped .asgb:hover{color:var(--ink);border-color:var(--ink3)}
.ped .asgb.on{background:var(--accent);color:var(--onInk);border-color:var(--accent);font-weight:700}
.ped .pm-approve{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ped .aprobar-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(140deg,#6fe0a3,#2f9e63);color:#06160d;border:0;border-radius:8px;padding:11px 18px;font-family:"Barlow Condensed";font-weight:600;font-size:17px;letter-spacing:.03em;cursor:pointer}
.ped .aprobar-btn:hover{filter:brightness(1.06)}
.ped .pm-pill{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 9px;margin-left:8px;font-weight:600;white-space:nowrap}
.ped .pm-pill-warn{background:var(--wrnbg);color:var(--wrnc);border:1px solid var(--wrnln)}
.ped .pm-pill-ok{background:var(--okbg);color:var(--okc);border:1px solid var(--okln)}
.ped .pcol{display:flex;flex-direction:column;gap:18px}
.ped .pblock{display:flex;flex-direction:column;gap:12px}
.ped .pcol-h{display:flex;flex-direction:column;align-items:center;gap:3px;border-bottom:1px solid var(--hair2);padding-bottom:9px;text-align:center}
.ped .pcol-code{font-family:"Barlow Condensed";font-weight:600;font-size:25px;letter-spacing:.05em;color:var(--ink)}
.ped .pcol-sub2{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.ped .pcard-sub{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hair);margin-top:4px;padding-top:8px;font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.ped .pcard-sub .num{color:var(--ink);font-size:13px;font-weight:600}
.ped .pcol-total{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--hair2);border-radius:8px;padding:9px 13px;font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.ped .pcol-total .num{color:var(--ink);font-size:15px;font-weight:600}
.ped .pcard{border:1px solid var(--hair);border-radius:10px;background:var(--card2);padding:4px 12px 8px}
.ped .pm-backh{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--badc);font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 20px 0}
.ped .pm-et{padding:4px 20px 18px}
.ped .pm-eth{display:flex;align-items:center;justify-content:center;gap:8px;color:#5b9dff;font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 0 10px}
.ped .pm-et .pblock{max-width:720px;margin:0 auto}
.ped .pm-et .pcol-code{color:#5b9dff}
.ped .pblock-b .pcol-code{color:var(--badc)}
.ped .pblock-b .pcol-h{border-bottom-color:var(--badln)}
.ped .pblock-b .pcard{border-color:var(--badln);background:var(--badbg)}
.ped .pm-backdesp{margin:4px 20px 2px;border:1px solid var(--badln);background:var(--badbg);border-radius:11px;padding:12px 16px;display:flex;flex-direction:column;gap:10px}
.ped .bd-title{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--badc);font-weight:600}
.ped .bd-fields{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;justify-content:center}
.ped .genfac-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent);background:var(--accsoft);color:var(--accent);border-radius:8px;padding:8px 11px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}
.ped .genfac-btn:hover{background:rgba(159,180,196,.2)}
.ped .spop{position:fixed;z-index:74;background:var(--panel);border:1px solid var(--hair2);border-radius:10px;padding:8px;box-shadow:0 14px 34px -10px rgba(0,0,0,.85)}
.ped .histpop{position:fixed;z-index:80;background:var(--panel);border:1px solid var(--hair2);border-radius:10px;padding:9px 11px;box-shadow:0 14px 34px -10px rgba(0,0,0,.85);max-width:300px;font-size:12px}
.ped .histpop-h{font-family:"IBM Plex Mono";font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin-bottom:6px}
.ped .histpop-empty{color:var(--ink3);font-size:12px}
.ped .histpop-row{padding:6px 0;border-top:1px solid var(--hair)}
.ped .histpop-row:first-of-type{border-top:0}
.ped .histpop-chg{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:12.5px}
.ped .histpop-chg .hp-a{color:var(--ink3)}
.ped .histpop-chg .hp-b{color:var(--ink);font-weight:600}
.ped .histpop-chg i{color:var(--ink3)}
.ped .histpop-meta{font-size:11px;color:var(--ink3);margin-top:2px;font-family:"IBM Plex Mono"}
.ped .spop-hist{margin-top:7px;padding-top:7px;border-top:1px solid var(--hair);max-width:260px}
.ped .spop-histrow{font-size:11px;color:var(--ink2);padding:2px 0;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.ped .spop-histrow .hp-b{color:var(--ink);font-weight:600}
.ped .spop-histmeta{color:var(--ink3);width:100%;font-family:"IBM Plex Mono"}
.ped .sopt-row{display:flex;gap:6px}
.ped .sopt{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid var(--hair2);background:none;border-radius:8px;padding:9px 12px;cursor:pointer;font-size:10.5px;color:var(--ink2);min-width:66px;transition:border-color .12s,color .12s}
.ped .sopt:hover{border-color:var(--ink3);color:var(--ink)}
.ped .sopt.on{border-width:1.5px}
.ped .sopt .sdot{width:15px;height:15px;border-radius:50%}
.ped .sopt.s-ok .sdot{background:var(--okc)} .ped .sopt.s-ok.on{border-color:var(--okc);background:var(--okbg);color:var(--okc)}
.ped .sopt.s-dev .sdot{background:var(--wrnc)} .ped .sopt.s-dev.on{border-color:var(--wrnc);background:var(--wrnbg);color:var(--wrnc)}
.ped .sopt.s-no .sdot{background:var(--badc)} .ped .sopt.s-no.on{border-color:var(--badc);background:var(--badbg);color:var(--badc)}
.ped .sopt.s-rest .sdot{background:#2f8f57} .ped .sopt.s-rest.on{border-color:#2f8f57;background:rgba(47,143,87,.16);color:#3fae6c}
.ped .pcard-h{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:9px 0 7px;border-bottom:1px solid var(--hair);margin-bottom:2px}
.ped .pline{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--hair);padding:8px 2px;cursor:pointer}
.ped .pline:last-child{border-bottom:0}
.ped .pline:hover{background:var(--ovr)}
.ped .pdot{width:9px;height:9px;border-radius:2px;flex:0 0 auto;background:#e9edf0}
.ped .pcode{font-size:11px;min-width:102px;flex:0 0 auto}
.ped .pdesc{font-size:12.5px;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ped .pmk{opacity:.55}
.ped .pqty{font-size:12.5px;flex:0 0 auto;font-weight:600;margin-left:8px}
.ped .pline.s-nd{color:var(--ink)} .ped .pline.s-nd .pdot{background:var(--ink)}
.ped .pline.s-ok{color:var(--okc)} .ped .pline.s-ok .pdot{background:var(--okc)}
.ped .pline.s-no{color:var(--badc)} .ped .pline.s-no .pdot{background:var(--badc)}
.ped .pline.s-dev{color:var(--wrnc)} .ped .pline.s-dev .pdot{background:var(--wrnc)}
.ped .pline.s-rest{color:#2f8f57} .ped .pline.s-rest .pdot{background:#2f8f57}
.ped .pm-hint{padding:0 20px 16px;font-size:12px;color:var(--ink3)}
.ped .pm-hint .s-ok-txt{color:var(--okc)} .ped .pm-hint .s-no-txt{color:var(--badc)} .ped .pm-hint .s-nd-txt{color:var(--ink)} .ped .pm-hint .s-dev-txt{color:var(--wrnc)} .ped .pm-hint .s-rest-txt{color:#3fae6c}
.ped .pm-foot{padding:0 20px 20px;display:flex;flex-direction:column;gap:14px}
.ped .pm-desp{border:1px solid var(--hair);border-radius:11px;padding:12px 16px;display:flex;flex-direction:column;gap:10px}
.ped .pm-dbtns{display:flex;gap:6px;flex-wrap:nowrap;align-items:center}
.ped .bultos-i{width:68px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:7px;padding:9px 6px;font-size:12.5px;text-align:center;outline:none;-moz-appearance:textfield;appearance:textfield}
.ped .bultos-i::-webkit-outer-spin-button,.ped .bultos-i::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ped .bultos-i::placeholder{color:var(--ink3)}
.ped .pbk-ctrl{background:var(--card2);border:1px solid var(--hair);border-radius:10px;padding:11px 12px;display:flex;flex-direction:column;gap:11px}
.ped .pbk-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.ped .pbk-row .pm-f{gap:5px}
.ped .pbk-ctrl .pm-dbtns{flex-wrap:wrap;gap:6px}
.ped .pbk-ctrl .dbtn{min-width:0;flex:1 1 auto;padding:8px 9px;white-space:nowrap}
.ped .pbk-ctrl .pm-in{min-width:120px}
.ped .bultos-i:focus{border-color:var(--accent)}
.ped .dbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--hair2);background:none;color:var(--ink2);border-radius:7px;padding:8px 10px;font-size:12.5px;cursor:pointer;min-width:112px;white-space:nowrap}
.ped .dbtn:hover:not([disabled]){color:var(--ink);border-color:var(--ink3)}
.ped .dbtn.done{background:var(--okbg);border-color:var(--okln);color:var(--okc)}
.ped .dbtn[disabled]{cursor:default;opacity:.85}
.ped .dbtn.lk,.ped .genfac-btn.lk,.ped .pm-in.lk,.ped .bultos-i.lk,.ped select.lk{opacity:.4!important;cursor:not-allowed!important;filter:grayscale(.5)}
.ped .pm-grand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--okln);background:var(--okbg);border-radius:11px;padding:14px 18px}
.ped .pm-grandv{font-size:24px;font-weight:700;color:var(--okc);margin-top:2px}
.ped .pm-botag{text-align:right}
.ped .pm-bov{font-size:16px;font-weight:600;color:var(--badc);margin-top:2px}
.ped .pm-dev{font-size:16px;font-weight:600;color:var(--wrnc);margin-top:2px}
.ped .pm-pend{font-size:16px;font-weight:600;color:var(--ink);margin-top:2px}
.ped .pm-gcell{flex:1 1 150px;min-width:120px;text-align:center}
.ped .pm-gcell .pm-fl{font-family:"Barlow Condensed";font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.ped .pm-gcell .num{font-size:19px;font-weight:600;margin-top:5px}
.ped .pm-desc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--hair)}
.ped .pm-desc-l{display:inline-flex;align-items:center;gap:7px;font-family:"Barlow Condensed";font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.ped .pm-desc-l i{color:var(--accent)}
.ped .pm-dchip{font-family:"IBM Plex Mono";font-size:12.5px;border:1px solid var(--accsoft);background:var(--accsoft);color:var(--ink);border-radius:999px;padding:4px 11px}
.ped .pm-dchip.met{border-color:var(--okln);background:transparent;color:var(--okc)}
.ped .pm-dchip.none{border:1px dashed var(--hair2);background:transparent;color:var(--ink3)}
.ped .pm-desc-tot{margin-left:auto;font-size:14px;color:var(--ink2)}
.ped .pm-desc-tot b{color:var(--ink);font-size:18px;margin-left:4px}
.ped .pm-act{border-top:1px solid var(--hair);padding-top:12px;display:flex;flex-direction:column;gap:10px}
.ped .pm-actrow{font-size:12.5px}
.ped .pm-actd{color:var(--ink2);margin-top:2px;font-size:12px}
.ped .pmtip{position:fixed;z-index:70;background:var(--panel);border:1px solid var(--hair2);border-radius:7px;padding:7px 11px;font-size:12px;font-family:"IBM Plex Mono",monospace;display:flex;gap:14px;pointer-events:none;box-shadow:0 10px 26px -8px rgba(0,0,0,.75)}
.ped .palloc{color:var(--ink3);font-size:11px;white-space:nowrap;margin-left:14px;flex:0 0 auto}
.ped .pmpop{position:fixed;z-index:72;background:var(--panel);border:1px solid var(--hair2);border-radius:10px;padding:10px 12px;box-shadow:0 14px 34px -10px rgba(0,0,0,.85);display:flex;flex-direction:column;gap:9px}
.ped .pbub-h{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;color:var(--ink3);white-space:nowrap}
.ped .pbub-h .num{color:var(--ink);font-weight:600}
.ped .pbub-st.popok{color:var(--okc);font-weight:600}
.ped .pbub-st.popw{color:var(--wrnc);font-weight:600}
.ped .pbub-row{display:flex;gap:8px}
.ped .pchip{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--hair2);border-radius:7px;padding:6px 8px;cursor:text;min-width:66px}
.ped .pchip:focus-within{border-color:var(--accent);background:rgba(159,180,196,.07)}
.ped .pchip-t{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.06em;color:var(--ink2)}
.ped .pchip-s{font-size:9.5px;color:var(--ink3);white-space:nowrap}
.ped .pchip-i{background:var(--optbg);border:1px solid var(--hair2);color:var(--ink);border-radius:5px;padding:4px;font-size:12px;width:54px;text-align:center;outline:none}
.ped .pchip-i:focus{border-color:var(--accent)}
@media (prefers-reduced-motion:reduce){.ped .pmodal,.ped .pmodal-backdrop{transition:none}}
.tag{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--hair2);border-radius:999px;padding:5px 12px}
footer{color:var(--ink3);font-size:12px;font-family:"IBM Plex Mono";letter-spacing:.04em;padding-top:22px;text-align:center}

.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:30;opacity:0;pointer-events:none;transition:opacity .2s}
#menuBtn{display:none}

@media (max-width:860px){
  .sidebar{position:fixed;z-index:40;transform:translateX(-100%);height:100%;top:0}
  #shell.open .sidebar{transform:none}
  #shell.rail .sidebar{flex-basis:264px;width:264px}
  #shell.open .backdrop{opacity:1;pointer-events:auto}
  #menuBtn{display:grid}#collapseBtn{display:none}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){.auth{grid-template-columns:1fr}.brandside{border-right:0;border-bottom:1px solid var(--hair);padding:34px 24px 26px;min-height:38vh;justify-content:center;text-align:center;align-items:center;gap:18px}.brandside .mid{align-items:center}.brandfoot{justify-content:center}}
@media (max-width:560px){.search{display:none}.cards{grid-template-columns:1fr}.inner{padding-block:0 48px}}
@media (prefers-reduced-motion:reduce){.wordmark{animation:none;background-position:25% 0}.spin{animation:none}}

/* ===== Módulos CRUD (Clientes / Vendedores) ===== */
.crud{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.crud-head p{color:var(--ink2);font-size:13px;margin:0;max-width:72ch}
.crud-card{background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:18px 20px}
.crud-card h3{font-family:"Barlow Condensed";font-weight:600;font-size:18px;letter-spacing:.02em;margin:0 0 14px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.crud-card h3 i{color:var(--ink3)}
.crud-form{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:flex-end;width:100%}
.cf{display:flex;flex-direction:column;gap:6px}
.cf label{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.cf input,.cf select{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:10px 11px;font:inherit;font-size:13px;outline:none;min-width:0}
.cf input::placeholder{color:var(--ink3)}
.cf input:focus,.cf select:focus{border-color:var(--accent)}
.cf select:disabled{opacity:.5;cursor:default}
.cf-rif{width:138px}.cf-emp{flex:1 1 170px;min-width:150px}.cf-est{width:158px}.cf-ciu{width:140px}.cf-ubi{flex:1 1 200px;min-width:180px}.cf-cel{width:140px}.cf-ven{width:166px}.cf-nom{flex:1 1 260px;min-width:220px}
.cf-nombres{flex:1 1 150px;min-width:140px}.cf-ape{flex:1 1 150px;min-width:140px}.cf-ced{width:150px}.cf-nac{width:160px}.cf-cor{flex:1 1 200px;min-width:180px}
.cf-pais{width:160px}.cf-hub{width:200px}.cf-lead{width:190px}.cf-sup{width:190px}.cf-zona{flex:1 1 220px;min-width:200px}
.cf-grp{flex-basis:100%;font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin:6px 0 -2px}
.cf-grp:first-child{margin-top:0}
.crud-add{background:var(--ink);color:var(--onInk);border:0;border-radius:8px;padding:11px 16px;font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.03em;display:flex;align-items:center;gap:7px;white-space:nowrap;height:40px}
.crud-add:hover{opacity:.9}
.crud-hint{font-size:12px;color:var(--ink3);margin-top:10px;display:flex;align-items:center;gap:7px}
.crud-list{display:flex;flex-direction:column}
.crud-count{font-family:"IBM Plex Mono";font-size:11px;color:var(--ink3);letter-spacing:.06em;margin-bottom:8px}
.tr-cargo{margin-top:12px}
.tr-cargoh{display:flex;align-items:center;gap:8px;font-family:"Barlow Condensed";font-weight:700;font-size:15px;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;padding-bottom:2px}
.tr-cargoct{font-family:"IBM Plex Mono";font-size:11px;font-weight:600;color:var(--ink3);background:var(--card2);border:1px solid var(--hair2);border-radius:999px;padding:1px 8px}
/* Avatares y foto de perfil */
.avat{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--markbg);border:1px solid var(--hair2);display:grid;place-items:center;color:var(--ink3);background-size:cover;background-position:center}
.avat-sm{width:34px;height:34px}
.avat-lg{width:60px;height:60px}
.foto-up{display:flex;align-items:center;gap:10px}
.foto-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--hair2);background:var(--card2);color:var(--ink2);border-radius:8px;font-size:12.5px;cursor:pointer}
.foto-btn:hover{color:var(--ink);border-color:var(--accent)}
.cf-foto{width:100%}
/* Panel "Conectados ahora" */
.pres{display:flex;flex-wrap:wrap;gap:18px;margin:4px 0 24px}
.pres-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px}
.pres-ring{position:relative;width:64px;height:64px;border-radius:50%;border:3px solid var(--rc,#888);padding:3px;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.pres-av{width:100%;height:100%;border-radius:50%;background:var(--markbg);display:grid;place-items:center;color:var(--ink3);background-size:cover;background-position:center}
.pres-dot{position:absolute;right:1px;bottom:1px;width:13px;height:13px;border-radius:50%;background:#19e67a;border:2px solid var(--bg)}
.pres-name{font-size:12.5px;color:var(--ink);text-align:center;line-height:1.15;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pres-you{color:var(--ink3)}
.pres-rol{font-size:11px;font-family:"IBM Plex Mono";font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.pres-ct{font-family:"IBM Plex Mono";font-size:11px;font-weight:600;color:var(--ink3);background:var(--card2);border:1px solid var(--hair2);border-radius:999px;padding:1px 8px;margin-left:6px}
.crow2{display:flex;align-items:center;gap:14px;padding:12px 2px;border-top:1px solid var(--hair)}
.crow2:first-of-type{border-top:0}
.crow2 .c-main{flex:1;min-width:0}
.crow2 .c-emp{font-weight:600;font-size:14px;color:var(--ink)}
.crow2 .c-sub{font-size:12px;color:var(--ink3);display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.c-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink2);background:var(--card2);border:1px solid var(--hair);border-radius:999px;padding:3px 10px}
.c-tag i{color:var(--ink3)}
.c-tag.c-ven{background:var(--accsoft);color:var(--accent);border-color:transparent}
.c-tag.c-ven i{color:var(--accent)}
.crud-del{border:1px solid var(--hair2);background:none;color:var(--ink3);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;cursor:pointer}
.crud-del:hover{color:var(--badc);border-color:var(--badln)}
.crud-empty{color:var(--ink3);font-size:13px;padding:14px 2px}
@media (max-width:560px){.crud-form{flex-direction:column;align-items:stretch}.cf{width:100%!important}.crud-add{width:100%;justify-content:center}}

/* ===== Toast (aviso emergente) ===== */
.trok-toast{position:fixed;left:50%;top:84px;z-index:200;display:flex;align-items:center;gap:9px;background:linear-gradient(140deg,#6fe0a3,#2f9e63);color:#06160d;border-radius:10px;padding:12px 20px;font-family:"Barlow Condensed";font-weight:600;font-size:16px;letter-spacing:.02em;box-shadow:0 16px 40px -10px rgba(0,0,0,.6);pointer-events:none;white-space:nowrap;animation:toastUp 2.5s ease forwards}
.trok-toast i{color:#06160d}
@keyframes toastUp{0%{opacity:0;transform:translate(-50%,14px)}12%{opacity:1;transform:translate(-50%,0)}70%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-34px)}}

/* ===== Cuentas por cobrar (Cartera) ===== */
.cxc{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.cxc-head p{color:var(--ink2);font-size:13px;margin:0;max-width:78ch}
.cxc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cxc-card{text-align:center;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:20px 24px;min-height:132px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:border-color .15s,background .15s}
.cxc-card:hover{border-color:var(--accent);background:var(--ovr)}
.cxc-top{display:flex;flex-direction:column;gap:2px}
.cxc-emp{font-family:"Barlow Condensed";font-weight:600;font-size:25px;color:var(--ink);line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Barra de título por nivel (Vendedores / Clientes) + botón atrás */
.cxc-titlebar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 6px}
.cxc-titlebar-center{justify-content:center;margin-top:30px;margin-bottom:22px}
.cxc-vbadges{display:inline-flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.cxc-vbadge{display:inline-flex;align-items:center;gap:6px;font-family:"IBM Plex Mono";font-size:15px;font-weight:600;border:1px solid;border-radius:999px;padding:5px 13px}
.cxc-vbadge svg{width:17px;height:17px}
.cxc-vbadge.rojo{color:var(--badc);background:var(--badbg);border-color:var(--badln)}
.cxc-vbadge.nar{color:var(--wrnc);background:var(--wrnbg);border-color:var(--wrnln)}
.cxc-vbadge.ver{color:var(--okc);background:var(--okbg);border-color:var(--okln)}
.cxc-vbadge.vivo{color:#19e67a;background:rgba(25,230,122,.14);border-color:rgba(25,230,122,.44)}
.cxc-title{display:flex;align-items:baseline;gap:9px;font-family:"Barlow Condensed";font-weight:700;font-size:27px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:0;line-height:1}
.cxc-title .cxc-title-sub{font-weight:500;font-size:19px;letter-spacing:.02em;color:var(--ink2);text-transform:none}
.cxc-title .cxc-count{font-family:"IBM Plex Mono";font-size:13px;font-weight:400;letter-spacing:.03em;color:var(--ink2);text-transform:none}
.cxc-card-sin{border-style:dashed}.cxc-card-sin .cxc-emp{color:var(--ink3)}
.cxc-rif{font-size:11px;color:var(--ink3)}
.cxc-barw{height:7px;border-radius:999px;background:var(--card2);overflow:hidden}
.cxc-bar{height:100%;border-radius:999px}
.cxc-bar.ok{background:var(--okc)} .cxc-bar.warn{background:var(--wrnc)} .cxc-bar.bad{background:var(--badc)}
.cxc-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.cxc-meta>div{display:flex;flex-direction:column;gap:2px}
.cxc-meta .lbl{font-family:"IBM Plex Mono";font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.cxc-meta .val{font-size:14px;font-weight:600}
.cxc-saldo.ok{color:var(--okc)} .cxc-saldo.warn{color:var(--wrnc)} .cxc-saldo.bad{color:var(--badc)}
.cxc-empty{color:var(--ink3);font-size:13px;padding:34px 2px;text-align:center}
.cxc-back{display:inline-flex;align-items:center;gap:7px;color:var(--ink2);font-family:"Barlow Condensed";font-weight:600;font-size:15px;letter-spacing:.05em;text-transform:uppercase;background:var(--panel);border:1px solid var(--hair2);border-radius:10px;cursor:pointer;padding:9px 16px;transition:border-color .14s,color .14s,background .14s}
.cxc-back:hover{border-color:var(--accent);color:var(--ink);background:var(--ovr)}
.cxc-back i{color:var(--accent)}
.cxc-dh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start}
.cxc-dh h2{font-family:"Barlow Condensed";font-weight:600;font-size:25px;margin:0;color:var(--ink)}
.cxc-dh .sub{font-size:13px;color:var(--ink2);margin-top:4px}
.cxc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.cxc-kpi{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}
.cxc-kpi .lbl{font-family:"IBM Plex Mono";font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.cxc-kpi .v{font-size:21px;font-weight:600;margin-top:5px}
.cxc-kpi .s{font-size:12px;color:var(--ink2);margin-top:4px}
.cxc-kpi .v{display:flex;align-items:baseline;gap:2px}
.cxc-limpfx{color:var(--ink3);font-size:16px;font-weight:400}
.cxc-limin{width:100%;background:transparent;border:0;border-bottom:1px dashed var(--hair2);color:var(--ink);font-family:"IBM Plex Mono";font-size:21px;font-weight:600;padding:0 0 2px;outline:none;-moz-appearance:textfield}
.cxc-limin::-webkit-outer-spin-button,.cxc-limin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cxc-limin:focus{border-bottom-color:var(--accent)}
.cxc-limin::placeholder{color:var(--ink3);font-weight:400;font-size:15px}
.cxc-table{background:var(--panel);border:1px solid var(--hair);border-radius:14px;overflow:hidden}
.cxc-tr{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 110px;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--hair)}
.cxc-tr:first-child{border-top:0}
.cxc-tr.h{font-family:"IBM Plex Mono";font-size:12.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.cxc-tr .r{text-align:right}
.cxc-pn{font-weight:600;font-size:13px}
.cxc-pf{font-size:12px;color:var(--ink2)}
.cxc-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:700;border:1px solid;white-space:nowrap}
.cxc-pill svg{width:15px;height:15px;stroke-width:2.4}
.cxc-pill.ok{background:var(--okbg);color:var(--okc);border-color:var(--okln)}
.cxc-pill.bad{background:var(--badbg);color:var(--badc);border-color:var(--badln)}
.cxc-pill.warn{background:var(--wrnbg);color:var(--wrnc);border-color:var(--wrnln)}
.cxc-pill.neutral{background:var(--card2);color:var(--ink2);border-color:var(--hair)}
.cxc-pill.neu{background:rgba(91,157,255,.15);color:#5b9dff;border-color:rgba(91,157,255,.42)}
/* escala de estados: verde vivo (saldo a favor) → verde (pagado) → lima (vigente) → naranja → rojo */
.cxc-pill.liv{background:rgba(25,230,122,.16);color:#19e67a;border-color:rgba(25,230,122,.42)}
.cxc-pill.vig{background:rgba(155,214,90,.14);color:#9bd65a;border-color:rgba(155,214,90,.36)}
/* ícono de salud del cliente en tarjetas y ficha */
.cxc-salud{display:inline-flex;align-items:center;justify-content:center}
.cxc-salud.liv{color:#19e67a} .cxc-salud.ok{color:var(--okc)} .cxc-salud.vig{color:#9bd65a}
.cxc-salud.warn{color:var(--wrnc)} .cxc-salud.bad{color:var(--badc)} .cxc-salud.neu{color:#5b9dff}
.cxc-card{position:relative}
.cxc-card .cxc-salud{position:absolute;top:10px;right:10px}
/* Hover de los íconos de estado: mano, crecer y brillar */
.cxc-salud,.cxc-vbadge,.cxc-pill{transition:transform .15s ease, filter .15s ease}
.cxc-salud[data-tip],.cxc-vbadge[data-tip],.cxc-pill[data-tip]{cursor:pointer}
.cxc-salud[data-tip]:hover{transform:scale(1.3);filter:drop-shadow(0 0 7px currentColor)}
.cxc-vbadge[data-tip]:hover,.cxc-pill[data-tip]:hover{transform:scale(1.14);filter:brightness(1.2) drop-shadow(0 0 6px currentColor)}
/* Mensaje emergente */
.trok-tip{position:fixed;z-index:9999;pointer-events:none;transform:translateX(-50%);background:var(--panel);color:var(--ink);border:1px solid rgba(120,160,220,.38);border-radius:9px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.55);opacity:0;transition:opacity .12s ease;max-width:84vw}
.trok-tip.on{opacity:1}
.cxc-dh-emp{display:inline-flex;align-items:center;gap:11px}
.cxc-dh-emp .cxc-salud svg{width:34px;height:34px;stroke-width:2.2}
.cxc-liv{color:#19e67a}
.cxc-cfg{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cxc-cfgf{display:inline-flex;align-items:center;gap:8px}
.cxc-cfgl{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.cxc-cfgsel{font-family:"Barlow Condensed";font-weight:600;font-size:15px;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:7px 12px;outline:none;cursor:pointer}
.cxc-cfgsel:hover{border-color:var(--accent)}
.cxc-cfgsel.set{border-color:var(--accsoft);background:var(--accsoft)}
.cxc-cfgsel option{background:var(--optbg);color:var(--ink);font-size:14px}
.cxc-cfgnote{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--wrnc)}
.cxc-cfgnote i{color:var(--wrnc)}
.cxc-tipochip{display:inline-flex;align-items:center;font-family:"IBM Plex Mono";font-size:10.5px;font-weight:600;color:var(--ink);border:1px solid var(--accsoft);background:var(--accsoft);border-radius:5px;padding:1px 6px;margin-left:3px}
.cxc-tipobtn{cursor:default;font-family:"Barlow Condensed";font-weight:600;font-size:14.5px;letter-spacing:.02em;color:var(--ink);border-color:var(--accent);background:var(--accsoft)}
.cxc-tipobtn.none{border-style:dashed;border-color:var(--hair2);background:transparent;color:var(--ink3);font-family:"IBM Plex Mono";font-size:12px}
.cxc-tiposel{font-family:"Barlow Condensed";font-weight:600;font-size:14.5px;letter-spacing:.02em;color:var(--ink);border-color:var(--accent);background:var(--accsoft)}
.cxc-pend-nota{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3)}
@media(max-width:620px){.cxc-tr{grid-template-columns:1fr auto;gap:5px 12px}.cxc-tr.h{display:none}.cxc-tr .r{text-align:left}}
.cxc-contact{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px;font-size:12px;color:var(--ink2)}
.cxc-contact i{color:var(--ink3);vertical-align:-2px}
.cxc-contact .cxc-dot{color:var(--ink3)}
.cxc-sech{display:flex;align-items:center;gap:8px;font-family:"Barlow Condensed";font-weight:600;font-size:17px;color:var(--ink);margin:24px 0 10px}
.cxc-sech i{color:var(--accent)}
.cxc-sech span{font-family:"IBM Plex Mono";font-size:11px;color:var(--ink3);border:1px solid var(--hair2);border-radius:999px;padding:1px 8px;font-weight:400}
.cxc-ent{display:inline-flex;align-items:center;gap:4px}
.cxc-ent.ok{color:var(--okc)} .cxc-ent.ship{color:var(--accent)} .cxc-ent.neutral{color:var(--ink3)}
.cxc-abbtn{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:11.5px;border:1px solid var(--hair2);background:var(--card2);color:var(--ink2);border-radius:7px;padding:4px 9px;cursor:pointer;transition:border-color .15s,color .15s}
.cxc-abbtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.cxc-abbtn:disabled{opacity:.4;cursor:not-allowed}
/* ===== Dashboard / Reportes ===== */
.dash{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.dash-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dash-chips{display:inline-flex;gap:4px;background:var(--card2);border:1px solid var(--hair);border-radius:10px;padding:4px}
.dash-chip{border:0;background:none;color:var(--ink2);font:inherit;font-size:13px;padding:7px 12px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.dash-chip:hover{color:var(--ink)}
.dash-chip.on{background:var(--accsoft);color:var(--ink);font-weight:600}
.dash-sel{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:9px 11px;font:inherit;font-size:13px;outline:none;min-width:150px;cursor:pointer}
.dash-sel:focus{border-color:var(--accent)}
.dash-count{font-family:"IBM Plex Mono";font-size:13px;color:var(--ink2);margin-left:auto}
.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.dash-kpi{background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:18px 20px}
.dash-kpi .lbl{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:9px}
.dash-kpi .v{font-family:"Barlow Condensed";font-weight:700;font-size:30px;line-height:1;color:var(--ink)}
.dash-kpi.ok .v{color:var(--okc)} .dash-kpi.warn .v{color:var(--wrnc)} .dash-kpi.bad .v{color:var(--badc)}
.dash-grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}
@media(max-width:820px){.dash-grid2{grid-template-columns:1fr}}
.dash-card{background:var(--panel);border:1px solid var(--hair);border-radius:16px;padding:20px}
.dash-card h3{font-family:"Barlow Condensed";font-weight:600;font-size:20px;margin:0 0 14px;color:var(--ink)}
.dash-meter{margin-bottom:13px}
.dash-meter:last-child{margin-bottom:0}
.dash-meter-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}
.dash-meter-name{font-size:13.5px;color:var(--ink)}
.dash-meter-val{font-family:"IBM Plex Mono";font-size:12.5px;color:var(--ink);white-space:nowrap}
.dash-meter-val .pct{color:var(--ink3);margin-left:6px}
.dash-meter-bar{height:8px;border-radius:5px;background:var(--card2);overflow:hidden}
.dash-meter-fill{height:100%;border-radius:5px;transition:width .4s ease}
.dash-empty{color:var(--ink3);font-size:13px;padding:30px 4px;text-align:center}
.dash-daterange{display:inline-flex;gap:8px;align-items:center}
.dash-date{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px}
.dash-rank{display:flex;flex-direction:column}
.dash-rankrow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--hair)}
.dash-rankrow:first-child{border-top:0}
.dash-rankname{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-ranksub{font-family:"IBM Plex Mono";font-size:11px;color:var(--ink3);margin-top:2px}
.dash-pill{font-family:"IBM Plex Mono";font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 9px;border:1px solid;white-space:nowrap}
.dash-pill.g{color:var(--okc);background:var(--okbg);border-color:var(--okln)}
.dash-pill.y{color:var(--wrnc);background:var(--wrnbg);border-color:var(--wrnln)}
.dash-pill.r{color:var(--badc);background:var(--badbg);border-color:var(--badln)}
.dash-pill.n{color:var(--ink3);background:var(--card2);border-color:var(--hair)}
.dash-vencido{font-family:"IBM Plex Mono";font-size:12.5px;color:var(--badc);text-align:right;min-width:70px}
.cal-head{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px}
.cal-nav{border:1px solid var(--hair2);background:var(--card2);color:var(--ink2);border-radius:8px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer}
.cal-nav:hover{color:var(--ink);border-color:var(--accent)}
.cal-title{font-family:"Barlow Condensed";font-weight:600;font-size:19px;color:var(--ink);text-transform:capitalize;min-width:160px;text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-dow{text-align:center;font-family:"IBM Plex Mono";font-size:10.5px;color:var(--ink3);padding-bottom:4px}
.cal-cell{min-height:60px;border:1px solid var(--hair);border-radius:8px;padding:6px;display:flex;flex-direction:column;justify-content:space-between}
.cal-empty{border:0;background:none}
.cal-d{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink3)}
.cal-cell.on .cal-d{color:var(--ink)}
.cal-v{font-family:"IBM Plex Mono";font-size:11px;color:#bfeccc;font-weight:600}
.dash-exp{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hair2);background:var(--card2);color:var(--ink2);border-radius:8px;padding:8px 12px;font:inherit;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}
.dash-exp:hover{border-color:var(--accent);color:var(--accent)}
.cxc-abrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 14px;margin:2px 0 4px;background:var(--card2);border-top:1px dashed var(--hair2);font-size:12.5px;color:var(--ink2)}
.cxc-abfield{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--hair2);border-radius:7px;padding:1px 8px;background:var(--panel)}
.cxc-abpfx{color:var(--ink3)}
.cxc-abin{width:120px;background:transparent;border:0;outline:none;color:var(--ink);font-family:"IBM Plex Mono";padding:6px 2px}
.cxc-abok{font-size:12px;border:0;border-radius:7px;padding:7px 13px;background:var(--okc);color:#06110a;font-weight:600;cursor:pointer}
.cxc-abcancel{font-size:12px;border:1px solid var(--hair2);border-radius:7px;padding:6px 11px;background:transparent;color:var(--ink3);cursor:pointer}
.cxc-abdate{background:transparent;border:0;outline:none;color:var(--ink);font-family:"IBM Plex Mono";font-size:12px;padding:5px 2px}
.cxc-pdet{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 16px 11px;margin-top:-4px}
.cxc-psel{font-family:"IBM Plex Mono";font-size:13px;letter-spacing:.01em;background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:999px;padding:7px 14px;outline:none;cursor:pointer;transition:border-color .14s,color .14s}
.cxc-psel:hover{border-color:var(--accent)}
.cxc-psel option{background:var(--optbg);color:var(--ink);font-size:14px;padding:8px}
.cxc-psel.set{border-color:var(--accsoft);background:var(--accsoft)}
.cxc-psel.met{color:var(--okc);border-color:var(--okln)}
.cxc-psel:disabled{opacity:.4;cursor:not-allowed}
.cxc-pright{margin-left:auto;display:inline-flex;align-items:center;gap:12px}
.cxc-aprobar{display:inline-flex;align-items:center;gap:6px;font-family:"Barlow Condensed";font-weight:600;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--okc);background:var(--okbg);border:1px solid var(--okln);border-radius:8px;padding:7px 14px;cursor:pointer;transition:background .14s,border-color .14s}
.cxc-aprobar:hover{background:var(--okc);color:#0b0f0c;border-color:var(--okc)}
.cxc-vence{color:var(--ink);font-family:"IBM Plex Mono"}
.cxc-venctxt{display:inline-flex;align-items:center;gap:5px;font-family:"IBM Plex Mono";font-size:12.5px;color:var(--ink2)}
.cxc-venctxt i{color:var(--accent)}
.cxc-pdesc{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}
.cxc-pdesc b{color:var(--ink)}
.cxc-pdescg{display:inline-flex;align-items:center;gap:4px;color:var(--okc);font-weight:600;font-size:12px}
.cxc-pproj{margin-left:6px;font-weight:700;font-size:12.5px}
.cxc-pproj.rem{color:var(--accent)}
.cxc-pproj.ok{color:var(--okc)}
.cxc-abhist{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 16px 11px}
.cxc-abhist-t{font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.cxc-abchip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--okln);background:var(--okbg);color:var(--okc);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}
.cxc-abchip .cxc-abd{color:var(--ink2);font-weight:400}
.cxc-abchip .cxc-abmeth{color:var(--ink3);font-weight:400;font-family:"IBM Plex Mono";font-size:10.5px}
.cxc-abchip .cxc-abmeth.met{color:var(--okc)}
.cxc-abchip .cxc-abdesc{color:var(--okc);font-weight:700}
.cxc-abprev{display:none;align-items:center;gap:5px;font-size:12px;color:var(--ink2);font-family:"IBM Plex Mono"}
.cxc-abprev.on{display:inline-flex}
.cxc-abprev b{color:var(--okc)}
.cxc-abprevpc{color:var(--ink3)}
.cxc-abeq{color:var(--ink3);font-family:"IBM Plex Mono";font-size:10.5px}
.cxc-saldar{margin-left:4px;border:1px solid var(--okln);background:var(--okbg);color:var(--okc);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer;font-family:"IBM Plex Sans"}
.cxc-saldar:hover{background:var(--okc);color:var(--bg)}
.cxc-abwarn{display:inline-flex;align-items:center;gap:4px;color:var(--bad);font-weight:600}
/* Barra de tasas del día: fija arriba a la derecha de toda la página de Cartera */
.cxc-page{position:relative}
.cxc-tasas{position:absolute;top:0;right:0;z-index:20;display:inline-flex;align-items:center;gap:10px;background:var(--card2);border:1px solid var(--hair2);border-radius:10px;padding:7px 12px}
.cxc-tasas-t{display:inline-flex;align-items:center;gap:5px;font-family:"Barlow Condensed";font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.cxc-tasas-t i{color:var(--accent)}
.cxc-tasaf{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--hair2);border-radius:7px;padding:2px 9px;background:var(--panel)}
.cxc-tasal{color:var(--ink3);font-family:"IBM Plex Mono";font-size:11.5px}
.cxc-tasain{width:84px;background:transparent;border:0;outline:none;color:var(--ink);font-family:"IBM Plex Mono";font-size:13px;padding:5px 2px}
.cxc-tasain::placeholder{color:var(--ink3)}
@media(max-width:720px){.cxc-tasas{position:static;margin:0 auto 12px;flex-wrap:wrap;justify-content:center}}
.crud-ficha{background:none;border:0;color:var(--ink3);padding:7px;border-radius:7px;cursor:pointer;transition:color .15s,background .15s}
.crud-ficha:hover{color:var(--accent);background:var(--accsoft)}

/* ===== Seguimiento de pedidos (stepper) ===== */
.trk{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.trk-head p{color:var(--ink2);font-size:13px;margin:0;max-width:78ch}
.trk-filter{display:flex;align-items:center;gap:10px}
.trk-filter .mlbl,.trk-filter label{font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.trk-filter select{background:var(--field);border:1px solid var(--hair2);color:var(--ink);border-radius:8px;padding:9px 11px;font:inherit;font-size:13px;outline:none;min-width:200px}
.trk-filter select:focus{border-color:var(--accent)}
.trk-card{background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:18px 20px}
.trk-chead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.trk-emp{font-family:"Barlow Condensed";font-weight:600;font-size:18px;color:var(--ink)}
.trk-meta{font-size:12px;color:var(--ink3)}
.trk-steps{display:flex;align-items:flex-start}
.trk-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;width:72px;text-align:center}
.trk-step[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:9px;background:var(--panel);border:1px solid var(--hair2);color:var(--ink);font-size:11px;font-family:"IBM Plex Mono",monospace;padding:6px 10px;border-radius:7px;white-space:nowrap;z-index:6;pointer-events:none;box-shadow:0 10px 26px -8px rgba(0,0,0,.75)}
.trk-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--hair2);color:var(--ink3);background:var(--card2);cursor:pointer;transition:border-color .2s,color .2s,background .2s,box-shadow .2s,transform .15s ease,filter .15s ease}
.trk-ic:hover{transform:scale(1.22);filter:drop-shadow(0 0 8px currentColor)}
.trk-step.done .trk-ic{border-color:var(--okc);background:var(--okbg);color:var(--okc)}
.trk-step.active .trk-ic{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accsoft)}
.trk-lbl{font-size:10px;color:var(--ink3);font-family:"IBM Plex Mono";letter-spacing:.03em;line-height:1.2}
.trk-step.done .trk-lbl{color:var(--ink2)}
.trk-step.active .trk-lbl{color:var(--accent)}
.trk-line{flex:1 1 auto;height:3px;border-radius:2px;background:var(--hair2);margin-top:20px;min-width:12px;transition:background .25s}
.trk-line.done{background:var(--okc)}
.trk-eta{display:flex;align-items:center;gap:7px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--hair2);font-size:12.5px;color:var(--ink2);font-family:"IBM Plex Sans"}
.trk-eta i{color:var(--accent);flex:0 0 auto}
.trk-eta b{color:var(--ink);font-family:"IBM Plex Mono";font-weight:600}
.trk-eta em{color:var(--ink3);font-style:normal;font-size:11px}
.trk-eta.ok i{color:var(--okc)}
.trk-eta.ok span{color:var(--okc)}
.trk-card.bk{border-color:var(--badln);background:linear-gradient(0deg,var(--badbg),transparent 60%)}
.trk-card.bk .trk-step.done .trk-ic{border-color:var(--badc);background:var(--badbg);color:var(--badc)}
.trk-card.bk .trk-step.done .trk-lbl{color:#e6a39d}
.trk-card.bk .trk-line.done{background:var(--badc)}
.trk-bk{display:inline-flex;align-items:center;gap:4px;font-family:"IBM Plex Mono";font-size:10px;color:var(--badc);border:1px solid var(--badln);background:var(--badbg);border-radius:999px;padding:1px 8px;letter-spacing:.03em;vertical-align:middle;margin-left:7px}
.trk-empty{color:var(--ink3);font-size:13px;padding:34px 2px;text-align:center}
/* ===== Órdenes de compra (cross-docking → proveedores) ===== */
.oc{max-width:980px}
.oc-head p{color:var(--ink2);font-size:13.5px;margin:0}
.oc-note{color:var(--ink3);font-size:11.5px;margin-top:7px;font-style:italic}
.oc-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:18px 0}
.oc-bar .oc-stats{flex:0 0 auto;flex-wrap:nowrap;margin:0}
.oc-bar .oc-stats .oc-stat{flex:0 0 150px}
.oc-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;flex:0 1 auto}
.ocf-rangewrap{position:relative;display:inline-flex;align-items:flex-end}
.ocf-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:flex;align-items:flex-end;gap:10px;background:var(--panel);border:1px solid var(--hair2);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.45);padding:12px}
.oc-filter .ocf{display:flex;flex-direction:column;gap:4px}
.oc-filter .ocf>span{font-size:11px;color:var(--ink3);font-family:"IBM Plex Mono";letter-spacing:.04em;text-transform:uppercase}
.oc-filter select,.oc-filter input[type=date]{height:36px;background:var(--card2);border:1px solid var(--hair2);border-radius:8px;color:var(--ink);font-size:13px;padding:0 10px;outline:none;color-scheme:light dark}
.oc-filter select:focus,.oc-filter input[type=date]:focus{border-color:var(--accent)}
.oc-filter .ocf-rangebtn{height:36px;display:inline-flex;align-items:center;gap:6px;background:var(--card2);border:1px solid var(--hair2);border-radius:8px;color:var(--ink2);font-size:12.5px;padding:0 12px;cursor:pointer;white-space:nowrap}
.oc-filter .ocf-rangebtn i{color:var(--ink3)}
.oc-filter .ocf-rangebtn:hover{color:var(--ink);border-color:var(--ink3)}
.oc-filter .ocf-rangebtn.on{border-color:var(--accent);color:var(--accent)}
.oc-filter .ocf-rangebtn.on i{color:var(--accent)}
.oc-filter .ocf-clear{height:36px;display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--hair2);border-radius:8px;color:var(--ink3);font-size:12.5px;padding:0 11px;cursor:pointer}
.oc-filter .ocf-clear:hover{color:var(--danger);border-color:var(--danger)}
/* General de ventas */
.gv .gv-head p{font-size:13px;color:var(--ink3);margin:0 0 4px}
.gv .gv-kpis{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}
.gv .gv-kpi{flex:0 0 150px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:11px 13px}
.gv .gv-kpin{font-family:"Barlow Condensed";font-weight:700;font-size:22px;color:var(--ink);line-height:1.05}
.gv .gv-kpil{font-size:11px;color:var(--ink3);font-family:"IBM Plex Mono";letter-spacing:.03em;text-transform:uppercase;margin-top:3px}
.gv .gv-pos{color:#4bc07e}
.gv .gv-neg{color:#e0736b}
.gv .gv-tabs{display:flex;gap:8px;margin:4px 0 14px}
.gv .gv-tab{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--hair2);border-radius:9px;color:var(--ink2);font-size:13px;padding:8px 14px;cursor:pointer}
.gv .gv-tab:hover{color:var(--ink);border-color:var(--ink3)}
.gv .gv-tab.on{background:var(--accsoft);border-color:var(--accent);color:var(--accent)}
.gv .gv-tab.on i{color:var(--accent)}
.gv .gv-tablewrap{overflow-x:auto;border:1px solid var(--hair);border-radius:12px;background:var(--panel)}
.gv table.gv-tbl{width:100%;border-collapse:collapse;font-size:13px}
.gv .gv-tbl th{text-align:left;font-family:"IBM Plex Mono";font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--hair2);white-space:nowrap;background:var(--card2)}
.gv .gv-tbl td{padding:9px 12px;border-bottom:1px solid var(--hair);color:var(--ink);white-space:nowrap}
.gv .gv-tbl th.r,.gv .gv-tbl td.r{text-align:right}
.gv .gv-tbl tbody tr:hover{background:var(--card2)}
.gv .gv-tbl .gv-desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.gv .gv-tbl tfoot td{padding:11px 12px;border-top:2px solid var(--hair2);border-bottom:0;font-weight:600;color:var(--ink);background:var(--card2)}
.gv .gv-empty{padding:40px 2px;text-align:center;color:var(--ink3);font-size:13.5px}
.gv .gv-fac{border:1px solid var(--hair);border-radius:12px;background:var(--panel);margin-bottom:14px;overflow:hidden}
.gv .gv-fach{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card2);border-bottom:1px solid var(--hair2)}
.gv .gv-facn{font-family:"Barlow Condensed";font-weight:700;font-size:17px;color:var(--accent)}
.gv .gv-facd{flex:1;font-size:13px;color:var(--ink2)}
.gv .gv-fact{font-family:"Barlow Condensed";font-weight:700;font-size:17px;color:var(--ink)}
.gv .gv-facbody{border:0}
.gv .gv-fac .gv-tablewrap{border:0;border-radius:0}
/* Compras internacionales (monitor) */
.ci .ci-tabs{display:flex;gap:8px;flex:0 1 auto}
.ci .ci-aten-c{color:#d9a441}
.ci .ci-g{display:inline-block;font-size:10.5px;font-family:"IBM Plex Mono";padding:1px 6px;border-radius:5px;border:1px solid var(--hair2);color:var(--ink3);margin-left:4px;vertical-align:middle}
.ci .ci-g.tardio{color:#5b9dff;border-color:#5b9dff55}
.ci .ci-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}
.ci .ci-badge.pedir{background:rgba(224,115,107,.16);color:#e0736b}
.ci .ci-badge.aten{background:rgba(217,164,65,.16);color:#d9a441}
.ci .ci-badge.ok{background:rgba(75,192,126,.14);color:#4bc07e}
.ci .ci-badge.sin{background:var(--card2);color:var(--ink3)}
.ci .ci-row.ci-pedir td{background:rgba(224,115,107,.06)}
.ci .ci-more{padding:12px 2px;text-align:center;color:var(--ink3);font-size:12.5px}
.oc-stats{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.oc-stat{flex:1 1 130px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:12px 14px}
.oc-stat .n{font-family:"Barlow Condensed";font-size:24px;font-weight:600;color:var(--ink);line-height:1}
.oc-stat.por .n{color:var(--wrnc)} .oc-stat.ped .n{color:var(--accent)} .oc-stat.rec .n{color:var(--okc)}
.oc-stat .l{font-size:11px;color:var(--ink3);font-family:"IBM Plex Mono";margin-top:5px}
.oc-list{display:flex;flex-direction:column;gap:10px}
.oc-row{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.oc-row.done{opacity:.72}
.oc-main{flex:1 1 230px;min-width:200px}
.oc-code{font-family:"IBM Plex Mono";font-size:13px;color:var(--ink);font-weight:600}
.oc-desc{font-size:12.5px;color:var(--ink2);margin-top:2px}
.oc-meta{font-size:11px;color:var(--ink3);margin-top:5px;font-family:"IBM Plex Mono"}
.oc-qty{flex:0 0 auto;text-align:center;min-width:66px}
.oc-qty .q{font-family:"Barlow Condensed";font-size:22px;font-weight:600;color:var(--accent);line-height:1}
.oc-qty .u{font-size:10px;color:var(--ink3);font-family:"IBM Plex Mono";margin-top:3px}
.oc-via{flex:0 0 auto;font-size:10px;font-family:"IBM Plex Mono";color:var(--ink3);border:1px solid var(--hair2);border-radius:6px;padding:3px 7px;white-space:nowrap}
.oc-act{flex:0 0 auto;display:flex;align-items:center;gap:9px;margin-left:auto}
.oc-pill{font-size:11px;font-family:"IBM Plex Mono";padding:4px 9px;border-radius:999px;border:1px solid;white-space:nowrap}
.oc-pill.por{color:var(--wrnc);border-color:var(--wrnln);background:var(--wrnbg)}
.oc-pill.ped{color:var(--accent);border-color:var(--accsoft);background:var(--accsoft)}
.oc-pill.rec{color:var(--okc);border-color:var(--okln);background:var(--okbg)}
.oc-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;border-radius:8px;padding:7px 12px;border:1px solid var(--hair2);background:var(--card2);color:var(--ink);transition:border-color .15s,color .15s,background .15s}
.oc-btn:hover{border-color:var(--accent);color:var(--accent)}
.oc-btn.ok{border-color:var(--okln);color:var(--okc)}
.oc-btn.ok:hover{background:var(--okbg)}
.oc-empty{color:var(--ink3);font-size:13px;padding:28px 2px;text-align:center}
.oc-sec{margin-top:26px}
.oc-sectitle{display:flex;align-items:center;gap:9px;font-family:"Barlow Condensed";font-weight:600;font-size:20px;color:var(--ink)}
.oc-sectitle i{color:var(--accent)}
.oc-sectitle.back i{color:var(--badc)}
.oc-sectitle .c{font-family:"IBM Plex Mono";font-size:11px;color:var(--ink3);font-weight:400;border:1px solid var(--hair2);border-radius:999px;padding:2px 9px}
.oc-secsub{font-size:12.5px;color:var(--ink3);margin:4px 0 2px}
.oc-prov{margin-top:10px;border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:var(--panel)}
.oc-provhd{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:var(--card2);border:0;cursor:pointer;padding:12px 15px;color:var(--ink);font-family:"Barlow Condensed";font-weight:600;font-size:16px;letter-spacing:.02em;transition:background .14s}
.oc-provhd:hover{background:var(--ovr)}
.oc-provhd>svg{color:var(--ink3);flex:0 0 auto}
.oc-provhd .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.oc-provname{flex:0 1 auto}
.oc-provhd .hub{color:var(--ink3);font-size:12px;font-family:"IBM Plex Mono";font-weight:400;letter-spacing:0}
.oc-provct{margin-left:auto;font-family:"IBM Plex Mono";font-size:12px;color:var(--ink2);background:var(--panel);border:1px solid var(--hair2);border-radius:999px;padding:2px 11px;font-weight:400}
.oc-prov.open .oc-provhd{border-bottom:1px solid var(--hair)}
.oc-prov .oc-list{padding:12px 14px}
@media(max-width:620px){.oc-act{margin-left:0;width:100%;justify-content:space-between}.oc-row{gap:10px}}
@media(max-width:560px){.trk-step{width:58px}.trk-ic{width:36px;height:36px}.trk-lbl{font-size:9px}}
